主题
后端日志与服务诊断
如果是 500错误,或者 AI 任务卡住不执行,这时候光看浏览器已经没用了。你需要深入后端和系统底层。
1. 区分两类问题
在 智码方舟 中,后端问题分为两类:
- 服务本身的问题:NestJS 主服务报错、数据库连不上。这会导致网站打不开、接口 500。
- AI 任务的问题:服务是好的,但 AI 生成代码的任务失败了(比如 Docker 容器挂了、脚本执行出错)。
2. 排查 AI 任务问题 (Task Debugging)
这是最常见的情况。你发起了一个生成任务,但它不动了或者失败了。
✅ 方法 A:使用任务详情页的日志 (推荐)
- 进入 任务详情页 (Task Detail)。
- 观察顶部的状态栏。
- WebSocket: 必须是绿色连接状态。如果断开,页面无法接收日志。
- 容器状态: 如果显示
dead或exited,说明执行任务的 Docker 容器崩溃了。
- 切换到左侧的 "日志 (Logs)" 视图。
- 这里显示的是容器内部的运行日志。
- 查看是否有报错信息(Error)。
- 如果日志断断续续,可以点击 "下载日志" 获取完整文件进行分析。
✅ 方法 B:检查 Docker 容器 (进阶)
如果任务页没有任何日志,可能是容器根本没启动起来。 在你的电脑终端(Terminal)运行:
bash
# 查看正在运行的容器
docker ps
# 查看所有容器(包括挂掉的)
docker ps -a找到对应任务的容器(通常名字包含 task id),查看它的日志:
bash
docker logs <container_id>3. 排查后端服务问题 (Server Debugging)
如果整个网站都报错(接口 500 或 Connection Refused),说明后端主服务有问题。
✅ 场景一:本地开发 (Local Dev)
如果你是通过 pnpm dev 启动的项目:
- 找到你运行启动命令的那个终端窗口。
- 观察输出日志。后端报错通常会打印出大段的 Error Stack Trace。
- 关键看
File行,定位是哪个文件的哪一行代码出错。
✅ 场景二:Docker 部署
如果你是使用 docker compose up 启动的服务:
bash
# 查看后端服务日志
docker compose logs -f server
# 或者只看最后 100 行
docker compose logs --tail=100 -f server✅ 场景三:数据库问题
很多时候 500 错误是因为数据库连不上。
- 检查日志中是否有
PrismaClientInitializationError或Connection refused。 - 确保你的 Postgres 数据库正在运行。
bash
docker ps | grep postgres4. 终极招数:重启大法
如果实在找不到原因,可以尝试重启相关服务:
bash
# 重启 Docker 部署
docker compose restart
# 或者清除所有容器重来 (慎用,会清空数据如果没挂载卷)
docker compose down
docker compose up -d