dsh-skills-manager
by zhangzheng25
DeepSeek Harness插件:技能管理设置页。浏览/搜索代理技能,查看SKILL.md详情,并直接从设置→技能管理器复制内容/路径。
DeepSeek Harness plugin: skill management settings page. Browse/search agent skills, view SKILL.md details, and copy content/path directly from Settings → Skill Manager.
安装
dsh plugin --profile web add github:zhangzheng25/dsh-skills-managerGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
一个 DeepSeek Harness 插件:在 设置 → 技能管理 页面展示 DSH 当前可用的 agent skill 目录。它直接读取宿主 ctx.skills 注册表,并合并各 agent preset 作用域下的技能,不需要手动维护列表。

功能特性
- 🧭 技能目录 — 列出当前环境合并后的全部技能:名称、描述、来源(项目
.dsh/ 项目.agents/ 自定义 / 用户.dsh/ 用户.agents/ 内置 / 运行时)、提供方、模型/用户调用策略,以及该技能出现在哪些 preset 作用域。 - 🔍 搜索与过滤 — 按名称 / 描述 / 适用场景实时搜索;支持「全部 / 模型可用 / 用户可用」筛选。
- 📄 详情查看 — 点击技能后,详情面板直接在对应技能卡片下方展开:
whenToUse、文件路径、资源目录、metadata、完整的SKILL.md正文。 - 📋 复制 — 一键复制技能正文或本地路径,方便手工维护或分享。
- 🔄 自动刷新 — 页面每 30 秒轮询一次,另有手动「刷新」按钮;当技能来源发现不完整时会显示提示。
- 🎨 DSH 原生风格 — 亮色/暗色主题自适应,使用
--dsw-alias-*主题变量;扁平卡片、1px 细边框、8–10px 圆角、无阴影。
说明:当前版本是只读管理界面。DSH 的 skill 注册表由各提供方(主要是
dsh-skill-filesystem)拥有,注册表本身不提供删除/禁用已有技能的能力;因此本插件聚焦于浏览、检索、查看正文和定位文件。
安装
从 GitHub 安装:
dsh plugin --profile web add github:zhangzheng25/dsh-skills-manager
或从本地目录安装:
dsh plugin --profile web add E:\path\to\dsh-skills-manager
dsh plugin 会在 profile 目录中转发给 pnpm 安装,并自动调和 dsh.profile.bundles;包内 dsh.bundle.patch(cordis.patch.yml)把插件行插入宿主组合,dsh.client.platform: "web" 让 web 外壳加载 client/bundle.js。
安装后重启 DSH,打开 设置 → 技能管理 即可看到页面。
架构
┌────────────────────────── Host(Node.js)──────────────────────────┐
│ src/index.js │
│ • ctx.get('skills') ← 读取 DSH skill 注册表 │
│ • skills.snapshot({ cwd }) ← 读取全局层技能 │
│ • skills.snapshot({ cwd, scope }) ← 逐个 agent preset 读取并合并 │
│ (cwd 传 process.cwd(),让 filesystem 提供方扫描项目根; │
│ 用户/自定义/内置根始终会被扫描) │
│ • skills.get(name, { cwd, scope })← 按需加载完整 SKILL.md 正文 │
│ • webServer.register('/skills-manager/snapshot') │
│ • webServer.register('/skills-manager/skill?name=…') │
└─────────────────────────────────────────────────────────────────────┘
│ fetch('/skills-manager/snapshot')
│ fetch('/skills-manager/skill?name=…')
▼
┌────────────────────────── Client(浏览器)─────────────────────────┐
│ client/bundle.js — 手工构建的 web bundle,符合 client-modules 协议 │
│ (window.__ModuleLoader__.load) │
│ • slots.inject('settings.section') → 设置页「技能管理」 │
│ • 指标卡 + 搜索 + 过滤 + 技能列表 + 卡片内联详情面板 │
│ • 30 秒轮询、手动刷新、复制正文/路径 │
└─────────────────────────────────────────────────────────────────────┘
数据来源
- 技能目录:
ctx.skills.snapshot({ cwd })返回全局层SkillSummary[]与complete标志;随后对每个可用 agent preset 调用ctx.skills.snapshot({ cwd, scope }),按技能名合并去重。 - 技能详情:
ctx.skills.get(name, { cwd })优先查全局层,查不到再按 preset 作用域逐个查找,返回SkillDefinition(含content/path/metadata/resourceBase)。 - 项目范围:
cwd取宿主进程的process.cwd();dsh-skill-filesystem会据此查找最近的.git祖先并扫描<projectRoot>/.dsh/skills与<projectRoot>/.agents/skills,同时始终扫描用户/自定义/内置根。 - Preset 作用域:通过
ctx.agentPresets.standingKeyFor(preset.id)获取每个 preset 的 standing scope key,再以该 scope 读取技能目录,因此 web profile 中由 agent preset 挂载的skill-filesystem也能被看到。
已知限制
- 只读:不能通过本插件启用/禁用/编辑已有技能,只能查看和复制。
- 设置页导航图标:当前 DSH 的
settings.section注册项只支持id/order/label,设置页左侧导航图标由dsh-client-ui-settings-general硬编码;非内置 id 统一显示齿轮图标。已调研conversation.view主界面 tab 方案,但当前版本选择只保留设置页入口,等待官方后续开放图标配置或更合适的扩展点。
开发
npm run check # node --check 两个文件(语法检查,无测试)
Client bundle 为手工编写以匹配 client-modules bundle 协议,无需构建步骤。
许可
原始 README: https://github.com/zhangzheng25/dsh-skills-manager/blob/main/README.md ↗
同类插件
查看全部 →
deepseek-harness
从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

dsh-plugin
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。

dsh-tongflow
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。

helloagents
AI 编码 CLI 的工作流层:技能、项目知识、交付检查、更安全的配置写入与可恢复执行

dsh-ai-novel-writer
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。

rea
用 agent 逆向任何东西:从应用行为到原生二进制