majinggui/dsh-plugin-skill-manager ↗★ 0
@majinggui/dsh-plugin-skill-manager
Skill management for the DeepSeek Harness Web client: scan the user-level skill roots, list every skill with its source and precedence, switch one off, edit its SKILL.md, and install skills from documents or a GitHub link 适合需要统一管理、开关或从GitHub导入技能文件的Web端用户。
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:majinggui/dsh-plugin-skill-managerREADME
Read the full README ↗Configuration
| Field | Default | Meaning |
|---|---|---|
dshHome | $DSH_HOME or ~/.dsh | Harness config root; its skills child is scanned and imported into |
agentsHome | $DSH_AGENTS_HOME or ~/.agents | Shared agent config root, the one the page's scan switch controls |
includeAgentsRoot | false | Whether that root is scanned before the user changes the switch; the switch's stored choice wins after that |
extraRoots | [] | Additional managed roots, each with path, source, and rank |
stateFile | /skill-manager.json | Enablement ledger |
installRoot | /skills | Directory that uploads and GitHub imports write into |
githubMaxFiles | 20 | Largest number of documents one GitHub import installs |
githubMaxDocumentBytes | 524288 | Largest accepted GitHub document |
githubTimeoutMs | 30000 | Deadline for one GitHub import |
uploadMaxDocuments | 20 | Largest number of documents and archives one upload installs |
uploadMaxDocumentBytes | 524288 | Largest accepted Markdown document |
zipMaxBytes | 52428800 | Largest archive one upload may carry, before extraction (50 MB) |
zipMaxUncompressedBytes | 209715200 | Largest uncompressed size one archive may reach (200 MB) |
zipMaxMembers | 2000 | Largest number of files one archive may hold |
zipMaxEntryBytes | 67108864 | Largest uncompressed size of one file inside an archive (64 MB) |
Set them where the plugin row is declared:
- insert:
- id: skill-manager
name: dsh-plugin-skill-manager
config:
extraRoots:
- path: ~/team-skills
source: team
rank: 300
Which roots are scanned
Only $DSH_HOME/skills and any configured extraRoots are scanned by default. The shared agents directory ($DSH_AGENTS_HOME/skills, rank 500) is not scanned until the switch on the page turns it on; turning it off again drops its documents from the catalog on the next read. The choice is stored beside the disable records in the state file, so it survives a restart and overrides includeAgentsRoot.
Path confinement is wider than the scan on purpose: reads and writes stay confined to every configured root, so a skill that was switched off while the agents directory was being scanned can still be switched back on after the scan is turned off.