claw-empire
Claw-Empire 是一款极具创意的本地优先 AI 代理办公模拟器,它能将您现有的各类 AI 编程助手(如 Claude Code、Gemini CLI、GitHub Copilot 等)整合成一个虚拟的“软件公司”。在这个系统中,您扮演 CEO 的角色,通过一个可爱的像素风办公室界面,直观地指挥和观察这些 AI 员工在不同部门间协作、开会并交付任务。
它主要解决了多模型管理分散、协作流程不透明以及缺乏统一调度界面的痛点。用户无需在多个终端或网页间切换,即可在一个仪表盘上统一管理基于 CLI、OAuth 或 API 连接的不同 AI 代理。其独特的技术亮点在于完全本地化运行,所有数据存储在本地 SQLite 数据库中,不依赖云端,确保了极高的隐私安全性;同时支持让 AI 在隔离的 Git 工作树中自主协作,真实模拟软件开发流程。
这款工具非常适合开发者、技术研究人员以及希望探索多智能体协作模式的极客用户。如果您已经拥有多个 AI 编码工具账号,却苦于无法高效统筹它们的工作流,Claw-Empire 能为您提供一种既有趣又高效的的全新管理范式,让复杂的 AI 编排变得可视化且充满乐趣。
使用场景
某全栈开发者需要同时利用 Claude Code、Gemini CLI 和 GitHub Copilot 多种模型,协作完成一个包含前端重构、后端 API 优化及数据库迁移的复杂微服务项目。
没有 claw-empire 时
- 多终端切换繁琐:开发者需在多个终端窗口间频繁跳转,手动复制粘贴上下文,分别向不同 AI 下达指令,极易造成信息割裂。
- 协作流程断裂:各 AI 助手彼此孤立,无法自动感知其他模型的进度,导致前端代码修改后,后端适配往往滞后或出现接口不匹配。
- 状态监控困难:难以直观掌握哪个任务正在运行、哪个模型卡死或报错,缺乏统一的管理视图来统筹全局进度。
- 隐私与配置负担:管理众多 API Key 和本地 CLI 配置耗时耗力,且担心敏感代码在云端流转,缺乏本地优先的安全保障。
使用 claw-empire 后
- 统一指挥中枢:开发者化身"CEO",在唯一的像素风办公室界面中,即可向连接了 CLI、OAuth 及 API 的所有 AI 员工分发任务,无需切换窗口。
- 自动化部门协作:AI agents 作为虚拟员工在隔离的 Git 工作区自主协作,前端组完成后自动触发后端组进行接口联调,模拟真实公司流水线。
- 可视化透明管控:通过直观的办公室视图,实时看到每个 AI 员工的忙碌状态、会议讨论及交付成果,任务阻塞或异常一目了然。
- 本地私密运行:所有数据与逻辑均在本地机器通过 SQLite 处理,既保留了多模型协同的强大能力,又确保了核心代码绝不外泄。
claw-empire 将分散的 AI 工具整合为一家高效的虚拟软件公司,让开发者从繁琐的调度工作中解放,专注于战略决策。
运行环境要求
- macOS
- Linux
- Windows
未说明
未说明

