atlas:AI Agent 工具实践指南
2026-10-03
2026-10-07 0
实际评估immune-brain时,我先确认它解决的具体问题:immune-brain 为 AI 编码助手带来结构化工程工作流程。一旦进入日常自动化环节,输入边界、依赖和失败处理如果不清楚就很难稳定复用会直接影响交付,这也是我最关心的风险。先用一项范围明确的真实任务完成最小试跑更稳妥;过程中要观察配置时间、输出质量、异常信息和维护痕迹,失败也应能解释原因。它对愿意先做小范围验证并复查原始文档的团队更有价值,但正式采用前仍要复查许可证、近期提交和问题区回应。

免疫脑
Pi 和 克劳德代码 的确定性工作流程和质量引擎 — 通过规划、执行、QA 和审查,将模糊的想法转化为交付的代码。
语言: 英语 | 中文
这是什么?
immune-brain 为 AI 编码助手(Pi 和 Claude Code)带来了结构化的工程工作流程:
imm-brainstorm、imm-planner 或 imm-loop。TaskIntent + TaskRecord) - 进度保存在磁盘上 (Git + .imm/),在重新启动和上下文擦除后仍然有效。imm-loop 连续处理已发布计划的子项,同时每个子项仍自行注册、QA 进行审核、审核和结算。Pi 和 Claude Code 是受支持的主机。未声明的适配器仍然不受支持。最低 Claude 代码为 2.1.236,这是通过交互式服务器启动的 MCP 启发验证的最低版本。当前真实主机证据记录在 Claude 原生启发一致性 中;历史报告保留在 docs/verification/archive/ 下。任一主机都可以使用您配置的模型提供程序 - immune-brain 在内核权限之上工作,而不是在供应商聊天之上。
安装
先决条件: Pi 或 克劳德代码 (>= 2.1.236)、Node.js 20+、bun 用于测试。
在圆周率
Pi 从 package.json (或您的全局 Pi 配置)发现技能和扩展:
// package.json → pi.skills / pi.extensions
"pi": {
"skills": ["./plugins/immune-brain/skills"],
"extensions": ["./plugins/immune-brain/.pi-extension"]
}
不需要额外的服务器配置。通过 Pi 安装软件包可以自动使用所有 6 种技能。
在克劳德·代码中
从市场添加插件:
claude plugin marketplace add dereknex/immune-brain
claude plugin install immune-brain
或者直接加载本地目录:
claude --plugin-dir ./plugins/immune-brain
验证
bun test # run all tests
mise run check-plugin # verify package structure
mise run check-dist-sync # verify generated docs are in sync
快速入门
immune-brain 遵循 技能显式 模型:普通对话只是标准的轻量级 AI 编码。 仅当您显式调用技能时,托管工作流才会激活。
1.当您需要结构化工程时调用技能:
/imm-brainstorm(或要求代理使用 imm-brainstorm)。/imm-planner(或要求代理使用 imm-planner)。(诸如“这个功能有什么作用?”或“修复这个拼写错误”之类的普通问题保持主机原生 - 零工作流程仪式。)
2.确认计划:
Planner 编写 TaskIntent 和实时规范(范围文件、风险层、验收检查)。直接打开本机确认对话框:
查看范围并确认注册。在您明确确认之前,不会发生任何代码或权限写入。
3.使用 imm-loop 运行并验证:
运行 /imm-loop (或说“启动 imm-loop”)。引擎将:
.imm/audit// 中。如何使用
immune-brain 提供两种干净模式:用于日常编码的 Host-native,以及用于结构化、高保证任务的 托管路径:
| 你的情况 | 说什么/做什么 | 会发生什么 |
|---|---|---|
| 日常编码、快速修复、一般问答 | 正常对话(“修正README中的拼写错误”,“解释一下这个功能”) | 主机原生:标准 Pi / Claude 代码行为。零工作流程开销。 |
| 模糊想法、需求范围和风险分析 | /imm-brainstorm“帮助我思考 webhook 支持” |
→ imm-brainstorm 框架要求、约束和风险(只读,无代码编辑) |
| 目标明确,需要正式的计划和规格 | /imm-planner “规划 webhook 功能” |
→ imm-planner 写入 TaskIntent + 具有可测试验收检查的规格 |
| 计划已确认,准备建造和验证 | /imm-loop |
→ 执行器在范围内构建 → 确定性 QA 验证 → 隔离审查检查 → 任务解决 |
| 会话中断或恢复任务 | /imm-loop |
→ 从磁盘状态无缝恢复现有任务 (.imm/) |
| Ready Initiative 无人值守运行 | “无人值守运行倡议 <slug>” |
→ 主机的 start_unattended_batch:一个本地确认涵盖有序计划摘要,子级连续运行 |
| 跨主机工作流程(Claude计划+Pi代码) | 在Claude Code中运行/imm-planner,切换到Pi并运行/imm-loop |
→ Staged Spec & TaskIntent 在磁盘上共享; Pi通过本机TUI确认并执行循环 |
| PR 有审稿意见或未通过 CI | /imm-pr-fix 就PR |
→ 独立修复:已实施最小范围修复,未创建托管任务 |
| 项目文档已过时 | /imm-doc-prune |
→ 只读审核;仅从清单中删除用户批准的陈旧文档 |
| 代理指令臃肿 | /imm-agent-doc-maintain |
→ 将跟踪的 AGENTS.md / CLAUDE.md 最小化为基本的不可发现规则 |
| 哪个模型的编辑会不断返回以供审核 | /imm-review-retro |
→ 按审查负载对模型进行排名并从会话日志中报告项目使用情况 |
核心原则:技能显式输入
- 普通输入保持主机本机:自然语言查询永远不会自动开始计划或任务注册。您可以选择何时开启工程严谨性。
- 托管工作从明确的技能开始:使用
imm-brainstorm进行澄清,使用imm-planner进行计划,使用imm-loop进行执行和恢复。
跨主机工作流程:在 Claude 代码中规划,在 Pi 中构建
immune-brain 的架构完全与会话无关。所有任务合同、规范和保证证据都存储在磁盘上的 Git 跟踪文件(docs/plans/、docs/specs/)和 .imm/ 中。 Pi 和 Claude Code 共享完全相同的确定性内核权限和状态机。
这实现了两全其美的工作流程:利用 Claude Code 的深度推理和大型上下文窗口进行需求分析和规范规划,然后切换到 Pi 进行快速、集中的前台编码和执行循环。
┌───────────────────────────────────┐ Git-Tracked Artifacts on Disk ┌───────────────────────────────────┐
│ Claude Code │ ─────────────────────────────────> │ Pi │
│ 1. /imm-brainstorm (Clarify) │ docs/specs/*.spec.md │ 1. /imm-loop (Native TUI Modal) │
│ 2. /imm-planner (Spec/Intent) │ docs/plans/*.intent.json │ 2. Executor (Code) + QA Engine │
└───────────────────────────────────┘ └───────────────────────────────────┘
推荐工作流程
/imm-brainstorm 来框架目标、约束和架构风险。/imm-planner "Plan " 。规划器生成:
docs/specs/.spec.md ):记录技术设计和架构的权衡。TaskIntent(docs/plans/.intent.json ):严格锁定可编辑文件边界(scope_hint)、风险层(routine / material / critical)和确定性测试验证命令(acceptance)。git add docs/)。您可以在注册之前停止而不执行。/imm-loop。 Pi 发现暂存的 TaskIntent 并打开其本机 TUI 模式确认以进行注册。scope_hint内部编写实现代码。material 或 critical 任务,Pi 前台 Reviewer 审核更改。.imm/audit// 中并释放工作区声明。/imm-loop 随时恢复。7项技能
| 技能 | 类型 | 何时使用 | 它的作用 |
|---|---|---|---|
imm-brainstorm |
受管理的条目 | 要求不明确 | 框架问题,提出开放性问题,无需编辑代码 |
imm-planner |
受管理的条目 | 目标明确 | 作者/修订 TaskIntent 和规格;不注册或建立 |
imm-loop |
托管协调员 | 计划已验证 | 驱动执行 → QA → 审核 → 通过前台工具完成 |
imm-pr-fix |
独立式 | CI 失败/评论 PR | 修复一台 PR,无托管权限 |
imm-doc-prune |
独立式 | 当前文档过时 | 仅删除哈希批准的清单条目 |
imm-agent-doc-maintain |
独立式 | 臃肿的代理指令 | 将跟踪的 AGENTS/CLAUDE/GEMINI.md 最小化到必要的上下文 |
imm-review-retro |
独立式 | 通过审查负载比较模型 | 对已审查代码的作者进行排名并报告项目使用情况 |
内部角色(Executor、QA、Review、Compounder)由 imm-loop 调度 - 您永远不会直接调用它们。
所有 7 种技能均被显式调用。对于新功能,从 imm-brainstorm(如果要求不确定)或 imm-planner(如果要求明确)开始,然后在注册后继续到 imm-loop。
托管路径条目(头脑风暴→规划→循环)
这三种托管技能形成一个具有单一权限模型的连续管道:在本机门中确认之前不会编写或执行任何内容,并且每个状态转换都由内核解决。
imm-brainstorm — 需求澄清
/imm-brainstorm 或请求澄清需求。brainstorm_framing 结果以及建议的下一步(通常 → imm-planner)。imm-planner — 规格和 TaskIntent 规划
/imm-planner 或规格和 TaskIntent 规划请求。TaskIntent 文件 (docs/plans/) 和实时规范 (docs/specs/) — 范围 (scope_hint)、风险层、验收描述符。对于多任务计划,它将工作分解为具有依赖顺序和粒度的 parent/child TaskIntents。TaskIntent 正在等待注册确认。imm-loop — 托管执行和保证
/imm-loop(启动、恢复或检查托管任务)。trigger、caller_chain、violated)。新传递的 QA 证据已经矛盾的声明被记录为 refuted,并且只有在该证据过时时才会再次阻止。done 任务记录为 QA + 审核 .imm/audit// 中的证明。独立维护条目
这三个 repair/maintenance 技能是主机本机的:它们从不创建托管任务,从不继续托管工作流,并保留任何活动的托管所有者。
imm-pr-fix — PR 维修
imm-doc-prune — 过时的文档修剪
imm-agent-doc-maintain — 代理指令最小化
AGENTS.md / CLAUDE.md / GEMINI.md。imm-doc-prune 相同的只读审核 + 哈希绑定清单批准模型下,仅在代理指令文件中保留必要的不可发现规则。imm-review-retro — 检查负载和项目使用情况
生命周期
flowchart TD
subgraph Planning ["1. Planning Phase"]
B["imm-brainstorm
Clarify Requirements & Constraints"] --> P["imm-planner
Author Spec & TaskIntent"]
P --> TI["TaskIntent (.intent.json)
• goal / scope_hint
• risk tier
• acceptance descriptors"]
end
subgraph Enrollment ["2. Enrollment Gate"]
TI --> EG{"Native User Gate
Host Modal Confirmation"}
EG -->|Confirm| KS[(".imm/state/kernel.sqlite
Atomic TaskRecord
Exclusive Workspace Claim")]
end
subgraph Loop ["3. Execution & Assurance Loop (imm-loop)"]
KS --> EX["Executor Role
Edit code strictly inside scope_hint"]
EX --> FRZ["advance_assurance
Artifacts frozen (active:frozen)"]
FRZ --> QA["Deterministic QA Engine
Run acceptance verification commands
Generate QA Attestation"]
QA -->|Fail| RW1["Rework / Fix"]
RW1 --> EX
QA -->|Pass| RK{"Risk Tier?"}
RK -->|routine| ST["Settlement"]
RK -->|material / critical| RV["Review Role
Structured verdict (Pass / Rework)"]
RV -->|Rework| RW2["Rework"]
RW2 --> EX
RV -->|Pass| ST
end
subgraph Settlement ["4. Settlement & Learnings"]
ST --> CLS["Atomic Closure
• Lifecycle: done
• Audit evidence in .imm/audit/
• Release Workspace Claim"]
CLS -.-> CP["Compounder Role
Extract Learnings to docs/solutions/"]
end
核心逻辑:三大支柱
两条路
imm-brainstorm、imm-planner 或 imm-loop 显式输入,严格受保障内核管理。权限与合同
.intent.json):机器可读的行为合约锁定 scope_hint(文件边界)、risk 层和 acceptance 描述符。.imm/state/kernel.sqlite CAS),以防止并发冲突和范围漂移。确定性保证
routine 任务在 QA 通过后完成; material 和 critical 任务需要独立的审核子代理来发布结构化判决。plan_digest 约束的串行执行,其中每个孩子独立完成自己的 Enrollment → QA → Review → Commit 周期。关键不变量:
scope_hint) 在注册时被冻结 — 超出范围的文件将被忽略。start_unattended_batch 后,无人值守批次才存在;每个孩子都有自己的注册、QA、审核和结算。无人值守的批量运行
当一项计划有多个就绪子项时,您可以将它们作为一个连续批次运行,而不是逐个任务运行。
start_unattended_batch 工具,采取主动 slug。在调用之前,不存在与批处理相关的任何内容 - 如果没有它,imm-loop 的行为与按任务注册完全相同,并且不会创建批处理状态、分支或授权。TaskRecord 上注册、冻结、QA、审查和解决。批次是一次授权的范围,而不是新的权限层。done 时,相同的调用将提交它并注册下一个子进程,或标记批次 completed,没有新的门。停放或停止的子进程永远不会为您提交,结果旁边会报告失败的继续,并以 start_unattended_batch 作为重试。采用您添加到批处理分支的快进提交;任何其他 HEAD 移动仍会停止运行。critical 子级在专用批处理分支上连续运行。当孩子需要人为决定或预算、授权或承诺失败时,跑步会停止;预算是子项计数和 QA 失败限制,并且不会随着时间的推移而过期,并且被阻止的子项的家属将被跳过而不是重新排序。运行程序从不推送、打开 PRs、解决用户决策或创建、切换或删除 Git 工作树。配置
immune-brain 没有单独的配置文件。首选项位于存储库根目录下的主机代理指令文件中 - AGENTS.md (Pi) 或 CLAUDE.md (Claude Code):
## Immune-Brain Preferences
- 倡议运营商默认:github# 或:local
| 偏好 | 选项 | 默认 | 注释 |
|---|---|---|---|
| 回复语言 | 任何自然语言 | 仓库 AGENTS.md |
机器合约/路径保持字面意思 |
| 主动承运人 | local / github |
没有——规划者问 | 仅当提案拆分为多个 TaskIntents 时才重要 |
| 咨询分代理 | 允许/独奏 | 允许 | 尊重 Pi 主机策略 + 明确的用户指令 |
优先级:当前消息 > 回购代理指令文件 > 用户级代理指令文件 > 询问。技能直接读取这些文件,因此即使主机不自动加载该文件,首选项也会起作用。
详情请参见 docs/reference/immune-brain-config.md 。
项目布局
package.json # Pi package manifest (skills + extensions)
plugins/immune-brain/
├── .pi-extension/ # Pi TUI + Kernel authority extension
├── skills/ # 7 public Skills (trigger shims)
├── dist/ # Built skill contracts & references
├── runtime/ # Bun + TypeScript runtime & Kernel
└── bin/ # CLI wrappers (→ runtime/v4_runtime.ts)
.imm/ # Task state (worktree-local, git-ignored)
docs/plans/ # Active TaskIntents (*.intent.json)
docs/specs/ # Living specs (updated in place)
.imm/state/ — 主动工作; .imm/audit// — 已解决的证据(已跟踪)。docs/plans/*.intent.json 在注册前必须Git-tracked。CONTEXT.md 仅是词汇/导航 - 不是运行时状态源。FAQ
我需要学习所有 6 项技能吗? 不需要。大多数时候,您只需要 /imm-planner(用于计划和注册任务)和 /imm-loop(用于构建和验证任务)。当需要首先明确需求时使用imm-brainstorm,只有在出现特定维修需要时才使用维修技能(imm-pr-fix等)。普通的聊天和简单的编辑根本不需要任何技巧。
如果我在任务中中断或关闭会话会怎样? 状态安全地存储在磁盘上 (.imm/ + TaskIntent)。在 Pi 或 Claude 代码中,只需重新输入 /imm-loop 即可恢复 - 内核投影是权威的。
为什么注册会显示确认对话框? 所有风险级别 (routine/material/critical) 都需要在授予执行权限之前进行明确的人工确认。在 Pi 中,这是一个原生的 TUI 模式对话框;在 Claude 代码中,它是一个原生的 MCP 启发门。它绑定分阶段摘要,以便您准确地看到将跟踪的内容。
QA 失败 - 现在怎么办? QA 返回 rework 或 replan_required。 imm-loop 路由回执行器或 imm-planner 以进行范围更改。无需手动重置。
一项审查发现停止了阻塞——为什么?它被反驳了:新的确定性 QA 证据表明它所命名的接受已通过。反驳与确切的证据绑定在一起,因此当当前修订、意图哈希或差异的证据过时时,该发现会再次被阻止。
它可以在没有我的情况下运行整个计划吗? 仅在您授权的范围内。使用 Initiative slug 确认 start_unattended_batch,运行程序将在一批分支上连续处理已发布的非 critical 子级 - 一旦子级需要人工决策或运行达到预算、授权或提交失败,就立即停车。暂停运行会无限期地等待您:确认对话框和它授予的授权都不会超时。它永远不会推送、打开 PRs 或为您解决用户决策。
我可以在主机之间切换(e.g.Claude 代码中的计划,Pi 中的代码)吗? 可以。 immune-brain 的合约和状态完全存在于存储库的磁盘上,与会话会话分离。您可以利用 Claude Code 进行深入的架构思考和规范规划,然后切换到 Pi 运行 imm-loop 进行代码执行和确定性 QA。中断的任务可以随时在任一主机上恢复。
支持哪些 AI 编码助手? Pi 和 Claude Code 是受支持的主机(Claude Code 版本 >= 2.1.236)。两台主机运行在完全相同的内核权限、保证保证和多技能管道上。
发布
此存储库使用 变更集 进行版本控制和发布。
| 任务 | 命令 |
|---|---|
| 添加变更集 | bunx changeset — 选择凹凸 (patch/minor/major) 并写入摘要 |
| 凹凸版 | bun run changeset:version — 更新 package.json + CHANGELOG.md,然后同步并验证 Claude 插件清单 |
| 发布(本地) | bun run changeset:publish — 验证清单版本,然后发布到 npm(需要 NPM_TOKEN 或 npm login) |
自动流程(推荐):
main → 工作流程打开“版本包”PR。immune-brain-vX.Y.Z。设置:将 NPM_TOKEN (具有发布权限的 npm 访问令牌)添加到 GitHub 存储库机密。工作流程是使用 changesets/action@v1 的 .github/workflows/release.yml。
手动发布(后备):
npm publish --access public # requires npm login / NPM_TOKEN
# or
bun run changeset:publish
该包以 immune-brain(当前版本 3.6.7)的形式发布到 npm,且 publishConfig.access=public 已设置。首次发布后,所有未来的版本都会经历变更集。
请参阅 CHANGELOG.md 和 .changeset/config.json (更改日志:@changesets/changelog-github,存储库:dereknex/immune-brain)。
发展
对于致力于 immune-brain 本身的贡献者:
bun test # full test suite (canonical check is bun test, not tsc)
mise run check-plugin # plugin structure + version
mise run check-dist-sync # generated dist docs sync
runtime/v4_runtime.ts(Bun + TypeScript)。 scripts/下的Python仅供参考。plugins/immune-brain/bin/imm-kernel — 有关完整命令表,请参阅 plugins/immune-brain/README.md。许可证:MIT