Skip to content

Releases

Portunus v0.6.0

Choose a tag to compare

@github-actions github-actions released this 10 Nov 03:47

新功能

  • 新增「设置 → 配置迁移」,可将全部渠道、模型和分组导出为密码保护的 .portunus 文件,在另一台电脑上离线导入。
  • 导入前可查看完整预览、关联关系和自动改名结果;导入以新增方式完成,保留目标电脑已有配置。
  • 迁移保留渠道连接配置、分组策略、成员顺序、优先级和当前激活项。
  • 同一次确认不会重复写入;连接中断或应用重启后,可继续核实并查看导入结果。

使用说明

  1. 在原电脑打开「设置 → 配置迁移」,设置文件密码并导出。
  2. 在目标电脑安装本版本,选择该文件并输入密码。
  3. 检查预览后确认导入,即可使用新增配置。

导出范围包含完整渠道凭据,文件使用密码加密,请妥善保管文件与密码。服务接入令牌、全局设置、日志、客户端本地文件及独立余额来源不在迁移范围内。

安装包

  • macOS:Apple Silicon(arm64)DMG / ZIP。
  • Windows:x64 安装程序 / ZIP。
  • Linux:x64 AppImage。

安装与使用说明

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 30 Oct 10:24

新功能

  • 删除前先看影响:删除渠道或模型前,先展示受影响的分组、将被移除的成员、手动选定项是否清除、分组是否会变空;删除渠道还会显示其模型数量和余额来源。确认后在一个事务内完成清理,失败整体回滚,分组名称与历史调用记录保留。
  • NewAPI 余额单位自动识别:配置 NewAPI 余额查询时,自动读取站点公开配置并填入换算比例与展示单位,支持 USD、CNY、自定义单位和原始 QUOTA;换算比例支持精确分数,已有手动配置不会被覆盖。

问题修复

  • 修复切换额度来源类型时,来源名称没有跟随新类型变化的问题。
  • 放宽上游等待期限:跨目标累计首内容期限由 120 秒调整为 240 秒,等待响应头/流式首包由 60 秒调整为 120 秒,减少慢速中转站被误判为超时。

体验优化

  • Claude Code 模型映射中,“请求模型”下拉框去掉了上方的提示小字,与“显示名”输入框对齐。

Portunus v0.5.3

Choose a tag to compare

@github-actions github-actions released this 27 Oct 09:19

更新内容

  • 修复搜索框图标、输入内容与清除按钮错位,统一各页面搜索体验。
  • 统一渠道设置、调用验证、余额查询及客户端配置的下拉控件;测试模型支持候选筛选与自由输入。
  • NewAPI 余额查询支持钱包与生效订阅汇总,详情可分别查看套餐额度、重置及到期信息;局部查询失败和限流冷却分别提示。
  • 优化渠道余额卡片、复制反馈和时间展示。

下载

  • macOS Apple Silicon:DMG 或 ZIP。
  • Windows x64:EXE 安装程序或便携 ZIP。
  • Linux x64:AppImage。

Portunus v0.5.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 03:51

更新内容

  • 降低界面静置时的 CPU 开销:保留原有柔光背景与玻璃风格,取消背景持续漂浮,标题扫光改为悬停播放一次。
  • 优化刷新后的首次菜单切换:首屏显示后在空闲时预加载其他菜单代码,悬停或聚焦菜单时优先准备对应页面,不提前查询各页业务数据。
  • 优化渠道添加、编辑弹窗的底部操作区:统一按钮留白,保留内容独立滚动,去除按钮底部硬暗线与贴边投影,保留顶部高光和柔和阴影。

验证

  • 发布流水线中的 Go 测试、静态检查、构建,以及前端 205 项测试、类型检查和构建全部通过,macOS、Windows、Linux 安装包均已生成。
  • 发布前三个平台更新清单的摘要与大小校验、macOS/Windows ZIP 完整性检查、macOS 包版本及可执行权限检查、Ed25519 更新签名验证均通过。
  • 已在 macOS Dev 中对比浅色/深色静置 CPU、刷新后首次菜单切换耗时,并检查普通与低高度视口的弹窗滚动和按钮可点击性。

macOS 升级说明

0.5.1 用户可使用应用内更新;0.5.0 及更早版本需手动安装新版,以接入独立更新程序。首次安装若被系统阻止,请按仓库 README 的 macOS 安装说明处理。

Portunus v0.5.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 12:02

