headerWidgets 是往 userbar 里插组件的口子:VueAdmin 收一个组件数组、userbar 用 v-for 渲染。它绕开了本包唯一的覆盖机制(sources 路径后缀),等于给同一件事开了 第二条路——而且是条窄路,只能往那一处塞,插进去的东西也没法参与 userbar 自身的 布局与样式。 撤掉它,同时把真问题补上:userbar 之前根本不可覆盖(layout.vue 静态 import), 消费侧就算按约定放了 shrimp/components/userbar.vue 也会被静默忽略——这才是当初 需要 headerWidgets 的原因。现在 userbar 走 resolveVue,整条顶栏都能换。 代价:想改顶栏得整份重写内置那 92 行,不能只插一个部件。这是有意的,覆盖颗粒度 本来就停在入口级(README 那张表),不为单个部件开代理。 README 同步:补上 userbar 这一行,并写明表外路径会被静默忽略、不报错。