← Back to home@863683348

dsh-need-finder

Requirement-driven dsh plugin discovery (点菜, not 逛超市): plugin_guide tool matches natural-language needs to a curated plugin directory with reasons and install commands

Stars
1
Language
JavaScript
Created
Aug 17, 2026
Updated
Sep 11, 2026

Introduction

dsh-need-finder — 需求型插件导购 (Requirement-driven plugin guide)

"点菜,不是逛超市。" 现有 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-bridgeIM 桥接(三选一)
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.