dsh-tui-skill-mcp-panel
给 dsh-TUI 的技能(skill)与 MCP 服务器可视化管理面板:在终端里输入 /skill-mcp 打开全屏管理场景,不用离开 TUI 就能查看、启用/停用、添加、迁移、分组技能与 MCP 服务器;改动尽量热加载,不要求重启 TUI。
开发状态(2026-11-08):M1 技能只读面已可用——
/skill-mcp打开技能列表/详情与诊断页;MCP 与技能写操作尚未实现,npm 尚未发布。完整范围与里程碑以 docs/需求文档.md 为准。
功能(规划中)
| 模块 | 能力 | 状态 |
|---|---|---|
| 技能 | 只读:全局/工作区列表、详情、作用域筛选、搜索;写入(M2 P0):启用/停用(*.disabled)、软删除 + 回收站撤销、本地路径添加/导入、分组、批量;迁移/复制、zip 导入为 P1(未实现) |
✅ M2 P0 |
| MCP | 只读列表 + 启停(M3 P0):profile patch 行 + home 全局层(只读)+ loader 运行时状态;!!js 表达式安全展示;新增 / 编辑 / 删除(受管块完整编辑)、连接测试为 M4 |
✅ 只读+启停 / 🚧 M4 |
| 分组 | 显示层分组、加入/移出、按组过滤;技能分组与 web 版共享 groups.json(v1);组内批量动作(P1) |
✅ 基础 / 🚧 批量 |
| 诊断 | 发现根与路径、frontmatter 合法性、遮蔽/停用状态、宿主能力探测;锁 / 备份 / 回收站(M2+) | ✅ 基础 |
| 入口 | /skill-mcp 命令打开全屏场景 |
✅ |
热加载:技能靠磁盘 watcher,MCP 靠 HMR 重组合。保存后面板显示「已保存,热加载中…」,生效后改为「已生效」,不承诺瞬时生效。
安装
尚未发布到 npm。 发布后:
dsh plugin --profile dsh-tui add dsh-tui-skill-mcp-panel
从源码安装、构建与真机验证流程见 AGENT.md §7。
使用
在 dsh-TUI 中输入 /skill-mcp 回车打开管理场景,Esc / q 关闭。当前版本提供:
- 技能页:全局/工作区筛选、按名称/描述搜索、列表(状态/来源/遮蔽标记)与详情(路径、rank、frontmatter、正文只读预览);窄终端下
Enter进详情、Esc返回。 - 诊断页:发现根与路径、扫描统计、警告、宿主接缝能力探测。
- MCP / 分组页:占位,随 M2/M3 落地。
界面按「焦点」操作,像文件管理器一样用方向键走过去:
↑/↓:当前区域内的选择/滚动;←/→:把焦点移到左边/右边的区域(技能列表 ⇄ 作用域、列表 ⇄ 详情),在页签栏上则是切换页签;- 列表顶部再按
↑会回到页签栏;在页签栏按↓↓或↓回到技能列表; Tab:快速切换页签(1–4直达);Enter:进入详情(窄终端下打开详情,Esc返回);/搜索 ·r重新扫描 ·?帮助 ·q关闭。
当前焦点区域用主题色(accent)边框和 ❯ 指针标出;选中行用主题选中底色。fullscreen 布局下额外支持鼠标:点击页签/作用域/技能行,滚轮滚动列表、详情与诊断页(若终端未路由鼠标事件,键盘功能不受影响)。
已知限制
| 限制 | 说明 |
|---|---|
| MCP 没有「工作区级」 | DSH 内核只有 profile 级 MCP 配置。面板提供「当前 profile(可写)+ home 全局层(跨 profile,只读)」;工作区维度只适用于技能。 |
| 技能只发现一层 | 与 DSH 内核一致:<root>/<name>/SKILL.md 或 <root>/<name>.md,不递归嵌套分类目录。 |
| 热加载有延迟 | MCP 配置写入后需要 HMR 重组合(实测约 2–2.5 秒),面板如实显示状态,不假装瞬时。 |
| 交互为纯键盘自绘 | 场景内不依赖宿主对话框 / toast(实测不可用);确认与单行输入在场景内完成。 |
| 面板只列文件来源技能 | 运行期/agent scope 注册的技能不在扫盘结果内;customSkillDirs 在宿主层不可读(按未配置处理)。 |
| 迁移/复制、zip 导入 | 首版未实现(P1);添加仅支持本地绝对路径的 .md 或目录束。 |
| 回收站保留 | 默认保留 7 天或最近 100 批(先到者),写操作前清理。 |
| 首版不做 | 技能正文编辑、插件安装/更新、MCP OAuth、单工具禁用、伴随 CLI。 |
兼容性
- 目标宿主:
@deepseek-harness-tui/dsh-tui>=0.19.0 <0.20.0 - DSH 内核:
0.2.2-rc.1线;Node>=24.9 - 与 web 版
dsh-skill-mcp-panel共享磁盘约定(*.disabled、groups.json、补丁锁<patch>.panel.lock,但受管块标记不同名)
权限与信任
- 插件
permissions: []:不申请额外权限,不安装插件、不执行用户命令、不eval用户表达式。 - 插件直接读写
~/.dsh下的技能文件与当前 profile 的cordis.patch.yml(同进程信任模型,安装前需信任);写前备份、原子写、只改自己的受管块,删除走回收站可撤销。 - MCP 的
env/headers可能含令牌:面板与日志脱敏,不落明文。
开发文档
需求与设计在 docs/:需求唯一权威 docs/需求文档.md、调研与真机实测 docs/research/README.md(含 M1 与内核发现一致性验证)、关键决策 docs/decisions/、仓库工作约定与开发流程 AGENT.md。
许可证
MIT。
No comments yet. Be the first to write one.