ACG 文档

故障排查

常见问题及修复方法。

"agent 发了请求但 dashboard 是空的"

先确认你的 agent 真的打到了代理,而不是直连上游 provider。最简单:curl http://localhost:8080/v1/models,应该返回 .env 里配置的模型列表。

如果请求到了代理但没被记录,最常见的原因是缺 x-acg-project header。没有 project 标签的请求仍会被记录,但落到"未打标"分桶,dashboard 默认隐藏。在项目选择器里勾选"显示未打标"。

"我的 agent 跑一半被 auto-stop 拦了"

这是网关在按设计工作。两个选项:

  1. 在 dashboard 给这个 project 提高预算,新上限立即生效。
  2. 关掉这个 project 的 auto-stop,只用告警。项目列表的 auto-stop 列有一键开关。

我们不推荐全局关掉 auto-stop。"拦下请求而不是醒来看到 $500 账单"是默认值,也是正确的。

"上游 provider 返 401"

ai-cost-gate 用你在 .env 里设的 upstream credential 转发 Authorization header,不是你 client 发的那个。看到 401:

  • 检查 UPSTREAM_OPENAI_API_KEY 设了且以 sk- 开头。
  • 确认 key 能访问你请求的模型。有些模型需要特定 project 或 org。
  • 上游状态:https://status.openai.com/

"SQLite database is locked"

同一时间只有一个进程能写 SQLite 文件。出现这个,说明你有两个 ai-cost-gate 实例指向同一个文件。停一个。

"我访问不到 dashboard"

默认监听 0.0.0.0:3000。访问不到的话:

  • 检查 LISTEN_HOSTLISTEN_PORT
  • Docker 后面的话,确认 -p 3000:3000 设了。
  • nginx/Caddy 后面,看反向代理日志的具体错误。

"dashboard 很慢"

几乎都是 generation_history 表太大了。跑内置清理:

docker exec ai-cost-gate aicg cleanup --older-than 30d

会删掉 30 天前的请求行。attribution 里的成本合计保留。

On this page