863683348/dsh-plugin-audit ↗★ 1
dsh-audit
DeepSeek Harness 插件生态体检工具。可同步 GitHub 插件主题至本地目录,探测 npm,进行静态安全扫描,并提供健康度评分、网页排行榜及智能体工具。
AI 分析
核心用途是评估和筛选 DSH 插件。适合需要评估插件安全性、维护状态和文档完整性,从而决定是否安装该插件的开发者和系统管理员。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:863683348/dsh-plugin-audit说明文档
阅读完整 README ↗dsh-plugin-audit — 插件生态体检(Plugin Health Audit for DSH)
Turn the GitHub dsh-plugin topic into a local, scored plugin catalog for DeepSeek Harness.
Every plugin gets a 0–100 health score across four signals, a leaderboard in the web UI,
and agent tools that answer "which plugins are worth installing?".
| Signal | Weight | What it measures |
|---|---|---|
| Maintenance | 30 | last push recency + star tier + star trend (archived → 0 + 🚨 flag) |
| Docs | 25 | README presence + description depth + license |
| npm | 30 | npm package exists + publish recency |
| Ecosystem | 15 | presence in the curated awesome list + listing recency |
Grades: A 🛡️ (80+) · B ✅ (60+) · C ⚠️ (40+) · **D 🚨 (` with bounded concurrency, then upserts into a JSON catalog. Rate-limit-aware: stops early when the search budget runs low and resumes next time; failed probes keep the previous values.
- Storage:
dataDir(default$DSH_HOME/dsh-plugin-auditor~/.dsh/dsh-plugin-audit):catalog.json+meta.json+history.json(rolling star snapshots for future trend tiers). - All writes are atomic (temp + rename); corrupt files fall back to empty instead of crashing.
Install
The package declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, so it goes
through DSH's official plugin management:
# from a local checkout
dsh plugin --profile
add /path/to/dsh-audit
# or after publishing to npm
dsh plugin --profile
add dsh-audit
Restart DSH. The audit_* tools are registered host-wide; the leaderboard dock appears
in the web UI on a web profile.
First sync
Give the agent a GitHub token (search API: 30 req/min vs 10 anonymous) and ask it to
audit_sync, or configure it:
dataDir— catalog location (empty = default)githubToken— or envDSH_GITHUB_TOKEN/GITHUB_TOKENsyncIntervalHours— periodic sync (0 disables; requires schedule service)npmProbe— probe npm registry (default true)
Standalone (outside DSH, for testing / CI)
node scripts/seed.mjs # build data/catalog.json from the awesome list checkout
node scripts/sync.mjs --token # real sync, no DSH needed
node --test test/ # run tests
Development notes
- Tests are fully offline (fake
fetchinjected) —node --test test/needs no network. - Data model: one catalog record per repo (
repo,stars,pushedAt,license,archived,npm,curated,addedAt,score,flags, …). Seelib/audit.jsrepoToRecordandlib/scoring.js. - The
flagsarray is the extension contract for the security tier (v0.2).
Roadmap
- v0.3 — open data export (JSON) so other marketplaces can cite the scores
- v0.4 — appeal/comments channel per plugin
- v0.5 — batch scan scheduling (scan the top-N by stars on each sync) + transitive-dependency signals
License
MIT