DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

welsione /

dsh-skill-manager

已验证

Skill manager for DeepSeek Harness (DSH): settings-page panel to enable/disable skills; disabled skills are never discovered by agents at runtime.

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: main@e74f1a51

dsh-skill-manager

DeepSeek Harness(DSH)的 Skill 管理插件:在 Web GUI 设置页启停 Skill,停用的 Skill 在 Agent 运行时不会被发现。

license

English · English README

适用于 DSH 0.1.0-rc.7 及以上的 bundle 插件模型(dsh.profile.bundles + dsh.bundle.patch)。

功能

  • 设置页管理面板:设置(Settings)→「Skill 管理」,列出全部 Skill(名称 / 描述 / 来源 / 仅用户调用标记),支持搜索与「全部 / 已启用 / 已停用」筛选,一键开关
  • 批量操作:工具栏「全部启用 / 全部停用」一键批量处理(停用全部需确认)
  • 插件配置卡片:设置 → 插件 →「插件配置」出现 dsh-skill-manager 卡片,实时显示启停统计与状态文件路径(服务端注册 settings 命名空间,rc.7+ keyed 分发)
  • 运行时过滤:停用的 Skill 对 Agent 完全不可见——目录注入(<available_skills>)、skill 工具调用、用户 /name 直接引用全部拦截,对所有 Agent 及子 Agent 全局生效
  • headless 兼容:过滤是硬依赖(skills),webServer/agents 可选等待——无 Web GUI 的 headless profile 同样生效
  • 目录自动更新:已打开的会话会在下一步自动发布"目录已更新"替换消息,无需新开会话
  • 全量可见可恢复:停用只影响 Agent 运行时发现;管理列表始终显示全部 Skill,随时可重新启用
  • 持久化:禁用名单存于 <harness home>/skill-manager.json(默认 ~/.dsh/skill-manager.json),重启后依然生效;已消失的 Skill 名会在下次列表加载时自动清理
  • 零构建:单文件插件(ESM host + ModuleLoader client),无编译步骤;dsh.client 声明随包自动加载客户端

安装

将下面的提示词复制给你的 AI 助手(Agent),它会按照 AGENT.md 完成安装:

请阅读仓库根目录的 AGENT.md 文档,按照其中的步骤,在当前 DSH profile 中完成 dsh-skill-manager 插件的安装、挂载与验证。

或手动安装:

# 1) 安装插件包(bundle:自动进入 dsh.profile.bundles,无需手工编辑 patch)
dsh plugin --profile web add dsh-skill-manager                      # npm 已发布时
dsh plugin --profile web add github:welsione/dsh-skill-manager      # 直接从 GitHub 装
#    固定版本(推荐,避免 main 演进漂移):
#    dsh plugin --profile web add github:welsione/dsh-skill-manager#v1.2.0
#    未 push 的本地开发:用 file: 前缀(实体化安装,依赖可解析);
#    裸路径会退化为 link: 软链,ESM 依赖解析会失败。

# 2) 重启 dsh 进程(bundle 补丁层启动时加载),刷新 Web 页面

git 依赖须知:github:… 安装的是 GitHub 上已提交的代码——本仓库的 v1.1.0+(bundle 声明)提交并 git push 之后才能用这种方式装到可用版本; 装到 1.0.0 旧包只会得到 "declares no dsh.bundle" 警告且不生效。 pnpm 会把 git 依赖实体化为 profile 内的真实目录,并按 package.json 安装 其 dependencies(@deepseek-ai/dsh-home-paths、schemastery), @deepseek-ai/dsh-settings 为 peer 依赖,由 DSH 安装的扁平兜底目录提供。

注意:dsh plugin add 会校验 dsh.bundle 声明并自动把包加入 profile 的 dsh.profile.bundles 层——不要再往 profile 的 cordis.patch.yml 里手动添加本插件的 insert 行(会与 bundle 层重复挂载)。

架构

