duckbugio/flock

Autonomous AI dev-team bot

Flock – 通过聊天与 AI 驱动的软件开发团队互动

是什么 – Flock 是一个自包含的服务,允许您在自己的服务器上运行一个 Claude-Code 驱动的开发团队。您可以通过聊天应用(Telegram、VK 或简单的纯文本“LO”界面)与团队互动。仅需一条消息,您就可以要求 AI 执行规划、编码、测试、审查并打开一个拉取请求(PR)。每个聊天会话都有独立的隔离工作区和 Git 分支,因此多个用户可以并行运行独立的项目。

为何重要 – 大多数 AI 代码助手只是单次提示工具,返回一个代码片段。Flock 构建了一个 完整的开发流水线(规划者 → 编码者 → 测试者 → 审查者 → 裁决者),在 Docker 内运行,与您的 Git 主机通信,并且甚至可以监控 CI 并在所有测试通过后自动合并。所有这些都在您自己的硬件上运行,仅需一个 Claude Pro/Max 订阅(或 Anthropic API 密钥),避免了按 token 计费的开销。


主要功能(如 README 所述)

功能 作用
聊天驱动的规格 在聊天中编写功能描述;AI 团队将其转化为具体计划和代码。
完整的 CI 流水线 团队创建分支,运行仓库的测试/检查命令,打开 PR,并可自动合并绿色构建。
自主循环 可选循环允许机器人验证自身工作、重新评估目标(/goal)、运行定时任务(/schedule)、监控 CI 状态(ENABLE_CI_WATCH)。
多平台适配器 提供 Telegram 和 VK 的即用型 Docker 镜像;一个轻量级“LO”适配器可用于任何纯文本频道。
会话级隔离 每个聊天会话拥有独立的工作区目录和分支(duck/<chatid>/<slug>),防止交叉干扰,支持并行运行。
Git 主机集成 通过 PAT 支持 GitHub、GitLab 或 Gitea;机器人可轮询 PR 审查评论并将其路由回原始聊天。
可选语音命令 语音消息可被转录(Mistral、OpenAI 或本地)并作为聊天命令处理。
仅 Docker 部署 预构建镜像(ghcr.io/duckbugio/flock-telegramflock-vk)意味着无需编译或 Ansible 即可快速启动。
安全控制 每个会话的成本上限、一个“裁决者”子代理可打破无限循环,以及严格的用户白名单。

快速入门(Telegram 示例)

# 克隆仓库并进入 Telegram 适配器目录
git clone https://github.com/duckbugio/flock
cd flock/adapters/telegram

# 复制示例环境文件并填写四个必需值
cp .env.example .env   # 编辑 .env → 设置 BOT_TOKEN、BOT_USERNAME、ALLOWED_USERS、CLAUDE_CODE_OAUTH_TOKEN(或 ANTHROPIC_API_KEY)

# 启动容器(Docker Compose 会拉取预构建镜像)
docker compose up -d

容器运行后,向 Telegram 上的机器人发送消息,观察其创建分支、运行测试并打开 PR 的过程。


内部工作原理(高层次)

  1. 用户消息 – 您描述一个功能。
  2. 主 Claude – 作为规划者,确认范围。
  3. 子代理planner → coder → tester → reviewer → arbiter 是定义在 core/agents/ 中的 Claude-Code 子代理。
  4. 分支与 PR – 代码提交到名为 duck/<chatid>/<slug> 的分支,并在配置的 Git 主机上打开 PR。
  5. 反馈循环 – 审查评论被轮询回聊天;裁决者可批准、要求修改或中止。
  6. 自主选项 – 运行后验证、目标评估、定时任务、CI 监控和可选自动合并可通过环境变量切换。

典型使用场景

  • 功能开发 – 产品经理可在聊天中描述新端点,接收一个完全测试过的 PR。
  • Bug 修复 – 粘贴 Bug 描述;AI 团队创建修复,运行仓库测试套件,并打开 PR。
  • 无感 CI 监控 – 启用 CI 监控,当构建失败或成功时,机器人通知聊天,可选择自动合并绿色 PR。
  • 定时维护 – 使用 /schedule 运行定期的代码格式化、依赖升级或其他例行任务。

安装与操作说明

  • 前提条件 – Docker Compose、Claude Pro/Max 令牌(或 Anthropic API 密钥)、具有写入权限的 Git 主机 PAT。
  • 支持的传输方式 – Telegram(预构建镜像)、VK(预构建镜像)、可本地构建的通用“LO”适配器。
  • 环境配置 – 大多数设置位于 .env;必需密钥列在 README 表格中。可选功能通过 ENABLE_* 标志切换。
  • 安全性 – 仅 ALLOWED_USERS(或 VK 等效项)中的用户可调用机器人;代理在容器内以非 root 用户运行,并被沙箱限制在工作区目录内。
  • 可扩展性 – 添加新聊天平台只需编写一个轻量级适配器,复用核心代理;仓库包含设计文档(docs/multi-transport-plan.md)。

许可证与贡献

  • 许可证:MIT(参见 LICENSE)。
  • 贡献:遵循标准的 fork-branch-PR 工作流;仓库提供 Taskfile 用于 lint、测试和构建(task linttask teststask build)。
  • 安全披露:通过 SECURITY.md 进行私密报告。

总结:Flock 将 Claude-Code 订阅转化为一个完全自动化、聊天驱动的开发团队,可在您自己的服务器上规划、编码、测试、审查并合并功能,具备强大的隔离性和可选的自主控制能力。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目