RCROUNDCRAFTER
Local compute本地计算 16 Hz telemetry16 Hz 遥测

Every round,
on the record.
每一回合,
都有据可查。

RoundCrafter turns your CS2 .dem files into a lab you can study. An AI analyst reads each round, cross-checks the key moments and explains what happened, and every claim links back to a clip you can replay. Around it: a broadcast-style replay, multi-round heatmaps and a tactic room. RoundCrafter 把你的 CS2 .dem 变成可以研究的实验室。AI 分析师逐回合读取证据、核对关键时刻、解释发生了什么,每条结论都能跳回可重播的片段。配套还有转播级回放、多回合热力图和战术室。

Round review: Dust2 round 6 between Team Vitality and FURIA, with player positions, smokes and the scoreboard 单回合复盘界面:Dust2 第 6 回合,Vitality 对 FURIA
DE_DUST2 · R6 · T+00:33.0VITALITY 4 — 1 FURIA
04Agent analysis modes种 Agent 分析模式
100%Claims tied to evidence IDs结论绑定证据编号
0Player names sent to the model个选手名发送给模型
0Model calls without a click次未经点击的模型调用
■ Agent analysisAgent 分析

An analyst that shows its evidence会出示证据的 AI 分析师

The Agent never watches the demo raw. The server first builds an evidence packet from the parsed match: positions, utility, kills, economy, each with an ID. The Agent reads it with tools, checks the windows that matter, and submits findings that must cite those IDs. A local audit then removes anything the data does not support.Agent 不直接“看” demo。服务端先从解析结果生成证据包:站位、道具、击杀、经济,每条都有编号。Agent 用工具读取证据、核对关键时间窗,提交的每条发现都必须引用这些编号;随后本地审核会删掉数据不支持的结论。

MISSION LOG · DE_DUST2 R6RUN 1 / 5
  1. read_round_evidence()→ facts and testable hypotheses事实与可验证假设
  2. read_action_window(18, 34)→ player states and events, max 30 s玩家状态与事件,最长 30 秒
  3. submit_findings(…)→ every evidence ID found in packet证据编号全部来自证据包
  4. audit→ 1 claim removed: utility not near the entry删除 1 条:道具与进点无空间关联
Calls 2 / 5 · input 50k token cap · 300 s limit调用 2 / 5 · 输入上限 5 万 token · 限时 300 秒
Finding 1 of 3发现 1 / 3Example output示例输出

T side took mid before splitting to BT 方先控中路,再分兵打 B

Facts事实
  • E4P2 and P5 reach Top of Mid by 0:22.P2、P5 在 0:22 前到达中路上端。
  • E7Smoke detonates at CT mid at 0:24.0:24 烟雾在 CT 中路生效。
  • E9P1 enters B site at 0:41.P1 在 0:41 进入 B 包点。
Inference推断
The mid smoke cut the CT rotation path, so B saw one defender at the moment of entry.中路烟切断了 CT 回防路线,因此进点时 B 区只有一名防守者。
Uncertainty不确定性
Voice comms are not in the demo, so the plan is inferred from movement.demo 不含语音,战术意图是根据走位推断的。
Try this建议
As CT, keep one player able to reach B through tunnels before the mid smoke lands.CT 方应在中路烟落下前,保留一名可以从 B 洞回防的队员。
▶ Replay 0:18 – 0:42重播 0:18 – 0:42
MODE A

Round read单回合解读

Both sides' actions in one round, checked window by window.逐个时间窗核对,解读一个回合里双方的行动。

≤ 5 calls / round每回合 ≤ 5 次调用
MODE B

Whole match整场复盘

Runs the round read across a match in parallel, under one total budget you set.在整场比赛上并行运行单回合解读,使用你设定的总预算。

1–200 calls · 2 / round · 30 min1–200 次 · 每回合 2 次 · 30 分钟
MODE C

Patterns多回合规律

Finds habits repeated across the rounds you filtered, optionally against a reference group.在你筛选出的回合中找重复习惯,可与参考组对比。

≤ 2 calls · up to 4 findings≤ 2 次调用 · 最多 4 条发现
MODE D

Pro comparison职业对照

Retrieves a structurally similar pro round on your machine, then explains the differences worth learning and when they apply.在本地检索结构相似的职业回合,解释值得学习的区别及适用条件。

