DeepSeek Harness plugin

dsh-aigc-radar

Search AIGC Radar's curated GitHub AI project library (500-star admission, bilingual zh/en tags, star-growth snapshots) over its MCP endpoint with native result cards; an agent/pre-step listener proactively suggests a reuse check before the agent writes code.

Jump to install

Source facts

Repository
Kaixxrua/dsh-aigc-radar
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
2

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/Kaixxrua/dsh-aigc-radar
GitHub: https://github.com/Kaixxrua/dsh-aigc-radar
Plugin: dsh-aigc-radar
Author: Kaixxrua
Install command: dsh plugin --profile web add github:Kaixxrua/dsh-aigc-radar

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-aigc-radar

English | [简体中文](README.zh-CN.md)

AIGC Radar project search for DeepSeek Harness (dsh).

Stop rebuilding what already exists. While you plan and implement, the agent proactively checks the curated AIGC Radar library for mature, battle-tested projects that already solve your problem — before you write a line of code. Results render as native search cards in the dsh Web UI — not raw markdown — and survive session replay.

![search_ai_projects rendering as a native search card in the dsh Web UI](docs/search-card.png)

What you get

ToolWhat it does
search_ai_projectsSearches the curated AIGC Radar library: GitHub projects above a 500-star floor, enriched with categories, bilingual (zh/en) tags and descriptions, and daily star-growth metrics
get_project_categoriesLists the category taxonomy (categories + subcategory counts) for filter discovery

Two routing layers make discovery automatic rather than opt-in:

  • Explicit discovery — ask "找个能做 deep research 的开源框架" and the agent comes back with starred, categorized results, no "use the tool" needed
  • Proactive reuse check — before the agent implements a major module or subsystem (auth, payments, workflow engines, search/indexing, protocol implementations, end-to-end RAG/Agent pipelines…), it runs one library check on its own initiative, so mature alternatives surface before anyone rebuilds them. Narrow work (bug fixes, renames, styling, CRUD) is deliberately excluded

Why a native plugin instead of the MCP server?

AIGC Radar also ships as an MCP server — and this plugin now rides that same MCP endpoint (POST /api/mcp), so every call counts against the same rate limits and quotas. What the plugin adds on top:

  • Native web search cards — structured sources render as cards in the Web UI and are rebuilt faithfully on session replay (presentationMeta), which the MCP transport cannot express
  • Typed canonical output — the result is one validated JSON value, so Code Mode can compose it programmatically (await tools.search_ai_projects({ q: 'mcp' })) with full type inference
  • First-party prompt routing — the discovery-routing guidance lives in system-prompt assembly, not in MCP instructions that clients may truncate

Measured performance

The search tool is a single HTTPS call to the AIGC Radar public edge — the numbers below measure that full path, taken 2026-08-18 from a China home-broadband connection (GeoDNS → CN edge) with [scripts/benchmark-search.sh](scripts/benchmark-search.sh) (10 representative zh/en queries × 3 trials against https://aigcnews.cn/api/mcp):

MetricValue
Search latency p50355 ms
Search latency p95810 ms
Curated projects served18,426 — every one above the 500-star admission bar
Taxonomy11 top-level categories, bilingual zh/en tags and descriptions

Index-quality benchmarks measured on the MCP interface — 3.5× faster than WebSearch end-to-end (7.4 s vs 25.8 s median) and 98.3% first-tool routing accuracy (59/60 trials) — live in the main repo's benchmark section; this plugin serves the same dataset over the same API, so those numbers carry over.

Install

Requires dsh (npx @deepseek-ai/dsh web).

Recommended — install the prebuilt package from npm:

dsh plugin --profile web add dsh-aigc-radar

For a reproducible install, pin the published release:

dsh plugin --profile web add dsh-aigc-radar@0.2.0

Source fallback — install from GitHub:

dsh plugin --profile web add github:Kaixxrua/dsh-aigc-radar

Git installs run the package's prepare build, which pnpm ≥10 refuses until you allow it: copy the package key pnpm prints into the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-aigc-radar: true

Then re-run the GitHub add. Pin a commit (github:Kaixxrua/dsh-aigc-radar#<sha>) if you want the source install to be immutable.

Verify without booting:

dsh --profile web --dump-config   # shows a "# == dsh-aigc-radar" layer

Recommended: register on the origin site and grab a free token. The plugin works anonymously out of the box, but anonymous calls share a 100-calls/day per-IP bucket. A free account at aigcnews.cn gets you a per-account monthly quota instead — create an MCP token on the /mcp page (no special scopes needed for search) and paste it as mcpToken in the config below. See [Quotas and the MCP token](#quotas-and-the-mcp-token).

Configure

Defaults point at the public deployment. Override the row from your profile's cordis.patch.yml (a patch replaces the row's whole config):

- replace:
    - id: aigc-radar
      name: dsh-aigc-radar
      config:
        apiBase: 'https://aigcnews.cn'   # or your self-hosted AIGC_NEWS origin
        mcpToken: ''                     # MCP token from {apiBase}/mcp; empty = anonymous
        timeoutMs: 20000
        maxPageSize: 10                  # capped at 20 by the MCP contract

Quotas and the MCP token

Every call lands in the MCP endpoint's quota domain — anonymous callers are bucketed per IP, token callers per account:

CallerQuotaWindow
Anonymous (no mcpToken)100 tool callsper day, per IP
Free account token2,000 tool callsrolling 30 days
Member token20,000 tool callsrolling 30 days

To move out of the anonymous bucket, create a token at aigcnews.cn/mcp (no special scopes needed for search) and set it as mcpToken. The token lives in your dsh profile config in plaintext, same as your LLM keys. When a quota is exhausted the tool returns an actionable error — which bucket, the limit, and how long to wait or where to upgrade — so the agent can relay it instead of failing silently.

Develop

pnpm install
pnpm build        # tsdown → dist/
pnpm typecheck    # tsc --noEmit
pnpm test         # node --test (client unit tests against the built bundle)
pnpm smoke        # hits the live MCP endpoint through the built client

Load from a dsh source checkout without installing:

pnpm dsh --profile web --patch /path/to/dsh-aigc-radar/cordis.dev.yml

where cordis.dev.yml inserts the row by absolute path:

- insert:
    - id: aigc-radar
      name: /absolute/path/to/dsh-aigc-radar/dist/index.mjs

Data and attribution

Data provided by AIGC Radar — your dsh instance calls the same MCP endpoint that backs the AIGC Radar MCP server, with the same quotas and rate limits. The curated library only covers GitHub projects with 500+ stars; general non-AI GitHub search with direct-GitHub fallback remains an MCP-server capability by design.

License

[MIT](LICENSE)