DeepSeek Harness plugin

dsh-skills-manager-zhangzhe

DeepSeek Harness plugin: skill management settings page. Lists all available agent skills (name, description, source, provider, invocation policy), supports search/filtering, and shows the full

Jump to install

Source facts

Repository
zhangzheng25/dsh-skills-manager
Latest update
Aug 16, 2026
Category
Workflow & Automation
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/zhangzheng25/dsh-skills-manager
Plugin: dsh-skills-manager-zhangzhe
Author: zhangzheng25

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-skills-manager

<p align="center">

<strong>简体中文</strong> | <a href="README.en.md">English</a>

</p>

一个 DeepSeek Harness 插件:在 设置 → 技能管理 页面展示 DSH 当前可用的 agent skill 目录。它直接读取宿主 ctx.skills 注册表,并合并各 agent preset 作用域下的技能,不需要手动维护列表。

![技能管理页面](ScreenShot.png)

功能特性

  • 🧭 技能目录 — 列出当前环境合并后的全部技能:名称、描述、来源(项目 .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.patchcordis.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 协议,无需构建步骤。

许可

[MIT](./LICENSE)