Repository navigation
v2.4.0
v2.4.0 — 用户对话内容追踪
新功能
对话内容追踪 (sproxy admin track)
按用户隔离地记录完整对话内容,支持 Anthropic 和 OpenAI 双路径(非流式 + SSE 流式)捕获。
sproxy admin track enable <username> # 开启追踪
sproxy admin track disable <username> # 关闭追踪
sproxy admin track list # 查看所有被追踪用户
sproxy admin track show <username> # 查看对话记录
sproxy admin track clear <username> # 清除历史记录记录文件存储在 <db_dir>/track/conversations/<username>/*.json,每条记录包含:
| 字段 | 说明 |
|---|---|
request_id |
请求唯一 ID |
username |
用户名 |
timestamp |
请求时间 |
provider |
anthropic / openai |
model |
模型名称 |
messages |
完整请求消息列表 |
response |
助手回复文本 |
input_tokens |
输入 token 数 |
output_tokens |
输出 token 数 |
OpenAI provider 路径推断修复
当 LLMTarget 未配置 provider 字段时,自动从请求路径(/v1/chat/completions)推断 provider,确保 OpenAI 兼容路径的对话内容正确捕获。
文档更新
docs/API.md— 新增sproxy admin track完整 CLI 参考docs/UPGRADE.md— v2.4.0 升级说明(无 DB Schema 变更,直接替换二进制)docs/TROUBLESHOOTING.md— §11 对话追踪问题排查(6 个场景)docs/SECURITY.md— 对话追踪数据隐私指引(文件权限、加密建议、GDPR 说明)README.md— 新增功能条目、CLI 命令、项目结构
升级说明
无数据库 Schema 变更,直接替换二进制即可,零停机升级。
启动后自动创建追踪目录:
<db_dir>/track/
├── users/ # 追踪状态标记文件
└── conversations/ # 按用户分目录的 JSON 对话记录
测试覆盖
- 1,007+ 单元测试,66+ E2E 测试,全部通过(含
-race竞态检测) - 新增
test/e2e/track_e2e_test.go(7 个场景:非流式、流式、未追踪用户、启用/禁用、OpenAI 路径、多用户隔离、字段完整性)
Full Changelog: v2.3.2...v2.4.0
Full Changelog: v2.3.2...v2.4.0