DeepSeek Harness Hub
← 返回列表

ryasrk/dsh-awesome-skills

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

description: "对 6,097 个技能的本地语料库skills.sh 前 100 名 +…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/3 · 已提供中文文档

代理的插件技能

综合分
29.2
GitHub 分
29.2
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ryasrk/dsh-awesome-skills
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

description: "对 6,097 个技能的本地语料库(skills.sh 前 100 名 + a5c-ai/babysitter 库)进行语义向量搜索,以 DeepSeek Harness 捆绑包形式安装"
kind: "package-reference"

dsh-awesome-skills

一个 DeepSeek Harness 捆绑包,让智能体能够对精选的本地技能语料库进行语义访问——包括 skills.sh 前 100 名(83 个 GitHub 托管的技能)以及完整的 a5c-ai/babysitter 库(约 2,100 个技能)——总计 6,097 个技能——而无需将该语料库放入每轮对话的模型目录中。

为什么

DeepSeek Harness 发现的技能目录会成为一个目录条目,而每个目录条目都会在每一轮对话中注入到模型的上下文中。一个庞大的语料库放在那里,意味着每一轮都要付出非常高昂的 token 成本,而这些东西在某一轮对话中几乎从不需要。

这个插件颠覆了这一点。语料库留在目录之外;取而代之的是安装一个很小的 skill-router 技能,它教会智能体按需搜索语料库。

语料库

语料库按来源组织,每个 owner/repo 一个目录,每个技能目录都包含其完整内容——SKILL.md 以及它指向的每一个引用文件(示例、模板、脚本):

skills/
├── a5c-ai/babysitter/            # ~2,100 个技能(specializations + methodologies,含 domains 树)
├── mattpocock/skills/            # 17 个技能(tdd、grilling、code-review、...)
├── microsoft/azure-skills/       # 20 个技能(含 microsoft-foundry:191 个文件)
├── anthropics/skills/frontend-design/
├── vercel-labs/agent-skills/     # vercel-react-best-practices(62 条规则)
├── obra/superpowers/             # brainstorming、systematic-debugging、...
└── ...                           # 157 个 owner/repo 分组,6,097 个技能,17,600+ 个文件

skills.sh 排行榜上仅存在于网站的 17 个条目(open.feishu.cn 的 lark 套件及类似条目,它们没有公开仓库)被排除在外——没有可获取的内容。

| 路径 | 内容 |
|---|---|
| lib/ | 编译后的插件宿主 + 搜索服务 + query.js CLI |
| skills/skills.json | 语料库索引:每个技能的名称、路径、描述 |
| skills/vectors.f32 | 384 维 L2 归一化嵌入向量,每个技能一行 |
| model/ | all-MiniLM-L6-v2,量化 ONNX + 分词器 |

索引是预构建并已提交的。技能正文位于规范语料库目录(~/.dsh/awesome-skills/skills)中,由包引用——而非复制:搜索结果返回指向该目录的路径,因此磁盘上语料库只有一份副本。

安装

dsh plugin --profile web add github:ryasrk/dsh-awesome-skills

该插件以 cordis 捆绑包形式挂载(参见 cordis.patch.yml),并在 apply 时将捆绑的 skill-router 技能安装到 ~/.agents/skills/skill-router。捆绑的 skill-router 会在每次 apply 时刷新——随附的副本是其行为的唯一事实来源。

面向模型的工具

在暴露 tools 服务的主机上,该插件注册两个工具,它们
在进程内以宿主权限运行——这是通往语料库的标准权限模式路径,因为该 agent 不需要 Bash 或工作区外的 Read:

- skills_search(query, k?) —— 经过校准的混合搜索;设置旋钮(prio/blacklist/whitelist)适用。
- skills_read(path, file?) —— 从某个命中目录中读取一个文件,受限于语料库根目录(禁止遍历),仅限文本扩展名,上限 64 KiB。

skill-router 技能教授工具优先的流程,并保留 node lib/query.js CLI(stdin 输入 JSON → stdout 输出 JSON)作为与 shell 无关的单段回退方案,供没有工具服务的宿主使用——它读取 stdin 并写入 stdout,因此在任何 shell(bash、PowerShell、cmd)上都不需要 bash 特有的语法。

排序

三条通道融合,然后在候选池上重新排序:

score = (1 - WEIGHT) * semantic + WEIGHT * lexical + GRAM_WEIGHT * char-3-gram

- 语义 —— MiniLM 余弦相似度,对所有行进行暴力计算。精确;无量化漂移。
- 词法 —— IDF 加权的 token 重叠度。
- 字符 3-gram —— 与文字系统无关,因此 CJK/西里尔字母查询和技术标识符仍能区分。

WEIGHT 0.55,GRAM_WEIGHT 0.5,池大小 1200。在随附语料库上用 150 条标签的规范集重新检验:R@1 80%,R@3 93%。

速度

在随附的 6,097 个技能语料库上测量(暴力计算仍会对每一行评分;每进程的模型加载占主导):

| 路径 | 延迟 |
|---|---|
| 冷启动(模型加载) | ~0.7s |
| 热启动(查询缓存命中) | ~0.6s |

派生缓存(每个技能的字符 gram、查询嵌入)位于语料库旁边,并以语料库指纹为键,因此语料库变更会自动使其失效。

服务接口

其他插件和工具可以直接使用搜索服务:

const search = ctx.get('skills-search')
const hits = await search.search('set up end-to-end browser tests', 5)
const dir = search.skillDir(hits[0].path) // e.g. .../skills/mattpocock/skills/tdd

命中的 path 是语料库根目录下的子路径(owner/repo/skill),每个消费者都拼接 corpusDir + path + /SKILL.md——优先级加载器、skill-router 模板和设置 UI 都共享这一约定。参考文件位于 SKILL.md 旁边,因此命中的目录就是完整的操作手册。

配置

所有字段均可选,通过 cordis.patch.yml 中的一行配置:

| 字段 | 默认值 | 含义 |
|---|---|---|
| corpusDir | ~/.dsh/awesome-skills/skills | 技能正文(/SKILL.md) |
| home | 操作系统主目录(os.homedir()) | 路由器技能安装所在的基础主目录(/.agents) |
| agentsHome | /.agents | 宿主读取其 skills/ 根目录的 agents 主目录;覆盖 $DSH_AGENTS_HOME |
| installSkillRouter | true | 在 apply 时安装路由器技能 |

环境变量:DSH_AWESOME_SKILLS_CORPUS(语料库)、DSH_AWESOME_SKILLS_INDEX(CLI 的索引目录)、DSH_AGENTS_HOME(agents 主目录;解析方式与宿主技能提供程序相同,因此迁移后的 agents 主目录仍能接收
路由技能)。

重建索引

索引以预构建形式随 skills/skills.json 和 skills/vectors.f32 提供;用户永远不需要重建它。在更改语料库后重建是维护者步骤,需在单独的语料库摄取工作区中完成(遍历器位于那里,而不在此包中)——它会递归读取语料库并重写 skills.json 和 vectors.f32,然后将它们复制回此仓库的 skills/。如果已部署的配置文件带有过期的索引,请将此仓库的 lib/ 和 skills/ 目录重新同步到该配置文件的已安装副本中。

技能目录是任何包含 SKILL.md 的目录;嵌套在其中的目录(作为参考材料提供的子技能)不会被单独索引。拉取源代码更改后重新生成客户端包:npx tsdown -c tsdown.client.ts,然后运行 node scripts/preflight.mjs。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(ryasrk)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群