DSH 插件查找(SkillHub DeepSeek Harness Plugins Finder)
用途
SkillHub 插件广场收录约 14249 个 DeepSeek Harness(dsh)插件, 用户往往只有一句自然语言需求
(如"找个能联网搜索的插件")。本技能把需求翻译成检索词, 在本地全量索引中打分排序, 输出
最相关的插件清单(含 Stars、分类、简介、详情页链接), 并按需拉取单个插件的 README / 安装计划。
数据与脚本
| 文件 | 作用 |
|---|---|
scripts/refresh_index.py |
全量拉取广场数据建本地索引(143 页, 约 1-3 分钟), 写入 data/plugins_index.json; 自动重试 3 次 + 每 20 页断点续传 |
scripts/find_plugins.py |
本地索引检索: 多关键词加权 + 中文同义词扩展 + IDF 泛词抑制 + 高级筛选 |
scripts/plugin_detail.py |
单个插件详情 / README / 安装计划(在线按需拉取, 自动重试, 404 明确报错) |
references/api.md |
SkillHub API 契约(列表/分类/详情/readme/install-plan) |
references/synonyms.md |
中文需求词 → 英文检索词映射表(顶部有目录) |
references/faq.md |
常见问题与新手易犯的错误(遇到异常先查这里) |
运行环境: Python 3.8+, 纯标准库, 无第三方依赖。
工作流
1. 解析需求
从用户原话中提取:
- 意图关键词: 2-6 个, 中英文均可(如"联网搜索""记忆""美化界面")。
- 约束: 分类(7 个: 趣味换装/联网工具/记忆/工作流/模型推理/客户端/安全管理)、
是否只要已验证(verified)插件、数量要求。
- 用户直接给出 owner/name 坐标时, 跳过检索, 直接走第 5 步。
2. 确保索引可用
python scripts/find_plugins.py --list-categories # 索引不存在会报错
- 索引不存在(首次使用): 运行
python scripts/refresh_index.py建索引。 - 索引超过 7 天: 先用现有索引检索并提示用户可刷新; 仅在用户要求最新数据或检索结果明显
异常时才刷新(刷新需 1-3 分钟, 143 次请求)。
3. 检索
python scripts/find_plugins.py 联网 搜索 # 多关键词(宽松或关系)
python scripts/find_plugins.py 美化 界面 --category client # 限定分类
python scripts/find_plugins.py 记忆 --min-stars 500 # 只看热门(Stars>=500)
python scripts/find_plugins.py 联网 免费 --all # 严格模式: 每个词都命中
python scripts/find_plugins.py memory --topic memory --updated-within 30 --sort updated
python scripts/find_plugins.py dsh --owner ebony --name-only # 只搜名称/作者
python scripts/find_plugins.py 模型 推理 --limit 20 --json # JSON 输出(纯 JSON, 提示走 stderr)
高级筛选可自由组合: --min-stars N / --owner X / --topic T(可多次) /
--name-only / --updated-within 天数 / --all。
- 中文词自动做同义词扩展(脚本内置, 无需手工查表); 英文词直接命中 topics/description。
- 排序默认综合分(名称>topics>简介加权, 同分看 Stars);
--sort stars|updated可切换。 - 输出含: 排名、fullName、分类、Stars、Forks、得分、简介、详情页地址。
检索结果示例(帮助理解输出格式):
查询: 联网 搜索 (候选池 14249 个, 命中 3570 个, 索引更新于 2026-10-20T16:34:27+08:00)
----------------------------------------------------------------------------------------------------
1. liustack/modsearch 联网工具 ★770 🍴28 [101分]
🥇 The strongest free web search plugin for DeepSeek Harness, ...
2. qikairo7/dsh-web-search-fetch 联网工具 ★1 🍴0 [99分]
DSH 多源搜索与网页正文整理插件: ...
----------------------------------------------------------------------------------------------------
详情页: https://skillhub.cn/plugins/<owner>/<name> | 安装: python scripts/plugin_detail.py <owner>/<name> --install-plan
使用技巧
- 关键词给 2-4 个最有效: 太少命中过宽, 太多容易空手(
--all时尤甚)。 - 先宽后窄: 先不限分类看全貌, 结果杂再
--category/--min-stars收紧。 - 找"特定条件"插件(如免费+联网、最近活跃)用组合:
联网 免费 --all、
--updated-within 30 --sort updated。 - 给下游程序消费时用
--json(纯 JSON); 给人看用默认表格。 - 结果为空时按 stderr 提示逐条放宽, 别盲目重跑同一命令。
- 遇到任何反直觉行为, 先查
references/faq.md再排查。
4. 结果不理想时按序尝试
- 换关键词: 查阅
references/synonyms.md用英文近义词(如"爬虫"→ scraper/crawl)。 - 去掉
--category等收紧条件扩大范围, 或换一个分类重试。 - 服务端关键词搜索兜底(接口细节见
references/api.md):
bash
curl -s "https://api.skillhub.cn/api/v1/plugins?q=URL编码关键词&page=1&page_size=10&scope=verified"
- 仍无收获: 如实告知"广场里没有匹配的插件", 可建议用户去广场手动浏览或等索引刷新。
- 报错/异常(索引损坏、网络失败、404 等): 先查
references/faq.md, 按症状处理;
脚本已内置自动重试与断点续传, 不要绕过脚本手写网络请求。
5. 展示与深挖
- 向用户展示 Top 结果表格, 附详情页链接
https://skillhub.cn/plugins/{owner}/{name}。 - 用户点名某个插件后, 拉取详情:
bash
python scripts/plugin_detail.py owner/name --readme --install-plan
- 安装动作由 DeepSeek Harness 客户端执行(
dsh plugin --profile web add github:owner/name#commit)。
把 install-plan 的命令与步骤转告用户, 不要代替用户声称已安装; 用户要求本机代装时,
先完整呈示计划(仓库、精确 commit、生命周期脚本、权限)再执行。
边界与纪律
- 只读: 本技能只做检索与信息呈示; 不写任何文件到广场, 不批量抓取 README。
- 限速: refresh_index.py 已内置 0.15s/页限速; 不得为调试反复全量刷新。
- 信息保真: Stars/Forks/简介以索引或接口返回为准, 不得编造; 索引数据标注更新时间。
- verified 优先: 默认只返回
installability=verified且未封禁的插件(与广场默认一致)。 - 插件质量参差(广场含 jailbreak 类灰色插件), 推荐时如实转述其描述, 风险类插件明确提示。
维护
- 每周或用户要求时运行
refresh_index.py保持索引新鲜。 - 新需求词高频出现时, 将其补入
scripts/find_plugins.py的SYNONYMS字典与
references/synonyms.md(两处保持同步)。 - SkillHub 若改版(接口 404/字段缺失), 按
references/api.md的记录重新从前端 bundle 抓取契约。