dshbase

插件目录 / Developer / dsh-blind-arena

dsh-blind-arena

未验证 changer-changer

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

1Stars
0Forks
0未关闭 issue
语言
2026-08-19最近推送
跨平台平台

功能简介

A blind, fair, local DSH Web arena: same task, isolated worktrees, shared verification, judge before reveal.

我们的评价
未验证 — 尚未实测

A blind, fair, local DSH Web arena: same task, isolated worktrees, shared verification, judge before reveal. 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

DSH Arena

Blind, fair, local Agent arena inside DSH Web.

Same task. Same commit. Isolated worktrees. Shared verification. Judge before you reveal.

DSH Arena turns your DeepSeek Harness (DSH) Web into a model-vs-model fight club: pick a task, pick 2–4 contestants (any provider/model DSH supports), and let them race on the exact same repository state. Lane identities are kept secret until you decide — no label bias, no prompt leaks, no cherry-picked baselines.

Why this exists

Benchmarks lie. Leaderboards are curated. When you evaluate an agent, the simple act of knowing which model you're looking at biases everything downstream: your prompts, your patience, your verdict.

DSH Arena removes that bias structurally:

  • One repository state — every lane starts from the same commit, in its own git worktree. No drift, no stale forks.
  • Random lane assignment — participants are shuffled onto lanes A/B/C/D at creation. The host knows; the wire doesn't.
  • Identity-free protocol — the public experiment record contains no participant identity. Identities live in a server-side secrets.json and merge into the view only after you call reveal.
  • Shared verification — the same user-defined verify command runs against every lane, in the same environment.
  • Blind verdict — pick the winner from behavior alone (tests, diff, final answer, token/time cost). Then reveal and see who actually won.

Features

  • 🏟 2–4 lane races with live progress feed (tool calls, turns, tokens) per lane
  • 🔒 Anonymity contract enforced at the type level: the wire type ArenaExperiment has no identity field; redactExperiment strips everything before serve
  • Shared verification — user-defined commands, per-lane exit code / timeout / duration, visible in the race view
  • 🏁 Blind verdict → reveal flow with per-lane diffs and final answers
  • 📤 Offline export — self-contained HTML report + raw JSON + per-lane unified patch, no network
  • 🌿 Winner branch — promote the winning lane's worktree to arena/<id>/<label> (real lanes only)
  • 🎬 Zero-cost demo mode — deterministic scripted lanes (focused / verbose / broken / timeout) that exercise the entire pipeline with no API key, no spend: worktree → change → verify → diff → review → reveal
  • 🧹 Cleanup — prune stale worktrees and experiment state from the UI
  • 🖥 Full client UI injected into DSH Web: create / list / live race / review / reveal

Quick start

  1. Install the plugin into your DSH Web profile (Cordis bundle — see cordis.patch.yml):
    npm install dsh-blind-arena
    
  2. Open DSH Web → the Arena plugin row appears.
  3. Create an experiment: point at a local repo, write a task, add verify commands, pick contestants.
  4. Watch the race live. Judge blind. Reveal. Export the report.

No credentials? Run the demo mode first — it walks the full product loop with scripted lanes so you can evaluate the flow before spending a single token.

Architecture

DSH Web client (React, injected)          Host plugin (Cordis service `arena`)
┌───────────────────────────┐             ┌──────────────────────────────────────┐
│ CreateView / ListView     │  /api RPC   │ ArenaService (Typert remotes)        │
│ RaceView / ReviewView    │◄───────────►│  preflight · create · cancel ·        │
│ RevealView                │  (redacted  │  verdict · reveal · diff · export ·  │
└───────────────────────────┘   until     │  createWinnerBranch · cleanup        │
                               reveal)    │          │                           │
                                          │          ▼                           │
                                          │  ArenaEngine                         │
                                          │  preflight → worktrees → lanes →     │
                                          │  verify → diff → persisted record   │
                                          └──────────────────────────────────────┘
  • src/engine.ts — orchestration: preflight → worktrees → lanes → verification → diff → persistence; implements the anonymity contract
  • src/runner.ts — one lane's agent lifecycle on top of @deepseek-ai/dsh-agent (session, model selection, consumed-work folding)
  • src/verify.ts — shared verification runner
  • src/git.ts — worktree / diff / branch primitives
  • src/store.ts — durable store under ~/.dsh/arena/<id>/: public experiment.json + server-only secrets.json
  • src/export.ts — offline HTML report + JSON + winner branch
  • src/demo.ts — deterministic demo lanes (no API cost)
  • src/client/ — React UI injected into DSH Web

Storage: ~/.dsh/arena/. Everything is local; nothing leaves your machine except your own browser.

Requirements

  • Node ^22.19.0 || >=24.0.0
  • DSH (DeepSeek Harness) with Web client runtime
  • @deepseek-ai/dsh-agent, @deepseek-ai/dsh-llm, @deepseek-ai/dsh-session (0.1.0-rc.7)

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-blind-arena」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:changer-changer/dsh-blind-arena

Headless(CLI)profile:

dsh plugin --profile headless add github:changer-changer/dsh-blind-arena

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending · 最近测试 2026-08-26 · 标记 webonly
备注:验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →