Skip to content

v2.39.0 — 模型级费用估算 + Codex SQLite 日志维护 + 配置保存加固

Choose a tag to compare

@aipayim aipayim released this 31 Jul 12:12

v2.39.0 (2026-07-31)

模型级费用估算 + Codex SQLite 日志维护 + 配置保存加固

💰 模型级费用估算 (modelPricing)

  • 系统配置新增按模型定价规则数组:可对最终转发的精确模型名分别设置输入/输出单价与 bytesPerToken(最多 50 条,模型名最长 80 字符,未命中回退全局 prices/bytesPerToken
  • 每个请求在开始转发时冻结匹配的价格规则;之后保存新规则只影响新请求,不回算进行中长流或已写入统计/趋势/历史日志的费用
  • 不配置时行为与旧版本完全一致

🗄 Codex SQLite 日志维护(可选)

  • 系统配置新增开关/路径检测/容量阈值(默认 2048 MiB)/保留时长(默认 12h)/检查周期(默认 15min)/立即检查
  • 启用保存前复验当前用户 ~/.codex/ 下的常规 logs*.sqlite 文件与 logs(id, ts) 结构;支持 \\\\wsl.localhost\\发行版\\... / \\\\wsl$\\发行版\\... 自动转换为 WSL 内部路径;拒绝符号链接、-wal/-shm~/.codex/ 外文件
  • 后台独立进程以 Python 3 标准库 sqlite3 限量短事务(每轮最多 5×1000 行)删除过期行,忙时 1s 让步并下周期重试;不重启代理/watchdog/Codex CLI,不主动 VACUUM、checkpoint 或删除 WAL/SHM
  • 新增 /__codex-log-maintenance/check/__codex-log-maintenance/run 接口;Release 包含 codex-sqlite-log-maintainer.py 运行 helper

🔧 配置保存加固

  • config.json 保存改为串行队列 + 随机后缀临时文件原子写入,失败不阻塞后续保存

其他

  • npm test 扩展至 9 项回归测试(新增 config 持久化、模型定价、SQLite 维护,全部 PASS)
  • 移除误跟踪的运行时文件 config.json/keys.json/state.json(保留本地文件,GitHub 源码仓库不再跟踪)

完整变更见 README 更新日志。