last30days-skill-cn
Jesseovo
last30days-cn 是一个 AI Agent 技能(Skill),能够自动搜索中国互联网 8 大主流平台最近 30 天的内容,综合分析后生成有据可查的研究报告。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:hi-fangj/dsh-models-radar
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Crowd-benchmarked capability scores from deng.codexradar.com, inside the DeepSeek Harness: overview, trend, and cost on one screen.
中文文档 · Usage · Data & Privacy · Troubleshooting
A model capability radar plugin for the DeepSeek Harness Web GUI. It reads public benchmark data from deng.codexradar.com, adds a Model Radar page to Settings, and shows the selected session model's live DeepSWE score in the composer tool row, left of the model selector.
Settings · capability overview — best-effort-per-base ranking with per-row Harness attribution (Codex / Claude Code / DSH / ZCode / Grok / Kimi Code / Antigravity / CodeBuddy); click any row to switch the charts below to that tier.

Capability popover — opened from the composer readout: cross-base comparison plus the current tier's details, with a live "current" mark following the session model.

model · effort · harness; unmatchable bases get no badge — never a guess.0–110 absolute-scale magnitude bar and a 24h trend signal per row; expand a row for the base's full reasoning-effort ladder.model@reasoningEffort matching through DSH's official per-session model directory, updating immediately on model switches; click it to open the capability popover for cross-base comparison.settings.section slotsettings.plugin.item (the live-readout display switch, persisted in Host settings)0–110 IQ scale with consistent capability-band semantics across channelsdeep-swe: code-repair tasks, binary-majority scoringpompeii-adjacency: visual reconstruction tasks, continuous Adjacency F1dsh-super-injector for runtime or persistent local installationThe simplest installation fetches the repository directly into the web profile:
dsh plugin --profile web add github:hi-fangj/dsh-models-radar
The equivalent full Git URL:
dsh plugin --profile web add git+https://github.com/hi-fangj/dsh-models-radar.git
The repository includes the built Host and browser bundles required by DSH, so direct Git installation does not run dependency lifecycle scripts and does not require a pnpm build allowlist. Refresh http://127.0.0.1:3080 after installation; restart DSH once if the running process does not hot-load the new package.
To remove the Git-installed package:
dsh plugin --profile web remove dsh-models-radar
To develop or modify the plugin, clone and build manually:
git clone https://github.com/hi-fangj/dsh-models-radar.git
cd dsh-models-radar
npm ci
npm run build
Build artifacts:
lib/index.js: Host ESM bundlelib/client.js: browser CJS bundle with the DSH ModuleLoader handshakeAfter building, add the local package to the web profile:
dsh plugin --profile web add /absolute/path/to/dsh-models-radar
dsh plugin delegates dependency installation to the named profile, so the package lands in ~/.dsh/profiles/web. The repository ships build artifacts for Git-based installs; after changing local sources, run npm run build before adding or reloading the local clone.
Refresh http://127.0.0.1:3080 after installation. If the running DSH process does not hot-load the new package, restart DSH once and refresh again.
To remove a CLI-installed dependency:
dsh plugin --profile web remove dsh-models-radar
Restart DSH afterwards so the profile reassembles without the plugin.
Runtime injection suits quick trials. Ask the Agent in a DSH session to call:
dev_inject_plugin({
"dir": "/absolute/path/to/dsh-models-radar"
})
Then refresh http://127.0.0.1:3080 once. Injection lasts until the DSH process restarts or the plugin is unloaded explicitly.
To write the dependency and bundle list into the web profile, ask the Agent to call:
dev_install_package({
"dir": "/absolute/path/to/dsh-models-radar",
"profile": "web"
})
Refresh the Web GUI afterwards. DSH re-assembles the plugin from the profile on restart.
DeepSWE or Pompeii channel at the top.Every page activation refreshes within the freshness windows: cached data costs no upstream requests and only expired datasets are refetched. Clicking any overview row switches the tier used by the efficiency badges, trend, and task diagnostics below.
Each base model shows its currently strongest tier by default; expanding a row reveals the full reasoning-effort ladder. The IQ progress bar uses a fixed 0–110 absolute scale:
| IQ | Capability band |
|---|---|
< 70 |
Developing |
70–84.9 |
General |
85–94.9 |
Steady |
95–99.9 |
Excellent |
≥ 100 |
Leader |
The last-24h and last-7d tabs are time-sliced views of the same hourly series, each with its own y-axis scaling and full stats (net change, low, average, high). The curve is colored by capability band with a matching translucent area fill; endpoint and hover markers use the band color.
Three tabs (composite / time / price) plot every tier on a log cost axis × linear IQ axis: color = base model (site palette), shape = reasoning effort (off=× · low=○ · medium=△ · high=□ · xhigh=◇ · max=⬡ · ultra=★), same-base tiers joined by ladder lines in effort order. Upper-left = more efficient. The model chip row multi-selects, synced across the active tab; the codex-run DSV4 bases are hidden by default, matching the site.
DeepSWE uses the upstream's real majority-vote verdicts; Pompeii keeps continuous F1 semantics. Filtering, counting, and sorting all happen locally in the browser — switching filters adds no API requests.
Task titles and language badges come from the site's task catalog (the /table endpoint, 60-minute window, proxied through the Host which keeps only the tasks array): a title with a source repo is an outbound link (GitHub for DeepSWE, dataset page for Pompeii), and the badge follows the site's vocabulary — Py/JS/TS/Go/Rust, unknown languages shown verbatim. A failed catalog fetch only drops the badges and links; the channel view is unaffected.
Click the readout in the composer tool row (left of the model selector) to open the popover: a full base overview (for comparison) on top and the viewed tier's details below (efficiency badges, dual-window trend, task composition). The viewed tier follows the session model by default; clicking an overview row or using the trend card's tier selector views another tier temporarily until the session model changes or the popover closes.
The compact capsule reads the model selected for the session's next request, not a guess from the last completed reply. Display:
SWE IQ 90.2
Match order:
model@reasoningEffort match≈Switching models in the composer updates the capsule immediately. The readout polls the host every 15 minutes (the shortest freshness window) — one local request per tick and at most one upstream fetch per channel per window; on failure the last successful value is kept.
Prefer no capsule by the composer? The「Show live capability readout」switch on the Model Radar card under Settings → Plugins → Configurable plugins hides it entirely; while hidden the capsule renders nothing and stops background polling. The preference persists in Host settings (shared across browsers, immune to clearing browser storage; a legacy localStorage choice is migrated once on upgrade).
cd /absolute/path/to/dsh-models-radar
git pull
npm ci
npm run build
For runtime-injected plugins, ask the Agent to hot-reload:
dev_reload_package({
"packageName": "dsh-models-radar"
})
Refresh the page if the client dependency graph changed.
Unload a runtime-injected plugin:
dev_uninject_plugin({
"match": "dsh-models-radar"
})
For persistently installed plugins, remove dsh-models-radar through the profile / plugin manager, then restart DSH. Snapshot history stays in ~/.dsh/plugin-data/dsh-models-radar/; delete that directory separately only if you no longer want the history.
The plugin reads public, unauthenticated endpoints of https://api.codexradar.com/api/v1:
/benchmarks/intelligence-efficiency/iq-history/leaderboardThe browser never calls the upstream API directly. Because api.codexradar.com allowlists browser origins, the host half proxies requests through the same-origin route /model-radar/api/data. See ADR-0001 for the rationale.
This plugin:
Snapshot directory:
~/.dsh/plugin-data/dsh-models-radar/
├── latest-deep-swe.json
├── latest-pompeii-adjacency.json
└── iq-timeline.jsonl
Browser
├── settings.section → Model Radar page
├── settings.plugin.item → plugin-configuration card (live-readout display switch)
├── conversation.composer.dock → session capability capsule + popover
├── GET /model-radar/api/data
└── GET/POST /model-radar/api/pref
│
▼
Host plugin
├── per-dataset freshness windows (efficiency/tasks 15 min, channels/trend 60 min)
├── single-flight upstream requests + channel-global benchmarks cache
├── normalization into RadarView
├── settings namespace dsh-models-radar (live-readout preference, persisted in Host settings)
└── local snapshot persistence (served within its window across restarts)
The capability capsule subscribes to DSH's official modelDirectories per-session store, so model switches propagate without polling.
npm ci
npm run build
GitHub Actions runs a build check on every push/PR; pushing a v* tag automatically builds, packs, and publishes a GitHub Release with the tgz attached. The release flow:
# after bumping the version in package.json and committing:
git tag v0.1.x
git push origin main --tags
Common DSH development operations:
dev_inject_plugin({ "dir": "/absolute/path/to/dsh-models-radar" })
dev_reload_package({ "packageName": "dsh-models-radar" })
dev_uninject_plugin({ "match": "dsh-models-radar" })
Main sources:
src/index.ts: host proxy, refresh throttling, snapshotssrc/client/RadarSection.tsx: settings-page state and compositionsrc/client/Overview.tsx: capability overviewsrc/client/charts.tsx: trend charts and task diagnosticssrc/client/costScatter.tsx: cost × IQ comparison scattersrc/client/harness.ts: harness attribution and tier-selector labelssrc/client/LiveCapability.tsx: composer readout and popoversrc/client/ScrollFrame.tsx: scrollbar for overflowing listssrc/client/scoreMetrics.ts: IQ bands and trend semanticsCONTEXT.md: the project's domain vocabulary| Doc | Contents |
|---|---|
| ADR-0001 | Why the browser never hits upstream directly (host proxy) |
| ADR-0002 | Per-dataset freshness-window refresh throttling |
| CONTEXT.md | Domain glossary (model tier, harness, trend, …) |
npm run build produced lib/client.js.dev_plugin_status to confirm the plugin is active.≈; a fully unknown base is hidden by design.With snapshot history present, the settings page shows the last successful data. Check network reachability of api.codexradar.com; the API needs no credentials.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: model-benchmark。