Skip to content

feat: 使用 GHCR 镜像并持久化最近 100 条处理日志 - #5

Merged
CoderDoubleflower merged 7 commits into
mainfrom
feat/ghcr-sqlite-logs
Sep 4, 2026
Merged

feat: 使用 GHCR 镜像并持久化最近 100 条处理日志#5
CoderDoubleflower merged 7 commits into
mainfrom
feat/ghcr-sqlite-logs

Conversation

@CoderDoubleflower

Copy link
Copy Markdown
Owner

变更

Docker Compose

  • 删除本地 build: .
  • 直接使用 ghcr.io/coderdoubleflower/sub2apiauditer:latest
  • 启用 pull_policy: always
  • 继续使用 ./data:/data 当前目录持久化
  • 新增 TRACE_DB_PATH=/data/auditer.db

SQLite 日志持久化

  • 最近 100 条已完成处理详情写入 SQLite
  • SQLite 使用 WAL + synchronous=NORMAL
  • 四个关键时间点、阶段耗时、判定、错误、Request ID、模型和输入规模均持久化
  • 不持久化完整 Prompt、API Key 或完整模型输出
  • 启动时从 SQLite 恢复最近 100 条,统计页随之恢复
  • 第 101 条完成记录自动淘汰最旧记录
  • 清空日志同时清空内存和 SQLite

性能策略

  • 请求处理中仍只更新内存 Trace
  • Auditer 把 HTTP 响应完整发送给 sub2api 后,才通过 Starlette BackgroundTask 一次性写 SQLite
  • 不在收到请求/转发/接收 LLM 等每个阶段执行同步磁盘写入
  • 超过 100 个并发中的 Trace 不会因为环形容量被提前删除;优先淘汰已完成记录

其他

  • 版本升级为 1.2.0
  • .env.example 新增 TRACE_DB_PATH
  • README 改为 GHCR 部署流程并说明 SQLite 持久化和数据目录权限
  • 新增 SQLite 恢复、100 条淘汰、清空持久化等测试

Copilot AI lite review requested due to automatic review settings September 4, 2026 03:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@CoderDoubleflower
CoderDoubleflower merged commit be316bb into main Sep 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants