deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
A plugin that finds plugins — think /find-skills from skills.sh, for DSH.
Tell your agent what you want ("notify me on WeChat when a task finishes"), and it searches the DSH plugin ecosystem on GitHub for you — top results by stars, each with a one-line description and an install command.
# from npm (prebuilt, recommended)
dsh plugin --profile web add dsh-find-plugin
# or from GitHub
dsh plugin --profile web add github:awesome-dsh-plugin/dsh-find-plugin
Restart dsh web after installing, then just talk to the agent — it calls
find_dsh_plugin on its own whenever plugin discovery helps:
Each result comes back with stars, a description, the repo link, and a
ready-to-run dsh plugin add command — ask the agent to install one and
it can run the command for you.
dsh-plugin topic,
re-ranked by stars (5-minute per-query cache).plugins.json replaces the GitHub one (the
lang parameter picks the language) — ranking is untouched.dsh plugin add command. Plugins
are third-party code — review the source and pin a commit.GitHub's search API allows only 10 requests/minute per public IP when
unauthenticated, and that quota is shared by every host behind the same egress
IP (carrier CGNAT, corporate NAT, …), so a search can fail with HTTP 403 for
reasons outside your control. The plugin therefore:
GITHUB_TOKEN DSH credential when one is configured (30
req/min, account-scoped, immune to shared-IP exhaustion). Optional — without
it the tool still works, just closer to the anonymous limit;$DSH_HOME/cache/dsh-find-plugin/) and
revalidates it with If-None-Match / If-Modified-Since, so restarts and
offline runs use the full ~3400-entry list instead of the small bundled
snapshot.fetch failed and hides the useful part in cause, so the plugin surfaces
the chain (fetch failed ← certificate has expired (CERT_HAS_EXPIRED)) and
names the one trap that otherwise looks like a plugin bug: a system proxy or
VPN accelerator, which Node's fetch ignores unless DSH itself was started
with NODE_USE_ENV_PROXY=1 (or --use-env-proxy). A browser has no such
rule — which is why GitHub opens fine and this still fails.DSH plugin APIs are prerelease-versioned, and node-semver only lets a
prerelease satisfy a range that carries a prerelease on the same
major.minor.patch — so a peer range pinned to one host line silently stops
matching the next one. The declared @deepseek-ai/dsh-tools range therefore
names every shipped line through 0.1.7, and npm run check:peers (run in CI)
resolves the current latest/next host lines from the registry and fails the
day a new one is not covered.
npm run typecheck # tsc --noEmit
npm test # offline tests (mocked fetch)
FINDP_LIVE=1 npm run test:live # opt-in real-network cases
MIT © awesome-dsh-plugin
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。