maestro
本地优先的 AI Agent 工作追踪框架,让每次 Agent 操作都有迹可循
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地优先的 AI Agent 工作追踪框架,让每次 Agent 操作都有迹可循
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨 2 点,你盯着屏幕——上一个 AI Agent 帮你写的 API 认证模块,昨天跑得好好的,今天突然全部 401 了。没有任何记录,没人知道 agent 在哪一步改了什么,甚至没人记得那个 agent 是什么时候跑完的。你只能从头再来。
这是每一位深度使用 AI 编程工具的开发者都经历过的场景。当 Agent 变得强大,它的"失忆症"就成了最大的风险——它不记得自己做过什么,不记得哪些问题被解决了,更不会主动留下可追溯的工作记录。maestro 正是为解决这个问题而生。这是一个用 Rust 编写的本地优先 Agent 工具框架,它的核心哲学只有一个:让 AI Agent 的每一次操作都有迹可循。与其依赖外部服务或云端数据库,maestro 将所有工作记录存储在项目本地 .maestro/ 目录下,以纯文本文件的形式存在——这意味着你随时可以用 Git 管理、diff 对比、甚至直接用文本编辑器查看。## Maestro 是什么:给 AI 编程工具装上"工作日志"
从定位上看,maestro 是一个 Agent Harness(工具架) 框架。它的目标不是替代 Claude Code、Codex 或 OpenCode 这些 Agent 工具,而是叠加在它们之上,提供缺失的结构化工作记忆层。
类比一下:传统开发中,Git 解决了"代码版本谁来改"的问题;maestro 则试图解决"Agent 工作谁来负责"的问题。当你启动一个 Agent 任务,maestro 会自动创建一张 Feature Card(特性卡),记录这个任务的目标、负责人(人还是 Agent)、进度状态,以及最终的验证证明(Proof)。所有这些都存储在本地文件中,不会因为 Agent 会话结束而消失。## 核心能力:三层架构支撑的工作流
maestro 的核心是 Card 模型,一种结构化的工作追踪单元。分为两种主要卡片:
通过父子层级关系(parent 字段),maestro 能还原出完整的工作分解结构(WBS),让 Agent 的每次操作都精准定位到对应的需求上下文。

图1:maestro 的卡片层次模型。Feature Card 统领工作目标,Work Card 记录每次具体操作,两者通过 parent 关系构成完整的工作分解树。### 2. 多 Agent 协调支持
在团队协作场景中,往往需要多个 Agent 同时工作。maestro 提供了 Cross-Agent Coordination(跨 Agent 协调) 机制,确保不同 Agent 的操作不会相互冲突。每个 Agent 在执行任务前需要"认领"(Claim)一个 Work Card,并在完成后提交可验证的证据(Proof)。
图2:maestro 的跨 Agent 协调机制,支持 CLAUDE Code、Codex、OpenCode 等主流 Agent 工具共享同一个工作状态存储。### 3. 裁决账本(Verdict Ledger)
maestro 内置了一个 Verdict Ledger(裁决账本)——每次验证的结果都被记录下来,形成可追溯的决策历史。当某个功能出现回归时,你可以快速定位到上次通过验证的具体环境、代码版本和 Agent 操作序列。
maestro 还提供了 MCP 服务器适配层,允许其他工具通过标准化的 MCP 协议与 maestro 的状态存储交互。这使得它能天然融入现有 Agent 生态——只需配置 MCP 端点,任何支持 MCP 的 Agent 都能读写 maestro 的工作状态。
从代码组织来看,maestro 的架构非常清晰,采用经典的 四层分层:
| 层级 | 路径 | 职责 |
|---|---|---|
interfaces | src/interfaces/ | 适配层:CLI、TUI、MCP、Hooks、Shell |
operations | src/operations/ | 跨领域工作流:init、sync、update、task_verify、harness |
domain | src/domain/ | 核心领域模型:Card、Feature、Task、Harness、Decision、Proof、Run |
foundation | src/foundation/ | 基础设施:路径、Schema、原子写入、哈希、错误处理 |
核心依赖:
maestro 自身采用 Rust 2024 Edition 编写,代码质量要求极为严格——cargo clippy --all-targets -- -D warnings 被固化在构建流程中,所有 lint 错误都会导致编译失败。这保证了即便贡献者众多,代码库也能保持高度一致性。## 上手体验:极简安装,零学习成本
maestro 最大的优点之一是极低的上手门槛。它是一个单文件 Rust 二进制工具,通过 cargo install maestro 或直接下载 GitHub Release 的预编译二进制文件即可完成安装,无需 Docker、不依赖后台服务。
安装后,在任意项目目录下运行 maestro init,即会在当前目录创建 .maestro/ 子目录并初始化工作空间。之后的工作流非常自然:
# 查看当前工作状态
maestro ready
# 启动一个任务
maestro task start <id>
# 完成工作并提交验证
maestro task complete --claim "实现了XXX功能" --proof "测试全部通过"
# 验证任务结果
maestro verify <task-id>
整个工具的设计语言高度统一,CLI 命令语义清晰,没有多余的装饰性功能——每一个命令都对应一个具体的领域行为。## 局限与争议:不完美,但诚实
作为一个新兴的开源项目(目前约 210 颗 GitHub Stars),maestro 的局限性是客观存在的:
1. 生态锁定风险:maestro 的状态存储格式(.maestro/ 目录结构)是专有的。虽然数据以文本形式存在,但解析和迁移需要依赖 maestro 本身,没有标准化的导出格式。
2. 仅支持本地场景:maestro 的"本地优先"设计既是优势也是局限。如果你需要跨机器共享工作状态,或者团队成员在不同机器上工作,目前只能通过 Git 同步——这在多人协作场景下会带来额外的 Git 冲突管理负担。
3. 验证逻辑依赖手工配置:Proof(验证证据)的格式和验收标准需要开发者自行定义。系统提供了结构化框架,但具体的"什么是合格的 Proof"需要团队自行摸索。
4. 相对小众的社区:相比 Claude Code 这样的主流工具,maestro 的用户基数还很小。这意味着文档完善度、插件生态和问题响应速度都还在成长阶段。## 行业意义:一个正在发生的范式转变
maestro 代表的不仅仅是一个工具,更反映了一种正在 AI 编程领域悄然兴起的趋势——Agent 可观测性(Agent Observability)。
随着 Claude Code、Codex、Copilot 等工具从"辅助建议"进化到"自主执行",人类开发者面临的核心挑战从"如何写代码"变成了"如何管理会写代码的 AI"。这个转变要求全新的工程实践:版本控制需要延伸到 Agent 操作记录,代码审查需要覆盖 Agent 的决策逻辑,持续集成需要验证 Agent 的输出质量。
maestro 正是这个方向上的一个重要探索。它用极简的工具哲学(本地优先、单二进制、无服务依赖),回答了"Agent 工作如何持久化"这个核心问题。虽然还远非完美,但它的设计思路值得每一位关注 AI 工程化的开发者关注。