AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
세션 전환과 지속적인 빌드. 인간·AI 작업 컨텍스트와 기록을 프로젝트 파일·Git에 저장하고 복구 가능한 빌드‑검증‑리뷰‑수정 루프 제공
Switch sessions. Keep building. A delivery runtime for humans and AI sessions: work context and records in project files and Git, a recoverable build-verify-review-fix loop whose evidence is read back
개발 도구JavaScript · ShellGitHub @HaiYangBG1직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Switch sessions. Keep building. A delivery runtime for humans and AI sessions: work context and records in project files and Git, a recoverable build-verify-review-fix loop whose evidence is read back from Git, and merge decisions bound to the candidate you reviewed.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
会话随时换,项目接着干。 名字的由来:每一步是一个音符,Agent 按节拍把它们演奏出来;演奏过的乐谱——上下文、决定和结论——留在 Git 里,随时翻阅。 BuildBeat 面向人和 AI 会话:工作说明、决定和每轮结论留在项目文件与 Git 里,实现、验证、审查和修复在会话之外自动推进、随时可恢复,候选带着证据停在你的合并决定前。 一项工作写一份 work.md。你接受之后,buildbeat run 在隔离的工作树里按节拍推进:实现、跑项目自己的验证命令、独立只读审查,有问题就修复、重验、再审。真正需要人的时候它会停下:合并拍板、环境故障、预算到顶、审查不收敛。工作说明、决定、审查问题和每轮运行的终态记录都进 Git,换会话、换工具、换人都从同一份记录接着干;运行中的台账和原始日志留在本机(见下文「记录与接续」)。 关掉会话、换 AI 工具、换人,工作照样接着干。 工作说明和运行台账都在项目里,buildbeat run 从记录恢复;主仓带多个代码仓时,buildbeat status --repo . --all-repos 一条命令看全所有仓的待办。 回来看到的是事实,不是 AI 的自述。 验证跑项目真实命令,结果由运行时从 Git 和台账回读;审查独立、只读;缺工具、后端不可用、审查没交报告都按环境故障停下,不会当成代码问题去修。README 전문 보기 ↗
用 AI 写代码,换个会话、换个软件、换台电脑、换个人,事情都得从头讲一遍。
BuildBeat 面向人和 AI 会话,把要做的事、做到哪、定过什么都记在项目和 Git 里,谁接手都能接着干。AI 写完代码,它会接着跑测试、做审查、修问题,最后停下来等你拍板。
work.md 给你看:目标、范围、做到什么算完测试结果由 BuildBeat 自己去读,不靠 AI 汇报。中途断了,说一句「继续」就接着跑。
把下面这段复制给你的 AI 编程工具(Claude Code、Codex、Cursor 都行),它会自己装好、配好:
请帮我在这个项目里用上 BuildBeat(https://github.com/HaiYangBG1/BuildBeat):
1. 检查本机有没有 Node 20 以上和 Git,缺了就告诉我怎么装。
2. 安装或升级 BuildBeat 运行时:
npm view @haiyangbg/buildbeat@latest version
npm install --global @haiyangbg/buildbeat@latest
buildbeat --version
如果本机已经装了 3.x,并且还有没跑完的工作,先用旧版跑完或取消,再升级。
3. 读一遍 npm 包里的 SKILL.md 和 docs/v2/guide/01-quickstart.md(在 $(npm root -g)/@haiyangbg/buildbeat/ 下),之后都按 SKILL.md 的方式干活。
4. 按快速开始把模板放进这个项目、补好 .gitignore。实现、审查、修复默认用本机已登录的 AI 命令行工具,拿不准就问我。
5. 弄好后用一两句话告诉我可以开始了。之后我只用平常的话跟你说要做什么,命令都由你来跑。
装好之后,就用平常的话跟它说,常见场景见下面「用起来是什么样」。
/plugin marketplace add HaiYangBG1/BuildBeat
/plugin install buildbeat@buildbeat-plugins
/buildbeat:buildbeat
想自己动手一步步装,见快速开始。
不想装 Node 或运行时?只用 Skill 和项目文件也行,见只用 Skill 和项目文件。
第一次用
开始一项工作
work.md:导出当前筛选的账目,带逗号的字段加引号,测试全过才算完。你看行吗?换会话、换电脑、换人
想再改改
你自己动手改了
卡住了
好几个仓库
它会停下来找你的情况只有这几种:做完了等你拍板、预算用完、审查一直不收敛、环境出了问题。
$ buildbeat status --repo . --work WORK-CSV-EXPORT
WORK-CSV-EXPORT MERGE_DECISION
[P1 0b5e258117cb5602] (accept) csv: quote fields that contain commas
work.md ✓ · runs 1
cost: review rounds 2 · findings 1 · human waits 1 (open 33s) · worker 2s
work WORK-CSV-EXPORT:
RUN-CSV-EXPORT-01 [final-decision] enter-wait-merge — waiting 33s
candidate: ede20b668cb04ae30cba1676b5e031930e711c8d
next: buildbeat decide --action approve … --candidate ede20b6… --by <you>
next: buildbeat decide --action reject … --reason <why> --by <you>
next: buildbeat run … --adopt <sha> --by <you> # commit a manual repair in the run worktree …
next: buildbeat decide … --action fix --reason <what to repair> --by <you>
是什么:BuildBeat 记东西的最小单位。一个你能看到的结果,比如「导出 CSV」,就是一项工作,对应一个文件夹。
为什么要有它:AI 记不住事,会话也随时会换。把这件事要做什么、做到哪、审出过什么问题、你拍过什么板,都收进这个文件夹,谁接手都从这里接着干,回头也能翻出来看它是怎么做成的。
第一次接入时,AI 会照模板把这些文件放好:
你的项目/
├── AGENTS.md、CLAUDE.md 告诉 AI 工具:这个项目用 BuildBeat
├── .gitignore 加上下面两行 .buildbeat/ 目录
├── delivery/ 跟着 Git 走
│ ├── envelope/
│ │ ├── worker.sh 把 AI 工具包成 BuildBeat 能调用的一步
│ │ └── prompts/ 实现、审查、修复各自的提示词
│ └── work/
│ └── WORK-X/ 一项工作一个文件夹
│ ├── work.md 要做什么、做到什么算完
│ ├── run-config.yaml 用哪个 AI、跑什么测试、能改哪些目录
│ ├── decisions.jsonl 接受、批准、关闭这些决定
│ ├── review-findings.jsonl 审查挑出的问题和你的裁决
│ ├── releases.jsonl 上线后的检查记录(用到才有)
│ ├── result.md 关窗时写:做成了什么、剩下什么、写进了哪些项目文档
│ └── runs/RUN-X-01/
│ └── run-record.json 这一轮的结果、证据和成本
└── .buildbeat/
├── notify.yaml 可选:等你拍板时发 webhook 或钉钉通知
├── runtime/ 只在本机:正在跑的台账、日志、截图
└── worktrees/ 只在本机:AI 干活用的隔离副本
delivery/ 进 Git:换会话、换软件、换电脑、换人,拉下代码就能接着干;不要在 .gitignore 或 .git/info/exclude 里排除它.buildbeat/runtime/、.buildbeat/worktrees/ 只在本机:正在跑的那一轮不跟着 Git 走,要在原来那台机器上跑完或停掉work.md名字的由来:每一步是一个音符,Agent 按节拍把它们演奏出来;演奏过的乐谱——上下文、决定和结论——留在 Git 里,随时翻阅。