Skip to content

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Mar 14:07
· 274 commits to main since this release

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