Jarvis Agent Factory(贾维斯智能体工厂)是一套面向 Claude Code 平台的多智能体配置工程。它不是业务应用代码,而是配置 + 引擎——安装后,Claude Code 获得一套完整的 FSM(有限状态机)编排系统,将软件开发从"手动编码"升级为"编排驱动"。
/jarvis 做一个用户登录,自动启动 13-Gate 工程流水线.jarvis/YYYY-MM-DD/3 步开始:
1. npm i -g jarvis-agent-factory — 安装 CLI(零原生依赖,Node 22.5+ 内置 node:sqlite)
2. jarvis init -y — 一键部署配置 + MCP + 钩子到当前项目
3. 重启 Claude Code → 引擎自动拉起 → 输入 /auto 你的任务 开始使用
/auto——自动检测 12 种任务类型 → 路由最优流水线 → 跳过无关 Gate → 按复杂度分配 Agent。99% 的情况用它就够了。
| 组件 | 职责 |
|---|---|
| MCP stdio 服务 | 通过 MCP 协议与 Claude Code 通信,暴露 46 个编排工具 |
| FSM 闸门引擎 | 强制执行 Gate 序列——跳过/回退一律拒绝 |
| SQLite WAL 数据库 | 会话管理、流水线运行、SSE 事件日志、跨会话持久化 |
| REST API + Web 面板 | 端口 3456,提供看板/Agent 配置/归档/指令列表 |
| SSE 实时推送 | Gate 进度、会话变更、运行状态实时推送到 Web 面板 |
| 模板安装器 CLI | jarvis init/upgrade — Hash 对比增量更新,保护用户自定义 |
指令(Command)是用户交互入口。用户输入 /jarvis 并描述任务,编排者读取指令模板,按模板定义的步骤执行编排。
流水线(Pipeline)是预定义的 Gate 序列。引擎通过 PIPELINE_DEFS 知道每条流水线有哪些 Gate、顺序、是否允许跳转。
闸门(Gate)是 FSM 检查点。编排者调用 gate_check 验证操作权限,通过后 gate_enforce 记录检查点,然后 advance_gate 推进。
Agent spawn在特定 Gate 发生——Gate B1 spawn 架构师,Gate C-impl spawn 实现 Agent。通过 TeamCreate(团队模式)或 Agent 工具(子智能体模式)调度。
技能(Skill)是 Agent 的行为规范。每个 Agent 启动时调用 Skill("behavioral-guidelines") 加载行为准则。
session_join 注册 → pipeline_guide 获取指引 → gate_check 验证权限 → 执行工作 → gate_enforce 确认 → advance_gate 推进 → 重复直到最后 Gate
full / frontend / backend / lite 共用此 Gate 序列。每个 Gate 有严格的操作权限表——引擎强制执行,不可绕过。
| Gate | 阶段 | 做什么 | 允许操作 | 禁止操作 |
|---|---|---|---|---|
| Gate A | 需求 | 需求澄清:产出 REQ-XXX 需求文档,5 维度评分。输出到 .jarvis/YYYY-MM-DD/requirements/ |
read, write_doc | write_code, build, deploy |
| B-DDD | 设计 | 领域驱动分析:识别聚合根/实体/值对象/领域服务 | read, write_doc | write_code, build, deploy |
| B-BDD | 设计 | 行为驱动场景:Gherkin Given/When/Then。纯技术逻辑可跳过 | read, write_doc | write_code, build, deploy |
| B-TDD | 设计 | 测试驱动任务分解:TASK-XXX 映射 REQ-XXX,指定测试策略 | read, write_doc | write_code, build, deploy |
| Gate B1 | 架构 | 架构评审(条件性):spawn 对应架构师,产出评审报告 | read, write_doc, sweep_arch | write_code, build, deploy |
| Gate C | 规划 | planner 产出 parallel_batches 并行任务分组,决定 Team vs Subagent 调度 | read, write_doc, spawn_impl | spawn_test, build, deploy |
| C-impl | 实现 | Team 模式 spawn 多个实现 Agent 并行编码,产出 <TASK-ID>-completion.md |
read, write_code, spawn_impl | spawn_test, build, deploy |
| Gate C1 | 质量 | Lint + Type-check + Build + Deps Audit 全部通过。不通过自动修复 ≤2 轮 | read, lint, build, fix | spawn_impl, deploy, write_code |
| C1.5 | 视觉 | 视觉验证(条件性):截图对比。纯后端/算法任务可跳过 | read, preview, fix | spawn_impl, deploy, write_code |
| Gate C2 | 测试 | Team 模式 spawn 测试 Agent,最多 5 次重试,产出测试报告 | read, spawn_test, fix | spawn_impl, deploy, write_code |
| Gate D | 评审 | Team 模式 spawn 审查 Agent,分级审查报告。修复后重检 ≤2 轮 | read, review, audit, fix | spawn_impl, deploy, write_code |
| Gate E | 发布 | 质量重检 → 版本递增 → CHANGELOG → commit+tag+push → CI 自动发布 | read, deploy, write_doc | write_code, spawn_impl, lint |
gate_check 时比对操作与当前 Gate 的允许列表,不匹配直接拒绝。Gate A 阶段无法写代码,Gate E 阶段无法改实现。这就是"规范驱动、文档驱动的严格工程化流水线"的技术基础。
| 指令 | 流水线 | Gate 序列 | 门数 | 适用场景 |
|---|---|---|---|---|
| /jarvis | full | A→B-DDD→B-BDD→B-TDD→B1→C→C-impl→C1→C1.5→C2→D→E | 13 | 中大型功能开发,全部 Gate 强制执行 |
| /frontend | frontend | 同上,C1.5 视觉验证强制,前端专属 Agent | 13 | 前端开发,React/Vue/Angular |
| /backend | backend | 跳过 C1.5,后端专属 Agent | 11 | 后端开发,API/数据库/业务逻辑 |
| /auto | lite | 支持 gate_jump 跳过无关 Gate,智能路由 | 13 | 日常默认入口,99% 情况用它 |
| /mobile | frontend | 同上,平台感知 Agent 选择(6 平台) | 13 | 移动端/跨端开发 |
| /refactor | refactor | R1(边界)→R2(基线)→R3(重构)→R4(漂移检测)→R5(报告) | 5 | 代码重构,失败自动回滚 |
| /hotfix | hotfix | H0(声明+审批)→H1(最小修复)→H2(验证+回滚)→H3(审计) | 4 | 紧急故障恢复 |
| /migrate | migrate | M1(规则)→M2(迁移)→M3(编译)→M4(Lint修复) | 4 | 框架升级、依赖替换 |
| /evaluate | evaluate | E0(标准)→E1(原型)→E2(指标)→E3(报告) | 4 | 技术选型、方案对比 |
| /debug | debug | D0(信息)→D1(复现)→D2(调试)→D3(诊断)→D4(报告) | 5 | 异常排查、根因定位 |
| /research | research | RS0(课题)→RS1(收集)→RS2(分析)→RS3(验证)→RS4(报告) | 5 | 技术调研、方案研究 |
| /release | release | RL0(环境)→RL1(质量)→RL2(版本)→RL3(发布)→RL4(验证) | 5 | 快速发布 |
| /ask | ask | K0(模式)→K1(收集)→K2(分析)→K3(产出) | 4 | 需求探询 4 模式自适应 |
| /simplify | simplify | S0(分析)→S1(简化)→S2(回归)→S3(报告) | 4 | 代码质量清理 |
| /trace | trace | T0(框架)→T1(假设2-5)→T2(证据)→T3(贝叶斯>70%)→T4(方案) | 5 | 复杂根因因果追踪 |
| /improve | improve | IM0(目标)→IM1(研究)→IM2(计划)→IM3(执行)→IM4(迭代) | 5 | 度量驱动迭代改进 |
不确定用什么指令?对照你的场景选择:
日常用 /auto,中大型用 /jarvis(严格 13 Gate)。
/frontend,C1.5 视觉验证强制,spawn frontend-dev/ui/state-expert。
/backend,跳过 C1.5,spawn backend-dev/api/logic/data + database-architect。
/mobile --platform=android|ios|flutter|expo|react-native|taro 统一入口。
/refactor(5 Gate 安全网),失败自动回滚。
/hotfix(H0-H3 紧急协议),需要审批确认。
/simplify,消除冗余/死代码/过度抽象,失败自动回滚。
简单用 /debug(交互诊断),复杂用 /trace(贝叶斯因果推理)。
/improve,度量驱动迭代。量化目标→研究→计划→执行→评估→迭代。
快速用 /evaluate(原型+指标),深度用 /research(5 阶段分析)。
/ask Interview 模式,Socratic 追问→5 维评分→分析报告+路由建议。
/migrate,M1-M4 迁移流程。定义规则→应用→编译→Lint 修复。
/audit(只读审查)→ /audit-fix(修复闭环),最多 2 轮。
个人用 /release(质量门→CI 自动发布),团队用 /publish(含 PR+审查)。
/test-unit /test-integration /test-e2e /test-perf /test-security 按需选择。
/cancel 中止当前 run。默认保留会话;--leave 离开;--force 紧急清除。
Jarvis 的文档驱动有硬编码的目录规范和引擎强制的时间戳隔离。所有产物存入 .jarvis/YYYY-MM-DD/{subdir}/。
| 目录 | 对应 Gate | 产出内容 |
|---|---|---|
.jarvis/YYYY-MM-DD/requirements/ | Gate A | 需求澄清文档 REQ-XXX |
.jarvis/YYYY-MM-DD/tasks/ | Gate B | DDD/BDD/TDD 任务分解文档 |
.jarvis/YYYY-MM-DD/architecture/ | Gate B1 | 架构评审报告 |
.jarvis/YYYY-MM-DD/plans/ | Gate C | 执行计划(parallel_batches) |
.jarvis/YYYY-MM-DD/implementation/ | Gate C-impl | Agent 实现说明 + 自查报告 |
.jarvis/YYYY-MM-DD/testing/ | Gate C2 | 测试用例 + 测试报告 |
.jarvis/YYYY-MM-DD/review/ | Gate D | 分级审查报告 |
.jarvis/YYYY-MM-DD/shipping/ | Gate E | 发布记录 + 版本日志 |
专业流水线也有对应子目录:refactoring/ hotfix/ migration/ evaluation/ debug/ research/ simplification/ trace/ improvement/
gate_check({ operation: "write_code" }) → 引擎直接拒绝,因为 Gate A 的允许列表里没有 write_code。必须按顺序产出文档、通过 Gate、推进到 C-impl 阶段才能写代码。这就是"规范驱动、文档驱动的严格工程化流水线"。