[ PROMPT_NODE_22198 ]
Agents Autogpt 故障排查
[ SKILL_DOCUMENTATION ]
# AutoGPT 故障排查指南
## 安装问题
### Docker compose 失败
**错误**: `Cannot connect to the Docker daemon`
**修复**:
bash
# 启动 Docker 守护进程
sudo systemctl start docker
# 或者在 macOS 上
open -a Docker
# 验证 Docker 是否正在运行
docker ps
**错误**: `Port already in use`
**修复**:
bash
# 查找占用端口的进程
lsof -i :8006
# 终止进程
kill -9
# 或者在 docker-compose.yml 中更改端口
### 数据库迁移失败
**错误**: `Migration failed: relation already exists`
**修复**:
bash
# 重置数据库
docker compose down -v
docker compose up -d db
# 重新运行迁移
cd backend
poetry run prisma migrate reset --force
poetry run prisma migrate deploy
**错误**: `Connection refused to database`
**修复**:
bash
# 检查数据库是否正在运行
docker compose ps db
# 查看数据库日志
docker compose logs db
# 验证 .env 中的 DATABASE_URL
echo $DATABASE_URL
### 前端构建失败
**错误**: `Module not found: Can't resolve '@/components/...'`
**修复**:
bash
# 清除 node_modules 并重新安装
rm -rf node_modules
rm -rf .next
npm install
# 或者使用 pnpm
pnpm install --force
**错误**: `Supabase client not initialized`
**修复**:
bash
# 验证环境变量
cat .env | grep SUPABASE
# 所需变量:
# NEXT_PUBLIC_SUPABASE_URL=http://localhost:8000
# NEXT_PUBLIC_SUPABASE_ANON_KEY=your-key
## 服务问题
### 后端服务无法启动
**错误**: `rest_server exited with code 1`
**诊断**:
bash
# 查看日志
docker compose logs rest_server
# 常见问题:
# - 缺少环境变量
# - 数据库连接失败
# - Redis 连接失败
**修复**:
bash
# 验证所有依赖项是否正在运行
docker compose ps
# 按顺序重启服务
docker compose restart db redis rabbitmq
sleep 10
docker compose restart rest_server executor
### 执行器 (Executor) 不处理任务
**错误**: 任务卡在 QUEUED(队列中)状态
**诊断**:
bash
# 查看执行器日志
docker compose logs executor
# 检查 RabbitMQ 队列
# 访问 http://localhost:15672 (guest/guest)
# 查看队列深度
**修复**:
bash
# 重启执行器
docker compose restart executor
# 如果队列积压,扩展执行器数量
docker compose up -d --scale executor=3
### WebSocket 连接失败
**错误**: `WebSocket connection to 'ws://localhost:8001/ws' failed`
**修复**:
bash
# 检查 WebSocket 服务器是否正在运行
docker compose logs websocket_server
# 验证端口是否可访问
nc -zv localhost 8001
# 检查防火墙规则
sudo ufw allow 8001
## 智能体执行问题
### 智能体卡在运行状态
**诊断**:
bash
# 通过 API 检查执行状态
curl http://localhost:8006/api/v1/executions/{execution_id}
# 查看节点执行日志
docker compose logs executor | grep {execution_id}
**修复**:
python
# 通过 API 取消卡住的执行任务
import requests
response = requests.post(
f"http://localhost:8006/api/v1/executions/{execution_id}/cancel"
)