⚔️ Let AIs fight before they answer — a pixel-art arena where Claude, GPT, Gemini, DeepSeek, Doubao, Kimi & friends debate your hardest question, with a traceable battle log of who convinced whom.
翻譯準備中
其他TypeScript · HTMLGitHub @Jason-Zhang-xiquan上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗让 AI 先打一架,再给你答案。
一个像素格斗风的 AI 竞技场:Claude、GPT、Gemini、DeepSeek、豆包、Kimi……围着你的难题互相质疑、反驳、认输, 最后交给你一个打不倒的答案,以及谁、因为什么、说服了谁的完整战报。
一个模型会自信地犯错。多问几个模型?你得自己读五份答案、自己判断谁对。
Crux Arena 把这件事变成一场比赛:
⬇ 下载 Windows 安装包(预览版,未签名:首次运行时 SmartScreen 会提示,点"更多信息 → 仍要运行")
Ctrl+Alt+Space(被占用时自动换成 Ctrl+Shift+Space,托盘里可以看到当前快捷键),弹出输入框。Ctrl+Enter 开打:小 AI 们站在任务栏上方的透明窗口里打架,空白处鼠标可以穿透,不挡你干活。events.jsonl + battle-log.md。
目前用的是演示大脑(规则驱动,还没接真实模型),所以对战内容是演示剧本;但文件夹会被真实地只读侦察,画面也完全由引擎事件驱动。接入模型时只替换"大脑"这一层。
▶ 在线试玩:选人、选模式、开打,全程在浏览器里。也可以直接看一场演示赛。
画面目前是 design/ 里的可交互原型(脚本回放),本地用浏览器打开
design/mascots.html也能玩,不需要任何构建。空格暂停,R 重来,右上角可调倍速。
flowchart LR
Q[你的问题<br/>可附只读文件夹] --> R0[ROUND 0<br/>匿名盲答]
R0 --> X[分歧提取<br/>共识 / 争议]
X -- 没有分歧 --> F[FLAWLESS<br/>直接出答案]
X --> R[ROUND 1..3<br/>攻 · 守 · 让 · 改]
R -- 立场收敛 / 预算用完 --> C[冠军答案<br/>+ 少数派 + 待你判断]
R -- 还有分歧 --> R
C --> L[battle-log.md<br/>说服链 · 结论溯源]
| 机制 | 怎么做 | 借鉴自 |
|---|---|---|
| 盲答 + 匿名 | 选手互相看不到、也不知道对方是哪家模型 | llm-council |
| 先 steelman 再反驳 | 攻击必须先复述对方最强观点 | Conclave |
| 证据暴击 | 带证据且被裁判核实的攻击 ×1.5 伤害 | Debate or Vote |
| 立场重复者轮空 | 和别人立场完全一样,本回合不发言 | S²-MAD |
| 收敛即停 | 剩下的争议 ≤ 1 个就进入综合 | ai-counsel |
| 像素小人反映真实状态 | 生成中蓄力、搜索时举放大镜、认输时举白旗 | Pixel Agents |
认输必须写明"被哪一步说服"(causedBy),否则会被标成无因认输(从众信号)。战报由事件流确定性生成,不额外花一个 token:
#A4 R1 攻 DEEPSEEK > C2 抽 1 人运维=砍 20% 研发 [web] → -45 暴击|证据成立 ←C4
R2 略 DEEPSEEK 立场与 CLAUDE 重合,轮空 省 3.1k tok
#A5 R2 攻 CLAUDE > C3 预留并发低流量下比 VM 贵 [web] → -45 暴击|证据成立 ←#A3
#A6 R2 让 CODEX > C2 运维人力确实不够,有条件改投 C1 → C2 K.O.,改投 C1 ←#A4
## 说服链
DEEPSEEK => CODEX C2 抽 1 人运维=砍 20% 研发 #A4 → #A6
CLAUDE => GEMINI C3 冷启动会击穿 p99 延迟 #A1 #A5 → #A7
## 结论溯源
C1 ✓ 85HP 扛住 #A2 · DEEPSEEK、CODEX、GEMINI 支持
C2 ✗ ← #A6 CODEX 认输 ← #A4
让 AI 围绕你的代码仓库打架,例如"这个仓库该不该拆微服务?"。安全边界在工具层强制,不靠提示词:
list_dir / read_file / grep,没有任何写入或执行命令的能力../、绝对路径、指向外部的符号链接和目录联接.env、密钥、证书、node_modules、构建产物和 .gitignore 里的路径| 海外 | 国内 | ||
|---|---|---|---|
| CLAUDE | 小螃蟹 | DEEPSEEK | 小鲸鱼 |
| CODEX | 终端机器人 | DOUBAO 豆包 | 豆沙包 |
| GEMINI | 双子星 | QWEN 千问 | 问号精灵 |
| GROK | 黑洞小怪 | KIMI | 登月小月亮 |
| MUSE | 眼镜精灵 | YUANBAO 元宝 | 金元宝 |
| MISTRAL | 橘猫 | GLM 智谱 | 光谱棱镜 |
| MINIMAX | 小海螺 |
对战模式:FFA 混战 · TEAM 红 vs 蓝(已可玩)· KING 攻擂 · BRACKET 淘汰赛 · QUICK 速决 · BOSS 讨伐(设计中)
CruxArena-Setup-<版本>.exe 安装。安装包没有代码签名,Windows 会提示"未知发布者",点"更多信息 → 仍要运行"。cursor-agent login。claude auth login。channels.json 里接 OpenRouter / Ollama(见 docs/channels.md)。
一条通道都没有时会自动用演示模式。Ctrl+Alt+Space)提问开打。crux setup,给 Claude Code 装上 skill。macOS / Linux:真实模型的通道查找已经支持,但还没有安装包,先按下面的"从源码运行"使用。
需要 Node ≥ 23.6(直接运行 TypeScript,无构建步骤)。
git clone https://github.com/Jason-Zhang-xiquan/crux-arena.git
cd crux-arena
npm install
npm run desktop # 桌面版:托盘常驻,快捷键唤出
npm run desktop:selftest # 自测:输入框 → 设置 → 开打 → 回放,全程截图
npm run desktop:dist # 打 Windows 安装包(含打包好的 crux 命令),输出到 packages/desktop/release/
npm run build -w @crux/cli # 只打包 CLI:packages/cli/dist 是可以发布的 npm 包 crux-arena
npm run crux -- fight "该不该拆微服务?" --team claude,doubao,kimi --mode team --dir .
# 真实模型(本机已登录的 Cursor Agent / Claude Code;会消耗你的会员额度)
npm run crux -- fight "问题" --real --team claude,codex,grok,kimi --rounds 2 --budget 300000 --dir . --context PLAN.md:12-41
node packages/desktop/scripts/record.ts <存档文件夹> # 把回放录成视频(Windows,需要 ffmpeg)
npm run demo # 固定剧本演示赛(和网页原型同一场)
npm test # 引擎、文件夹工具、本地开打的测试
npm run typecheck
npm run crux -- log matches/demo-microservices/events.jsonl # 从事件重建战报
npm run crux -- ws . map # 只读:仓库地图
npm run crux -- ws . grep "WHY_LIMIT" # 只读:搜索
在 Claude Code 里说一句"跟 codex、gemini 和 deepseek 讨论一下这套代码的 bugs 和可行性",它就会在后台开一场对局:画面缩在屏幕角落(也可以设成完整竞技场或纯后台),打完把冠军答案、少数派和"谁说服了谁"带回对话。
cd packages/cli && npm link # 全局 crux 命令
crux setup # 安装 Claude Code skill
crux fight "这套代码有哪些 bug?" --team claude,codex,gemini,deepseek --dir . --detach
crux result latest --wait
Cursor、Codex 等其他 agent:把 docs/agents.md 里的一段说明加进它们的规则文件即可。
channels.json 里接任何模型,支持三种方式:兼容 OpenAI 的 API(OpenRouter、Ollama、各家平台)、命令行模板、脚本协议。也可以改自带选手走哪条通道,或指定裁判、主席用什么模型。见 docs/channels.md。crux mascot export claude 把自带形象导出来改,crux mascot new 给新 AI 画,crux mascot preview 出预览图。见 docs/mascots.md。在 Claude Code 里直接说"把我的 ollama 接进竞技场""给我的 llama 画个形象"即可;crux setup 会装好对应的 skill。
packages/
engine/ 事件 schema · 状态推导 · 引擎状态机 · 规则 · battle-log 生成器 · 演示大脑
workspace/ 只读文件夹工具(沙箱、屏蔽、预算、证据柜、审计)
channels/ 模型通道(Cursor Agent、Claude Code、自定义:API / 命令行 / 脚本)+ LLM 大脑
cli/ crux 命令行 + 本地开打(CLI 和桌面版共用)
desktop/ Electron 桌面版:托盘、全局快捷键、输入框、任务栏上方的竞技场
sprites/ 13 个吉祥物的像素精灵(网页原型和桌面版共用)
design/ 像素竞技场原型、选人界面、吉祥物精灵(纯 HTML,打开即用)
PLAN.md 完整方案:调研、机制、日志规范、视觉、路线图
crux fight --detach / crux result --wait、Claude Code skill、角落小窗;裁判每回合一次裁决、立场视角、选手按需读文件npx crux-arena 一行启动、在线回放站、Claude Code / MCP 插件所有吉祥物都是本项目原创的像素同人形象,非官方、与各厂商无关联;涉及的产品名和商标归各自所有者。原型里的对局是脚本回放,证据来源是演示数据。
Crux Arena — let AIs fight before they answer.
A pixel-art fighting-game arena where Claude, GPT, Gemini, DeepSeek, Doubao, Kimi and friends debate your hardest question. Every claim is a card with an HP bar; challenges are attacks, rebuttals are blocks, and evidence-backed hits land as critical strikes. You get a champion answer that survived the fight, plus a traceable battle log of who convinced whom, and why.
causedBy), otherwise they are flagged as herding. The log is generated deterministically from the event stream.npm install && npm run demo && npm test
▶ Play the live demo — pick fighters and watch a scripted match in your browser (or open design/mascots.html locally). Mascots are original fan art, not affiliated with any vendor.
MIT © 2026 Jason Zhang