Kevoyuan
dsh-skill-fuzzy
Fuzzy search + description preview for the / skill menu in DeepSeek Harness (dsh) Web UI — /markdown finally finds baoyu-markdown-to-html
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-skill-fuzzy
English | 中文
DeepSeek Harness(dsh)Web UI 的 / 技能菜单增强插件:模糊搜索 + 描述预览。
一图看懂
同样输入 /design:
安装前 —— 只会前缀匹配,4 个结果,描述被 ... 截断,看不全:

安装后 —— 模糊匹配 7 个结果(canvas-design、mobile-design 这类名字带 design 但开头不是的也能找到),名称完整显示,右侧面板实时预览完整描述:

解决什么问题
dsh 内置的 / 技能菜单是前缀匹配:想用 baoyu-markdown-to-html,必须记得输入 /baoyu-…;输入 /markdown 是找不到的。技能一多(几百个),基本等于没法搜。
装上这个插件后,像使用现代编辑器的命令面板一样:
/markdown—— 名字里含这些字母的都能搜到(baoyu-markdown-to-html、web-to-markdown、markitdown…)/mdhtml、/bmth—— 按字母子序列也能命中- ↑↓ 选择,右侧同步显示完整描述,回车即插入
安装
前提:已安装 dsh(npm i -g @deepseek-ai/dsh)。
dsh plugin --profile web add dsh-skill-fuzzy
重启 dsh(dsh --profile web)即可,输入 / 试试。
💡 你现有的其他插件、会话、设置都不受影响。此插件只接管技能菜单,
/compact、/plan等命令菜单照旧。
卸载
dsh plugin --profile web remove dsh-skill-fuzzy
恢复 dsh 内置的原生行为。
常见问题
Q: 装完没变化?
确认用的是装了插件的 profile 启动(如 dsh --profile web),并刷新浏览器页面。
Q: 选中技能后发生了什么?
和内置行为完全一致:插入 /技能名 ,dsh 会在发送时自动加载技能内容。disable-model-invocation 的技能照样可以手动调用。
Q: 中文能搜吗? 技能名目前以英文为主,搜索对大小写不敏感;中文字符同样按子序列匹配。
Q: 支持 TUI(终端界面)吗? 暂不支持,仅 Web UI(浏览器界面)。TUI 需要官方提供补全扩展点。
进阶
工作原理(点开看)
dsh 的 Web UI 每个界面模块本身就是一个插件。本插件通过 dsh 官方的 bundle 分层机制,禁用内置的技能菜单插件(ui-skill,前缀匹配)并注册自己的替代实现:相同的会话目录缓存、相同的选中行为,仅把过滤换成模糊打分排序,并新增一个跟随菜单高亮的描述预览面板。
本地开发 / 从源码安装(点开看)
git clone https://github.com/Kevoyuan/dsh-skill-fuzzy.git
cd dsh-skill-fuzzy
pnpm install && pnpm build && pnpm test
dsh plugin --profile web add . # 从本地目录安装
pnpm watch增量构建;改完重启 dsh 生效pnpm check类型检查
dsh 升级后异常怎么办?(点开看)
本插件复刻了上游约 20KB 的界面代码(MIT 许可,来源已在 LICENSE 中注明)。dsh 大版本升级后如果技能工具行显示异常,重新构建无效时需要对照上游同步(见插件仓库 README 的同步指引);一般小版本升级不受影响。
License
MIT(含来自 deepseek-harness 的 MIT 代码,来源见 LICENSE)