packages/dsh-skill-explorer
zhu1090093659/dsh-web技能中心:按来源分级浏览已加载的全部 skill,启用/禁用模型调用、创建新技能、删除进可恢复回收站。
DSH skill 可视化与管理插件:在设置面板列出全部 skill(含来源、嵌套标记与模型/用户调用状态),查看并编辑 SKILL.md 正文,一键启用/禁用模型与用户调用;并可从会话日志提取可复用内容,沉淀为 agent 可自动加载的个人 skill。提供 skillmgr_list/get/save/policy 及 skillmgr_extract_* 工具。
English | 中文
Visualize, edit and manage DeepSeek Harness skills right from the web settings panel — list every skill DSH discovered, view its full SKILL.md, edit the body, and enable/disable model & user invocation with a switch.
SKILL.md file in place, and toggle enable / model-invocable / user-invocable.enabled master switch, or per-interface modelInvocable / userInvocable)..dsh/skills / .agents/skills, user ~/.dsh/skills / ~/.agents/skills), expanding one level of nested bundles (e.g. ~/.agents/skills/superpowers/<name> — flagged 嵌套/nested), plus ② the official registry (ctx.skills) for runtime / bundled skills. The panel therefore shows every skill on disk even when the host-plane filesystem provider is disabled (the web architecture deliberately moves local discovery to per-agent presets).disable-model-invocation / user-invocable; all other frontmatter lines are preserved verbatim. Saves are picked up by DSH on rediscovery.Add the plugin to your profile:
# from npm
dsh plugin --profile web add dsh-skill-studio
# or from GitHub (the repo carries the `dsh-plugin` topic)
dsh plugin --profile web add github:zhengjy01/dsh-skill-studio
Expected: the command prints the resolved package and records it in that
profile's dsh.profile.bundles (the host only loads plugins listed there).
Screenshot slot 1 — install output. Capture the terminal right after the command, last ~10 lines (resolved package + profile path). Redact your username / home path if it appears. Save as
docs/images/dsh-skill-studio-1-install.png, then replace this block with.
Restart dsh web (or use the sidebar 重启 / Restart entry if the
dsh-restart plugin is installed).
Expected: the host boots with dsh-skill-studio in its plugin list. There is
no build step — lib/ is plain ESM.
Open the Web GUI → 设置 (Settings) → Skill 工作台.
Expected: the settings nav shows the "Skill 工作台" entry, and the panel lists every discovered skill with a source badge and its invocation state.
Screenshot slot 2 — panel is live. Capture the settings nav (entry visible) plus the panel header and list. Redact any skill names you consider private. Save as
docs/images/dsh-skill-studio-2-panel.png.
Click a skill in the list.
Expected: the detail view shows that skill's body plus its source and path.
Edit the body in the textarea, then click 保存 / Save.
Expected: the panel reports a successful write, and the skill's SKILL.md on
disk now contains your text.
Screenshot slot 3 — editing works. Capture the detail view with the editor open; use a non-sensitive skill (or blur its content). Save as
docs/images/dsh-skill-studio-3-edit.png.
Flip the 启用 / 模型可调用 / 用户可调用 switches.
Expected: the row's state changes immediately and stays changed after a
refresh (the switch writes disable-model-invocation /
user-invocable into the frontmatter).
Screenshot slot 4 — switches take effect. Capture the list row with one switch off, then the same row after a page refresh. Save as
docs/images/dsh-skill-studio-4-switches.png.
Or just tell your agent:
列出所有 skill,并告诉我哪些被禁用了
帮我禁用 session-knowledge 技能
Expected: the agent answers through the skillmgr_* tools.
| # | Where | What it shows | How to capture | Suggested filename |
|---|---|---|---|---|
| 1 | Install | The install command's output (package + profile) | Terminal right after step 1, last ~10 lines; redact home path | docs/images/dsh-skill-studio-1-install.png |
| 2 | Install | The panel open in Settings with the skill list | Settings → Skill 工作台; include the nav entry | docs/images/dsh-skill-studio-2-panel.png |
| 3 | Usage | Editing a skill body and saving | Detail view with the textarea open; use a non-sensitive skill | docs/images/dsh-skill-studio-3-edit.png |
| 4 | Usage | The three switches after a refresh | Same row before/after refresh | docs/images/dsh-skill-studio-4-switches.png |
After adding the images, re-run npm pack --dry-run and the portability gate
(npm run verify) — the README is part of the published tarball.
name key must match the skill name (kebab-case); breaking the frontmatter format may cause DSH to skip the skill on rediscovery.MIT