返回

文章详情

展示 HN: Mindwalk – 在 3D 地图上重播编码代理会话

Hacker News2026年7月12日 05:51

一个可视化工具,可以在您代码库的 3D 地图上重播编码代理会话。问题是,会议日志记录了代理做了什么,但没有记录它是如何理解任务的:它认为哪个部分的仓库相关,它在采取行动之前探索了哪里,它的活动范围是否与您设想的范围匹配。逐行阅读原始 JSONL 并不能回答这些问题。这个想法是将仓库绘制为夜景地图,并将会话回放为在其中移动的光:代理搜索、读取和编辑的位置,地图会发光——其他地方保持黑暗。代理对任务的理解变成了一种您可以一目了然看到的形状。一个 Go 二进制文件读取 Claude Code 和 Codex 会话日志,完全本地;没有会话数据离开您的机器。快速开始 curl -fsSL https://raw.githubusercontent.com/cosmtrek/mindwalk/master/scripts/install.sh | sh export PATH= "$HOME/.local/bin:$PATH" mindwalk 安装程序会根据 checksums.txt 验证二进制文件并安装到 ~/.local/bin(用 INSTALL_DIR 重写;用 VERSION 锁定某个版本)。Windows 文件在 GitHub Releases 上。要从源代码构建:make setup && make build → bin/mindwalk。没有参数时,mindwalk 扫描 ~/.claude/projects 和 ~/.codex/sessions,在随机本地端口上提供 UI,并打开浏览器:mindwalk serve [--port N] [--no-open] [--claude-dir DIR] [--codex-dir DIR] mindwalk open [--no-open] <session.jsonl> 打开特定会话 mindwalk build <repo> [-o out] 写入仓库城市地图 JSON mindwalk trace <session> [-o out] 写入标准化的追踪 JSON 阅读图片 树形/地形视图——仓库作为径向树或矩形树图;发光 ∝ 文件被触控的深度和频率。触控状态——每个文件保持其最深的触控: 已见(苔藓绿色)、已读(月白色)、已编辑(温暖琥珀色)、未访问(黑暗)。HUD 折叠摩擦信号——错误率、多次编辑、最后验证后的编辑——成回顾条。回放甲板——在运行的分块直方图上移动或播放会话。条位于冷/暖光谱上:观察保持冷(搜索、读取、执行),变更发光温暖(编辑、验证),因此编辑阶段一目了然地跳出来。时间轴标记——◇ 上下文压缩、○ 子代理启动、› 用户转变;每个标记都是一个点击跳转的目标。检查器——点击文件以固定其访问历史;点击访问行以将播放头跳转到那个时刻。键盘:空格播放/暂停 · ← / → 步进 (⇧ ×10) · Home / End 结束 · S 速度 · E 下一个编辑 · X 下一个错误 · M 下一个标记 · ⌘B 会话轨道。引擎盖下 有两个工件,被故意分开:一个追踪——将会话日志标准化为有序的文件触控事件流(内部/适配器,每个代理格式一个适配器);一个城市地图——仓库的确定性布局(内部/城市地图);同一树总是生成相同的地图,因此重播在会话之间是可比的。一个本地 Go 服务器(内部/服务器)将两者连接并提供 React/Three.js 前端(web)。schema/ 反映导出的 JSON 合同。贡献 欢迎提出问题和拉取请求。要获得工作开发设置:make setup # 安装前端依赖 make serve # 开发服务器在 :8765,服务 web/dist 来自工作树 make test # go 测试 + 前端构建 - 在发送 PR 之前运行 make build # 重新生成嵌入资源和 bin/mindwalk 基本规则(请参阅 AGENTS.md 获取完整的体系结构说明):保持边界:适配器不知道渲染,城市地图生成不依赖于回放,服务器只是连接两者。保持 Go 代码 gofmt -ed;永远不要手动编辑内部/服务器/静态——使用 make build 重新生成它。当追踪或城市地图 JSON 形状变化时,在同一变更中更新 schema/ 和相关测试。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