前言¶
在 DeepSeek Harness (DSH) 的开发实践中,智能体经常面临需要调用特定技能或专家时,却不知道本地或市场上有哪些可用项的情况。传统的做法需要手动浏览目录或编写复杂的查询逻辑。dsh-skill-matcher 是一个用于解决这一痛点的 Cordis 插件,它通过扫描本地环境与联网的开源目录,为 DSH 提供一个统一的技能与专家匹配层。
插件介绍¶
该插件由 axel286137079-dot 维护,遵循 MIT 协议。它本质上是一个 Skill & Expert Matcher,功能与 SKILL.md 版本一致,但封装为 DSH 插件形态。核心作用是在用户询问“该用哪个技能/专家”时,提供自动化的推荐与匹配服务。
核心功能¶
插件提供了三个主要工具函数和一套自动注入机制:
-
skill_matcher_scan
扫描本机技能与专家(支持多环境),同时联网获取开源目录数据。它会将这些数据合并构建索引,并缓存至本地。 -
skill_matcher_match(query, topN?, includeExperts?)
根据用户需求(query)进行匹配,返回 Top-N 推荐结果。结果包含匹配度、命中的关键词以及具体的安装方式。 -
skill_matcher_list(scope?)
用于浏览本机已安装、市场或开源目录中的技能与专家列表。
自动注入与引擎¶
插件会在 system prompt 中注入一段引导文本。当用户的问题涉及技能选择时,系统会优先调用 skill_matcher_match。
核心引擎位于 lib/engine.js,这是对 Python 脚本 bin/sync_index.py 的 JS 移植。其处理流程包括:
* 环境探测
* 解析 SKILL.md 的 frontmatter 或 plugin.json
* 拉取远程开源数据
* 优先级合并
* 关键词召回
内置了 13 条开源种子数据,在无网络环境下亦可使用。
安装与启用¶
推荐使用项目根目录的一键安装器:
bash ../install.sh --dsh-only
或者手动添加(需使用绝对路径):
dsh plugin --profile web add file:<本项目绝对路径>/plugin
安装完成后,需要重启 DSH Web 服务以生效:
launchctl kickstart -k gui/$(id -u)/com.deepseek.harness.web
典型用法¶
- 查看列表:调用
skill_matcher_list浏览本地或市场资源。 - 匹配技能:调用
skill_matcher_match并传入具体需求,获取推荐及安装命令。 - 缓存机制:索引数据会写入
~/.dsh/dsh-skill-matcher/cache.json,缓存有效期为 24 小时。
注意事项¶
- 安全与合规:插件仅进行本地扫描,且仅拉取 JSON 格式的目录数据,不会执行任何远程代码。
- 离线可用:得益于内置的 13 条开源种子,插件在断网环境下也能运行。
- 排序中立:推荐排序由需求匹配度决定,不掺杂其他因素。
- 安装故障处理:如果
dsh plugin add因 profile 的 pnpm 供应链策略(如 minimumReleaseAge 过期)失败,建议改用根目录的install.sh脚本,它会直接写入 profile 的 package.json 并自动备份。
结尾¶
dsh-skill-matcher 为 DSH 提供了标准化的技能发现与匹配能力。其纯本地、无远程代码执行的特性,使其适合在注重安全与离线运行的环境中使用。更多细节可参考:GitHub。