更新内容

  • 启用正式安装包压缩,并移除 Go 后端的调试信息,降低下载体积。
  • macOS 接入独立更新程序:使用 Ed25519 更新包签名验证来源,自动准备新版、退出并替换应用,启动未确认时恢复旧版,无需 Apple Developer ID。
  • macOS 更新等待自身后端退出,新版后端就绪且页面成功挂载后才确认安装完成。
  • 修复「接入 → API Key」状态筛选仍使用原生下拉的问题,统一弹层、箭头与选中样式。

macOS 升级说明

0.5.0 及更早版本请手动下载安装本次 0.5.1,以接入新的更新程序。 旧版本内置的安装流程无法通过服务端清单替换。安装 0.5.1 后,后续版本可在应用内完成更新,正常更新过程中无需再手动执行 xattr。

首次安装若被系统阻止,请按仓库 README 的 macOS 安装说明处理。应用应放在当前用户可写的安装目录;更新程序不提权,更新时保留现有用户数据目录。

本次已通过 Go 全量检查、201 项前端测试、28 项同步脚本测试,以及 macOS 临时 Electron 副本的真实下载、篡改拒绝、替换重启和超时回滚验证。

Portunus v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 10:10

Portunus v0.5.0

本版本完善多工具接入、上游渠道管理、调用诊断与桌面交互,并优化前端加载和大列表操作。

多工具 API Key

  • 支持创建多把命名 API Key,可分别用于 Claude Code、Codex 等工具。
  • 支持重命名、重置、可恢复禁用与删除;删除后从管理列表隐藏,历史调用和用量保留。
  • 调用记录保留调用时的 Key 名称,用量和筛选按稳定 ID 区分。旧日志未采集名称时明确标为未记录。

渠道与模型分组

  • 渠道添加和编辑采用分块布局,支持厂商预设、接口协议、内置品牌图标与自定义图片。
  • 模型发现与导入选择分开,支持手动添加模型、大量候选分页与跨页选择;保存只导入选中项。
  • 支持独立的余额/额度来源、缓存展示、主动查询及可配置自动刷新。
  • 完善分组多成员创建、模型搜索、手动选择、故障转移和备用顺序管理。
  • 修复低窗口高度下无法操作保存/取消、Key 显示导致列宽跳动,以及刷新后余额摘要样式缺失的问题。

调用观测与网关

  • 日志支持按 API Key、渠道、分组、模型等条件查询,提供请求关联、上游尝试链与路由诊断详情。
  • 保留 Token 与缓存用量统计;日志行和上游尝试分别记录,不将其混为准确客户端请求数。
  • 完善 OpenAI Chat、Responses、Anthropic 与 Gemini 之间的协议转换,以及工具调用、流式结束和预算截断等边界。
  • 完善渠道并发、限流、熔断探测、超时、重试和故障转移控制。

界面与性能

  • 接入指南采用树形导航,统一连接配置、请求示例与 Claude Code 配置编辑入口。
  • 页面和低频编辑器按需加载,增加局部加载失败恢复入口。
  • 首屏实际加载 JS 在本地验收场景中减少约 41%;分组搜索输入不再重建全部拖拽成员。
  • 日志长内容可悬浮查看;移除相互干扰的表格外阴影。
  • 增加可运行的前端类型检查并纳入 CI。

升级说明

  • 沿用现有本地数据与配置;旧单 Key 保留原密钥和 ID,并迁移为默认 Key。
  • Dev 使用独立应用身份、端口和数据目录,避免开发调试影响正式配置。
  • 管理接口只允许本机回环访问;服务接口继续使用 API Key 鉴权。
  • 不提供调用费用计算;实际模型生成和主动余额查询仍遵循上游服务规则。
  • 当前安装包未配置 Developer ID/Windows 签名,macOS 自动更新仍有签名限制;安装方式见仓库 README。

安装包:macOS Apple Silicon(DMG/ZIP)、Windows x64(安装程序/ZIP)、Linux x64(AppImage)。

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 10:04

本次更新优化了桌面应用的更新体验,并完善了国内下载分发。

自动更新优化

  • 默认通过腾讯云 COS 获取更新,检查更新或下载安装包失败时自动切换到 GitHub。
  • 下载切换来源时校验版本一致性,避免下载到与提示不一致的版本。
  • 改善更新过程的错误提示,备用来源成功时不再展示中间失败信息。

发布与文档

  • 提供本地 COS 同步脚本,校验安装包后上传,所有文件就绪后再发布更新清单。
  • 同步成功后自动保留最近 3 个正式版本,清理更早版本的安装包。
  • 更新中英文产品介绍与真实界面截图。

升级说明

