Skip to content

Releases: soulvon/AnyBridge

AnyBridge v0.5.11

Choose a tag to compare

@github-actions github-actions released this 11 Sep 12:14
  • 修复 macOS 版代理无法启动:sidecar 启动瞬间被系统以信号 5(SIGTRAP)终止,界面报「代理主端口 7450 未监听」。
    • 根因:Tauri 2 的 bundle.macOS.hardenedRuntime 默认为 true,签名时会以 Hardened Runtime 签署 bundle 内全部可执行文件(含 externalBin);项目此前未配置 entitlements,pkg 打在 Node.js 运行时上的 anybridge-proxy 缺少 com.apple.security.cs.allow-jit / allow-unsigned-executable-memory,V8 初始化时无法申请 JIT 可执行内存而被 trap。
    • 修复:新增 src-tauri/entitlements.plist 并在 tauri.conf.jsonbundle.macOS.entitlements 引用,只声明 JIT 必需项,不额外放宽库校验(disable-library-validation)。
    • 发布门禁:移除会被 Tauri 覆盖的打包前预签名,改为在打包后校验最终 AnyBridge.app——整包 codesign --verify --deep --strict、断言 sidecar 的 Hardened Runtime 标记与两项 JIT entitlement,并用独立配置目录做 5 秒启动冒烟,被信号终止即中断发布。
  • 诊断增强:sidecar 退出状态为信号 5 时,日志按平台给出可读说明(macOS 指向 JIT entitlement,其他 Unix 指向通用断点/陷阱)。
  • 发布门禁修正(v0.5.9 / v0.5.10 均未对外发布,签名链路本身是正常的):
    • 第一版把 sidecar 的 Hardened Runtime 断言写成匹配孤立的 (runtime),而实际 flags 为 0x10002(adhoc,runtime),必然匹配失败;
    • 第二版改用 plutil -extract 读取 entitlement,但该命令把 key 中的 . 当作 keypath 分隔符,com.apple.security.cs.allow-jit 被解析为嵌套路径而永远取不到值;
    • 现改为匹配 flags=0x<hex>(...runtime,并用 plistlib 解析导出的 entitlement plist。

AnyBridge v0.5.8

Choose a tag to compare

@github-actions github-actions released this 11 Sep 05:30
  • 优化 Antigravity 稳定性与对话体验:

    • 内部依赖模型(checkpoint / fast model)现在跟随用户当前正在使用的 BYOK 模型,而不是平台默认 provider;默认 provider(如冷却中的 CPA)不再拖累内部请求。
    • 内部依赖模型失败时静默返回空响应,错误只写入诊断日志,不再把 [AnyBridge] 上游请求失败 提示条插入对话。
    • v1internal:streamGenerateContent 改为真流式透传:直接 pipe 上游 SSE 并逐块转换为 Gemini 帧(中间帧 OTHER,工具调用 TOOL_CALL,末尾补空 STOP),避免缓冲导致长回复时 Language Server 等待超时;上游不支持时自动回退到缓冲模式。
    • 新增回归测试(流式转换、内部模型跟随),local-proxyantigravity 共 31 项全部通过。
  • 修复 Antigravity 流式响应缺少 Cloud Code 信封导致 Language Server 空指针崩溃的根本问题:

    • 根因:v1internal:generateContent / v1internal:streamGenerateContent 的正确响应格式是 Cloud Code 信封 { response, traceId, metadata };此前返回裸 candidates,LS 解析时取 envelope.Response 得到 nil,在 generation.go:680 / stream_helpers.go:181 空指针崩溃(进程 exit code 2,界面永久卡在 "Working.")。参考开源实现 vahapogut/antigravity-add-model{ response: { candidates: [...] }, traceId: '', metadata: {} } 格式修正。
    • 修复:两个生成端点统一包信封;流式先发内容帧(finishReasonOTHER / TOOL_CALL),随后补一个空 partsSTOP 终止帧;工具调用时标记 TOOL_CALL
  • 修复 Antigravity Agent 卡在 "Working." 不回复的致命问题:

    • 根因:/v1internal:streamGenerateContent 在上游失败(如商汤 HTTP 429: inference exceeds tpm/rpm limitHTTP 400: inference request is invalid)时,代理返回的是 HTTP 错误 + application/json;Antigravity Language Server 2.5.5 的流式解析器把该响应当流处理,触发空指针崩溃(panic: runtime error: invalid memory address or nil pointer dereferencegeneration.go:680 / stream_helpers.go:181),进程 exit code 2,界面永久停留在 "Working."。
    • 修复:Antigravity streamGenerateContent 分支捕获上游异常后统一降级为协议合法的 SSE 快照(HTTP 200 + text/event-stream),把错误信息作为模型文本回复返回,Agent 不再崩溃或卡死,用户能直接看到上游失败原因。
    • 新增回归测试,local-proxyantigravity 共 28 项全部通过。
    • 说明:商汤通道当前存在 tpm/rpm 限流,gpt-5.6-luna(CPA) 的 codex 额度仍在冷却;本次修复解决的是“上游报错时代理导致 LS 崩溃”,不改变上游配额本身。
  • 修复 Antigravity 自定义模型能显示、但 Agent 对话被上游拒绝的问题:

    • 根因是 Antigravity 发送 Gemini / Google 风格工具声明,参数 schema 使用 protobuf 大写枚举(type: "OBJECT" / "STRING");代理原样透传给 OpenAI 兼容上游,导致 CPA 返回 HTTP 400: Invalid schema for function 'browser_subagent': 'STRING' is not valid under any of the given schemas.,界面表现为 Agent execution terminated due to error
    • 新增工具 schema 递归归一化:将 STRING/NUMBER/INTEGER/BOOLEAN/ARRAY/OBJECT(含 protobuf 数字枚举 1–6)转换为小写 JSON Schema,并递归处理 properties / items / anyOf|oneOf|allOf;仅在输出到 OpenAI / Anthropic 上游时生效,normalizeGeminiTools 保持不变,Gemini 上游仍收到 Google 大写枚举,避免反向破坏。
    • 补充 3 条回归测试:OpenAI / Anthropic 必须收到小写 schema、Gemini 上游必须保留大写枚举;local-proxyantigravity 测试共 27 项全部通过。
  • 修复 Antigravity 自定义 API 模型可显示但无法对话的问题:

    • 根因是纯 BYOK 模型目录丢失了 Language Server 构建 Cascade 所需的内部模型注册,导致请求发往上游前即报 unknown model key MODEL_PLACEHOLDER_M36/M50/M318: model not found;同时自定义模型的运行枚举、modelProviderapiProvider 协议族不一致,生成的 ModelInfo 无法稳定注册。
    • 新增 M36、M50、M318 隐藏依赖模型,仅供 Language Server 内部使用,不加入模型下拉列表;这些内部生成请求统一路由到当前启用的 Antigravity BYOK 默认模型。
    • 自定义模型按运行枚举同步生成匹配的 Anthropic/OpenAI/Gemini Provider 字段,并携带真实 vertexModelId,保证模型目录、执行器与上游路由一致。
    • 使用真实 Antigravity Language Server 重启验证:模型解析错误清零;自定义主模型及 M36/M50/M318 内部模型均可经本地代理返回有效响应。
  • 修复 Antigravity 混合模式启动期网络卡死:使用 AbortController 硬超时覆盖 DNS、代理 CONNECT、TLS 与响应全生命周期,避免官方服务不可达时阻塞 IDE 状态刷新。

  • 完善 Antigravity 账号握手、模型目录、Token 计数、推理响应和遥测旁路处理,并补充协议三元组、隐藏依赖和内部路由回归测试。

AnyBridge v0.5.5

Choose a tag to compare

@github-actions github-actions released this 08 Sep 06:58
  • 更新弹窗链路修复:新增每 10 分钟周期轮询与防重入保护,应用长期运行也能及时收到更新提示,彻底解决"过了很久都收不到更新弹窗"的问题。
  • 更新调度升级(借鉴 Cherry Studio):自动检查间隔增加 ±15% 随机抖动,避免大量客户端同时请求更新源;连续失败按 5/10/20/40 分钟指数退避。
  • 配置容灾升级(借鉴 Cockpit-Tools):更新配置保存前自动备份 .bak,损坏时优先从备份自动回滚用户设置,回滚失败才隔离重置,设置彻底不丢。
  • 版本比较修复:更新版本号比较由字符串字典序改为数值分段比较,杜绝 0.10.0 无法超过 0.9.0 导致更新被静默漏掉的重大隐患。
  • 发布流程加固(借鉴 Cockpit-Tools):发布清单生成后校验全平台键与签名完整性,残缺清单绝不进入发布流程;下载失败识别 404/503 发布窗口期并给出明确提示。

AnyBridge v0.5.4

Choose a tag to compare

@github-actions github-actions released this 08 Sep 03:51
  • macOS 签名修复:为整个 App 配置 Tauri 官方 signingIdentity: "-"(ad-hoc)签名,按 Apple 规范由内到外签署 sidecar、主程序与 App Bundle,解决部分 Mac 用户浏览器下载后提示「App 已损坏,无法打开」的问题。
  • 说明:ad-hoc 签名不改变 Gatekeeper 对未公证软件的信任策略,个别系统仍可能提示无法验证开发者,可在「系统设置 → 隐私与安全性」中放行,或执行 xattr -rd com.apple.quarantine /Applications/AnyBridge.app 后打开。

AnyBridge v0.5.3

Choose a tag to compare

@github-actions github-actions released this 07 Sep 16:55
  • 本地代理增强:完善 local-proxy 路由处理逻辑,提升请求转发稳定性与覆盖场景。
  • 供应商池优化:provider-pool 行为修正,配套新增单元测试覆盖关键路径。
  • 代理页面与运行时联动优化:精简代理页结构、更新运行时脚本与样式,整体交互体验更顺滑。
  • 更新弹窗纯文本渲染:更新成功弹窗的更新内容改为纯文本显示,彻底移除多余圆点与叠字问题。

AnyBridge v0.5.2

Choose a tag to compare

@github-actions github-actions released this 07 Sep 12:42
  • Cursor 平台供应商前缀样式弹窗结构修复:移除冗余的重复关闭容器与底部操作栏节点,恢复弹窗正常渲染与点击交互。

AnyBridge v0.5.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 10:53
  • Cursor 平台模型前缀/后缀样式体验优化:
    • 重构模型供应商前缀设置弹窗,支持徽章分组模式、前缀模式(标准方括号、圆括号、书名号及自定义括号)与无前缀模式;
    • 增强预设选择器交互态,高亮与聚焦表现更加细腻现代;
    • 完善本地回环测试与跨架构构建兼容性。
  • CI 与发布流加固:
    • 补充 cursor-core 多架构交叉编译与 CI 检查支持,确保各平台自动构建畅通。

AnyBridge v0.4.2

Choose a tag to compare

@github-actions github-actions released this 04 Sep 09:47
  • Codex Desktop 注入优化:将平台切换与 Codex 重启注入中的重型进程探测、COM 激活和长连接等待全面切入后台工作线程池(spawn_blocking),彻底解决注入过程导致 AnyBridge 任务栏出现「未响应」的问题。
  • Codex CDP 探测与超时改进:优化 CDP /json 探测超时粒度(1500ms),并将渲染进程就绪等待超时放宽至 25s,完美适配冷启动慢场景,避免误报「未就绪」。
  • 提升注入连接稳定性与重试响应速度。

AnyBridge v0.4.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 07:07
  • CPA Manager Plus: 修复更新/切换版本后提示「数据库升级维护尚未完成」的问题。启动、部署、更新前自动执行 cleanup-derived 离线完成新版本索引创建与派生数据清理。
  • 修复 sidecar 模块打包兼容性问题:移除 top-level await,修复打包安装后代理启动失败的异常。
  • 供应商模型列表自然排序:已选模型列表及模型分组内支持按名称自然字母数字升序排列(Natural Sort)。
  • 平台与供应商页面交互与视觉优化。

AnyBridge v0.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 10:59
  • Claude Code Unlock: payload 完全对齐 Claude Code CLI v2.1.220 真实抓包(beta 9→6,去掉 context_management 和 thinking.display)
  • Claude Code Unlock: 内嵌 21 个 Claude Code 原生 tools 指纹,AnyRouter 端点校验通过
  • unlock 逻辑优化:供应商未开启解锁时自动降级为普通协议,不再报错
  • 移除按槽位名自动写入 unlock/apiFormat 的逻辑,避免 glm-5.2 等模型被误判
  • 修复错误码语义:上游网络错误使用 unavailable,参数错误使用 invalid_argument
  • 修复 sidecar 构建脚本:使用本地 @yao-pkg/pkg,避免调用全局旧版 pkg@5.8.1
  • 协议推断回滚原有逻辑,跨平台 CLI 查找兼容 Windows/macOS/Linux
  • 版本号同步所有 package.json、lockfile、Cargo.toml