dsh-zh-skill
Verified@zltianhen/dsh-zh-skill · v0.1.1 · MIT · Web UI
Chinese skill catalog for DeepSeek Harness: lists Chinese-named workspace skills in the / menu and exposes search/load tools.
Install
dsh plugin add @zltianhen/dsh-zh-skill Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-zh-skill · 中文技能目录
给 DeepSeek Harness(DSH)用的插件:让工作区里名字带中文的技能出现在 / 菜单里,并且让模型能按中文关键词检索、加载它们。
DSH 内核只认 [a-z0-9-] 形式的技能名,中文名技能会被静默丢弃。本插件不改内核,自己扫磁盘建索引,提供菜单与两个工具。
装(两种任选)
A. 本地目录装(推荐,任何机器可用)
# 在 DSH 里执行(不是 shell),指向插件目录的绝对路径
plugin_manager install_bundle /绝对路径/plugins/dsh-zh-skill
然后 ⌘Q 完全退出 DSH 再打开(客户端模块必须重启才加载,刷新页面不够)。
B. 从 npm 装
plugin_manager install_bundle @zltianhen/dsh-zh-skill
同样需要 ⌘Q 重启。
装完怎么验(三步)
- 输入框打
/——应该出现一组中文技能名,组名zh-skill - 打
/防错——应该收敛到 1–2 条,而不是全量 - 选中一条发出 ——模型应当读到技能正文,且能跑技能里的
scripts/
装不上怎么查
插件带自证:客户端一加载就向宿主写一行日志。
cat ~/.dsh/zh-skill-client.log
| 日志里有什么 | 含义 | 怎么办 |
|---|---|---|
loaded protocol=... + source-registered |
客户端正常 | 看菜单是否真出现 |
loaded + catalog-failed ... |
客户端在,但取数失败 | 看后面的报错 |
| 什么都没有 | 客户端模块没加载 | ⚠️ 90% 是三处名字不一致,跑 npm run check |
no-inputTriggers |
宿主没提供菜单接口 | DSH 版本不匹配 |
宿主侧两条路由可以独立验证:
curl "http://127.0.0.1:<端口>/zh-skill/catalog?cwd=<工作区绝对路径>"
# 期望 {"ok":true,"count":N,"items":[...]}
改名(发布到自己的 scope 时用)
三处名字必须逐字一致,否则插件装得上但客户端不加载,且不报错:
| 位置 | 字段 |
|---|---|
package.json |
name |
cordis.patch.yml |
name |
client.js |
__ModuleLoader__.load({ id }) |
用脚本改,不要手改:
npm run rename -- @your-scope/dsh-zh-skill # 自动同步三处 + 自检
npm run check # 只自检
npm test # 26 项单测
它做什么
| 能力 | 说明 |
|---|---|
/ 菜单 |
一组中文技能,按中文名搜索收敛 |
zh_skill_search |
模型按关键词检索(中文可用),返回名字 + 80 字描述 |
zh_skill_load |
按中文名加载完整指令,附带技能基目录 |
| 手势注入 | 菜单选中后插入 【技能:中文名】,发出即加载,走 user 消息层 |
| 系统段 | 常驻约 123 字符,催模型在对应场景先检索 |
技能目录自动发现这些位置,不需要配置:
<工作区>/.dsh/skills<工作区>/.agents/skills$DSH_HOME/skills(默认~/.dsh/skills)$DSH_AGENTS_HOME/skills(默认~/.agents/skills)
它不做什么
- 不保证模型照做。加载只是把正文送到模型眼前;「必须执行」要靠技能自带的脚本闸门(
guard.py这类)。把加载方式当服从保障,是最常见的误解。 - 不覆盖 DSH 内置技能(
office-*、agent-experience等),它们名字合法、模型本来就能看见。 - 不支持终端版的
/菜单(终端没有菜单组件)。
依赖
宿主侧服务:tools、systemPrompt、workingDirectory、webServer
客户端服务:inputTriggers、sessions
纯函数包:@deepseek-ai/dsh-llm、@deepseek-ai/dsh-skill、@deepseek-ai/dsh-tools
任一服务缺失时插件自身跳过,不影响 DSH 启动。
已知坑(2026-10-26 踩过)
- 三处名字不一致 → 菜单空白且无报错。改名必须用
npm run rename。 - 桌面版协议是
dsh-app://,不是 http。前端fetch走 IPC 桥接,用相对路径(/zh-skill/catalog)即可,不要拼绝对地址。 - 客户端改动必须 ⌘Q 重开,刷新页面不加载新模块。
- 前端拿不到工作目录时,
catalog返回400 missing-cwd而不是静默返回少量数据(早先的静默降级会让技能凭空少掉 806 个)。