awesome-dsh
Auto-updating catalog of the dsh-plugin topic, plus an on-demand agent skill that finds and installs DeepSeek Harness plugins for a stated need.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:stakeswky/awesome-dsh说明文档
阅读完整 README ↗awesome-dsh
按种类和功能浏览 GitHub topic dsh-plugin 下的全部插件,英文简介由 Workers AI 自动译成中文。
线上地址:
本仓库同时是一个可安装的 DSH 插件:dsh plugin --profile add github:stakeswky/awesome-dsh 会把按需查插件的技能注册进 DSH。
架构
单个 Cloudflare Worker 承载整站。两条 cron 分工,数据与页面分离,更新数据不需要重新部署。
┌─ cron 17 */6 * * * 抓取 ─────────────────────────┐
│ GitHub Search API ──▶ 按 star 分区取全量 │
│ ▼ │
│ KV plugins:latest ◀────────┐ │
└───────────────────────────────────────────────┼───┘
┌─ cron */5 * * * * 翻译 ─────────────────────┼───┐
│ Workers AI ──▶ 每轮译 60 条 ──▶ KV 翻译缓存 ─┘ │
└───────────────────────────────────────────────────┘
│
浏览器 ◀─ /api/plugins.json ◀─ fetch()
浏览器 ◀─ index.html(静态资源直出)
取全量:按 star 分区
GitHub 搜索对单个查询最多只返回 1000 条,而该 topic 已有 2600+ 仓库。抓取时把 star 区间切成若干片分别查询,某片命中数超过 1000 就继续二分;单一 star 值(如 stars:0)仍超限时改按仓库创建时间二分。任何分布都能取全,且随生态增长自动适应。
抓取全程约 3.5 分钟:匿名调用 GitHub 搜索限额为每分钟 10 次,代码按 6.5 秒一次节流;配了 GITHUB_TOKEN 后限额升到 30 次/分钟,间隔自动降到 2.1 秒。
翻译:增量填充 + 永久缓存
- 简介里中日韩字符达到 6 个即视为已是中文,跳过翻译。
- 译文按
full_name+ 原文指纹缓存在 KV,原文没变就永不重译;抓到新快照时自动回填。 - 每 5 分钟译 60 条,首次填满 1400 余条约需 2 小时,之后只翻新增的。
- 模型
@cf/meta/llama-3.3-70b-instruct-fp8-fast(对比过 m2m100、llama-3.2-3b:m2m100 把 “AI agent” 译成 “AI特工”,3b 会脑补原文没有的内容)。 - 单条翻译失败只跳过该条,留待下一轮重试,不影响其余。
抓取失败的保护
抓取或校验失败时保留上一份快照,只把错误记到 KV,页面不会变空。新结果少于 100 条、或少于上一份的一半时同样拒绝发布。
端点
| 端点 | 说明 |
|---|---|
GET / | 导航页面 |
GET /api/search | 按相关度检索,只回少量精简结果;参数 q、kind、可重复的 fn、limit(默认 8,上限 25) |
GET /api/facets.json | 可用的种类与功能标签及各自数量 |
GET /api/plugins.json | 完整快照(约 1.1 MB,gzip 后约 290 KB);带 ETag,命中条件请求返回 304 |
GET /api/status.json | 抓取与翻译进度,以及未恢复的错误 |
POST /api/refresh | 手动触发抓取,需 Authorization: Bearer |