DeepSeek Harness Hub
← 返回列表

fuxin123z/dsh-skill-manage

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

一个 DSH DeepSeek Harness 插件,为智能体赋予程序性记忆:一个 skillmanage…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档

DSH 插件:由智能体管理的程序性记忆——一个 skill_manage 工具,允许智能体在运行时写入、修补、禁用和删除自己的技能(用户 + 项目作用域),并支持热重载和分层删除防护。

综合分
28.7
GitHub 分
28.7
用户评分
★ Stars
2
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/fuxin123z/dsh-skill-manage.git
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-skill-manage

npm version
License: MIT
Awesome DSH Plugin

一个 DSH (DeepSeek Harness) 插件,为智能体赋予程序性记忆:一个 skill_manage 工具,用于编写自己的技能——创建、修补、禁用、删除——并带有分层删除保护。它构建在 skill-filesystem 的热重载监听器之上,因此在会话中途创建的技能可在同一会话中立即使用,无需重启。

与 dsh-auto-memory 搭配使用可实现声明式记忆:后者记住事实(日志、笔记、偏好),而本插件记住如何做事(工作流、陷阱、流程)。

它新增了什么

skill_manage 工具——动作:create / patch / edit / delete / disable / enable / pin / unpin / write_file / remove_file / list

- 两种作用域——scope: 'user'(默认,~/.dsh/skills,适用于所有工作区)或 scope: 'project'(/.dsh/skills,仅限当前工作区)。项目根目录的解析方式与 harness 自身的技能查找完全一致:从会话 cwd 向上查找到最近的 .git,若找不到则回退到 cwd 本身。list 会在同一张表中显示两种作用域。
- 两种磁盘布局——目录式技能(//SKILL.md,即 create 写入的形式)和单文件技能(/.md),与 skill-filesystem 监听器实际加载的两种布局相匹配。list 会显示 layout 标志;单文件技能会拒绝支持文件相关操作。
- 禁用/启用(可逆)——切换 SKILL.md frontmatter 中的 disable-model-invocation,这正是 harness 技能目录过滤所依据的键(isModelInvocable)。禁用会在不触碰内容的情况下将技能从模型目录中隐藏;启用则恢复它。对于季节性技能或脱离上下文的技能,优先使用 disable 而非 delete。
- 固定/取消固定(可逆)——切换删除保护所读取的同一个 pinned frontmatter 标志。被固定的技能无法通过 skill_manage 删除(仍允许 patch/edit);请固定那些必须在清理中幸存的技能。
- 触发纪律(英文,静态系统提示词部分,缓存稳定):当复杂任务成功完成(5 次以上工具调用)、错误被克服、用户纠正的方法被证明有效,或用户要求记住某个流程时,创建技能;当技能遇到未覆盖的陷阱时,立即修补。
- 删除保护:
- 只有带有 created_by: agent frontmatter 标记的技能才可删除——市场/用户技能会被拒绝
- pinned: true frontmatter 会阻止删除(仍允许 patch/edit)
- 路径限制在解析后的技能根目录内;符号链接的技能目录会被拒绝
- 名称漂移保护:patch/edit 无法静默重命名技能
- 校验:名称正则 + 长度,frontmatter 要求包含 name + description,description ≤1024 字符,SKILL.md ≤100k 字符,支持文件 ≤1 MiB,支持路径限定在 references/ templates/ scripts/ assets/ 内
- 原子写入(临时文件 + 重命名),因此监听器永远不会看到写入一半的 SKILL.md
- CRLF 安全的 frontmatter 解析

安装

方式 A — 通过 dsh plugin(推荐;自动处理下面两个步骤):

dsh plugin --profile web add dsh-skill-manage

方式 B — 手动 npm 安装,在你的 DSH profile 目录中(例如 ~/.dsh/profiles/web):

1. 添加依赖
npm install dsh-skill-manage        # 或:pnpm add dsh-skill-manage

2. 在 package.json → dsh.profile.bundles 中注册该 bundle:
"dsh": { "profile": { "bundles": [ ..., "dsh-skill-manage" ] } }

3. 重启 dsh web

该插件无需配置。日志行 [dsh-skill-manage] ready 确认其已加载。

从源码安装(本地链接) — 用于开发:

在你的 DSH profile 目录中(例如 ~/.dsh/profiles/web)
1. package.json 依赖:
"dsh-skill-manage": "link:/abs/path/to/dsh-skill-manage"
2. dsh.profile.bundles:追加 "dsh-skill-manage"
pnpm install
3. 重启 dsh web

开发与测试

node test.mjs      # 守卫级冒烟测试(73 个用例,沙箱化 DSH_HOME)
node loadtest.mjs  # 宿主形态契约 + 真实往返(设置 DSH_HOME 以将其沙箱化)

CI 在每次 push/PR 时运行两者(.github/workflows/ci.yml)。

v0 已知限制

- 嵌套分类目录(///SKILL.md)不会被列出或操作 — harness 监听器也不会加载它们(它只加载 //SKILL.md 和 /.md)
- frontmatter 中不支持 YAML 流式集合(tags: [a, b] 会保持为原始字符串)
- 项目作用域假设每个会话只有一个根(会话 cwd 的 git 根)

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群