dsh-plugins
August 15, 2026 · View on GitHub
English | 中文
个人整理开发的一系列轻量级 DeepSeek Harness(dsh)Web 插件集合——每个插件都是
plugins/下独立的小包,为 DSH 工作台增加一项聚焦的能力(Cmd+/快捷键面板、斜杠命令工具、会话状态提醒等)。设计上强调低侵入:不改 harness 本体、不打补丁。所有插件均已发布到 npm,一条dsh plugin add命令即可安装,无需 clone 本仓库(见快速安装)。可单独使用、也可组合复用。仓库同时整理了 DSH 开发参考资料(UI/UX 规范、主题 Token、插件编写规范等),辅助标准化开发,保持全局视觉与功能的统一性。
插件一览
dsh-keys-palette — 给 dsh 提供一个统一的快捷键管理面板(Cmd+/),并支持标准化扩展(keys.actions 注册表)。
dsh-tab-complete — 用 Tab 补全斜杠菜单里高亮的候选命令(命令 / 技能 / 子代理 / @ 文件),只补全、不执行。
dsh-session-browser — 让模型只读浏览同工作区里的其他会话:列出、读取、全文搜索。
dsh-tui-command-ext — 实现一套 CLI 常用斜杠命令(/clear、/rewind、/fork、/resume 等),并借鉴 Qwen Code 做了不依赖 LLM 的上下文压缩命令 /compact-fast。
dsh-session-status-alert — 提供全局的跨 session 状态提醒与审批(完成、挂起、问答、计划审核),类似 Vibe Island。
dsh-insights — 复刻 Claude Code 的 /insights:分析跨工作区会话用量,并生成本地交互式 HTML 报告。
dsh-plan-keeper — 把计划和记忆落盘,注入后续回合,并在产物(Deliverables)视图里查看。
插件状态
共 7 个插件 —— 7 个已就绪(已发布到 npm)。
| 状态 | 插件 | npm 版本 | 说明 |
|---|---|---|---|
| ✅ 已就绪 | dsh-keys-palette | 0.2.0 | npm / bundle 通道 |
| ✅ 已就绪 | dsh-tab-complete | 0.1.1 | npm / bundle 通道 |
| ✅ 已就绪 | dsh-session-browser | 0.2.0 | npm / bundle 通道;list_sessions / read_session / search_sessions;FTS 默认开启 |
| ✅ 已就绪 | dsh-tui-command-ext | 0.1.0 | npm / bundle 通道;由 dsh-clear-command + dsh-command-kit 合并而来 |
| ✅ 已就绪 | dsh-session-status-alert | 0.2.0 | npm / bundle 通道;client 半部带 timer inject |
| ✅ 已就绪 | dsh-insights | 0.2.0 | npm / bundle 通道;reportPath / facetDir 可选(默认在 $DSH_HOME 下) |
| ✅ 已就绪 | dsh-plan-keeper | 0.1.0 | npm / bundle 通道;memory_write + 产物视图 |
插件列表
| 插件 | 要点 | 安装方式 |
|---|---|---|
| dsh-keys-palette | • Cmd+/ 非模态快捷键面板• 内置快捷键目录 • 自定义绑定 + 冲突检测 • 绑定持久化到 localStorage • 设置 → 快捷键 • 公共 keys.actions 注册表• zh/en 界面 | npm(bundle)— dsh plugin --profile web add dsh-keys-palette |
| dsh-tab-complete | • Tab 补全高亮候选,不执行 • 按来源:命令 / 技能 / 子代理 / @ 文件• popupSelect 保持裸 token • IME 与带修饰键的 Tab 不补全 | npm(bundle)— dsh plugin --profile web add dsh-tab-complete |
| dsh-session-browser | • list_sessions / read_session / search_sessions• 同工作区 cwd 限定• UNTRUSTED 快照 • 有界的读/列表/搜索预算 • SQLite FTS 默认开启(有已知限制) | npm(bundle)— dsh plugin --profile web add dsh-session-browser |
| dsh-tui-command-ext | • 合并后的 TUI 斜杠指令集 • 仅视觉交互(不回写对话) • /clear /rewind /fork /resume /archive /status /rename /unarchive /compact-fast /theme /lang | npm(bundle)— dsh plugin --profile web add dsh-tui-command-ext |
| dsh-session-status-alert | • 跨工作区提醒:完成 + 挂起 • 弹窗内审批 / 问答 / 计划审核 • 堆叠 / 并排 / 分组布局 • 子代理完成过滤 • 设置页 • 偏好仅内存(刷新后恢复默认) | npm(bundle)— dsh plugin --profile web add dsh-session-status-alert |
| dsh-insights | • 当前会话前台 /insights(agent.steer,可中断)• insights_collect / insights_facet / insights_aggregate / insights_render / insights_run 工具(facet 可 subagent 并行)• 自包含交互式 HTML 报告,写到本地 • --refresh、--window N、--max N 参数 | npm(bundle)— dsh plugin --profile web add dsh-insights |
| dsh-plan-keeper | • 计划落盘到 .dsh-outputs/plans/• 分类型工作区记忆( user / feedback / project / reference)• 每轮注入 6KB 记忆 • memory_write 模型工具• 产物(Deliverables)会话视图 • 未鉴权的本机 RPC | npm(bundle)— dsh plugin --profile web add dsh-plan-keeper |
快速安装
安装到运行中的 dsh 的 web profile(按需替换 profile 名)。全部 7 个插件统一走 npm / bundle 通道——dsh plugin add 安装包并自动挂载(下次启动 dsh 时生效):
dsh plugin --profile web add dsh-keys-palette
dsh plugin --profile web add dsh-tab-complete
dsh plugin --profile web add dsh-tui-command-ext
dsh plugin --profile web add dsh-plan-keeper
dsh plugin --profile web add dsh-session-browser
dsh plugin --profile web add dsh-insights
dsh plugin --profile web add dsh-session-status-alert
dsh plugin --profile <name> add <pkg>— npm / bundle 通道。声明了dsh.bundle.patch的包会自动加入 profile 的 bundle 栈;本集合全部插件均已声明。在下次启动dsh时生效。本地 checkout 用相对路径即可:dsh plugin --profile web add ./plugins/dsh-keys-palette。- 开箱即用:
dsh-session-browser默认开启 SQLite FTS 索引,dsh-insights默认写到$DSH_HOME/storages/insights/;两者都可在 profile 里覆盖(见各插件 README)。 ./scripts/install.sh <profile> plugins/<name>— 本仓库 checkout 的本地开发辅助脚本(安装包并往cordis.patch.yml追加 loader insert)。终端用户不需要;如果你之前用这种方式装过某个插件,切到 bundle 通道前请先删掉对应的 insert 行(混用会挂载两次)。
卸载(bundle 通道):dsh plugin --profile web remove <pkg>。
开发规范
docs/ 目录整理了 DSH 插件开发的参考资料,辅助进行 dsh 的标准化开发,保持全局视觉与功能的统一性(内容均基于实际安装产物逐项核查,无编造数值):
| 文档 | 内容 |
|---|---|
| plugin-development.md | 插件编写规范:包结构、两种安装通道、npm 发布清单。 |
| dsh-web-ui-design-spec.md | DSH Web 界面 UI/UX 设计规范(light/dark):主题 Token 系统、核心组件视觉、图标清单。 |
| ask-user-question-mechanism.md | ask_user_question 能力完整触发链路(模型 → 宿主桥接 → Web UI → 答案回传)。 |
| parts/ | 主题 Token / 图标 / 组件的明细清单。 |
开发计划(TODO)
- 发布插件到 npm ——
dsh-keys-palette@0.2.0、dsh-tab-complete@0.1.1、dsh-session-browser@0.2.0、dsh-tui-command-ext@0.1.0、dsh-session-status-alert@0.2.0、dsh-plan-keeper@0.1.0、dsh-insights@0.2.0 -
dsh-plan-keeper:已发布 @0.1.0 -
dsh-insights:前台/insights已发布 @0.2.0 - 全部插件统一到 npm / bundle 安装通道(只需
dsh plugin add——dsh-session-browser/dsh-insights/dsh-session-status-alert@0.2.0) -
dsh-keys-palette:改用 Host settings 持久化、跨标签页绑定同步、扩充内置动作 - CI:变更时自动跑各插件语法 +
npm pack校验 - 更多插件——欢迎提 issue / PR 建议
License
MIT —— 见 LICENSE(每个插件包内自带一份)。