- Accueil
- Plugins
- Compétences
- dsh-skill-recommender
dsh-skill-recommender
zhengjy01/dsh-skill-recommender
Recommande des Skills pour DeepSeek Harness : parcourt les historiques locaux de sessions Codex/Claude/DSH, établit un profil et suggère des Skills open source selon un indice pondéré réglable (un indice plus élevé indique uniquement une pertinence accrue). Outils et panneau de réglages Web.
Installer
dsh plugin --profile web add github:zhengjy01/dsh-skill-recommenderREADME
dsh-skill-recommender
A skill recommender for DeepSeek Harness. It browses your local session records across Codex, Claude and DSH, builds a compact user profile, ingests an open-source skill catalog, and ranks skills with a weighted score gated by a tunable match index — the higher the index, the higher-relevance the recommendations only.
What it does
- Reads sessions from three agent sources — DSH (
~/.dsh/sessions/**/session.jsonl.zstd), Codex (~/.codex/*.jsonl), Claude (~/.claude/projects/**/*.jsonl) — no API keys, purely local file reads. - Builds a profile: topic distribution, high-frequency tools, task types, common project directories, language/model source.
- Ingests a skill catalog: local skill dirs (
~/.agents/skills,~/.dsh/skills, your Obsidian2️⃣ AI/Skill) + remote awesome lists (awesome-dsh-skills,awesome-dsh-plugin,awesome-deepseek-harness, Claude skills ecosystem), plus a small bundled seed so it always returns something. - Scores & ranks with a weighted model:
score = Σ(w_i × sim_i) / Σ(w_i), where dimensions are topic / tool / task / proximity-to-installed. A global match index (0–100, default 60) is the gate: only skills withscore ≥ indexare returned, then top-N.
Why it's different from dsh-skill-studio
dsh-skill-studio extracts reusable skills from your own sessions. This plugin recommends third-party open-source skills by extrapolating your profile. They complement each other.
Tools (model-facing)
| Tool | Purpose |
|---|---|
recommender_scan | Scan sessions, build the profile, produce an initial recommendation run. |
recommender_recommend | Recommend open-source skills; optionally override index / topN / weights on the fly. |
recommender_profile | Show the current user profile (topics, tools, tasks, projects). |
recommender_config | Configure sources, catalogs, window, match index, per-dimension weights, optional LLM enrichment. |
recommender_status | Show plugin status without leaking secrets. |
Web settings panel
A Skill 推荐器 card in the Web settings page: scan button, live 匹配指数 slider (0–100), four per-dimension weight sliders (topic / tool / task / proximity), catalog toggles, and recommendation cards with scores, per-dimension breakdowns and a GitHub link. The index + weights are saved to ~/.dsh/dsh-skill-recommender/config.json (mode 0600).
Compatibility
Requires DeepSeek Harness ≥ 0.1.5-rc.1 (declared as dsh.engines.dsh in the package manifest, so the DSH plugin marketplace can report it) and is verified against 0.1.5-rc.1. This build carries the DSH 0.1.5 adaptations: the strict tool-result contract (lossless-JSON snapshot, additionalProperties: false schema validation, and output.render returning ContentBlock[]) plus executable resolution that survives a launchd-started host whose PATH is only /usr/bin:/bin.
Install (development)
dsh plugin add --profile web link:/path/to/dsh-skill-recommender
Then restart the host (tools + routes) and hard-refresh the browser (client panel). Config key: skill-recommender in the bundle patch layer.
Build
pnpm install
pnpm bundle # builds lib/index.js (ESM) + lib/client.js (browser bundle)
node tests/smoke.mjs
Notes
- The default weight model is
{topic: 50, tool: 50, task: 35, near: 40}; the index gate defaults to60. - Whole-web discovery: the default
github-discoverysource queries the GitHub search API across the entire platform (agent/claude/codex skills,SKILL.md,awesome skills— 星标排序), so recommendations are not limited to one designated list. Results are cached (6h TTL); the unauthenticated search limit (10 req/min) is respected. - Skills vs plugins: each catalog is tagged
skillorplugin. By default only skills are recommended (types: ['skill']); tick 含插件 in the panel to also include DSH plugins. Both markdown lists and tables are parsed (DSH skill catalogs use tables). - Remote catalogs are fetched with a 12s timeout and cached (6h TTL); offline runs fall back to the cache + bundled seed.
- Background auto-scan: set
autoScanMinutes(default60,0= off) in the panel — the host refreshes the cached result in the background, and the panel shows the last result instantly on open. The cache is persisted to~/.dsh/dsh-skill-recommender/last-result.json(0600). - No secrets are stored or echoed; LLM enrichment (optional) reuses OpenAI-compatible config, keys never returned.
License
MIT
安装 / Install
# from npm (published package)
dsh plugin --profile web add dsh-skill-recommender
# or local development
dsh plugin --profile web add link:/path/to/dsh-skill-recommender
# then restart dsh web to activate