≤ 2 calls · findings + limits≤ 2 次调用 · 发现 + 局限
  • Facts apart from guesses事实与推断分开Each finding separates facts, inference, uncertainty and a recommendation.每条发现分为事实、推断、不确定性和建议。
  • Anonymised players选手匿名The model sees P1–P10. Names and SteamIDs stay on your machine, and a test enforces it.模型只看到 P1–P10,选手名和 SteamID 留在本机,并有测试保证。
  • Your model, your language自选模型与语言Pick Claude, GPT, Gemini, DeepSeek, Qwen, Kimi, GLM, Grok, Mistral or a local Ollama model, and paste your key in the app. Answers follow the 中文 / English switch.可选 Claude、GPT、Gemini、DeepSeek、通义千问、Kimi、GLM、Grok、Mistral 或本地 Ollama 模型,在应用内粘贴密钥即可;回答跟随中 / 英切换。

Vector RAG, grounded in real sources基于真实资料的向量 RAG

Before it explains anything, the Agent retrieves comparable material from RoundCrafter's own libraries. Search is hybrid: embedding similarity blended with keywords, after hard filters on the game state. A Chinese query finds English sources and the other way round.解读之前,Agent 先从 RoundCrafter 的资料库检索可比材料。检索是混合的:先按对局状态硬过滤,再把向量相似度与关键词混合排序。中文查询可以找到英文资料,反之亦然。

STEP 1
Filter硬过滤Map, side, site, phase, bomb state, grenade type.地图、阵营、包点、阶段、下包状态、道具类型。
STEP 2
Embed向量化Text by a local model on your machine or an embedding API; situations as numeric vectors, always local.文本由本机的本地模型或向量 API 生成;对局情境始终在本机转成数值向量。
STEP 3
Rank混合排序Cosine similarity blended with keyword score; nearest neighbours for situations.余弦相似度与关键词得分混合;情境按最近邻排序。
STEP 4
Cite引用Results enter the evidence packet; findings must cite their IDs.结果进入证据包,结论必须引用它们的编号。
Pro rounds职业回合situation vectors · routes, alive, buy, timing路线、存活、经济、时间
Pro casebook职业案例库situation vectors · 2 s before each death每次死亡前 2 秒
Tactic cards战术卡片embeddings + BM25 · prerequisites stay "unknown"前提缺失保持“未知”
Reviewed notes已审核笔记embeddings + full text · reviewed rows only只检索已审核条目
Your case library你的案例库embeddings + keywords · past Agent findings过往 Agent 结论
Lineups投掷点embeddings + filters · web research only on click点击后才联网研究
■ Modules功能模块

The workspace around the Agent围绕 Agent 的工作台

Most demo viewers only play a match back. These modules let you see what the Agent is talking about, and study it yourself.大多数 demo 播放器只会“放一遍”。这些模块让你看清 Agent 说的是什么,也方便自己研究。

01Round review单回合复盘
Reads like a broadcast像转播一样清楚

A 2D replay with the real utility带真实道具的 2D 回放

  • 16 Hz interpolated playback with real player names, HP and armor bars, the weapon in hand and full loadout icons.16 Hz 插值回放,真实选手名、血量护甲、手持武器和完整装备图标。
  • Real grenade trajectories with smoke, molotov, flash and HE effects, shot tracers and a kill feed.真实道具轨迹,烟、火、闪、雷效果,开枪线和击杀信息。
  • Live score, freeze-time economy and event ticks on the timeline. Switch floors on two-level maps such as Nuke.实时比分、冻结期经济、时间轴事件标记;Nuke 等多层地图可切换楼层。
Round review with scoreboard, loadouts and timeline
Scoreboard · money at freeze end记分板 · 冻结结束时的经济LIVE
02Multi-round analysis多回合分析
Patterns, not single rounds看规律,不只看单回合

Overlay every round that matches叠加所有符合条件的回合

  • Filter by map, side, economy, opening and players.按地图、阵营、经济、开局和玩家筛选。
  • Dwell, reach, scoped, kill and death heatmaps, with the sample size shown.停留、可达、开镜、击杀、死亡热力图,并标明样本量。
  • Grenade clustering by type, side and floor. Compare your matches with pro reference demos.按类型、阵营、楼层聚类道具落点;把你的比赛与职业 demo 对照。
  • Ask the Agent to explain the selection (Mode C), and every claim links back to a playable clip.让 Agent 解读当前筛选(模式 C),每条结论都能跳回可播放的片段。
Heatmap overlay across many rounds
Gaussian-smoothed density高斯平滑密度N ROUNDS
03Tactic room战术室
Plan it, then play it先规划,再演示

A board that turns into a round会动起来的战术板

  • A personal library of tactics with tags, folders and notes.个人战术库,支持标签、文件夹和备注。
  • Multi-stage board with players, routes, smokes, flashes, molotovs, HE, arrows and text, on both floors.多阶段战术板:队员、路线、烟闪火雷、箭头和文字,支持上下层。
  • Press Play to animate the stages in the same engine as real demos, or start a plan from any moment of a real match.点击演示,用真实 demo 的回放引擎播放方案;也可以从比赛的任意时刻开始规划。
