dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ZBCs-StudioCr-CN/dsh-skill-manager
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A visual Skill manager for the DeepSeek Harness web GUI: enable, auto-load, categorize, and author your SKILL.md rules — without touching files.
DeepSeek Harness skills are plain SKILL.md files (Markdown + YAML frontmatter) discovered under ~/.dsh/skills. Once your skill library grows, managing it by hand means:
dsh-skill-manager turns all of that into point-and-click from the sidebar.

| Capability | What it does |
|---|---|
| 启用 / 禁用 (Enable) | One switch per skill. Disabled skills disappear from the /name catalog; the list always shows the real state. |
| 加载到当前对话 (Load into conversation) | Copies /skill-name to the clipboard — paste it into the composer and send to bring that skill's rules into the current chat. Never auto-sends a message. |
| 默认加载 (Default load) | One switch per skill marking it "always loaded into new conversations", so the rules you always need are there from the start. |
| 分类管理 (Categories) | Create / rename / delete categories, assign skills by checkbox, live member counts. Skills can belong to several categories. |
| 智能分类 (Smart classify) | One click assigns every skill to a category by keyword rules (local, no API key, explainable). Categories carry editable keywords; on first use it auto-seeds 6 default categories (设计 / 竞品分析 / 市场分析 / 项目规划 / 开发 / 运营). |
| 编辑 SKILL.md (Author) | Create, edit, and delete user-owned skills in-panel with validation (kebab-case names, never-overwrite create, readable errors). Writes go to $DSH_HOME/skills/<name>/SKILL.md and invalidate the skill catalog. |
| 打开文件夹 (Open folder) | Reveal $DSH_HOME/skills in the host file manager. |
The manager separates three concepts that are easy to confuse — each is a different control in the panel:
skill-preferences.json → enabled)./name, you decide when to send).defaultLoaded).Enablement and default-loading are switches; "load into conversation" is a one-shot action.
The feature has two halves — a host capability (RPCs + preferences store, applied as a git patch) and the client panel (this repo's client/ package). The client depends on the host RPCs, so apply the host patch first.
# 1. In your deepseek-harness checkout, apply the host patch
cd deepseek-harness
git apply /path/to/dsh-skill-manager/host/0001-skill-manager-host.patch
# 2. Bring the client package into the workspace (see docs/INSTALL.md — three routes:
# monorepo workspace member, bundle dependency, or standalone bundle)
pnpm install
pnpm run build:lib:client
# 3. Restart the web GUI and hard-refresh the browser
pnpm run dev:web
Then the Skills button appears in the sidebar above Settings.
See docs/INSTALL.md for the three supported routes and host/README.md for what the host patch changes.
host/0001-skill-manager-host.patch): skill.* RPCs (list/read/create/update/delete/openFolder/preferencesRead/preferencesUpdate/smartClassify) through the full apiproxy stack; a skill-preferences store ($DSH_HOME/skill-preferences.json) for enablement / default-loading / categories; a skill-filesystem writer for authoring; smart classification by keyword rules.client/): a @deepseek-ai/dsh-client-ui-skill-manager plugin registering into the sidebar.footer.action slot. The panel is a self-drawn portal dialog; the injected face calls connection.api.skills.* — the component never touches ctx or the RPC client. zh/en locales included.# in client/
pnpm --filter @deepseek-ai/dsh-client-ui-skill-manager bundle # build lib/client.js
pnpm exec vitest run packages/client/ui-skill-manager # browser spec (13 tests)
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: dsh-skill、skill-manager、skill-md、sidebar-plugin。