文件 职责
cordis.patch.yml bundle 补丁层:dsh.bundle.patch 指向它,boot 时自动挂载 host 插件行
lib/index.js Host half(ESM):包装 skills 注册表的 list/snapshot/get 过滤(skills 硬依赖 + webServer/agents 可选等待);注册 HTTP API GET /api/skill-manager/list、POST /api/skill-manager/set(支持单/批量);settings 命名空间注册;禁用名单持久化
lib/client.js Client half:window.__ModuleLoader__.load 注册设置页「Skill 管理」与「插件配置」卡片;把设置页导航的齿轮回退图标替换为书本图标
package.json dsh.bundle.patch + dsh.client 声明(bundle + 客户端随包加载);ESM;@deepseek-ai/dsh-settings peer 依赖

验证

# 服务端路由
curl -s http://127.0.0.1:3080/api/skill-manager/list | python3 -m json.tool
# 期望 ok:true、skills 为全量列表、disabled 为停用名单、debug.wrapActive 为 true

# 客户端 bundle(刷新页面后生效)
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3080/plugins/dsh-skill-manager/client.js   # 期望 200

# 启停与批量
curl -s -X POST http://127.0.0.1:3080/api/skill-manager/set \
  -H 'content-type: application/json' -d '{"name":"mmx-cli","enabled":false}' | python3 -m json.tool
curl -s -X POST http://127.0.0.1:3080/api/skill-manager/set \
  -H 'content-type: application/json' -d '{"names":["a","b"],"enabled":true}' | python3 -m json.tool

# 启动日志
cat /tmp/dsh-skill-manager-apply.log   # 期望 apply(skills=true webServer=true agents=true ...)

# 单元测试(CI 同款,无需 DSH 进程)
npm install && npm test   # 期望 ALL PASS(14 项宿主逻辑检查)

卸载

  1. dsh plugin --profile web remove dsh-skill-manager(从依赖与 dsh.profile.bundles 移除)
  2. 重启 dsh;skill-manager.json 保留,重新安装后沿用禁用名单

生态与收录

本仓库已满足以下插件目录的收录条件:

  • 可安装性:package.json 声明 dsh.bundle.patch(指向 cordis.patch.yml)+ dsh.client——dsh plugin add 可安装、bundle 层自动挂载
  • 真实可用代码:lib/ 双半实现 + test/host.test.mjs(14 项宿主逻辑测试,CI 全矩阵运行)
  • 活跃维护:仓库 ≥1 天、持续提交,CI(语法 + bundle 声明 + 测试 + pack 校验)与 npm-publish.yml 自动发布

GitHub 侧待办(仓库所有者在 GitHub 上操作,代码侧已就绪):

  1. 推送代码:git push origin main && git tag v1.2.0 && git push origin v1.2.0

  2. 添加 topic:仓库 → About → Topics 加 dsh-plugin——awesome-dsh-plugins 雷达每 6 小时扫描该 topic,自动收录并实机验证(无需 PR)

  3. 登记 awesome 列表(可选):在 awesome-dsh-plugin 按 contributing.md 提 PR,新增一个文件 data/plugins/welsione__dsh-skill-manager.yml:

    url: https://github.com/welsione/dsh-skill-manager        # 必须与仓库完全一致
    name: welsione/dsh-skill-manager
    category: skill                                           # 管理技能启停 → skill 类
    description:
      en: Enable or disable skills from the Web GUI settings page; disabled skills are hidden from every agent runtime discovery path.
      zh: 在 Web GUI 设置页启停 Skill;停用的 Skill 对 Agent 运行时不可见。
    

收录不等于可用:两个目录都以自动/人工实测为准;本插件的自测请在「验证」一节自行复核。

相关

DeepSeek Harness · dsh-mmx-bridge · awesome-dsh-plugin · awesome-dsh-plugins 雷达

—/ 5

暂无评分

已验证 DSH bundle

Commit e74f1a514f44

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于