Tactic board playing back a planned execute
Stage playback阶段演示▶ PLAY
04My career我的生涯
Your Steam account, tracked绑定 Steam,持续追踪

Sign in once, and new matches import themselves登录一次,新比赛自动导入

  • Steam sign-in (OpenID). New share codes are detected and demos in your replays folder are imported automatically.Steam 登录(OpenID);自动识别新的分享码,并导入本地录像目录中的 demo。
  • Jump from any match straight into its replay.从任意比赛一键跳转到回放。
  • Rating 1.0 and an approximate Rating 2.0, ADR capped at the victim's remaining HP, KAST with 5-second trades, opening duels and HS%.Rating 1.0 与近似 Rating 2.0;ADR 按受害者剩余血量封顶;KAST 计入 5 秒内补枪;首杀对决与爆头率。
  • Every screen switches between 中文 and English, and Agent answers follow the selected language.所有界面一键切换中文 / English,Agent 回答跟随所选语言。
05Utility lab道具实验室
Find a lineup with physics用物理找投掷点

Click where you stand and where it lands点选站位和落点

  • Searches standing, jump, W-jump, crouch-jump and run-jump throws against the map's real collision geometry.基于地图真实碰撞几何,搜索站投、跳投、W 跳投、蹲跳投和助跑投。
  • Returns aim angles, flight time, bounces and a setpos/setang command to practise in game.给出瞄准角度、飞行时间、反弹次数,以及可在游戏里练习的 setpos/setang 指令。
Utility lab with a computed grenade trajectory
Trajectory solver · 2D / 3D轨迹求解 · 2D / 3DSETPOS
■ How it works工作原理

From .dem to a workspace, on your own machine从 .dem 到工作台,全在你的电脑上

Each demo is parsed once into a per-match cache. Everything after that reads from the cache.每个 demo 只解析一次,生成单场缓存,之后的功能都从缓存读取。

STAGE 1

Demo filesDemo 文件

Uploads, your Steam replays folder, pro demos.上传、Steam 录像目录、职业比赛 demo。

STAGE 2

Parser解析

demoparser2 on Node.基于 Node 的 demoparser2。

STAGE 3

Match cache单场缓存

16 Hz tracks, grenades, economy, names.16 Hz 轨迹、道具、经济、选手名。

STAGE 4

Local server本地服务

Python · 127.0.0.1:8790

STAGE 5

Web UI网页界面

Replay, analysis, tactic room, career, lab.回放、分析、战术室、生涯、实验室。

+ Movement GRU · experimental移动预测 GRU · 实验性 + Hybrid vector retrieval · local model or embedding API混合向量检索 · 本地模型或向量 API + Map collision and radar from your CS2 install地图碰撞与雷达图来自本机 CS2 ⇢ LLM Agent · evidence packet in, audited findings outLLM Agent · 输入证据包,输出经审核的发现
■ Flight rules飞行守则

Privacy and trust隐私与可信度

RULE 1 · GO

Local by default默认本地

The server binds to 127.0.0.1, checks Host and Origin, and requires a session token for every write.服务只监听 127.0.0.1,校验 Host / Origin,所有写操作都需要会话令牌。

RULE 2 · GO

Your keys stay yours密钥留在本机

Your Steam, model and embedding API keys are stored on your machine and never sent back by the API.Steam、模型和向量 API Key 都保存在你的电脑上,接口不会把它们返回。

RULE 3 · GO

No silent model calls不偷偷调用模型

The LLM runs only when you click, and each run has a call budget.只有点击后才调用 LLM,每次都有调用上限。

RULE 4 · GO

Honest outputs结果诚实

Model results are labelled, inferences are kept apart from observed facts, and validation reports include the failures.模型输出明确标注,推断与观测事实分开,验证报告包含失败案例。

■ Quick start快速开始

Launch sequence启动流程

  • OS系统Windows
  • Python≥ 3.12
  • Node≥ 22
  • CS2 install本机 CS2radar + icons雷达图与图标
  • Model API key模型 API Keyoptional, set in app可选,在应用内设置

Then open http://127.0.0.1:8790, upload a .dem or link Steam, and open the match.然后打开 http://127.0.0.1:8790,上传 .dem 或绑定 Steam,打开比赛即可。

POWERSHELL
> python -m venv .venv
> ./.venv/Scripts/python.exe -m pip install -e ".[test]"
> ./.venv/Scripts/python.exe -m pip install -r requirements-training.txt  # PyTorch
> npm install --prefix outputs/cs2-coach-prototype  # demo parser
> ./start-tactics.ps1