Skip to content

feat(skills): expose source and coverage status - #1613

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/external-skill-source-governance
Jul 18, 2026
Merged

feat(skills): expose source and coverage status#1613
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/external-skill-source-governance

Conversation

@limityan

@limityan limityan commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

概要

  • 为现有 Skill Registry 补充来源身份和稳定产品名,并在 GUI/TUI 展示 BitFun、Claude Code、Codex、Cursor、OpenCode 和 Agent Skills 来源。
  • 保留被同名 Skill 覆盖的候选,明确展示“已覆盖 / covered by ”及删除线;模式配置同时区分“配置已启用”与“运行时实际采用”。
  • 保持既有 Skill 根顺序和优先级完全不变,新增来源元数据不参与排序或决胜;覆盖标注复用运行时同一套优先级与作用域决胜规则。
  • 远程 GUI 区分“本机 · 用户”和“远程工作区 · 项目”,未知来源不泄露内部槽位。
  • 同步扩展设计:未来 Command、Tool、Subagent、MCP 冲突列表先展示 BitFun 候选,其余来源稳定排序;展示顺序不自动决定胜者,同名仍由用户选择,被覆盖、拒绝或待选择项保持可见。

产品与架构边界

  • Skill 继续使用现有 ordered namespace 和无感发现,不引入新的审批、持久化选择、watcher 或 system prompt 文本。
  • 当前模式赢家由 Skill owner 在模式过滤后统一计算;GUI/TUI 只消费来源、选择和覆盖事实,不重复实现解析逻辑。
  • TUI 预计算覆盖来源映射,渲染查找为 O(1);远程标签仅由当前工作区事实派生,未增加目录扫描、远程请求或状态 owner。
  • Command/Tool/Subagent/MCP 的排序与冲突规则仅更新设计契约,本 PR 不修改 PR1–PR3 的执行路径。

产品体验

  • Skills 场景、设置页、Agents/Profile 和 TUI 使用一致的来源与运行状态表达。
  • 已启用但被覆盖的候选仍可见、可操作,并明确说明实际采用来源;关闭详情后重新加载时使用最新 Skill 快照,已删除项会自然退出详情。
  • TUI 在窄窗口中优先保留勾选状态、Skill 名称和覆盖来源,省略次要前缀与描述,避免核心信息被裁切。
  • Profile 在窄屏允许运行状态完整换行;远程工作区不再以含糊的“用户 / 项目”表示本机与远端作用域。
  • 普通列表只表达默认优先关系,不误报某个 Skill 在所有模式下都不会使用。

验证

  • cargo +nightly test -p bitfun-agent-runtime --test skill_contracts(12 passed)
  • cargo +nightly test -p bitfun-cli ui::skill_selector::tests(3 passed,包含 24 列真实缓冲区)
  • pnpm --dir src/web-ui run test:run src/app/scenes/profile/views/AssistantDefaultsPage.presentation.test.ts src/infrastructure/config/skillSourcePresentation.test.ts src/app/scenes/agents/AgentsScene.test.tsx(9 passed)
  • pnpm run type-check:web
  • pnpm run i18n:audit(0 warnings)
  • pnpm run lint:web(0 errors;12 个既有 warning)
  • pnpm run build:web
  • pnpm run theme:color-audit:all
  • pnpm run check:repo-hygiene
  • node scripts/check-core-boundaries.mjs
  • git diff --check
  • 独立资深架构师与产品设计师两轮对抗性复核及修复关闭:无剩余 P0–P2,未发现分层、性能、system prompt 或需求边界回归。

已变基至最新 main4731e1b4f),保留单一提交。cargo +nightly check --workspace 的早期宽泛检查在 Desktop build script 因本地未生成 src/mobile-web/dist 而停止;该资源前置条件与本 PR 无关,受影响的 Agent Runtime、CLI 和 Web 路径已由上述聚焦测试、生产构建及边界检查覆盖。

@limityan
limityan marked this pull request as ready for review July 18, 2026 07:50
@limityan
limityan force-pushed the yanzhn/external-skill-source-governance branch from 904da48 to 91b03c1 Compare July 18, 2026 08:36
@limityan
limityan merged commit 1c64816 into GCWing:main Jul 18, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant