介绍
# Agent Zero Bridge
在 Clawdbot 和 [Agent Zero](https://github.com/frdel/agent-zero) 之间进行双向通信。
## 使用场景
- 需要迭代/自我修正的复杂编程任务 - 长时间运行的构建、测试或基础架构工作 - 需要持久 Docker 执行环境的任务 - 包含大量连续工具调用的研究 - 用户明确要求使用 Agent Zero
## 设置(仅需一次)
### 1. 先决条件 - Node.js 18+(用于内置的 fetch) - Agent Zero 正在运行(推荐使用 Docker,端口 50001) - 启用了 HTTP 端点的 Clawdbot 网关
### 2. 安装 ```bash # Copy skill to Clawdbot skills directory cp -r <this-skill-folder> ~/.clawdbot/skills/agent-zero-bridge
# Create config from template cd ~/.clawdbot/skills/agent-zero-bridge cp .env.example .env ```
### 3. 配置 .env ```env # Agent Zero (get token from A0 settings or calculate from runtime ID) A0_API_URL=http://127.0.0.1:50001 A0_API_KEY=your_agent_zero_token
# Clawdbot Gateway CLAWDBOT_API_URL=http://127.0.0.1:18789 CLAWDBOT_API_TOKEN=your_gateway_token
# For Docker containers reaching host (use your machine's LAN IP) CLAWDBOT_API_URL_DOCKER=http://192.168.1.x:18789 ```
### 4. 获取 Agent Zero Token ```python # Calculate from A0's runtime ID import hashlib, base64 runtime_id = "your_A0_PERSISTENT_RUNTIME_ID" # from A0's .env hash_bytes = hashlib.sha256(f"{runtime_id}::".encode()).digest() token = base64.urlsafe_b64encode(hash_bytes).decode().replace("=", "")[:16] print(token) ```
### 5. 启用 Clawdbot 网关端点 添加到 `~/.clawdbot/clawdbot.json`: ```json { "gateway": { "bind": "0.0.0.0", "auth": { "mode": "token", "token": "your_token" }, "http": { "endpoints": { "chatCompletions": { "enabled": true } } } } } ``` 然后:`clawdbot gateway restart`
### 6. 将客户端部署到 Agent Zero 容器 ```bash docker exec <container> mkdir -p /a0/bridge/lib docker cp scripts/lib/. <container>:/a0/bridge/lib/ docker cp scripts/clawdbot_client.js <container>:/a0/bridge/ docker cp .env <container>:/a0/bridge/ docker exec <container> sh -c 'echo "DOCKER_CONTAINER=true" >> /a0/bridge/.env' ```
## 使用方法
### 向 Agent Zero 发送任务 ```bash node scripts/a0_client.js "Build a REST API with JWT authentication" node scripts/a0_client.js "Review this code" --attach ./file.py node scripts/a0_client.js "New task" --new # Start fresh conversation ```
### 检查状态 ```bash node scripts/a0_client.js status node scripts/a0_client.js history node scripts/a0_client.js reset # Clear conversation ```
### 任务分解(创建可跟踪项目) ```bash node scripts/task_breakdown.js "Build e-commerce platform" # Creates notebook/tasks/projects/<name>.md with checkable steps ```
### 从 Agent Zero 到 Clawdbot 在 A0 容器内: ```bash # Report progress node /a0/bridge/clawdbot_client.js notify "Working on step 3..."
# Ask for input node /a0/bridge/clawdbot_client.js "Should I use PostgreSQL or SQLite?"
# Invoke Clawdbot tool node /a0/bridge/clawdbot_client.js tool web_search '{"query":"Node.js best practices"}' ```
## 故障排除
| 错误 | 修复方法 | |-------|--------| | 401 / API key 错误 | 检查 A0_API_KEY 是否与 Agent Zero 的 mcp_server_token 匹配 | | 来自 Docker 的连接被拒绝 | 在 CLAWDBOT_API_URL_DOCKER 中使用主机局域网 IP,确保网关绑定到 0.0.0.0 | | A0 500 错误 | 检查 Agent Zero 的 LLM API 密钥(Gemini/OpenAI)是否有效 |