dsh-skill-editor
Edit skills directly in DSH web settings
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 29, 2026
- Updated
- Aug 29, 2026
Introduction
dsh-skill-editor
在 dsh Web 设置页直接编辑 skill 的 SKILL.md(简介 + 正文),保存即写回磁盘、无需重启。一个独立、轻量、纯 node:fs 实现的 dsh 插件。
本项目所有代码由dsh完成,本人完全不会编程
✨ 特性
- 设置页即编即改:
设置 → 技能编辑器,列出所有技能,点开即可编辑。 - 安全分级(防手滑):
- 本地技能(
~/.dsh/skills、~/.agents/skills、工作区.dsh/skills):可编辑保存。 - 系统/内置技能(bundled / 插件内嵌):只读,显示风险提示。
- 本地技能(
- 保存即写盘:写回
SKILL.md,技能热加载,刷新即生效。 - 只动正文 + name/description:不碰其它 frontmatter 字段,原样保留。
- 零第三方依赖的读写逻辑:用
node:fs直接操作明文文件,不依赖任何 skill 插件内部实现,升级不失效。 - 可独立回滚:删除本插件即可完全移除,不影响其它功能。
📦 安装
# 直接从 GitHub 仓库安装
dsh plugin --profile web add https://github.com/bosinHU/dsh-skill-editor
本插件在
dsh.client.platform: web下自动注入,无需手动改cordis.patch.yml。
安装后重启 web 服务(dsh --profile web),刷新页面,设置页即出现「技能编辑器」。
🚀 使用
- 进入 dsh Web 设置 →「技能编辑器」。
- 展开某个技能,编辑
description或正文(SKILL.md中---分隔线之后的部分)。 - 点击「保存」,内容立即写回磁盘。
🖼️ 界面预览
图为 dsh Web 设置页「技能编辑器」的真实界面:左侧为设置导航,右侧列出全部技能(
全局/内置),展开后可编辑name、description与正文(SKILL.md)。

🗂️ 项目结构
dsh-skill-editor/
├── package.json # 包声明(dsh.client / dsh.bundle.patch)
├── cordis.patch.yml # bundle patch(注册 host 插件)
├── lib/
│ ├── index.js # host:skillEditor 远程服务(list/content/saveContent)
│ └── client.js # client:设置页「技能编辑器」UI
├── README.md
└── LICENSE
🧠 技术细节(typert 协议)
- host 端
lib/index.js的MANIFEST中,每个参数都带codec字段(新版 typert 强制要求):- 标量参数(
name/sessionId)用codec: { mode: "src-json" }; - 对象参数(
payload)用codec: { mode: "strict", typeSymbol: "...", schema }。
- 标量参数(
apply(ctx)里显式调用ctx.typert.register(MANIFEST),否则前端remote.skillEditor连不上后端。
❓ 常见问题
Q: 保存后要重启 dsh 吗? 不需要,技能是热加载的,刷新页面即可生效。
Q: 系统/内置技能为什么不能改?
防止误改内置技能导致 dsh 异常。如需修改,请在本地 ~/.dsh/skills 下新建同名技能,或改用本地副本。
📄 License
所有代码内容由 dsh 自主完成。