feat(frontend): R1 Tournament Dashboard — Vite+React live match observer - #12
Merged
Merged
Conversation
Vite + React 19 frontend for the CivAgent v5 match observation layer. Serves data directly from ~/.civagent/ via a Vite middleware — no separate backend process required. Three tabs: - Live Tournament: parallel TerminalPanel × 4 civs with real-time event streaming (mock simulation on click, real events.jsonl when available). JudgeLeaderboard renders after match completes with legality/feasibility/resilience scores and per-civ verdict. - Match Archive: browse ~/.civagent/matches/ (structured B4 events) and legacy ~/.civagent/transcripts/ with searchable list + event playback. Skill Sedimentation Timeline reads actual `skill` events from each match (not hardcoded). - Regimes Codex: full-text browse of all 57 regimes with orchestrationPattern filter, IDENTITY.md + SOUL.md preview, and sedimented skills count per regime. API endpoints (Vite middleware, dev only): GET /api/regimes → reads regimes/*/metadata.json + IDENTITY/SOUL/skills GET /api/matches → structured meta.json + legacy transcripts GET /api/matches/:id → events.jsonl parse or legacy chunk format GET /api/tournaments → manifest.json list GET /api/tournaments/:id → single manifest Frontend data contract: schemas/match-event.schema.json (B4, engine/v5/events.mjs). TournamentManifest type aligned to actual tournament.mjs output schema.
LeoLin990405
pushed a commit
that referenced
this pull request
Aug 6, 2026
Feat: GUI 自动生成和管理 AUTH_TOKEN
LeoLin990405
pushed a commit
that referenced
this pull request
Aug 6, 2026
🔴 结构性问题(4个): - #1 新增 CONTRIBUTING.md 贡献指南(项目结构、GUI 开发、PR 检查清单) - #2 GUI README 已有完整说明(确认无需额外修改) - #3 Docker CI/CD 待后续处理(标记为 TODO) - #4 install.sh 末尾自动运行 doctor.sh 健康检查 🟡 文档一致性(4个): - #5 README GUI 章节已完善(确认无需额外修改) - #6 README 基础篇/进阶篇加说明(标注为小红书配套文字稿) - #7 README_EN 同步预装 Skill 章节 + 60+ Skill 措辞 + badge - #8 进阶篇待后续全面更新(标记为 TODO) 🟢 建议优化(5个): - #9 新增 skills/README.md 总索引(7个 Skill 说明 + 安装更多 + 自定义指南) - #10 docker-compose.yml 移除废弃的 version: '3.8' - #11 openclaw.example.json + install.sh 补翰林院 account + binding - #12 Dockerfile COPY skills/ 改用 ${WORKSPACE} 变量 - #13 新增 CHANGELOG.md(v2.0 → v3.5 变更记录)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Frontend layer for CivAgent v5 R1 (built by antigravity, reviewed + bug-fixed before merge).
Stacks on backend robustness work already merged to main via PR #10.
Three tabs served from
frontend/(Vite + React 19, no separate backend process):JudgeLeaderboardrenders on completion with legality/feasibility/resilience scores.~/.civagent/matches/(B4 structured events) + legacy transcripts; Skill Sedimentation Timeline reads actualskillevents fromevents.jsonl.Data contract
MatchEventtype aligns toschemas/match-event.schema.json(from PR #10).Vite middleware reads
~/.civagent/directly — same paths event.mjs writes.Bugs fixed before merge
HistoryExplorer.tsxskilleventstypes/api.tsTournamentManifest.civswasstring[]; corrected toTournamentCiv[]matchingtournament.mjsoutputTest plan
cd frontend && npm run dev→ starts on :5173/api/regimes→ 58 entriesnpx tsc --noEmit→ 0 errors