# AI智能体工作流编排 `AI智能体` `工作流` `编排` `Claude Code` `自动化`
# Babysitter https://a5c.ai --- [![npm version](https://img.shields.io/npm/v/@a5c-ai/babysitter-sdk.svg)](https://www.npmjs.com/package/@a5c-ai/babysitter-sdk) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![GitHub issues](https://img.shields.io/github/issues/a5c-ai/babysitter.svg)](https://github.com/a5c-ai/babysitter/issues) [![GitHub stars](https://img.shields.io/github/stars/a5c-ai/babysitter.svg)](https://github.com/a5c-ai/babysitter/stargazers) > **强制 AI 智能体工作团队服从指令。通过确定性、无幻觉的自我编排管理极其复杂的工作流。** [快速开始](#安装) | [文档](#文档) | [社区](#社区与支持)
--- ## 目录 - [什么是 Babysitter?](#什么是-babysitter) - [前置要求](#前置要求) - [安装](#安装) - [插件](#插件) - [第一步](#第一步) - [快速入门](#快速入门) - [Harness CLI 封装器](#harness-cli-封装器) - [工作原理](#工作原理) - [为什么选择 Babysitter?](#为什么选择-babysitter) - [压缩](#压缩) - [文档](#文档) - [贡献](#贡献) - [社区与支持](#社区与支持) - [许可证](#许可证) --- ## 什么是 Babysitter? Babysitter 强制 AI 智能体工作团队服从指令,使其能够通过确定性、无幻觉的自我编排管理极其复杂的任务和工作流。在代码中定义你的工作流——Babysitter 强制执行每个步骤,确保在推进前通过质量门控,在断点处要求人工审批,并将每个决策记录在不可变的日志中。你的智能体严格按照流程允许的范围执行,不多也不少。 --- ## 前置要求 - **Node.js**:20.0.0+ 版本(推荐 22.x LTS) - **Claude Code**:最新版本([文档](https://code.claude.com/docs/en/quickstart)) - **Git**:用于克隆(可选) --- ## 安装 Babysitter 支持多种 AI 编程框架。为你选择的框架安装对应插件: ### Claude Code(推荐) 原生市场安装: ```bash claude plugin marketplace add a5c-ai/babysitter claude plugin install --scope user babysitter@a5c.ai ``` 重启 Claude Code,然后输入 `/skills` 验证"babysit"是否出现。 [插件 README](plugins/babysitter/README.md) ### Codex CLI(测试版) 克隆本仓库后,在 Codex CLI 中执行: ``` codex > /plugins ``` 导航到"babysitter"条目并选择"安装"。 [插件 README](plugins/babysitter-codex/README.md) ### Cursor IDE 和 CLI(实验性) 通过 Cursor 市场或 npm: ```bash npm install -g @a5c-ai/babysitter-cursor ``` [插件 README](plugins/babysitter-cursor/README.md) ### Gemini CLI(实验性) ```bash npm install -g @a5c-ai/babysitter-gemini babysitter-gemini install --global ``` [插件 README](plugins/babysitter-gemini/README.md) ### GitHub Copilot(实验性) 通过 GitHub Copilot CLI 市场,或: ```bash npm install -g @a5c-ai/babysitter-github ``` [插件 README](plugins/babysitter-github/README.md) ### Pi(实验性) 原生 Pi 插件安装: ```bash pi install npm:@a5c-ai/babysitter-pi ``` [插件 README](plugins/babysitter-pi/README.md) ### Oh-My-Pi(实验性) 原生 omp 插件安装: ```bash omp plugin install @a5c-ai/babysitter-omp ``` [插件 README](plugins/babysitter-omp/README.md) ### OpenCode(实验性) ```bash npm install -g @a5c-ai/babysitter-opencode ``` 安装后脚本会自动将插件复制到 `.opencode/plugins/babysitter/`。 [插件 README](plugins/babysitter-opencode/README.md) ### 内置 Harness(无需 AI 编程智能体) Babysitter 内置了一个**内部 harness**,无需任何外部 AI 编程智能体即可以编程方式运行流程。这对于 CI/CD 管道、脚本、自动化测试和无头编排非常有用: ```bash npm install -g @a5c-ai/babysitter-sdk # 使用内部 harness 运行流程定义 babysitter harness:call --harness internal --process .a5c/processes/my-process.js#process --workspace . # 或运行自由格式的提示 babysitter harness:call --harness internal --prompt "run lint and tests" --workspace . ``` 内部 harness 直接使用 SDK 内置的 Pi 执行引擎。它支持所有功能(编程式、会话绑定、停止钩子、无头提示),无需外部 CLI。 在流程执行期间,内部 harness 可以通过调用器**将任务委派给任何已发现的已安装 harness**。在 `--harness internal` 下运行的流程可以生成通过 Claude Code、Codex、Gemini CLI 或系统上发现的任何其他 harness 执行的子智能体任务——SDK 在运行时发现可用的 harness CLI 并相应地路由任务执行。这意味着你可以从单个无头入口点编排多智能体工作流,不同任务委派给最适合的 harness。 --- ## 插件 Babysitter 有自己的插件系统——其工作方式与你预期的不同。Babysitter 插件不是带有扩展点的代码模块,而是 AI 智能体读取并执行的**一组自然语言指令**(Markdown 文件)或**确定性编码流程**(JS 文件)。SDK 存储、版本管理和分发这些指令,AI 智能体是运行时。 这意味着插件可以做 AI 智能体能做的任何事情:安装 npm 包、生成 CI/CD 管道、设置 git 钩子、创建 Terraform 配置、修改 linter 规则、将 babysitter 流程复制到你的项目中,并在过程中询问你的偏好。 官方市场包含以下类别的插件:**安全**(gitleaks、ESLint 安全规则、审计流程)、**测试**(Vitest/Playwright/pytest 设置、覆盖率门控、TDD 流程)、**部署**(Terraform、Helm、Dockerfile、多环境管道)、**主题**(音效、设计系统、对话个性)、**CI/CD**(GitHub Actions 工作流)和**速率限制**(指数退避钩子)。 要管理插件,在你的 harness 中使用 `/babysitter:plugins` 命令(或从 CLI 使用 `babysitter harness:plugins`)。智能体读取插件的安装说明,询问你的偏好,分析你的项目,并在 babysitter 编排运行中执行设置。 有关安装工作原理、市场格式、创建自己的插件和迁移系统的详细信息,请参阅完整的[插件文档](docs/plugins.md)。 --- ## 第一步 安装后,设置你的环境: ### 1. 配置你的个人资料(一次性) ```bash /babysitter:user-install ``` 这将创建你的个人资料,包含: - 断点偏好(你希望多少监督) - 工具偏好和沟通风格 - 专业领域以更好地匹配流程 ### 2. 设置你的项目 ```bash /babysitter:project-install ``` 这将分析你的代码库并配置: - 项目特定工作流 - 测试框架和 CI/CD 集成 - 技术栈偏好 ### 3. 验证设置 ```bash /babysitter:doctor ``` 运行诊断以确认一切正常。 --- ## 快速入门 ```bash claude "/babysitter:call implement user authentication with TDD" ``` 或用自然语言: ``` Use the babysitter skill to implement user authentication with TDD ``` Claude 将创建一个编排运行,逐步执行任务,处理质量检查和审批,并持续到完成。 ### 选择你的模式 | 模式 | 命令 | 使用场景 | |------|---------|-------------| | **交互式** | `/babysitter:call` | 学习、关键工作流——暂停等待审批 | | **自主式** | `/babysitter:yolo` | 可信任的任务——全自动,无断点 | | **规划式** | `/babysitter:plan` | 执行前审查流程 | | **持续式** | `/babysitter:forever` | 监控、周期性任务——无限运行 | ### 实用命令 | 命令 | 用途 | |---------|----------| | `/babysitter:doctor` | 诊断运行健康状况和问题 | | `/babysitter:observe` | 启动实时监控仪表板 | | `/babysitter:resume` | 继续中断的运行 | | `/babysitter:help` | 文档和使用帮助 | --- ## Harness CLI 封装器 除了会话内技能命令(`/babysitter:call` 等),Babysitter SDK 还提供 `harness:*` CLI 命令,让你从终端创建、运行和管理编排会话。这些命令适用于任何已安装的 harness。 ### 通过 Harness 运行流程 ```bash # 通过 Claude Code 交互式运行流程(在断点处暂停) babysitter harness:call --harness claude-code --prompt "implement user authentication with TDD" --workspace . # 完全自主运行(无断点) babysitter harness:yolo --harness claude-code --prompt "add pagination to the API" --workspace . # 仅规划(在第一阶段后停止) babysitter harness:plan --harness claude-code --prompt "implement feature X" # 使用内部 harness 运行(无需外部 AI 智能体) babysitter harness:call --harness internal --prompt "run lint and tests" --workspace . ``` ### 管理运行 ```bash # 恢复中断的运行 babysitter harness:resume --run-id --harness claude-code --workspace . # 诊断运行健康状况 babysitter harness:doctor --run-id # 分析过去的运行以获取洞察 babysitter harness:retrospect --all --harness claude-code --workspace . # 清理旧运行 babysitter harness:cleanup --keep-days 7 --harness claude-code --workspace . ``` ### Harness 发现 ```bash # 查看系统上安装了哪些 harness CLI babysitter harness:discover # 安装 harness CLI babysitter harness:install claude-code # 安装 harness 插件 babysitter harness:install-plugin claude-code ``` ### 使用 `--harness internal` 进行自动化 `internal` harness 对 CI/CD 和脚本编写特别有用,因为它不需要外部 AI 编程智能体: ```bash # 在 CI 管道或脚本中 babysitter harness:call \ --harness internal \ --process .a5c/processes/lint-and-test.js#process \ --workspace . \ --no-interactive \ --json ``` 它使用 SDK 内置引擎执行流程,支持所有效果类型(任务、断点、休眠、并行分发),并生成与任何其他 harness 相同的事件溯源日志。 --- ## 工作原理 ``` +=============================================================================+ | /babysitter:call | +=============================================================================+ | | | 你的流程(JavaScript) 这是权威来源 | | +----------------------------------------+ | | | async function process(inputs, ctx) { | 真实代码,而非配置。 | | | | 编排器只能执行 | | | await ctx.task(plan, { ... }); | 此代码允许的操作。 | | | | | | | await ctx.breakpoint({ | 断点 = 人工门控 | | | question: 'Approve plan?' | (强制执行,非可选) | | | }); | | | | | | | | await ctx.task(implement, { ... }); | 任务 = 可执行工作 | | | | | | | const score = await ctx.task(verify);| 质量门控 = 代码逻辑 | | | if (score < 80) | (非配置,真实检查) | | | await ctx.task(refine, { ... }); | | | | } | | | +-------------------+--------------------+ | | | | | | 管控 | | v | | +---------------------------------------------------------------------+ | | | 强制执行机制 | | | | | | | | +-------------+ +------------------+ +-----------------+ | | | | | 强制 |---->| 流程检查 |---->| 决策 | | | | | | 停止 | | 流程允许 | | | | | | | | (由钩子 | | 下一步是什么? | | 允许:分配 | | | | | | 强制执行) | | | | 下一个任务 | | | | | +-------------+ +------------------+ | | | | | | | | 阻止:暂停 | | | | | v | 直到通过门控 | | | | | +--------------+ +-----------------+ | | | | | 来自代码的 | | | | | | 门控/任务 | | | | | +--------------+ | | | +---------------------------------------------------------------------+ | | | | | | 记录每个决策 | | v | | +---------------------------------------------------------------------+ | | | 日志:每个任务、门控、决策——不可变、可重放 | | | +---------------------------------------------------------------------+ | | | +=============================================================================+ ``` **与简单迭代的区别:** - **流程即代码:** 你的工作流是 JavaScript——编排器只能执行此代码允许的操作 - **强制停止:** Claude 无法"持续运行"——每个步骤都以强制停止结束,然后由流程决定下一步 - **强制执行,而非辅助:** 门控在满足条件前阻止推进——不是建议,是强制 - **事件溯源日志:** 所有状态存储在 `.a5c/runs/` 中——可从任意点确定性地重放和恢复 --- ## 为什么选择 Babysitter? | 传统方式 | Babysitter | |---------------------|------------| | 运行脚本一次,寄希望于成功 | 流程在完成前强制执行质量门控 | | 通过聊天手动审批 | 带上下文的结构化断点 | | 会话结束后状态丢失 | 事件溯源,完全可恢复 | | 单任务执行 | 并行执行,支持依赖关系 | | 无审计记录 | 所有事件的完整日志 | | 临时工作流 | 确定性、代码定义的流程 | **核心差异化优势:** 流程强制执行、确定性重放、质量收敛、人工断点介入和并行执行。 --- ## 压缩 Babysitter 包含一个 4 层 Token 压缩子系统(内置于 `packages/sdk/`),在真实会话中可将上下文窗口使用量减少 50-67%,同时保持 99% 的事实保留率。 所有压缩钩子由 babysitter 插件**自动注册**——无需手动配置 `settings.json`。安装插件后压缩即自动生效。 ### 工作原理 | 层级 | 钩子 | 引擎 | 内容 | 压缩率 | |---|---|---|---|---| | 1a | userPromptHook | density-filter | 用户提示 | ~29% | | 1b | commandOutputHook | command-compressor | Bash/Shell 输出 | 平均 ~47% | | 2 | sdkContextHook | sentence-extractor | 智能体/任务上下文 | ~87% | | 3 | processLibraryCache | sentence-extractor | 库文件(预缓存) | ~94% | ### 快速切换 ```bash # 禁用所有压缩 export BABYSITTER_COMPRESSION_ENABLED=false # 禁用单个层 babysitter compression:toggle sdkContextHook off # 显示当前有效配置 babysitter compression:config ``` ### 配置文件 编辑 `.a5c/compression.config.json` 以持久化设置(环境变量始终优先): ```json { "enabled": true, "layers": { "userPromptHook": { "enabled": true, "threshold": 500, "keepRatio": 0.78 }, "commandOutputHook": { "enabled": true, "excludeCommands": ["jq", "curl", "docker"] }, "sdkContextHook": { "enabled": true, "targetReduction": 0.15, "minCompressionTokens": 150 }, "processLibraryCache": { "enabled": true, "targetReduction": 0.35, "ttlHours": 24 } } } ``` 使用 `babysitter compression:toggle <层> ` 切换任意层,或使用 `babysitter compression:set ` 设置单个值。 --- ## 文档 ### 入门指南 - [快速入门指南](docs/user-guide/getting-started/quickstart.md) - [初学者教程:REST API](docs/user-guide/tutorials/beginner-rest-api.md) - [最佳实践](docs/user-guide/BEST-PRACTICES.md) ### 功能特性 - [流程库](docs/user-guide/features/process-library.md) - 2000+ 预构建流程 - [流程定义](docs/user-guide/features/process-definitions.md) - [质量收敛](docs/user-guide/features/quality-convergence.md) - [运行恢复](docs/user-guide/features/run-resumption.md) - [日志系统](docs/user-guide/features/journal-system.md) - [最佳实践](docs/user-guide/features/best-practices.md) - [架构概览](docs/user-guide/features/architecture-overview.md) ### 参考资料 - [常见问题](docs/user-guide/reference/faq.md) - [故障排除](docs/user-guide/reference/troubleshooting.md) - [安全性](docs/user-guide/reference/security.md) - [CLI 参考](docs/user-guide/reference/cli-reference.md) --- ## 贡献 我们欢迎贡献!以下是你可以提供帮助的方式: - **报告 Bug**:[GitHub Issues](https://github.com/a5c-ai/babysitter/issues) - **建议功能**:分享你的改进想法 - **提交 Pull Request**:修复 Bug 或添加功能 - **改进文档**:帮助使文档更清晰 详细指南请参阅 [CONTRIBUTING.md](https://github.com/a5c-ai/babysitter/blob/main/CONTRIBUTING.md)。 --- ## 社区与支持 - **Discord**:[加入我们的社区](https://discord.gg/dHGkzxf48a) - **GitHub Issues**:[报告 Bug 或请求功能](https://github.com/a5c-ai/babysitter/issues) - **GitHub Discussions**:[提问和分享想法](https://github.com/a5c-ai/babysitter/discussions) - **npm**:[@a5c-ai/babysitter-sdk](https://www.npmjs.com/package/@a5c-ai/babysitter-sdk) ### 社区工具 | 工具 | 描述 | |------|-------------| | [Observer Dashboard](https://github.com/yoavmayer/babysitter-observer-dashboard) | 并行运行的实时监控 UI | | [Telegram Bot](https://github.com/a5c-ai/claude-code-telegram-bot) | 远程控制会话 | | [vibe-kanban](https://github.com/BloopAI/vibe-kanban) | 并行流程管理 | ### Star 历史 Star History Chart ### 贡献者 --- ## 许可证 本项目采用 **MIT 许可证**。详情请参阅 [LICENSE.md](https://github.com/a5c-ai/babysitter/blob/main/LICENSE.md)。 ---
**由 A5C AI 使用 Claude 构建** [返回顶部](#babysitter)