🚀 Features
- ⚡️ 基本的数据库操作 - by @bestruirui (6e8f4)
- ⚡ 基本的前端 - by @bestruirui (36ec2)
- ✨ 统计数据 - by @bestruirui (7b6fd)
- ✨ 前端热力图 - by @bestruirui (bd986)
- ✨ 总的数据统计 - by @bestruirui (57e7a)
- ✨ 图表 - by @bestruirui (1d5ca)
- ✨ 增加动画 - by @bestruirui (1ffb2)
- ✨ 图标增加今日 - by @bestruirui (0cf4c)
- ✨ 为导航标题增加动画 - by @bestruirui (c330c)
- ✨ 渠道页面 - by @bestruirui (55873)
- ✨ apikey页面 - by @bestruirui (f7f70)
- ✨ 新增设置页面,将创建key移动到设置页面 - by @bestruirui (a2bfa)
- ✨ 模型价格 - by @bestruirui (d2f6d)
- ✨ 模型价格设置页面 - by @bestruirui (1634a)
- ✨ 分组管理 - by @bestruirui (876e1)
- ✨ 增加权重 - by @bestruirui (4b3ac)
- ✨ 添加RequireJSON中间件确保请求为JSON格式 - by @bestruirui (cbcae)
- ✨ llm api relay - by @bestruirui (520ba)
- ✨ anthropic 入站和出站 - by @bestruirui (dd8a1)
- ✨ openai responses api - by @bestruirui (fd8fe)
- ✨ 统计信息 - by @bestruirui (bec47)
- ✨ 修改用户名密码 - by @bestruirui (70376)
- ✨ 环境变量配置值 - by @bestruirui (6fb90)
- ✨ 添加渠道选择模型时支持搜索 - by @bestruirui (65d48)
- ✨ enhance clipboard functionality for group name copying - by @bestruirui (07b71)
- ✨ add select all functionality for model selection in channel form - by @bestruirui (8945c)
- ✨ improve model selection by filtering available channels and confirming selection directly - by @bestruirui (cc250)
- ✨ 自动保存 - by @bestruirui (fdb99)
- ✨ add RelayLog model and related API for logging and streaming - by @bestruirui (d8c40)
- ✨ 日志记录 - by @bestruirui (0043b)
- ✨ 清理历史日志 - by @bestruirui (ce445)
- ✨ 切换页面的时候清空搜索状态 - by @bestruirui (f8ea9)
- ✨ enhance RelayLog model with ChannelName and auto-generated ID; improve logging and retrieval methods - by @bestruirui (f797c)
- ✨ 日志页面 - by @bestruirui (a42ef)
- ✨ 滚动自动加载新日志 - by @bestruirui (4f862)
- ✨ 日志解析 - by @bestruirui (824d1)
- ✨ 系统更新 - by @bestruirui (b7aba)
- ✨ 自动与上游同步模型列表,自动分组 - by @bestruirui (1e26a)
- ✨ 自动分组匹配方式 - by @bestruirui (a442d)
- ✨ 分组页面固定高度 - by @bestruirui (c1045)
- ✨ 创建分组时根据分组名称自动添加成员 - by @bestruirui (aa811)
- ✨ 自动导入分组成员 - by @bestruirui (6b8f0)
- ✨ 添加Gemini消息处理支持 - by @heerheer (2342d)
- ✨ 添加Gemini类型支持到频道表单 - by @heerheer (6a6cf)
- ✨ 添加推理预算映射和推理内容处理支持 - by @heerheer (93811)
- ✨ 移除OneAPI类型支持,调整Gemini类型的索引 - by @heerheer (2b919)
- 🔥 移除了Gemini相关的Inbound代码 - by @heerheer (b7960)
- ✨ 日志设置 - by @bestruirui (605bf)
- ✨ 分组名称显示效果优化 - by @bestruirui (4f3a9)
- ✨ 更新Service Worker和加载动画,优化PWA体验 - by @bestruirui (f2a91)
- ✨ 添加对ResponseFormat和Modalities的转换支持,增强安全设置处理 - by @heerheer (c3d36)
- ✨ 新增多数据库支持 - by @bestruirui (771fb)
- ✨ 为API密钥增加更多权限划分和统计 - by @bestruirui (55b0d)
- ✨ 更新FetchLLMName函数以支持Gemini API,添加对Gemini特化的分页处理和模型名称提取 - by @heerheer (64a84)
- ✨ 在模型选择中添加“清除全部”按钮以便于管理已选择的模型 - by @heerheer (6fb31)
- ✨ 新增 APIKEY 登录 和 APIKEY 主页 - by @bestruirui (7a608)
- ✨ 增加API密钥支持模型过滤功能 - by @bestruirui (4838f)
- ✨ 优化对模型列表的获取 - by @heerheer (a3615)
- ✨ 新增清理模型价格任务,优化数据库创建删除操作 - by @bestruirui (612e4)
- ✨ 新增数据导入导出 - by @bestruirui (e6183)
- ✨ 增加操作提示 - by @bestruirui (eca4f)
- ✨ 拖拽时自动滚动 - by @bestruirui (b4bc5)
- ✨ 新增成员时自动滚动 - by @bestruirui (27822)
- ✨ 新增正则匹配添加到分组 - by @bestruirui (49876)
- ✨ 增加跨域设置项 - by @bestruirui (f22f7)
- ⚡️ JSONSchema? - by @bestruirui (87969)
- ✨ 排行榜增加金额和次数的切换 - by @bestruirui (eb701)
- ✨ 添加 OCTOPUS_GITHUB_PAT 环境变量 - by @bestruirui (3f10c)
- 添加火山引擎(Volcengine)渠道支持 - by @lRoccoon (23bc6)
- ✨ 渠道启用快捷开关 - by @bestruirui (7739c)
- ✨ PDF支持 #60 - by @bestruirui in #60 (78cc2)
- ✨ 数据库连接 - by @bestruirui (88d82)
- ✨ API密钥新增显示全部 - by @bestruirui (37625)
- ✨ 相对路径部署 - by @bestruirui (46dfe)
- ✨ gemini function call 思考签名 - by @bestruirui (a9710)
- ✨ 数据库迁移,新增渠道key表,以及其他参数 - by @bestruirui (ae3d0)
- ✨ 更新渠道数据库操作 - by @bestruirui (5ad2b)
- ✨ 更新前端API - by @bestruirui (a8739)
- ✨ 更新渠道相关调用 - by @bestruirui (db6a4)
- ✨ 更新http客户端 - by @bestruirui (b6ae1)
- ✨ 新增延迟测试任务 - by @bestruirui (e3a88)
- ✨ 前端更新 - by @bestruirui (19053)
- ✨ 前端显示url延迟和key信息 - by @bestruirui (ffa63)
- ✨ 自定义请求头 - by @bestruirui (39d86)
- ✨ 首字Token超时 - by @bestruirui (3ecb3)
- Support reasoning field passthrough for thinking models - by @W-reverse in #107 (673dc)
- ✨ 正则表达式 PCRE/ECMAScript - by @bestruirui (1f8eb)
- 生图功能 (bestruirui#116 #91) - by @ZIC143 in https://github.com/Hureru/octopus/issues/116 and #91 (04eb2)
- ✨ implement OpenAI Embedding API support - by @lRoccoon and Claude Opus 4.6 (1M context) in https://github.com/Hureru/octopus/issues/123 (94e64)
- ✨ 渠道模型匹配正则 - by @bestruirui (6ad65)
- ✨ 渠道key新增备注 - by @bestruirui (04000)
- 日志新增重试详情展示 resolve bestruirui#119 - by @cesaryuan in https://github.com/Hureru/octopus/issues/135 and https://github.com/Hureru/octopus/issues/119 (ad39c)
- 在次数排行版中显示成功率 - by @cesaryuan in https://github.com/Hureru/octopus/issues/140 (4e996)
- ✨ 增加Audio - by @bestruirui (c772d)
- ✨ 新增繁體中文 - by @tasi788 in https://github.com/Hureru/octopus/issues/171 (033c9)
- ⚡ 更新翻譯 - by @tasi788 in https://github.com/Hureru/octopus/issues/173 (41972)
- ⚡️ 熔断器 会话保持 - by @bestruirui (fbeba)
- ⚡️ 会话保持时间配置 - by @bestruirui (da5fd)
- ✨ 熔断器配置 - by @bestruirui (a436c)
- ✨ 日志页面 - by @bestruirui (fe787)
- ✨ 添加贡献指南文档 - by @bestruirui (4f774)
- ⚡️ 分页改为滚动,增加排序筛选 - by @bestruirui (de18a)
- ✨ 优化渠道页面列表样式 - by @bestruirui (c544b)
- ✨ 使用持久化中间件优化工具栏视图选项存储 - by @bestruirui (f1a51)
- ✨ 优化模型页面列表样式 - by @bestruirui (52c50)
- ✨ 添加排序功能,支持按名称和创建时间升序/降序排序 - by @bestruirui (d3227)
- ✨ CORS 列表 - by @bestruirui (340c0)
- ✨ 在模型选择部分添加搜索功能 - by @bestruirui (01f4b)
- 排行榜支持tokens排名,并支持记忆状态 - by @xylplm in https://github.com/Hureru/octopus/issues/221 (72a7d)
- 添加图表支持按金额、请求次数和Token消耗进行统计,并支持local记忆用户喜好 - by @xylplm in https://github.com/Hureru/octopus/issues/222 (1c897)
- ✨ 日志增加请求APIKEY名称 - by @bestruirui (f9bc5)
- ✨ 提取模型名称中的后缀以支持更灵活的匹配 排除模型名称前的渠道商名称 - by @xylplm in https://github.com/Hureru/octopus/issues/238 (bf079)
- Add site management and sync automation - by @Hureru (bbf3e)
- ✨ add AnyRouter support and randomized site checkin scheduling - by @Hureru (aee24)
- Add site import and sync management - by @Hureru (d796e)
- ✨ site management enhancements - detection, batch ops, model blacklist, balance, proxy, sorting, external checkin - by @Hureru and Claude Opus 4.6 (1M context) (34496)
- ✨ add same-channel retry with 429/503 passthrough for groups - by @Hureru and Claude Opus 4.6 (1M context) (b9602)
- ✨ split site channels by outbound format - by @Hureru (a26d5)
- Configurable max retries and 429/503 passthrough for groups - by @Hureru and Claude Opus 4.6 (1M context) (adfc0)
- Add checkin dashboard panel for site management - by @Hureru and Claude Opus 4.6 (1M context) (e554d)
🐞 Bug Fixes
- 🐛 按注册顺序,倒序关闭 - by @bestruirui (4a92f)
- 🐛 侧边栏定位 - by @bestruirui (a3bed)
- 🐛 修复点击外部区域关闭对话框的逻辑 - by @bestruirui (6a033)
- 🐛 今日数据保存和数据显示 - by @bestruirui (20190)
- 🐛 handle null data in ChannelForm model list - by @bestruirui (629dc)
- 🐛 docker 启动脚本 - by @bestruirui (54c98)
- 🐛 创建模型判断 - by @bestruirui (12aed)
- 🐛 update GetLLMPrice to return pointers and handle nil cases - by @bestruirui (9d4b3)
- 🐛 滚动时侧边栏动画 - by @bestruirui (10c28)
- 🐛 修复空日志时无限请求 - by @bestruirui (f2061)
- 🐛 负载均衡逻辑 - by @bestruirui (946b5)
- Panic recovery and docs build guide improvement - by @ffflyZzz (94417)
- 🐛 更新错误报告模板,增加前端BUG重试说明及浏览器版本信息要求 - by @bestruirui (3902a)
- 🐛 修复同步上游渠道接口 - by @bestruirui (798ce)
- 🐛 更新错误报告模板 - by @bestruirui (49ba0)
- 🐛 日志为空时日志页面报错 - by @bestruirui (cb304)
- 🐛 修复参数校验 - by @bestruirui (18222)
- 🐛 Token用量 - by @bestruirui (acace)
- 🐛 删除强制/v1beta的拼接 - by @heerheer (0a717)
- 🐛 修复gemini请求中的参数多传递了$schema的问题 - by @heerheer (d700f)
- 🐛 chat role developer -> system - by @bestruirui (d98f2)
- 🐛 数据统计和日志记录 - by @bestruirui (017b2)
- 🐛 删除 response 接口不应有的字段 - by @bestruirui (02bf3)
- 🐛 修复禁用的渠道依然会被调用 - by @bestruirui (2345f)
- 🐛 修复定时任务间隔为0时panic的问题 - by @bestruirui (d49ba)
- 🐛 fix #38 - by @bestruirui in #38 (ddca3)
- 🐛 添加渠道模型刷新的错误提示 - by @0xsline and Claude Opus 4.6 (1M context) (32b0a)
- 🐛 价格页面分辨率不同时,展示存在文字错位 - by @bestruirui (da189)
- 🐛 更新bug报告模板,增加日志和环境信息的必填项 - by @bestruirui (bd309)
- Remove additionalProperties from Gemini tool schema - by 查航 (eb35e)
- 🐛 删除获取模型列表的兼容尝试,严格遵循o/a/g的固定请求头 - by @heerheer (63f1d)
- 🐛 修复因为json属性名问题导致的无法传递systemInstruction的问题 - by @heerheer (e5085)
- 🐛 lint - by @bestruirui (1abf3)
- 修复设置页面下拉框文字显示不全问题 - by @0xsline (c42ea)
- 🐛 修复设置值更新时的 SQL 语句格式 - by @lRoccoon (c51df)
- 🐛 获取模型增加回退 - by @bestruirui (41066)
- 🐛 拆分版本信息,避免无法获取最新版本导致当前版本显示出错 - by @bestruirui (f4ca2)
- 🐛 tooltip刷新 - by @bestruirui (e1b21)
- 🐛 增加错误提醒,更换后端正则表达式处理包 - by @bestruirui (8ddf7)
- 🐛 负载均衡 fix #53 - by @bestruirui in #53 (da499)
- 🐛 设置项更新语句以及更新设置项死锁 - by @bestruirui (bc56b)
- 🐛 前后端设置项对齐 - by @bestruirui (b34eb)
- 🐛 修复 API 密钥更新逻辑 - by @bestruirui (1a4a1)
- 🐛 anthropic token 计数 - by @bestruirui (22d9f)
- 🐛 修复响应状态码检查逻辑 - by @bestruirui (e63e4)
- 🐛 在不同设备浏览器下的侧边栏居中问题 #9 - by @bestruirui in #9 (b18e7)
- 🐛 区分anthropic的缓存,透传请求参数 - by @bestruirui (36bd3)
- 🐛 音频 #60 - by @bestruirui in #60 (77b8f)
- 🐛 buttom 嵌套 - by @bestruirui (00508)
- 🐛 支持更大的 SSE event 并正确上报流式错误 - by @MeowLynxSea in #73 (4fcf7)
- 修复 claude code 使用火山引擎接口失败的问题 - by @lRoccoon in #78 (c04d4)
- 🐛 分组编辑界面自动刷新 - by @bestruirui (6e951)
- 🐛 anthropic api transformer - by @bestruirui (7763f)
- 🐛 导入配置时 MySQL 报错:
Unknown column 'excluded.value' in 'field list'- by @xiaYuTian11 (1b2e8) - 🐛 gemini pdf #60 - by @bestruirui in #60 (d32fe)
- 🐛 Gemini function call - by @bestruirui (9f43b)
- 🐛 前端图表排序 - by @bestruirui (2dfc7)
- 🐛 修复新接口下的同步模型定时任务 - by @bestruirui (fe483)
- 🐛 API 密钥展开时,编辑页面被遮挡 - by @bestruirui (e2095)
- 🐛 删除旧列,修复渠道创建报错 - by @bestruirui (f29db)
- 🐛 分组更新结构体缺失超时时间字段 - by @bestruirui (7fff5)
- 🐛 add ChannelKeys export/import in backup - by @Lyn6969 in #110 (b17cc)
- 修复流式请求 Accept 头并校验上游 SSE 响应 - by @MeowLynxSea in https://github.com/Hureru/octopus/issues/113 (92bb2)
- Ensure choices field exists in final stream chunk for client compatibility - by @wnosos6 in https://github.com/Hureru/octopus/issues/130 (b7390)
- Update supportedReasoningEffortModel close bestruirui#132 - by @cesaryuan in https://github.com/Hureru/octopus/issues/136 and https://github.com/Hureru/octopus/issues/132 (401ff)
- 🐛 anthropic system 字段 - by @bestruirui (73723)
- 修复更新渠道时,匹配正则规则没有跟着更新的问题 - by @jinuxx in https://github.com/Hureru/octopus/issues/139 (23e65)
- Always include tool_calls.function.arguments in stream - by @Youkies and Youkies in https://github.com/Hureru/octopus/issues/142 (61c72)
- 🐛 统计信息保存顺序 - by @bestruirui (62eb6)
- 🐛 bestruirui#145 - by @bestruirui in https://github.com/Hureru/octopus/issues/145 (31c89)
- 🐛 获取价格时增加请求头 - by @bestruirui (e04d9)
- Preserve responses input array shape in openai responses - by @bluelightgit in https://github.com/Hureru/octopus/issues/155 (9b4ff)
- 🐛 刷新模型时,请求头无效 fix bestruirui#158 - by @bestruirui in https://github.com/Hureru/octopus/issues/158 (efdfb)
- 🐛 :简化空字符串处理逻辑,移除不必要的null转换 - by @Loner1024 in https://github.com/Hureru/octopus/issues/154 (de26f)
- 🐛 刷新模型时,请求头无效 bestruirui#158 - by @bestruirui in https://github.com/Hureru/octopus/issues/158 (63ff6)
- 🐛 获取模型 - by @bestruirui (99fff)
- 🐛 anthropic maxtoken - by @bestruirui (4bbe3)
- 🐛 anthropic 流式响应usage增加更严格判断 - by @bestruirui (41675)
- 🐛 修复 proxy_url SOCKS scheme 验证及 fetch-model 未传递 channel_proxy - by @Moriarty6086 in https://github.com/Hureru/octopus/issues/197 (5290d)
- 🐛 socks->socks5 - by @bestruirui (872fb)
- 🐛 渠道统计 - by @bestruirui (5794c)
- 修复 Anthropic Adaptive Thinking 支持及 BudgetTokens 空指针问题 - by @Hureru in https://github.com/Hureru/octopus/issues/212 (2591f)
- 修复 ChannelBaseUrlDelayUpdate 函数中对空 URL 的处理 - by @bestruirui (6b6d3)
- 🐛 修复 OpenAI 格式连续 tool 消息转 Anthropic 时未合并导致请求报错 - by @NibbinNone in https://github.com/Hureru/octopus/issues/219 (c4d1e)
- 🐛 禁用渠道后,包含该渠道的分组仍会向其发送请求 - by @bestruirui (18856)
- 🐛 API 密钥表单弹窗设置页被截断 - by @bestruirui (10ce7)
- 🐛 harden site projection and relay handling - by @Hureru (ac22b)
🏎 Performance
- ⚡️ 优化显示效果DOM结构 - by @bestruirui (00ced)
- ⚡️ i18n - by @bestruirui (5a579)
- ⚡️ 优化精简 - by @bestruirui (88869)
- ⚡️ 渠道页面 - by @bestruirui (465fb)
- ⚡️ 优化分组页面 - by @bestruirui (3cc1c)
- ⚡️ 优化分组操作 - by @bestruirui (f4b87)
- ⚡️ 优化日志页面 - by @bestruirui (3aa45)
- ⚡️ 完善页面切换动画 - by @bestruirui (9ec70)
- ⚡️ 优化前端性能,新增分页,tooltip - by @bestruirui (4ee64)
- ⚡️ 优化PWA - by @bestruirui (452e7)
- ✨ 将toast位置改到左上角,避免遮挡 - by @bestruirui (946b1)
- ⚡️ 重新设计分组添加修改 - by @bestruirui (b6ff5)
- ✨ 优化渠道名称过长的显示问题 - by @bestruirui (8ed91)
- ⚡️ 根据屏幕尺寸动态的显示分页数量 - by @bestruirui (97c10)
- ⚡️ 简化分组成员删除逻辑 - by @bestruirui (ee0b9)
- ⚡️ 优化字体文件的加载 - by @bestruirui (0abf4)
- ⚡️ 分组选择模型黏性滚动 - by @bestruirui (66570)
- ⚡️ 简化模型获取逻辑 - by @bestruirui (9cf11)
- ⚡️ 将复制按钮提取为公共组件 - by @bestruirui (6e3fc)
- ⚡️ 重新设计日志卡片 - by @bestruirui (1b8fd)
- ⚡️ 日志卡片 - by @bestruirui (5f4a1)
- ⚡️ 优化数据库更新语句 - by @bestruirui (f6480)
- ⚡️ 重构后端 - by @bestruirui (ab0c4)
- ⚡️ 自动分组 - by @bestruirui (5f2f7)
- ⚡️ 禁用渠道后,分组模型里被禁用渠道模型的行为优化 - by @bestruirui (b010f)
- 🎨 优化UI细节 - by @bestruirui (e78fe)
- ⚡️ 优化细节 - by @bestruirui (9c545)
- ⚡️ 重构统计图和排行榜组件,迁移状态管理到home视图存储 - by @bestruirui (a8088)