Commit Graph

  • 0e10f0bbde feat: 余额预扣 reserve/capture、冷却兜底重试、Prometheus /metrics main Sakurasan 2026-11-09 01:04:40 +08:00
  • b2e500ff51 feat: 金额 decimal 精确计费、failover 按失败类型封顶、渠道小时桶预聚合、分层守护测试 Sakurasan 2026-11-09 00:41:48 +08:00
  • 5d6e5bdb04 feat: 主密钥诊断与迁移命令;空/占位主密钥启动警告 Sakurasan 2026-11-08 23:12:17 +08:00
  • 531a03c836 perf: 流式错误判定预过滤、再减一个写索引,加可选明细保留期 Sakurasan 2026-10-30 16:45:57 +08:00
  • 8e5fe16611 perf: 鉴权缓存让命中请求零 SQL,去掉两个无用索引 Sakurasan 2026-10-30 16:31:37 +08:00
  • 117e03673b perf(sqlite): 写事务改 immediate + synchronous=NORMAL,单 worker 批 64 Sakurasan 2026-10-30 16:08:55 +08:00
  • f1181150aa perf: 亲和表分片、记账按驱动并发、访问日志与原始体控量 Sakurasan 2026-10-30 14:25:10 +08:00
  • 8c12207478 perf: 目录缓存与流式正文快路径,请求热路径开销减半 Sakurasan 2026-10-30 14:14:21 +08:00
  • d34d9bd2e6 feat(web): 用量明细展示缓存读/写与上游实际模型,补 1h 缓存写与思考口径 Sakurasan 2026-10-30 13:53:25 +08:00
  • 04dfb4285d feat: 会话亲和粘住缓存渠道;透传 opaque 字段;用量记思考/1h 缓存写/实际模型 feat/affinity-opaque-usage Sakurasan 2026-10-30 11:41:51 +08:00
  • e7f8a5e5ad fix(web): 渠道冷却是按原因分类的,提示不再写死「连续失败 X/3」 Sakurasan 2026-10-30 02:48:59 +08:00
  • 979973ddde feat: 流式首包缓冲容错(hold)与失败分类冷却 Sakurasan 2026-10-30 02:43:23 +08:00
  • d357134e97 fix: 修 Docker 构建失败,compose 补上生产必需的 OT_JWT_COOKIE_SECURE Sakurasan 2026-10-30 02:20:57 +08:00
  • 854d0f5d8c feat(web): 接入 ESLint 与 vitest,TrendChart hover 读数 Sakurasan 2026-10-30 02:04:02 +08:00
  • 263bfb7845 chore: gofmt 对齐(远端提交带入的未格式化文件) Sakurasan 2026-10-30 01:42:54 +08:00
  • dfe31b5b4f fix(web): 仪表盘 curl 示例模型名改用真实可用模型 Sakurasan 2026-10-30 01:42:24 +08:00
  • 7dce4cadde test: keys CRUD 的 HTTP 级测试 Sakurasan 2026-10-30 01:42:23 +08:00
  • 99829ef745 perf: 代理鉴权复用用户查询,last_used_at 按分钟节流 Sakurasan 2026-10-30 01:42:23 +08:00
  • 9d3648ffe7 fix: 限流日计数与用户速率窗口的条目回收 Sakurasan 2026-10-30 01:42:22 +08:00
  • bb20ebbed0 perf: 渠道 MaxConcurrency 改配置后排空热生效,无需重启 Sakurasan 2026-10-30 01:42:22 +08:00
  • a3197e2146 fix: 记账同一 trace 防重复扣款 Sakurasan 2026-10-30 01:21:43 +08:00
  • 6cb840718f fix: Pick 限最高优先级层加权随机,接入绑定级权重,修 loadBound 顺序丢失 Sakurasan 2026-10-30 01:21:41 +08:00
  • 57134d2af2 fix: 健康探测对 Anthropic 渠道补发 x-api-key 与 anthropic-version 头 Sakurasan 2026-10-30 01:21:39 +08:00
  • 1f8af649ca fix: 收尾 P2——登录恒定耗时、AdminUsage N+1、用量索引重塑与时区缝 Sakurasan 2026-10-29 03:05:56 +08:00
  • 4df2506a74 fix(web): access token 移出 localStorage;401 刷新 single-flight 并跳登录页 Sakurasan 2026-10-29 02:56:52 +08:00
  • e3ff0d3329 security: 会话可撤销与认证面加固 Sakurasan 2026-10-29 02:56:46 +08:00
  • d6db0f8162 feat: 补齐三个方向的流式工具调用;Anthropic 上游走 x-api-key;禁用模型真正下架 Sakurasan 2026-10-29 02:56:37 +08:00
  • 984a31cbc5 fix: 记账可靠性——关停排空队列、失败重试、扣费不再静默;余额改 SQL 原子递减 Sakurasan 2026-10-29 02:56:31 +08:00
  • 7c597a6aa0 fix: 补上漏掉的 schema 版本号,修好渠道添加模型失败 Sakurasan 2026-10-28 15:40:03 +08:00
  • 75c8ecd519 fix: 列表页卡片与表格的切换点抬到 lg,补上用户管理的移动端视图 Sakurasan 2026-10-19 09:25:52 +08:00
  • c39c3e7da4 feat: 补齐上游细节、渠道观测与模型定价元数据 Sakurasan 2026-10-17 04:04:40 +08:00
  • ad10bdc400 security: 补上认证面与输入边界的四处防护 Sakurasan 2026-10-17 03:25:30 +08:00
  • d4c5263f1e feat: 运行期渠道冷却可见并可手动恢复 Sakurasan 2026-10-17 01:19:03 +08:00
  • e865f69a41 fix: 修掉模型调用链路上的四处失效逻辑 Sakurasan 2026-10-16 19:15:51 +08:00
  • d911881499 feat: add reset-password CLI command for any user Sakurasan 2026-09-07 02:33:11 +08:00
  • 2e3bb22f81 fix: use weighted random pick for load balancing instead of sequential iteration Sakurasan 2026-09-02 17:32:12 +08:00
  • 923ac79039 删除请求超时 Sakurasan 2026-09-02 13:08:32 +08:00
  • 6d951a0d61 fix: sync schemaVersion to 2 matching production Sakurasan 2026-08-31 18:16:19 +08:00
  • 1f5f60e905 fix: move timeout migration outside schema version check Sakurasan 2026-08-31 18:01:33 +08:00
  • c6a4fcfbbc fix: migrate existing channels timeout_ms to 300000 Sakurasan 2026-08-31 17:47:52 +08:00
  • 5cb428bba9 feat: increase default timeout to 5 minutes Sakurasan 2026-08-31 16:56:18 +08:00
  • 658a9cb580 fix: SQLite 迁移加版本锁,消除每次启动全量重建表 Sakurasan 2026-08-29 12:46:52 +08:00
  • 3a836bf0e9 fix: curl 示例复制按钮逃逸到页头叠加在退出按钮上 Sakurasan 2026-08-28 21:22:40 +08:00
  • faf38e2fd3 fix: 修复移动端仪表盘横向溢出 Sakurasan 2026-08-28 20:12:08 +08:00
  • d8257df100 fix: messages 流式缓存场景 token 记账错乱 Sakurasan 2026-08-28 18:11:24 +08:00
  • cd015d370c fix: handle zero channel_id in admin usage logs Sakurasan 2026-08-28 16:55:08 +08:00
  • 939a98d389 feat: show channel name in admin usage logs Sakurasan 2026-08-28 16:40:23 +08:00
  • 0b31cc209e fix: chat→responses 转换 input 始终输出数组 Sakurasan 2026-08-27 09:57:48 +08:00
  • 305b3ed731 refactor: 删除无用的模型展示名(display_name)字段 Sakurasan 2026-08-27 09:57:30 +08:00
  • 79545aa48e fix: 兼容上游 SSE data: 后无空格格式,流式记账不再 0 消耗 Sakurasan 2026-08-27 01:24:30 +08:00
  • d818cf3b4c refactor: 命令树移入 internal/cli,去掉 DefaultRun 注入 Sakurasan 2026-08-26 18:14:08 +08:00
  • 98f296101e refactor: 改用 Cobra 命令行框架,reset-admin-password 带交互提示 Sakurasan 2026-08-26 18:03:03 +08:00
  • 2983c89b42 feat: 新增 reset-admin-password 命令行重置管理员密码 Sakurasan 2026-08-26 15:57:04 +08:00
  • a45a6e16bd fix: API Key 前缀调整为 sk-ot- Sakurasan 2026-08-26 15:57:04 +08:00
  • c78a473e59 feat: API Key 前缀改为 sk-ot Sakurasan 2026-08-25 00:34:50 +08:00
  • f7a5741b33 fix: 模型列表仅显示已启用渠道中的模型 Sakurasan 2026-08-22 14:19:45 +08:00
  • daf6b8c66b fix: 获取模型列表时过滤已禁用渠道的绑定 Sakurasan 2026-08-22 13:26:17 +08:00
  • 8430ecc6c6 fix: use inline style for enabled channel highlight Sakurasan 2026-08-22 12:21:48 +08:00
  • 4aa8b79156 fix: use bg-accent-soft for enabled channel highlight Sakurasan 2026-08-22 12:17:45 +08:00
  • 94fd7fd40a feat: add highlight for enabled channels Sakurasan 2026-08-22 12:09:33 +08:00
  • 048de4c9a8 feat: add enable/disable toggle for channels Sakurasan 2026-08-22 02:12:10 +08:00
  • 781f1b9f83 添加 OT_PROXY_LOG_RAW 到 .env.example Sakurasan 2026-08-21 11:21:19 +08:00
  • 42214d6f5e 管理后台用量统计支持按用户筛选:用户名输入 + datalist 自动补全,精确匹配解析为 user_id Sakurasan 2026-08-20 01:58:02 +08:00
  • 10f51cbdae 请求明细支持查看原始请求/响应:OT_PROXY_LOG_RAW 开关控制,仅管理员记录与可见,流式全量捕获 Sakurasan 2026-08-20 00:35:53 +08:00
  • 0939f98fb5 修复流式请求记账为 0 消耗:支持 SSE 多行块 usage 提取 + 无上游 usage 时 tiktoken 估算 Sakurasan 2026-08-19 20:59:04 +08:00
  • 30ab9e842c claude code tools error Sakurasan 2026-08-19 03:46:39 +08:00
  • 3e7efb3c88 fix passkey server/internal/passkey/passkey.go 的 takeSession,过期校验只在显式设置了 Expires 时才生效(与 go-webauthn 库内部 !IsZero() 的检查一致) Sakurasan 2026-08-19 00:00:51 +08:00
  • 8495694671 构建: 入口脚本 chown 数据目录后降权运行 SakurasanandClaude 2026-08-18 22:25:43 +08:00
  • 5aa0be13dc 部署: docker-compose 一键启动 SakurasanandClaude 2026-08-18 21:57:16 +08:00
  • b5fb947a5b 构建: --local 改用 docker build 绕开 docker-container 驱动 SakurasanandClaude 2026-08-18 20:49:45 +08:00
  • ea7f023228 构建: 多架构 Dockerfile + 构建脚本 SakurasanandClaude 2026-08-18 13:16:54 +08:00
  • 967c54ae32 代理: 鉴权支持 Anthropic x-api-key 头 SakurasanandClaude 2026-08-18 00:51:53 +08:00
  • eac6938baa 服务: SPA 缓存策略修复重建后首页黑屏 SakurasanandClaude 2026-08-17 20:30:17 +08:00
  • fcaafdc807 前端: Base URL 输入限长 + 列表截断防撑破 SakurasanandClaude 2026-08-17 20:30:09 +08:00
  • 74424d980c 前端: 仪表盘快速开始卡片 + 移动端适配 + 主页 curl 用浏览器 host SakurasanandClaude 2026-08-17 20:30:03 +08:00
  • c84fea9ef0 记账: Recorder Close 幂等防重复关闭 SakurasanandClaude 2026-08-16 18:55:15 +08:00
  • c3dc28fb5b 前端: 仪表盘最近请求 canceled 显示灰色 SakurasanandClaude 2026-08-16 18:55:10 +08:00
  • 4137b6fe20 渠道: 远程候选按渠道过滤 + key 掩码 + 移除批量导入端点 SakurasanandClaude 2026-08-16 18:55:05 +08:00
  • d0c879a2ed 模型定价: 悬空模型标记 + 一键清除 + 允许渠道只读 SakurasanandClaude 2026-08-16 18:54:59 +08:00
  • 8194edb63d 前端: 用量页移动端卡片优化 + canceled 灰色 + 接口类型短标识 SakurasanandClaude 2026-08-16 09:04:26 +08:00
  • 6f895acf63 前端: API Keys 移动端卡片布局 + 复制兼容 SakurasanandClaude 2026-08-16 09:04:26 +08:00
  • fb7db00817 密钥: 删除改为硬删(立即失效不可恢复) SakurasanandClaude 2026-08-16 09:04:18 +08:00
  • 0ee92d78e7 代理: 流式中断按已生成部分计费 SakurasanandClaude 2026-08-16 09:04:18 +08:00
  • 4b507d8064 转换器: 图片内容块跨协议互转保留(base64/url) SakurasanandClaude 2026-08-16 09:04:09 +08:00
  • 7f28c8b83b docs: 测试结果文件移出版本控制(保留磁盘参考) SakurasanandClaude 2026-08-16 05:09:05 +08:00
  • 47f6a8daaa docs: 协议/工具调用/真实转换测试记录 SakurasanandClaude 2026-08-16 05:05:55 +08:00
  • e96f194a59 转换器: 修复 Responses 流式 response.completed 缺 usage SakurasanandClaude 2026-08-16 05:05:46 +08:00
  • db83972b6f 渠道: 分协议 Base URL + 模型抽屉/远程拉取/操作图标 SakurasanandClaude 2026-08-16 04:31:28 +08:00
  • 7c4e80afac 前端: 移动端适配 + 模型定价手动添加入口 SakurasanandClaude 2026-08-16 04:31:14 +08:00
  • 9324a782d5 Passkey: 账户设置绑定 + 免密登录(WebAuthn) SakurasanandClaude 2026-08-16 02:00:08 +08:00
  • 057b1b2c0b 侧栏: 导航项加 Phosphor 图标 SakurasanandClaude 2026-08-16 01:59:58 +08:00
  • 40c1ae43e9 模型定价: 一致性检查与提示(渠道可用模型应全部纳入定价) SakurasanandClaude 2026-08-16 01:34:22 +08:00
  • b365779188 模型限制: 系统配置全局开放/禁止 + 用户级限制 + 网关拦截 SakurasanandClaude 2026-08-16 01:34:12 +08:00
  • 866690b7ce 用户管理: 编辑按钮高亮 + 图标 SakurasanandClaude 2026-08-16 01:34:00 +08:00
  • 298bf89c90 用户管理: 编辑用户信息(用户名/邮箱/重置密码/角色/状态) SakurasanandClaude 2026-08-16 00:57:15 +08:00
  • 79f3f4395c 渠道: 支持手工录入模型(无 /models) + 模型映射自定义名称 SakurasanandClaude 2026-08-16 00:57:06 +08:00
  • 4d4d09ba58 渠道: 模型名称映射(网关生效 + 渠道侧管理) SakurasanandClaude 2026-08-16 00:09:01 +08:00
  • 8d9940ad5a 渠道: Base URL 智能识别前缀/完整端点 + API 格式垂直堆叠 SakurasanandClaude 2026-08-16 00:08:52 +08:00
  • 512e46664c 导航: 统一分区侧栏 + 新增用量统计页 SakurasanandClaude 2026-08-15 20:55:56 +08:00
  • a8e2cd214c 账户: 修改密码接口 + 账户设置页 SakurasanandClaude 2026-08-15 20:55:45 +08:00