展示 HN: Agent Office (AI 代理的 Slack) - 类似于 Grok Bot 但更旧
基于 Pi 构建的多代理工作区管理器。协调 AI 编程代理 - 类似于 Claude Code 或 OpenClaw - 具有基于时钟的调度、优先级队列、收件箱 IPC、跨代理文件访问、看门狗监控、主动的 cron 作业、可选的 Docker 沙箱隔离和声明性 YAML 配置。agent-office.mp4 开始使用 尝试这些示例以快速启动。设定项目根目录中的环境变量 .env(不在 Docker 内部 - 主机将它们转发给容器)。基本团队 - PM、编程者和审阅者(使用 GitHub Copilot OAuth,无需 API 密钥):pnpm install cp -r examples/basic-team/ ~ /.agent-office/offices/basic-team/ pnpm dev oauth login github-copilot --office basic-team pnpm dev start --office basic-team --sandbox docker OpenServ 团队 - 点子侦察员、团队领导、代理开发者和令牌启动者:pnpm install cp .env.example .env mkdir -p ~ /.agent-office/offices/openserv-team cp examples/openserv-team/office.yaml ~ /.agent-office/offices/openserv-team/office.yaml pnpm dev start --office openserv-team --sandbox docker OPENAI_API_KEY = WALLET_PRIVATE_KEY = # openserv-labs/skills 代理的 EVM 钱包密钥 特征团队 - 基于 Kanban 板的任务驱动开发:cp -r examples/feature-team/ ~ /.agent-office/offices/feature-team/ pnpm dev start --office feature-team 查看 examples/ 以获取更多详细信息 - 每个示例都有 README 描述设置。目录 架构 快速入门 OAuth 认证 支持的提供商 CLI 命令 在 office.yaml 中使用 OAuth Web UI 认证选择器 多办公室架构 创建一个办公室 办公室配置 心跳 权限 工具 策略层级 自动同步 重新加载 Cron 作业 办公室级 Cron 代理 Cron 工具 任务管理 从 agents.yaml 迁移 沙箱模式 内部处理模式 Docker 沙箱模式 命令 雇佣选项 CLI 标志 执行表面 REST API 端点 代理工具 list_agents message_agent message_user post_channel read_agent_file authenticated_fetch cron_add cron_remove cron_list read_skill skill_search skill_install skill_remove skill_create task_create task_update task_list task_get task_delete 工具架构 提示系统概念 基于时钟的调度器 优先级级别 工作区沙箱 Skills 看门狗 消息持久性 提示检查 成本跟踪 Web UI 端到端示例 项目结构 依赖关系 开发架构 graph TD YAML[office.yaml] --> WS CLI[CLI + Web UI] --> WS[工作区] WS --> SCH[调度器 时钟循环] WS --> BUS[消息总线 收件箱] WS --> WD[看门狗 心跳] WS --> CRON[CronService 调度作业] WS --> TS[任务服务 Kanban 板] WS -->|内部处理| A[代理 A Pi · 工具 · 技能] WS -->|内部处理| B[代理 B Pi · 工具 · 技能] WS -->|Docker 沙箱| HA[主机 API HTTP :13000] HA <-->|HTTP| SA[沙箱 A Docker · Pi · 代理工具] HA <-->|HTTP| SB[沙箱 B Docker · Pi · 代理工具] BUS --> A BUS --> B BUS --> HA 加载 核心流程:office.yaml(自动生成)/ CLI / Web UI / Cron / 代理 cron 工具 / 任务通知 -> 工作区 -> 调度器时钟 -> 排空收件箱 -> 发送至 Pi 代理 -> 代理运行工具 -> 响应流式传输到 UI。每个代理都是一个完整的 Pi 编程代理,具有自己文件系统的工作区、技能和注入工具(message_user、post_channel、message_agent、list_agents、read_agent_file、authenticated_fetch、cron_add、cron_remove、cron_list、task_create、task_update、task_list、task_get、task_delete、read_skill、skill_search、skill_install、skill_remove、skill_create)。调度程序运行一个时钟循环,按优先级为代理提供服务,每个代理每次时钟一个消息,非阻塞。快速入门 pnpm install # 配置 .env cp .env.example .env # 然后填写你的密钥 # 创建一个办公室 pnpm dev office create my-team # 启动(Web UI 会自动启动)pnpm dev start --office my-team # 使用 Docker 沙箱隔离启动 pnpm dev start --office my-team --sandbox docker 使用你提供商 API 密钥创建一个 .env 文件。每个模型都需要其相应的提供商密钥:# 模型 API 密钥(用于使用这些模型的代理)OPENAI_API_KEY = sk-... # 用于 OpenAI 模型(gpt-4o 等)ANTHROPIC_API_KEY = sk-... # 用于 Anthropic 模型(Claude 等)GEMINI_API_KEY = ... # 用于 Google Gemini 模型 XAI_API_KEY = ... # 用于 xAI Grok 模型 # 可选:office.yaml 代理的自定义秘密引用 # MY_GH_TOKEN=ghp_... # 主机环境变量用于 authenticated_fetch 密钥 认证:每个模型都需要凭据。您可以使用 API 密钥(.env)或 OAuth:API 密钥 - 设置在 .env 中(例如 OPENAI_API_KEY=sk-...)。当模型的提供商没有 OAuth 凭据时,必需使用 OAuth - 启动前通过提供商 CLI 进行认证。OAuth token 自动刷新,无需 .env 密钥。# 选项 A:.env 中的 API 密钥 echo " ANTHROPIC_API_KEY=sk-... " >> .env # 选项 B:OAuth 登录(需要安装提供商 CLI) pnpm dev oauth login anthropic --office my-team pnpm dev oauth list --off
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