快速开始
Claw-Empire
从CEO的办公桌指挥你的AI智能体帝国
这是一款本地优先的AI智能体办公模拟器,能够协调命令行工具、OAuth授权以及API对接的服务提供商(包括Claude Code、Codex CLI、Gemini CLI、OpenCode、Kimi Code、GitHub Copilot和Antigravity),将其组织成一个由自主智能体组成的虚拟公司。
快速开始 · AI安装指南 · 发布说明 · OpenClaw集成 · 无需OpenClaw的直接消息 · $命令逻辑 · 功能特性 · 截图 · 技术栈 · CLI服务提供商设置 · Docker部署快速入门 · 安全性
什么是Claw-Empire?
Claw-Empire可以将你通过命令行工具、OAuth授权或直接API密钥连接的AI编码助手,转化为一个完全模拟的虚拟软件公司。你就是CEO,而你的AI智能体则是员工。你可以观察它们跨部门协作、召开会议、完成任务并不断提升——所有这些都通过一个充满魅力的像素风办公室界面呈现出来。
为什么选择Claw-Empire?
- 一个界面,管理多个AI智能体 — 从单一仪表板管理CLI、OAuth和基于API的智能体
- 本地优先且私密 — 所有数据都保存在你的设备上。使用SQLite数据库,无需依赖云端
- 可视化且直观 — 像素风格的办公室视图让AI编排变得有趣且透明
- 真正的自主协作 — 智能体在隔离的Git工作树中工作,参加会议,并产出成果
使用AI进行安装
只需将以下内容粘贴到你的AI编码助手(Claude Code、Codex、Gemini CLI等)中:
按照以下指南安装Claw-Empire: https://github.com/GreenSheep01201/claw-empireAI会自动读取本README文件并完成所有操作。
最新版本(v2.0.4)
Docker部署现已成为官方文档的一部分 - 仓库现在提供了面向生产环境的
Dockerfile、docker-compose.yml、.dockerignore,以及针对容器感知的运行时路径处理。中断运行后,过时的“工作中”智能体可自动恢复 - 生命周期启动和间隔扫描现在会重置那些仍标记为“工作中”但没有正在进行的任务的智能体。
设置 > API现支持官方的直接API预设 - OpenCode Go和Bailian Coding Plan预设会锁定预期的Base URL,立即填充默认模型,并明确刷新和重试行为。
Kimi Code现已全面支持 - Kimi通过CLI执行、提供商标识、技能学习/遗忘流程、提示与技能渲染、视频预生产引导以及提供者感知的模式和运行时检查等方式被集成进来。
API模型分配现从开发包开始,并扩展到已初始化的办公包 -
development仍然是默认基线,而那些已在初始设置中被填充过的办公包也会作为分配目标出现。本地端到端验证更安全、更整洁 -
pnpm run test:e2e现在会在Playwright运行前后重置隔离的运行环境,现有的8810服务器除非你明确选择,否则不会再被重复使用。API文档:
docs/api.md、docs/openapi.json安全策略:
SECURITY.md
办公包配置文件(v2.0.1)
每个办公包应用不同的协作拓扑结构、命名种子和工作流偏向。
| 包名 | 核心关注点 | 代表性结构 |
|---|---|---|
development (DEV) |
默认工程基线,具有向后兼容性 | 规划 / 开发 / 设计 / 质量保证 / DevSecOps / 运维 |
report (RPT) |
结构化报告和文档制作 | 编辑策划、研究引擎、文档设计、审核台 |
web_research_report (WEB) |
来源收集和以引用为基础的事实验证 | 研究策略、爬虫团队、事实核查 |
novel (NOV) |
世界构建、叙事流程和基调一致性 | 世界构建、叙事引擎、角色艺术、基调质量控制 |
video_preprod (VID) |
概念/剧本/镜头列表/剪辑笔记的前期制作 | 前期制作、场景引擎、美术与摄影、剪辑质量控制 |
roleplay (RPG) |
角色对话沉浸感和角色一致性 | 角色策划、对话引擎、舞台美术、角色质量控制 |
截图
|
仪表盘 — 实时 KPI 指标、客服人员排名以及部门状态一目了然
|
看板 — 支持拖拽的任务管理,并可按部门和客服人员筛选
|
|
技能库 — 浏览并分配跨类别的 600 多项客服技能
|
多提供商 CLI — 配置 Claude Code、Codex、Gemini CLI、OpenCode 和 Kimi Code,并选择模型
|
|
OAuth 集成 — 使用加密令牌存储实现 GitHub 和 Google OAuth 的安全集成
|
会议纪要 — 由 AI 生成的会议摘要,支持多轮审核批准
|
|
消息平台集成 — 配置 Telegram、WhatsApp、Discord、Google Chat、Slack、Signal、iMessage 会话,并发送
|
设置 — 配置公司名称、CEO 姓名、默认提供商偏好(CLI/OAuth/API)以及语言偏好
|
|
详细报告 — 完成报告弹出窗口示例、报告历史记录以及某请求的详细报告视图
|
PPT 生成 — 报告请求的 PPT 生成输出示例截图
|
视频输出示例
预览示例片头视频输出:
PPT 示例素材
在审查或扩展报告转 PPT 功能时,请使用以下示例素材: 使用路径:聊天窗口 > 报告请求按钮,然后输入您的请求。
- 文件夹:
docs/reports/Sample_Slides - 示例演示文稿(
.pptx):docs/reports/PPT_Sample.pptx - HTML 幻灯片:
slide-01.html、slide-02.html、slide-03.html、slide-04.html、slide-05.html、slide-06.html、slide-07.html、slide-08.html、slide-09.html - 构建脚本:
build-pptx.mjs、build-pptx.cjs、html2pptx.cjs
功能特性
| 功能 | 描述 |
|---|---|
| 像素风办公室 | 带有动画的办公室场景,员工在6个部门内走动、工作并参加会议 |
| 工作流包配置文件 | 六个内置的工作流包(开发、报告、网络调研报告、小说创作、视频预制作、角色扮演)提供特定于各包的路由规则、质量保证规范和输出模板 |
| 办公室包配置文件 | 每个包范围内的办公室配置会应用专属的部门拓扑结构、命名/主题预设,并为每个包隔离代理和部门数据(数据库支持的开发基线除外) |
| 看板任务板 | 完整的任务生命周期——收件箱、计划中、协作中、进行中、评审中、已完成——支持拖放操作 |
| CEO聊天与指令 | 与团队负责人直接沟通;$指令支持会议选择以及项目路径/上下文路由(project_path、project_context) |
| 多模型支持 | Claude Code、Codex CLI、Gemini CLI、OpenCode、Kimi Code、Antigravity——所有模型均可通过一个仪表盘调用 |
| 外部API提供商 | 通过设置 > API选项卡,将代理连接到外部LLM API(OpenAI、Anthropic、Google、Ollama、OpenRouter、Together、Groq、Cerebras、自定义),并提供OpenCode Go和Bailian Coding Plan的官方预设 |
| OAuth集成 | GitHub与Google OAuth,使用AES加密存储令牌于本地SQLite数据库中 |
| 实时WebSocket | 实时状态更新、活动动态流以及代理状态同步 |
| 活跃代理控制 | 活跃代理监控器,显示进程/活动/空闲元数据,并可对卡住的任务直接终止 |
| 任务报告系统 | 完成弹窗、报告历史记录、团队报告下钻查看以及由规划负责人汇总的归档 |
| 代理管理 | 可招聘、编辑和删除代理,支持多语言名称、角色/部门/模型选择及个性设定字段 |
| 代理排名与经验值 | 代理完成任务后可获得经验值;排名榜追踪表现最佳的代理 |
| 技能库 | 超过600项分类技能(前端、后端、设计、AI、DevOps、安全等),并支持自定义技能上传 |
| 会议系统 | 计划会议和临时会议,配备AI生成的会议纪要和多轮评审 |
| Git工作树隔离 | 每个代理在独立的Git分支中工作,仅在CEO批准后才会合并 |
| 多语言界面 | 英语、韩语、日语、中文——自动检测或手动设置 |
| 消息集成 | Telegram、Discord、Slack等——可通过内置的直接通道会话发送$ CEO指令并接收更新(可选OpenClaw插件) |
| PowerPoint导出 | 根据会议纪要和报告生成演示文稿幻灯片 |
| 连通性质量保证脚本 | 内置test:comm:*脚本,用于CLI/OAuth/API通信验证,具备重试机制和证据日志 |
| 应用内更新通知 | 检查GitHub最新版本,当有新版本可用时,会在顶部显示横幅,并提供针对不同操作系统的git pull指导 |
| 部门管理 | 规划、开发、设计、QA/QC、DevSecOps、运营——设有专门的管理页面,支持通过箭头和拖拽调整排序顺序 |
| 手动分配代理 | 可将特定代理分配至项目;会议和委派会尊重手动选择,同时提供保存前的安全保护,避免出现无人分配或仅指定领导的情况 |
| 精灵图注册安全 | 通过拒绝冲突的上传并返回明确的409 sprite_number_exists响应,防止重复精灵编号文件被覆盖 |
| 自定义技能上传 | 通过UI上传.md技能文件,以自定义技能训练CLI代表,并配有课堂培训动画和管理界面 |
技术栈
| 层次 | 技术 |
|---|---|
| 前端 | React 19 + Vite 7 + Tailwind CSS 4 + TypeScript 5.9 |
| 像素艺术引擎 | PixiJS 8 |
| 后端 | Express 5 + SQLite(零配置嵌入式数据库) |
| 实时通信 | WebSocket (ws) |
| 数据验证 | Zod 4 |
| 图标库 | Lucide React |
| 路由 | React Router 7 |
| 导出功能 | PptxGenJS(PowerPoint 生成) |
本节适用于 AI 编码助手。请按步骤执行,并在进入下一步前运行验证命令。
步骤 0:验证前置条件
# Node.js 22+
node -v
# pnpm(或启用 corepack)
pnpm -v || corepack enable
# git
git --version
步骤 1:克隆并一键安装
git clone https://github.com/GreenSheep01201/claw-empire.git
cd claw-empire
git submodule update --init --recursive
bash install.sh
Windows PowerShell:
git clone https://github.com/GreenSheep01201/claw-empire.git
cd claw-empire
git submodule update --init --recursive
powershell -ExecutionPolicy Bypass -File .\install.ps1
步骤 2:验证安装结果
macOS/Linux:
# 安装完成后应存在的文件
[ -f .env ] && [ -f scripts/setup.mjs ] && echo "setup 文件正常"
# AGENTS 协调规则已安装
grep -R "BEGIN claw-empire orchestration rules" ~/.openclaw/workspace/AGENTS.md AGENTS.md 2>/dev/null || true
grep -R "INBOX_SECRET_DISCOVERY_V2" ~/.openclaw/workspace/AGENTS.md AGENTS.md 2>/dev/null || true
# .env 中的 OpenClaw 邮箱要求
grep -E '^(INBOX_WEBHOOK_SECRET|OPENCLAW_CONFIG)=' .env || true
Windows PowerShell:
if ((Test-Path .\.env) -and (Test-Path .\scripts\setup.mjs)) { "setup 文件正常" }
$agentCandidates = @("$env:USERPROFILE\.openclaw\workspace\AGENTS.md", ".\AGENTS.md")
$agentCandidates | ForEach-Object { if (Test-Path $_) { Select-String -Path $_ -Pattern "BEGIN claw-empire orchestration rules" } }
$agentCandidates | ForEach-Object { if (Test-Path $_) { Select-String -Path $_ -Pattern "INBOX_SECRET_DISCOVERY_V2" } }
# .env 中的 OpenClaw 邮箱要求
Get-Content .\.env | Select-String -Pattern '^(INBOX_WEBHOOK_SECRET|OPENCLAW_CONFIG)='
步骤 3:启动并健康检查
pnpm dev:local
在另一个终端中:
curl -s http://127.0.0.1:8790/healthz
预期输出:{"ok":true,...}
消息通道已在设置界面中配置,并持久化到 SQLite 数据库中(settings.messengerChannels)。.env 文件中的消息令牌/频道变量已不再使用。
步骤 4:可选的消息通道与收件箱验证
curl -s http://127.0.0.1:8790/api/messenger/sessions
此命令将返回保存在设置中的消息会话。
curl -X POST http://127.0.0.1:8790/api/inbox \
-H "content-type: application/json" \
-H "x-inbox-secret: $INBOX_WEBHOOK_SECRET" \
-d '{"source":"telegram","author":"ceo","text":"$README v1.1.6 inbox smoke test","skipPlannedMeeting":true}'
预期结果:
- 当
INBOX_WEBHOOK_SECRET已配置且x-inbox-secret匹配时,返回200。 - 当请求头缺失或不匹配时,返回
401。 - 当服务器未配置
INBOX_WEBHOOK_SECRET时,返回503。
步骤 5:直接设置消息通道(无需 OpenClaw)
您可以在不使用 OpenClaw 的情况下,直接从 Claw-Empire 运行消息通道。
- 打开“设置 > 通道消息”。
- 点击“添加聊天”。
- 选择一个消息平台(Telegram、WhatsApp、Discord、Google Chat、Slack、Signal、iMessage)。
- 填写会话信息:
- 名称(会话标签)
- 消息平台的令牌/凭据
- 频道/聊天 ID(目标)
- 映射的对话代理
- 点击“确认”以立即保存(无需额外的全局保存步骤)。
- 启用该会话,然后进行测试:
- 普通消息 -> 直接代理聊天
$ ...-> 指令流程
注意事项:
- 消息会话会持久化到 SQLite 数据库中(
settings.messengerChannels)。 - 消息令牌在静止状态下使用 AES-256-GCM 加密,密钥为
OAUTH_ENCRYPTION_SECRET(备用为SESSION_SECRET),仅在运行时解密。 .env文件中的消息变量(如TELEGRAM_BOT_TOKEN、DISCORD_BOT_TOKEN等)不再使用。/api/inbox和INBOX_WEBHOOK_SECRET仅用于 Webhook/收件箱流程(包括 OpenClaw 桥接)。
快速入门
Docker 部署(快速入门)
该仓库现已提供面向生产环境的 Docker 默认配置:
- 以非 root 用户身份运行(用户
app,UID/GID 为10001) - 包含必要的 CLI/运行时工具(Git、Bash、OpenSSH 客户端)
- 使用
docker-compose.yml和Dockerfile - 运行时数据持久化至
./data目录(已加入 .gitignore)
1) 准备环境文件
cp .env.example .env.docker
创建 .env.docker.private 文件以存储敏感的运行时密钥(请仅在本地保存此文件):
cat > .env.docker.private <<'EOF'
# 通过兼容端点调用 Claude Code
ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY
EOF
chmod 600 .env.docker.private
.env.docker*文件已被 Git 忽略(.env.*),因此默认不会提交任何密钥。
2) 启动
docker compose up -d --build
3) 验证
docker ps --filter name=claw-empire
docker logs -f claw-empire
访问:http://127.0.0.1:8790
可选:将镜像发布到 GHCR
# 需要具有包写权限的 GitHub Token
echo "<GITHUB_TOKEN_WITH_PACKAGES_WRITE>" | docker login ghcr.io -u <github-user> --password-stdin
docker tag claw-empire-claw-empire:latest ghcr.io/<github-user>/claw-empire:latest
docker push ghcr.io/<github-user>/claw-empire:latest
前置条件
| 工具 | 版本 | 安装 |
|---|---|---|
| Node.js | >= 22 | nodejs.org |
| pnpm | 最新 | corepack enable(内置于 Node.js) |
| Git | 任意 | git-scm.com |
一键设置(推荐)
| 平台 | 命令 |
|---|---|
| macOS / Linux | git clone https://github.com/GreenSheep01201/claw-empire.git && cd claw-empire && bash install.sh |
| Windows (PowerShell) | git clone https://github.com/GreenSheep01201/claw-empire.git; cd claw-empire; powershell -ExecutionPolicy Bypass -File .\install.ps1 |
如果仓库已经克隆:
| 平台 | 命令 |
|---|---|
| macOS / Linux | git submodule update --init --recursive && bash scripts/openclaw-setup.sh |
| Windows (PowerShell) | git submodule update --init --recursive; powershell -ExecutionPolicy Bypass -File .\scripts\openclaw-setup.ps1 |
OpenClaw .env 要求(用于 /api/inbox)
在发送聊天 Webhook 之前,请在 .env 中设置以下两项:
INBOX_WEBHOOK_SECRET=<长随机密钥>OPENCLAW_CONFIG=<openclaw.json 的绝对路径>(建议不加引号)
scripts/openclaw-setup.sh 和 scripts/openclaw-setup.ps1 现在会在缺少 INBOX_WEBHOOK_SECRET 时自动生成该值。
通过 bash install.sh 或 install.ps1 进行的初始安装会自动运行这些设置脚本,因此从第一天起就会应用这些配置。
对于仅执行 git pull 的现有克隆,pnpm dev* 或 pnpm start* 现在会在需要时自动执行一次,并设置 CLAW_MIGRATION_V1_0_5_DONE=1 标志以防止重复执行。
/api/inbox 需要服务器端的 INBOX_WEBHOOK_SECRET,以及一个与之完全匹配的 x-inbox-secret 头部。
- 缺少或不匹配的头部 ->
401 - 服务器配置缺失(
INBOX_WEBHOOK_SECRET)->503
手动设置(备用方案)
macOS / Linux
# 1. 克隆仓库
git clone https://github.com/GreenSheep01201/claw-empire.git
cd claw-empire
# 2. 通过 corepack 启用 pnpm
corepack enable
# 3. 安装依赖
pnpm install
# 4. 创建本地环境文件
cp .env.example .env
# 5. 生成随机加密密钥
node -e "
const fs = require('fs');
const crypto = require('crypto');
const p = '.env';
const content = fs.readFileSync(p, 'utf8');
fs.writeFileSync(p, content.replace('__CHANGE_ME__', crypto.randomBytes(32).toString('hex')));
"
# 6. 设置 AGENTS.md 协调规则(教会你的 AI 助手成为 Claw-Empire 的项目经理)
pnpm setup -- --port 8790
# 7. 启动开发服务器
pnpm dev:local
Windows (PowerShell)
# 1. 克隆仓库
git clone https://github.com/GreenSheep01201/claw-empire.git
cd claw-empire
# 2. 通过 corepack 启用 pnpm
corepack enable
# 3. 安装依赖
pnpm install
# 4. 创建本地环境文件
Copy-Item .env.example .env
# 5. 生成随机加密密钥
node -e "const fs=require('fs');const crypto=require('crypto');const p='.env';const c=fs.readFileSync(p,'utf8');fs.writeFileSync(p,c.replace('__CHANGE_ME__',crypto.randomBytes(32).toString('hex')))"
# 6. 设置 AGENTS.md 协调规则(教会你的 AI 助手成为 Claw-Empire 的项目经理)
pnpm setup -- --port 8790
# 7. 启动开发服务器
pnpm dev:local
打开浏览器:
| URL | 描述 |
|---|---|
http://127.0.0.1:8800 |
前端(Vite 开发服务器) |
http://127.0.0.1:8790/healthz |
API 健康检查 |
AGENTS.md 设置
pnpm setup 命令会将 CEO 指令协调规则 注入到你的 AI 助手的 AGENTS.md 文件中。这会教会你的 AI 编码助手(Claude Code、Codex 等)如何:
- 解读以
$为前缀的 CEO 指令,以便进行优先级任务分配 - 调用 Claw-Empire REST API 来创建任务、分配助手并报告状态
- 在隔离的 Git 工作树中工作,以实现安全的并行开发
# 默认:自动检测 AGENTS.md 位置
pnpm setup
# 自定义路径
pnpm setup -- --agents-path /path/to/your/AGENTS.md
# 自定义端口
pnpm setup -- --port 8790
OpenClaw 集成设置(Telegram/WhatsApp/Discord/Google Chat/Slack/Signal/iMessage)
install.sh 或 install.ps1(或 scripts/openclaw-setup.*)会在可能的情况下自动检测并写入 OPENCLAW_CONFIG。
推荐的 .env 格式:使用 OPENCLAW_CONFIG 的绝对路径(建议不加引号)。
版本 v1.0.5 还会在运行时规范化周围的引号和开头的 ~,以提高兼容性。
默认配置路径:
| 操作系统 | 路径 |
|---|---|
| macOS / Linux | ~/.openclaw/openclaw.json |
| Windows | %USERPROFILE%\.openclaw\openclaw.json |
手动命令:
# macOS / Linux
bash scripts/openclaw-setup.sh --openclaw-config ~/.openclaw/openclaw.json
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File .\scripts\openclaw-setup.ps1 -OpenClawConfig "$env:USERPROFILE\.openclaw\openclaw.json"
验证消息服务会话:
curl -s http://127.0.0.1:8790/api/gateway/targets
$ 命令 -> OpenClaw 聊天委派逻辑
当聊天消息以 $ 开头时,Claw-Empire 会将其视为 CEO 指令:
- 协调器会询问是否先召开团队负责人会议。
- 协调器会请求提供项目路径或上下文(
project_path或project_context)。 - 然后将该指令连同
$前缀及x-inbox-secret头部一起发送至POST /api/inbox。 - 若跳过会议,则需包含
"skipPlannedMeeting": true。 - 服务器会将其存储为指令,并向全公司广播,随后委派给规划部门(以及所提及的相关部门)。
如果缺少或匹配错误 x-inbox-secret,请求将被拒绝,并返回 401 错误。若服务器未配置 INBOX_WEBHOOK_SECRET,请求将被拒绝,并返回 503 错误。
带会议示例:
curl -X POST http://127.0.0.1:8790/api/inbox \
-H "content-type: application/json" \
-H "x-inbox-secret: $INBOX_WEBHOOK_SECRET" \
-d '{"source":"telegram","author":"ceo","text":"$在周五前发布 v0.2,并获得 QA 签核","project_path":"/workspace/my-project"}'
不带会议示例:
curl -X POST http://127.0.0.1:8790/api/inbox \
-H "content-type: application/json" \
-H "x-inbox-secret: $INBOX_WEBHOOK_SECRET" \
-d '{"source":"telegram","author":"ceo","text":"$立即修复生产环境登录 bug","skipPlannedMeeting":true,"project_context":"现有 climpire 项目"}'
环境变量
将 .env.example 文件复制为 .env。所有密钥均保留在本地——切勿提交 .env 文件。
| 变量 | 必需 | 描述 |
|---|---|---|
OAUTH_ENCRYPTION_SECRET |
是 | 使用 AES-256-GCM 对 SQLite 中的 OAuth 令牌和消息通道令牌进行加密 |
SESSION_SECRET |
备用 | 仅在未设置 OAUTH_ENCRYPTION_SECRET 时使用的旧版备用密钥 |
PORT |
否 | 服务器端口(默认:8790) |
HOST |
否 | 绑定地址(默认:127.0.0.1) |
API_AUTH_TOKEN |
推荐 | 用于非环回 API/WebSocket 访问的 Bearer 令牌 |
INBOX_WEBHOOK_SECRET |
对于 /api/inbox 是 |
在 x-inbox-secret 头部中所需的共享密钥 |
OPENCLAW_CONFIG |
推荐用于 OpenClaw | 用于网关目标发现和聊天中继的 openclaw.json 的绝对路径 |
DB_PATH |
否 | SQLite 数据库路径(默认:./claw-empire.sqlite) |
LOGS_DIR |
否 | 日志目录(默认:./logs) |
OAUTH_GITHUB_CLIENT_ID |
否 | GitHub OAuth 应用程序的客户端 ID |
OAUTH_GITHUB_CLIENT_SECRET |
否 | GitHub OAuth 应用程序的客户端密钥 |
OAUTH_GOOGLE_CLIENT_ID |
否 | Google OAuth 客户端 ID |
OAUTH_GOOGLE_CLIENT_SECRET |
否 | Google OAuth 客户端密钥 |
OPENAI_API_KEY |
否 | OpenAI API 密钥(用于 Codex) |
REVIEW_MEETING_ONESHOT_TIMEOUT_MS |
否 | 一次性会议超时时间,单位为毫秒(默认 65000;向后兼容:值 <= 600 被视为秒) |
UPDATE_CHECK_ENABLED |
否 | 启用应用内更新检查提示栏(默认为 1,设为 0 则禁用) |
UPDATE_CHECK_REPO |
否 | 用于更新检查的 GitHub 仓库 slug(默认:GreenSheep01201/claw-empire) |
UPDATE_CHECK_TTL_MS |
否 | 更新检查缓存的 TTL,单位为毫秒(默认:1800000) |
UPDATE_CHECK_TIMEOUT_MS |
否 | GitHub 请求超时时间,单位为毫秒(默认:4000) |
AUTO_UPDATE_ENABLED |
否 | 当 settings.autoUpdateEnabled 缺失时的默认自动更新值(默认为 0) |
AUTO_UPDATE_CHANNEL |
否 | 允许的更新渠道:patch(默认)、minor、all |
AUTO_UPDATE_IDLE_ONLY |
否 | 仅在没有 in_progress 任务或活动的 CLI 进程时应用(默认为 1) |
AUTO_UPDATE_CHECK_INTERVAL_MS |
否 | 自动更新检查间隔,单位为毫秒(默认遵循 UPDATE_CHECK_TTL_MS) |
AUTO_UPDATE_INITIAL_DELAY_MS |
否 | 启动后首次自动更新检查前的延迟时间(默认 60000,最小 60000) |
AUTO_UPDATE_TARGET_BRANCH |
否 | 用于分支保护和 git fetch/pull 目标的分支名称(默认为 main) |
AUTO_UPDATE_GIT_FETCH_TIMEOUT_MS |
否 | 更新应用过程中 git fetch 的超时时间(默认为 120000) |
AUTO_UPDATE_GIT_PULL_TIMEOUT_MS |
否 | 更新应用过程中 git pull --ff-only 的超时时间(默认为 180000) |
AUTO_UPDATE_INSTALL_TIMEOUT_MS |
否 | 更新应用过程中 pnpm install --frozen-lockfile 的超时时间(默认为 300000) |
AUTO_UPDATE_COMMAND_OUTPUT_MAX_CHARS |
否 | 在尾部截断之前,每个 stdout/stderr 流的最大内存捕获大小(默认为 200000) |
AUTO_UPDATE_TOTAL_TIMEOUT_MS |
否 | 单次应用运行的全局超时上限(默认为 900000) |
AUTO_UPDATE_RESTART_MODE |
否 | 自动应用后的重启策略:notify(默认)、exit、command |
AUTO_UPDATE_EXIT_DELAY_MS |
否 | 在 exit 模式下进程退出前的延迟时间(默认为 10000,最小为 1200) |
AUTO_UPDATE_RESTART_COMMAND |
否 | 当重启模式为 command 时使用的可执行文件及参数(拒绝使用 Shell 元字符和直接启动 Shell 的工具;以服务器权限运行) |
当 API_AUTH_TOKEN 被启用时,远程浏览器客户端会在运行时输入该令牌。该令牌仅存储在 sessionStorage 中,并不会嵌入到 Vite 构建产物中。
对于 OPENCLAW_CONFIG,建议使用绝对路径。在 v1.0.5 版本中,带引号的值和开头的 ~ 会被自动规范化。
运行模式
# 开发模式(仅限本地,推荐)
pnpm dev:local # 绑定到 127.0.0.1
# 开发模式(可被网络访问)
pnpm dev # 绑定到 0.0.0.0
# 生产环境构建
pnpm build # TypeScript 检查 + Vite 构建
pnpm start # 启动 API/后端服务器(以生产模式提供 dist 目录)
# 健康检查
curl -fsS http://127.0.0.1:8790/healthz
CI 验证(当前 PR 流水线)
每次提交拉取请求时,.github/workflows/ci.yml 流水线会执行以下步骤:
- 隐藏/双向 Unicode 检查,用于保护工作流文件
pnpm install --frozen-lockfilepnpm run format:checkpnpm run lintpnpm exec playwright install --with-depspnpm run test:ci(包括test:web --coverage、test:api --coverage和test:e2e)
注意:pnpm run test:e2e 现在会启动一个独立的 .tmp/e2e-runtime 数据库,并在测试结束后将其清空。只有当你有意重复利用已运行的本地服务器(端口 8810)时,才应设置 PW_REUSE_EXISTING_SERVER=1。
推荐的本地预 PR 检查流程如下:
pnpm run format:check
pnpm run lint
pnpm run build
pnpm run test:ci
通信模块 QA 检查(v1.1.6)
# 单项检查
pnpm run test:comm:llm
pnpm run test:comm:oauth
pnpm run test:comm:api
# 集成套件(也可通过旧版入口点访问)
pnpm run test:comm:suite
pnpm run test:comm-status
test:comm:suite 会将机器可读的证据写入 logs/ 目录,并生成一份 Markdown 格式的报告存放在 docs/ 目录下。
项目路径 QA 烟囱测试(v1.1.6)
# 需要 API 认证令牌
QA_API_AUTH_TOKEN="<API_AUTH_TOKEN>" pnpm run test:qa:project-path
test:qa:project-path 会验证路径辅助接口、项目创建流程、project_path 重复冲突响应以及清理行为。
应用内更新提示栏
当 GitHub 上发布了一个新版本时,Claw-Empire 会在 UI 的顶部显示一条提示栏,其中包含拉取代码的说明和发布说明链接。
- Windows PowerShell:
git pull; pnpm install - macOS/Linux shell:
git pull && pnpm install - 拉取并安装完成后,请重启服务器。
自动更新功能(安全模式,需手动开启)
你可以启用保守的自动更新行为来同步最新版本。
GET /api/update-auto-status— 当前自动更新的运行/配置状态(需要认证)POST /api/update-auto-config— 更新运行时的自动更新开关状态(enabled),无需重启(需要认证)POST /api/update-apply— 按需执行更新流程(支持dry_run、force和force_confirm参数,需要认证)force=true会绕过大多数安全防护机制,因此必须同时设置force_confirm=truedirty_worktree和channel_check_unavailable等防护机制不可绕过,仍会阻止更新应用- 无论自动还是手动更新,都会应用重启模式(
notify|exit|command) - 在
notify模式下,成功应用更新时会包含manual_restart_required的原因
默认情况下,此功能处于关闭状态(OFF)。启用后,如果服务器繁忙或仓库状态不符合干净的快进条件,安全模式下的防护机制将会阻止更新。
如果 AUTO_UPDATE_CHANNEL 的值无效,服务器会记录警告信息,并回退到 patch 分支。
故障排除:git_pull_failed / 本地分支分歧
如果应用结果返回 error: "git_pull_failed"(或 git_fetch_failed),并且 result.reasons 中包含 manual_recovery_may_be_required,则可能需要人工干预。
- 通过
GET /api/update-auto-status查看最新的应用结果(runtime.last_result和runtime.last_error)。 - 在服务器仓库中检查分支分歧:
git fetch origin maingit statusgit log --oneline --decorate --graph --max-count 20 --all
- 将仓库状态调整为可以干净快进的状态(例如,变基本地提交或将本地分支重置为
origin/main,具体操作取决于你的策略)。 - 再次执行
POST /api/update-apply(可先尝试{"dry_run": true})。
自动更新循环会按照设定的时间间隔持续运行,并在仓库恢复到安全状态后,在后续周期中再次尝试更新。
⚠️ AUTO_UPDATE_RESTART_COMMAND 是以服务器权限执行的特权操作。命令解析器会拒绝所有 Shell 元字符(;、|、&、`、$、<、>),并阻止直接调用 Shell 解释器(如 sh、bash、zsh、cmd、powershell、pwsh 等)。请仅使用纯可执行文件加固定参数格式,不得使用 Shell 或解释器包装,也不得动态构造输入。
提供商设置(CLI / OAuth / API)
官方 API 预设
在 设置 > API 选项卡中,现在包含四个官方的直接 API 预设:
OpenCode Go (OpenAI)->https://opencode.ai/zen/go/v1OpenCode Go (Anthropic)->https://opencode.ai/zen/go/v1Bailian 编码计划 (OpenAI)->https://coding-intl.dashscope.aliyuncs.com/v1Bailian 编码计划 (Anthropic)->https://coding-intl.dashscope.aliyuncs.com/apps/anthropic
注意事项:
- Bailian 编码计划的 API 密钥必须以
sk-sp-开头。 - 这些预设会立即填充回退模型列表,以便在实时
/models发现不可用或不完整时也能分配代理。 - 分配模态框默认使用
development作为基准,并且还包括已完成初始设置并已加载到运行时状态中的办公套件。 - 直接 API 预设使用提供商端点的模型 ID,例如
glm-5、kimi-k2.5和minimax-m2.5。它们 不 使用 OpenCode CLI 的模型 ID,如opencode-go/<model-id>。 - Bailian 编码计划的密钥适用于交互式编码工具流程。请在其他环境中重复使用这些密钥之前,先查阅提供商的相关文档。
Claw-Empire 支持三种提供商接入方式:
- CLI 工具 — 安装本地编码 CLI 并通过本地进程运行任务
- OAuth 账户 — 通过安全的令牌交换连接支持的提供商(例如 GitHub/Google 支持的流程)
- 直接 API 密钥 — 在 设置 > API 中将代理绑定到外部 LLM API。
对于 CLI 模式,至少需要安装以下其中之一:
| 提供商 | 安装 | 认证 |
|---|---|---|
| Claude Code | npm i -g @anthropic-ai/claude-code |
claude(按照提示操作) |
| Codex CLI | npm i -g @openai/codex |
在 .env 文件中设置 OPENAI_API_KEY |
| Gemini CLI | npm i -g @google/gemini-cli |
通过设置面板进行 OAuth |
| OpenCode | npm i -g opencode |
提供商特定的方式 |
| Kimi Code | uv tool install --python 3.13 kimi-cli |
kimi auth login |
请在应用内的 设置 > CLI 工具 面板中配置提供商和模型。
或者,您也可以通过 设置 > API 选项卡将代理连接到外部 LLM API(无需安装 CLI)。API 密钥以加密形式(AES-256-GCM)存储在本地 SQLite 数据库中,而不是存储在 .env 文件或源代码中。
目前,技能学习/遗忘自动化功能专为支持 CLI 的提供商设计。
项目结构
claw-empire/
├── .github/
│ └── workflows/
│ └── ci.yml # PR CI(Unicode 检查、格式化、lint、测试)
├── server/
│ ├── index.ts # 后端入口文件
│ ├── server-main.ts # 运行时配置/引导
│ ├── modules/ # 路由/工作流/引导生命周期
│ ├── test/ # 后端测试设置/辅助工具
│ └── vitest.config.ts # 后端单元测试配置
├── src/
│ ├── app/ # 应用外壳、布局、状态编排
│ ├── api/ # 前端 API 模块
│ ├── components/ # UI(办公/任务板/聊天/设置)
│ ├── hooks/ # 轮询/WebSocket 钩子
│ ├── test/ # 前端测试设置
│ ├── types/ # 前端类型定义
│ ├── App.tsx
│ ├── api.ts
│ └── i18n.ts
├── tests/
│ └── e2e/ # Playwright 端到端场景
├── public/sprites/ # 像素风代理精灵图
├── scripts/
│ ├── setup.mjs # 环境/引导设置
│ ├── auto-apply-v1.0.5.mjs # 启动迁移辅助工具
│ ├── openclaw-setup.sh # 一键设置(macOS/Linux)
│ ├── openclaw-setup.ps1 # 一键设置(Windows PowerShell)
│ ├── prepare-e2e-runtime.mjs
│ ├── preflight-public.sh # 发布前的安全检查
│ └── generate-architecture-report.mjs
├── install.sh # scripts/openclaw-setup.sh 的封装脚本
├── install.ps1 # scripts/openclaw-setup.ps1 的封装脚本
├── docs/ # 设计与架构文档
├── AGENTS.md # 本地代理/编排规则
├── CONTRIBUTING.md # 分支/PR/评审政策
├── eslint.config.mjs # 扁平化 ESLint 配置
├── .env.example # 环境变量模板
└── package.json
安全性
Claw-Empire 在设计时充分考虑了安全性:
- 本地优先架构 — 所有数据均存储在本地 SQLite 数据库中,无需依赖外部云服务。
- 加密的 OAuth + 消息传递令牌 — 用户特定的 OAuth 令牌和直接消息通道令牌仅存储在服务器端的 SQLite 数据库中,并使用 AES-256-GCM 加密保存,密钥为
OAUTH_ENCRYPTION_SECRET(备用为SESSION_SECRET)。浏览器永远不会收到刷新令牌。 - 内置 OAuth 客户端 ID — 源代码中嵌入的 GitHub 和 Google OAuth 客户端 ID/密钥是 公共 OAuth 应用凭证,而非用户机密。根据 Google 的文档,针对已安装/桌面应用的客户端密钥“并不被视为机密”。这是开源应用的标准做法(VS Code、Thunderbird、GitHub CLI 等)。这些凭证仅用于识别应用本身——您的个人令牌始终单独加密存储。
- 源代码中不存储个人凭证 — 所有用户特定的令牌(GitHub、Google OAuth)均以加密形式存储在本地 SQLite 数据库中,绝不会出现在源代码中。
- 仓库中无敏感信息 — 全面的
.gitignore文件会阻止.env、*.pem、*.key、credentials.json等文件被提交到版本库。 - 发布前安全检查 — 在任何公开发布之前,请运行
pnpm run preflight:public,以扫描工作树和 Git 历史中是否存在泄露的密钥。 - 默认仅限本地访问 — 开发服务器绑定到
127.0.0.1,不会暴露于网络。
API 文档与安全快速链接
- API 文档 — 使用
docs/api.md查看端点概览和使用说明,使用docs/openapi.json进行模式/工具集成。 - 安全策略 — 请查看
SECURITY.md了解披露和政策详情,并在公开发布前运行pnpm run preflight:public。
贡献
欢迎贡献!请按照以下步骤操作:
- 克隆仓库并创建分支
- 从
dev分支创建特性分支(git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m '添加超赞功能') - 在提交 Pull Request 之前,请在本地运行以下检查:
pnpm run format:checkpnpm run lintpnpm run buildpnpm run test:ci
- 推送您的分支(
git push origin feature/amazing-feature) - 向
dev分支(贡献者的默认集成分支)发起 Pull Request - 仅在维护者批准的紧急修复时使用
main分支,随后将main合并回dev
完整政策:CONTRIBUTING.md
许可证
Apache 2.0 — 适用于个人和商业用途,免费。
用像素与热情打造。
Claw-Empire — AI 代理的工作之地。
版本历史
v1.1.92026/02/23v1.1.82026/02/23v1.1.72026/02/23v1.1.62026/02/22v1.1.52026/02/22v1.1.42026/02/22v1.1.32026/02/21v1.1.22026/02/21v1.1.12026/02/21v1.1.02026/02/21v1.0.92026/02/20v2.0.42026/03/12v2.0.32026/03/07v2.0.22026/03/07v2.0.12026/03/03v2.0.02026/03/02v1.2.32026/02/27v1.2.22026/02/26v1.2.12026/02/26v1.2.02026/02/25常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。