v0.4.0 及更早版本请先通过原有 GitHub 更新入口或下载本版安装包完成升级。升级到 v0.4.1 后,后续更新默认使用腾讯云 COS。

安装包仍为未签名构建,首次启动的系统提示处理方法见 README。

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 05:55

Portunus v0.4.0

新功能

  • Claude Code 内置联网搜索(WebSearch)跨协议打通:Claude Code 的 WebSearch 属于"服务端工具",此前在协议转换时声明被压扁成空壳工具(既不会被正确识别,还可能引起上游报错)。本版起:
    • 接入 Gemini 渠道时,WebSearch 会转为 Gemini 原生搜索(googleSearch)真正可用——搜索过程与引用来源会以 Claude Code 认识的格式回传展示;
    • 接入 Anthropic 兼容渠道(Claude 镜像站等)时声明原样透传,不受影响;
    • 接入 OpenAI Responses 渠道时声明正确送达(官方 OpenAI 端点可识别);
    • 接入 DeepSeek / GLM 等 OpenAI 兼容渠道时干净剥离(上游不具备该能力,不再发送畸形声明),并计入日志遥测(hosted_tools_stripped),方便排查"为什么没有搜索"。
  • 多轮搜索对话历史完整保留:此前对话历史里的搜索记录块(server_tool_use / 搜索结果)在跨协议转换时被静默丢弃,多轮追问会"失忆"。本版起与普通工具调用同构转换,上下文完整。
  • 流式搜索结果合成:Gemini 渠道流式响应中的搜索接地数据,会按 Claude Code 认识的块顺序(先搜索、后作答)合成回传,含纯工具调用、接地数据晚到等各种真实时序。

问题修复

  • 修复思考内容(thinking)在三条非流式转换路径上丢失的问题(能力覆盖矩阵补齐三个休眠格)。
  • 修复向 DeepSeek / GLM 渠道发送 WebSearch 声明时产生空壳函数定义的问题(潜在的上游 4xx 诱因),改为干净剥离。

体验优化

  • 协议转换新增"能力登记"测试矩阵(托管工具维度全组合锁定),后续新增协议时能力处置有强制表态点,减少能力静默丢失类问题。
  • 新增 hosted_tools_stripped 诊断列:一眼看出某次调用的搜索能力是否在上游侧被降级。

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 29 Sep 02:11

Portunus v0.3.4

这一版聚焦一件事:让跨协议对话的缓存重新命中,把 Claude Code 的用量费用降下来。

新功能

  • 思考内容往返桥:Claude Code 等 Anthropic 协议客户端在多轮对话里回传的思考内容,现在能被网关逐字节无损还原。此前回传的思考内容会被占位文本替换,导致每轮历史都发生字节漂移,上游的自动前缀缓存从改写点起整段失效、反复重算——这是长对话缓存命中率偏低的根因。修好之后,多轮对话的上游缓存可以稳定命中。
  • 日志新增「客户端 / 桥接」维度:调用日志可按客户端入口协议筛选(OpenAI / Anthropic / Responses / Gemini),日期与关键词筛选之外多一个切分口径;列表里同时展示每条请求的「桥接命中数」与「垫片改写数」,缓存是否真的被修复一眼可见。

问题修复

  • 修复跨协议(Anthropic ↔ OpenAI)多轮对话中思考内容有损往返导致的缓存失效问题。
  • 修复 redacted_thinking 块密文被静默丢弃的问题:现在能识别出「密文恰是本网关写出的载荷」并还原,其余情形仍安全退回占位。

体验优化

  • thinking 兼容垫片收窄作用范围:只对「带工具调用的助手消息」注入占位思考,不再触碰纯文本助手消息。改写的历史更少,前缀漂移面积更小,缓存更稳。

存量日志的「客户端 / 桥接」字段为空,表示该条记录产生于本次升级之前,属正常现象。

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 16 Sep 07:31

问题修复

  • 修复使用 Responses 协议(Codex)时,多轮并行工具调用报 400 的问题。 当一次请求里同时发起多个工具调用(例如并行读取多个文件),网关会把它们错误地拆成多条 assistant 消息,导致严格思考类上游(DeepSeek 等)返回错误:An assistant message with 'tool_calls' must be followed by tool messages responding to each 'tool_call_id'。该问题只在并行(≥2 个)工具调用时触发、单个调用时不触发,因此表现为时好时坏。现在同轮的并行工具调用会正确合并为一条消息,与上游要求的格式一致。
  • 顺带修复:上游返回空思考内容时,历史消息里可能残留多余的空白分隔符,现已清理。