Requirement-driven dsh plugin discovery and environment recipes: plugin_guide matches natural-language needs to a curated plugin directory with reasons and install commands; recipe installs whole setups (通知全家桶, 安全审计套装...) from bundled community bundles with ordered plans.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-need-finder
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:863683348/dsh-need-finder
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
"点菜,不是逛超市。" 现有 DSH 插件市场都是按名称/分类浏览;本插件让 agent 直接听懂你的需求,从精选目录里语义匹配最合适的插件,给出匹配理由和安装命令。
Compatibility
Tool schemas are validated against the @deepseek-ai/dsh-tools value-schema DSL at plugin load (checked against dsh-tools 0.1.0-rc.6 and 0.1.1-rc.2). Earlier releases used JSON-Schema required at the root of output.schema and closed nested objects without declared properties, which made the host abort the whole profile boot with unsupported JSON schema: schema.required is not supported by the value schema DSL and could reject the tool's own results. Current releases fix both; if an affected version left your DSH unable to start, remove the plugin from the profile (or upgrade) — no data is lost.
为什么需要它
- 用户说的是任务("任务完成通知我"、"手机上看 DSH"、"抓取网页内容"),不是插件名。
plugin_guide用本地语义评分(英文词 + 中文子串 + 分类词典)在 84 个精选插件(覆盖 14 个分类)中匹配,零网络、零 LLM 调用、零外部依赖。- 输出即"点菜单":插件名、分类、双语描述、匹配理由、
dsh plugin add安装命令。
安装
dsh plugin --profile <profile> add dsh-need-finder # npm 发布后
# 或本地:dsh plugin --profile <profile> add <本目录>
用法(模型侧)
工具 plugin_guide:
| 参数 | 说明 |
|---|---|
need(必填) |
自然语言需求,中英文皆可,如 notify me when a task finishes、抓取网页 |
limit(可选) |
返回条数 1-10,默认 5 |
category(可选) |
分类精确过滤(notify / memory / vision / dev / ui…) |
tag(可选) |
标签子串过滤 |
diversify(可选) |
限制同分类条数(默认 false) |
perCategory(可选) |
diversify 时每分类上限(默认 2) |
结果附带 details:命中字段与权重的透明明细(name +3 / tags +2 / description +1 / category +2),模型可以解释"为什么推荐它"。
示例需求与命中分类:
| 需求 | 命中分类 |
|---|---|
| "任务完成时通知我" / "notify when done" | notify |
| "记不住上下文,换个会话就忘了" | memory |
| "在手机上远程看 DSH" | ui / usage |
| "抓取网页/截图给 agent 看" | vision |
| "多会话管理/状态切换" | session |
| "检查插件安全性" | dev |
插件还会注入 plugin-guide:instructions 提示词段落,教 agent 在用户描述需求而非插件名时调用本工具。
目录
内置精选目录 lib/guide-data.json:84 个真实插件,从 awesome-dsh-plugin 的 1019 个条目按分类均匀采样生成,含双语描述与标签。可按需增删(纯数据文件,改完即生效)。
设计
- 纯逻辑分离:
lib/match.js零依赖(分词/评分/排序),lib/guide-data.json纯数据,lib/index.js才是 Cordis 插件。 - 评分:名称命中 +3、标签命中 +2、描述命中 +1;中文 2-gram 子串匹配;分类词典兜底。
- 安全:无网络请求、无文件写入、无 secrets。
测试
node test/match.test.mjs
Recipes — 插件界的 dotfiles
从"装单个"到"装环境":recipe 工具内置 8 个社区配方(JSON:插件清单 + 安装顺序 + 配置说明),一键生成整套有序安装计划:
| id | 套装 |
|---|---|
notify-suite |
通知全家桶 |
security-audit |
安全审计套装 |
remote-mobile |
移动远程套装 |
dev-tools |
开发效率套装 |
memory-set |
记忆与上下文套装 |
im-bridge |
IM 桥接(三选一) |
vision-lab |
视觉实验室 |
research-stack |
浏览器研究环境 |
recipe action=list 看全部;recipe action=search need="手机远程" 按需求找配方;recipe action=apply id=notify-suite 输出按依赖顺序排列的 dsh plugin add 命令(DAG 友好,可被工作流/编排引擎消费)。配方数据在 lib/recipes.json,可自行增删。
Relationship to dsh-recipe
This plugin bundles 8 curated recipes (guide-first). If you want a dedicated recipe tool (list/search/apply/compose custom environments), install dsh-recipe separately (dsh plugin add dsh-recipe). The two complement each other.
License
MIT
Roadmap
See ROADMAP.md — next five versions (v0.3.0 – v0.7.0): match transparency & filters, directory refresh, recipe solving, combo recommendations, personalisation.
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 8262
Plugin manager tab in DSH Settings → Plugins: install from npm or git with progress, enable/disable switches effective at next startup, conflict reconciliation with undo, and one-click hand-off to a fix session.
dsh-market/dsh-market★ 5245
Browse, search and install community plugins from inside DeepSeek Harness settings, with category filters, one-click updates, enable/disable, theme switching and configuration backup.
kingOfSoySauce/dsh-skin-market★ 174
Native skin marketplace and lifecycle manager that discovers community skins, displays previews and compatibility status, and provides verified one-click or manual installation paths.
bradeGithub/DSH-Plugins-Marketplace★ 169
GitHub-topic-driven plugin & skill marketplace: a Settings page that browses the auto-collected registry (the whole dsh-plugin topic plus the skills index, CI-refreshed every 2 hours) with one-click install, type detection, install-script and host-shadow-dependency safety confirmations, env-key management, and the STANDARD.md recognition spec.
awesome-dsh-plugin/dsh-find-plugin★ 164
Find plugins without leaving the agent: search this curated registry by keyword or category, with ready-to-run install commands.
Sanqi-normal/dsh-webui-market-plugin★ 105
In-harness plugin market for the dsh web GUI: browse the awesome-dsh-plugin.com catalog and install/uninstall plugins into a profile from Settings → Plugins → Plugin Market.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.