AI 编码 Agent 只会写代码?Excalibur 让 Agent 理解整个产品周期
问题的本质
当前主流的 AI 编码 Agent(Claude Code、Codex、Cursor 等)在代码生成能力上已经相当出色——你描述一个功能,它们能快速生成实现代码、通过测试、甚至提交 PR。但这里有一个被忽视的盲区:这些 Agent 只擅长”写代码”这一个环节。
在实际的软件开发中,”写代码”只是产品周期的一个步骤。在此之前需要发现需求(Discovery)——判断这个功能到底值不值得做、是否存在风险;在此之后需要验证、文档、审核、发布、审计——确保代码不仅正确,而且可维护、可追溯、符合团队规范。
现有的 AI 编码 Agent 缺少的正是这些”书立”能力。它们的输出是孤立的代码片段,而不是融入完整产品周期的工程工件。这就引出了一个关键问题:有没有一个 Agent,能够真正理解”从发现到交付”的完整流程?
Excalibur 的答案
Excalibur 是一个开源的 AI 编码 Agent,它的定位不是”又一个代码生成器”,而是面向产品工程师的全周期 AI 代理。官网的一句话概括得很精准:
“Most agents write code. Excalibur knows the whole product cycle — discover, build, verify, ship.”
Excalibur 使用 Apache-2.0 许可证,基于 TypeScript 构建,通过 npm 全局安装后即可使用。它支持 OpenAI 兼容接口(包括 Azure OpenAI)、Anthropic、Ollama 等多种模型提供商,不存在厂商锁定。所有操作本地优先,无需注册账号,API 密钥存储在本地的 ~/.config/excalibur/secrets.env(仅所有者可读)。
五大核心能力
1. 时间旅行(Time Travel)
这是 Excalibur 最独特的设计。每次运行都生成一个不可变的追加式事件日志——你可以像回放视频一样回溯任何步骤,并从任意检查点创建分支继续工作。
npm install -g @excalibur-oss/excalibur cd your-repo && excalibur
在 m-shell(交互式终端)中工作时,任何时候按下 Esc Esc 即可回退到之前的步骤。分支操作从缓存重新执行——只有变更部分需要重新运行,前置步骤免费重放。
这个事件日志不仅是实时视图,还同时是回放、Dashboard 和审计追踪——四者共享同一个数据源。这意味着团队审核、成本追踪、问题排查都基于同一份不可篡改的记录。
2. 发现阶段(Discovery)
这是 Excalibur 与其他 AI 编码 Agent 最本质的区别——在写代码之前,先决定要不要写。
当你提出一个功能需求时,Excalibur 的 Discovery 机制会评估三个维度:
- Scope(范围):这个需求的影响面有多大?涉及哪些模块?
- Evidence(证据):用户真的需要这个功能吗?有数据支持吗?
- Risk(风险):实现成本?兼容性风险?性能影响?
基于评估,它会给出三种推荐:Build(值得做)、Validate(需要进一步验证)、Don’t build yet(先别做)。
对于产品工程师来说,这是一个非常有价值的护栏——它能挡住那些”听起来不错但实际上不值得”的需求,避免团队把时间花在错误的方向上。
excalibur discovery "为搜索功能添加语音输入"
3. 指挥中心(Command Center)
运行 excalibur serve 会在本地启动一个 Web Dashboard,将你的项目以看板形式呈现。它包含运行状态、成本/Token 消耗、以及一个实时 Chronogram(时序图)——你可以暂停、恢复、回溯任意一个运行。
excalibur serve
这个 Dashboard 的特性包括:
- 看板式工作项管理,支持深入查看每个运行的清单、补丁、PR 和计划
- 成本/Token 洞察
- 实时波状/DAG Chronogram
--write参数:从浏览器驱动运行--share参数:生成团队可访问的只读链接
整个 Dashboard 完全本地运行,不依赖任何 SaaS 服务。
4. 多模型支持,无锁定
Excalibur 不是特定模型的壳。它支持:
- OpenAI 兼容接口(包括 Azure OpenAI)
- Anthropic Claude
- Ollama 本地模型
你可以配置一个”强力模型”处理复杂推理,同时配一个”轻量模型”处理辅助任务。通过 /models 命令实时切换。
/models
模型密钥存储在环境变量中,从不写入仓库。
5. 完整产品周期工作流
Excalibur 内置了 14 个工作流,覆盖从 Discover 到 Audit 的全部环节:
Discover → Plan → Build → Test → Document → Review → Ship → Audit
每个工作流都可以通过 YAML 配置覆盖。大任务会自动拆分为子任务,由多个子 Agent 在隔离的 worktree 中并行处理。测试和文档不是”后续补充”——它们是工作流中的正式阶段,有专门的质量门控。
验证阶段使用对抗性的验证网格(Verification Mesh):通过类型断言(tests_passed、type_safe、no_secrets)来验证输出,不达标的步骤不会进入下一阶段。
安全设计
Excalibur 从第一行命令开始就启用了 standard-safe 模式:
- 审批门控:没有你的确认,不会写入、推送或合并任何内容
- 沙箱隔离:默认无网络访问,工作在隔离分支中
- 密钥保护:敏感路径自动拦截,密钥在提示和日志中自动打码
- 透明审计:每个操作都以明文文件保存在
.excalibur/目录下,可被 Git 追踪
.excalibur/ config.yaml # 项目配置 models/providers.yaml # 模型提供商配置(不含密钥) memory/ # 跨运行累积的决策知识 work-items/ # 原生看板(WI-.json) runs/ patches/ plans/ discovery/ reports/ shares/
excalibur init 会自动检测项目中的 CLAUDE.md、AGENTS.md、Cursor 规则、Copilot 指令和 SKILL.md,无需重写现有配置即可继承团队的已有 AI 指令。
实际使用体验
Excalibur 的交互界面称为 m-shell——它不是命令行参数驱动的工具,而是一个自然语言对话终端:
› 为公共 API 添加限流功能,并覆盖测试 ◐ Understand 读取 6 个文件 · 映射 API Gateway ✎ Implement 编辑 src/api/limiter.ts +48 −4 ✓ Test pnpm test → 124 passed ────────────────────────────────────────────── standard-safe · $0.03 · 18s ✓ done
你也可以使用子命令进行一次性操作:
excalibur run "为搜索接口添加分页参数" excalibur ask "这个模块的依赖关系是什么?" excalibur review --diff excalibur swarm "重构认证中间件" excalibur verify
扩展性
Excalibur 提供两层扩展机制:
- 声明式(YAML):工作流、方法论、提问模板、策略、模型路由——全部可通过 YAML 配置,可被 Git 追踪和评审
- 编程式(TypeScript SDK):通过
@excalibur-oss/extension-sdk定制工作项、模型通信、Agent 适配器、工具、上下文源、导出器等
npm install @excalibur-oss/extension-sdk excalibur extensions create tool my-extension
此外,Excalibur 还提供 VS Code / Cursor / Windsurf 扩展,将 Agent 流直接嵌入编辑器,支持原生审批弹窗。
Core 与 Enterprise
Excalibur Core(开源版)包含了上述所有功能,免费且无需账号。Excalibur Enterprise 在相同的事件和工件基础设施上增加了组织控制层:Web Workbench、SSO/RBAC、工作项同步(Linear / Jira)、策略引擎和预算控制、合规包、混合运行器。所有数据保持本地,除非显式连接企业服务。
总结
Excalibur 解决的是 AI 编码 Agent 领域一个真实但容易被忽视的问题:代码生成不等于软件交付。通过将 Discovery、Time Travel、全周期工作流和安全门控整合到一个工具中,它为产品工程师提供了一个比传统 AI 编码 Agent 更完整的开发伴侣。
对于正在使用 Claude Code 或 Codex 且希望引入更多流程管控的团队来说,Excalibur 提供了一个自托管、开源、可扩展的替代方案。安装只需两分钟:
npm install -g @excalibur-oss/excalibur cd your-repo && excalibur
Excalibur 目前处于 Public Beta 阶段,API 和配置可能在 1.0 稳定版前有所变化。
相关链接