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端用户。

Package
@majinggui/dsh-plugin-skill-manager
Compatibility
Unverified
Version
0.1.0
License
MIT
Last updated
Oct 3, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:majinggui/dsh-plugin-skill-manager

Configuration

FieldDefaultMeaning
dshHome$DSH_HOME or ~/.dshHarness config root; its skills child is scanned and imported into
agentsHome$DSH_AGENTS_HOME or ~/.agentsShared agent config root, the one the page's scan switch controls
includeAgentsRootfalseWhether 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.jsonEnablement ledger
installRoot/skillsDirectory that uploads and GitHub imports write into
githubMaxFiles20Largest number of documents one GitHub import installs
githubMaxDocumentBytes524288Largest accepted GitHub document
githubTimeoutMs30000Deadline for one GitHub import
uploadMaxDocuments20Largest number of documents and archives one upload installs
uploadMaxDocumentBytes524288Largest accepted Markdown document
zipMaxBytes52428800Largest archive one upload may carry, before extraction (50 MB)
zipMaxUncompressedBytes209715200Largest uncompressed size one archive may reach (200 MB)
zipMaxMembers2000Largest number of files one archive may hold
zipMaxEntryBytes67108864Largest 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.