Repository navigation
Releases: Elysifyre/TraeWorkAssistant
Releases · Elysifyre/TraeWorkAssistant
Release list
v3.6.6 版本发布
[3.6.6] · 2026-10-04 · Trae 池指纹清洗接入 + 11128/空完成感知重试(Issue smart-open#57/smart-open#54 修复批)
范围:自 [3.6.5](tag v3.6.5,commit 29d106a)以来的全部变更。
修复
- [P1] Trae 池接入指纹清洗管线 + 11128 渠道拦截/空完成感知重试(issue smart-open#57「Trae 会中断」,dc3b32d/fc13a1b):CLI harness(REASONIX/DSH 等)的客户端身份句原样透传上游,触发渠道级风控——该拦截按请求指纹而非账号/模型,换模型换账号均无效,表现为 400
code:11128(Illegal API invocation from an unapproved channel)或 200 状态零内容完成(影子风控,客户端表现为空响应中断)。现 Trae 池复用 WB 池清洗管线:prepare_llm_chat_body新增 sanitize 开关与热更新规则表参数(消息文本块 strip_cc+模板映射;tool_calls arguments 与工具描述仅模板映射,删段语义不破坏 JSON 结构),wb_template_map.json默认规则新增 Cline/Roo/OpenCode 等 CLI 身份句改写(含「function → function_call 改名后仍命中」兼容);五处链路(stream_chat/aggregate_chat/run_wb_stream/wb_aggregate_chat/wb_tool_exec_chat)11128 感知重试——未清洗时强制开启清洗同号重试一次(不消耗换号额度),已清洗仍命中按 Fatal 透传(提示更新规则表),wb_tool_exec_chat回退轮次不消耗;空完成以哨兵码 -9901 上抛触发换号(占位帧不计入 has_content;流式不冷却不透传、聚合 Server 短冷却),三协议转换器(OpenAI/OpenAiText/Anthropic)与 wb_sse 转发器全覆盖,Anthropic 空流不再伪造空合法 message;sanitize/templates 为请求级快照,11128 强制清洗跨账号保持(对齐 wb_route 三处);模板命中计数随日志导出,便于规则表逆向热更新闭环。 - [P2] /v1/messages 分类器模型三级兜底(issue smart-open#54,0441851):客户端请求携带网关不可路由的模型名(未来 claude 系名、
[1m]变体、上游已下线名)时原样透传致客户端 400/404;现按「Custom 直配 → WB 可路由 → 网关默认模型」三级兜底改写(claude 前缀判定字节级短路、[1m]后缀剥离多字节安全),改写原子生效(peek/body/model 三处同步,任一步失败整体跳过),非 claude 且不可路由仍透传;默认模型自身不可服务时不二次改写,与「未指定 model」走同一失败路径。 - [P3] e2e 隧道测试偶发失败(8d540e4):
read_head会把同段到达的 body 一并读入缓冲,body 后续分段到达时测试只断言 head 即漏检;新增read_head_and_bodyhelper(先查已读缓冲,未命中再 2s 超时补读到 marker),修复 CI Intel runner 偶发失败(run 36835288825)。
测试
- cargo 单测 584 全绿(本周期新增:模板命中计数导出、Trae 池 body 清洗三路覆盖、/v1/messages 兜底五场景、e2e 隧道 body 补读等回归用例)。
v3.6.5 版本发布
[3.6.5] · 2026-10-01 · 账号槽位交叉污染防护 + WorkBuddy 指纹与凭据提取修复批
范围:自 [3.6.4](tag v3.6.4,commit 31fa051)以来的全部变更。
修复
- [P1] 保存登录态账号槽位交叉污染防护(11c25bc):账号 B 的登录态可能被存进账号 A 的槽位——现加双层身份守卫:L1 命令层预检(
current_cloud_uid_hybrid)+ L2 switcher 层日志 uid 硬校验,不符则还原现场并拒绝保存([fatal]前缀透出完整文案,前端复用既有正则零改动);backup_icube写<slot>.meta.json身份 sidecar,restore 前校验 mismatch 仅 Warn 不阻断;rotate_bak升级双代备份(.bak/.bak2),原快照不再被单代轮转永久淘汰。 - [P2] WorkBuddy 客户端指纹伪装补齐(issue smart-open#48,e845bf2):部分个人中心请求缺少指纹伪装头,请求明细页面显示「-」;补齐
wb_common/wb_upstream出站链路的客户端指纹头,个人中心请求明细不再出现空值。 - [P2] WorkBuddy auth 提取键对齐
creds_of超集 + 失败错误自带键名诊断(issue smart-open#51,07aa845):auth 提取键集与creds_of存储超集不一致导致部分凭据字段漏提取;现对齐超集语义,失败时错误信息自带缺失键名,便于一眼定位是哪个键没取到。
文档
- [P3] AGENT.md 新增 §16 远端同步规范(1b8937d):新任务开工前/提交推送前必先
fetch --all --tags --prune同步远端。 - [P3] Trae CLI 桥接落地方案(d2d4843):
docs/tmp/trae-cli-bridge-plan.md记录个人账号不可用实证与企业后端模拟四阶段计划。
v3.6.4 版本发布
[3.6.4] · 2026-09-28 · API 网关流式断连检测 + 后台动作终态防护 + Issue smart-open#41/smart-open#44~smart-open#46 修复批
范围:自 [3.6.3](commit 8665e4c)以来的全部变更。
新功能
- [P3] 设置新增「启动时自动开启 API 网关」(复刻 auto_start_proxy 模式):
Settings新增auto_start_api(默认关,#[serde(default)]向后兼容旧配置),前端init()在设置加载完成后若网关未运行则自动拉起(判重 + 静默失败兜底,与托盘启停竞态安全);通用设置「启动」区块新增复选框并标注局域网暴露提示(网关监听0.0.0.0且无启用 Key 时匿名放行);启动日志追加auto_start_api字段便于排查。
修复
- [P1] API 网关流式转发客户端断连检测(issue smart-open#41 系列,24eb1d0/0028c93/73f3480/5abb891/21ea8c1):客户端中途断连后,后台转发线程此前持续消费上游直到 EOF——占用账号并发槽(InflightGuard/账号在途计数)形成僵尸流;现在转发链路三层检测:轮换/重试入口与退避 sleep 后
tx.is_closed()快速终止、停滞期next_event_polling按 LINE_POLL 轮询断连、活跃流逐事件顶部检测,断连即终止转发并释放并发槽。覆盖三条链路:SOLO SSE 转换管线(OpenAI/OpenAiText/Anthropic 三协议,断连后跳过收尾事件)、WB 上游流式(含failed_inline语义——流内错误就地透传后不得重试/不得按成功收尾;竞速对冲胜者行源桥接同样可中断)、自定义模型直通。 - [P1] 后台动作 panic 后终态事件永久缺失(issue smart-open#44,1b8d3a1):切换/保存登录态/续期 JWT/豆包保活/快照备份恢复等后台线程 panic 时
*-done终态事件从不发射,前端switchingTo/savingLogin永久锁死;现 catch_unwind 包裹 +finish_action_thread统一终态出口(panic 转[fatal]消息),emit_logged统一事件发射(emit 失败落日志);action_gate 中毒锁恢复(try_lock区分 Poisoned/WouldBlock);前端三账号页 90s 看门狗clearSwitchLocks兜底解锁 + 新增 SwitchProgressPanel 共享进度面板(此前仅豆包页有)。 - [P2] Trae 安装检测对自定义安装恒报「未检测到」(issue smart-open#45,cfe8607):旧
detect_trae/detect_trae_cn仅扫默认目录,自定义安装路径的用户环境检测/打开客户端始终失败;现统一走app_locate四级探测(手动指定 → 默认路径 → 注册表 → 运行进程),探测顺序对齐全库语义(默认路径优先、注册表兜底),净删 118 行重复实现;未检测到提示补充手动路径引导。 - [P2] 无边框窗口 hide→show 后无法最大化(issue smart-open#46,8b5e517):托盘隐藏再显示后 Win32
WS_MAXIMIZE与 Tauri 内部状态失同步,isMaximized()恒 true、点最大化变空操作;现MainWindowMaximized状态记忆(hide 前记录)+ show 时 unmaximize→maximize 强制重建(托盘左键/托盘菜单/单实例/启动最小化四路径统一)+ 启动程序化最大化兜底;前端 TitleBaronResized跟踪真实状态,最大化/还原图标随状态切换,最小化按钮改走minimize_to_tray(与托盘隐藏同链路)。
文档
- [P3] wb_route 模块注释对齐断连检测语义:3.6.3 发布后全面审查发现模块头注释仍描述 issue smart-open#41 修复前的旧行为(客户端断连后保持消费上游到 EOF),与现行「断连即终止」三层检测语义矛盾,已修正,避免误导后续维护。
测试
- cargo 单测 564 全绿(本周期新增:客户端断连三层检测、
InterruptibleLines可中断行源、后台动作 panic 终态、账号池合并语义等回归);tsc --noEmit全绿。
v3.6.3 版本发布
[3.6.3] · 2026-09-26 · 积分看板重建(Trae/Buddy 平台拆分)+ Issue smart-open#38 -max 修复批
范围:自 [3.6.2](tag v3.6.2,commit 89b0b6b)以来的全部变更。
新功能
- [P1] 积分看板重建——Trae/Buddy 平台拆分 + 三源数据矩阵(credits-dashboard-plan.md):同一看板组件按 platform 参数渲染两个独立页面(Trae
credits视图 / Buddybuddy-credits视图,互不混装),旧 Credits / BuddyCredits / TokenStatsPanel 三页退役删除;统计面板 KPI 7 卡(账号数/可用积分/平均/积分包/今日新增/今日消耗/7 天内到期,单平台口径)+ 积分统计 Tab(官网/本地/API 网关三源切换——网关源api_usage仅记 tokens,决策落地:以请求数为主要口径、积分数不估算)+ Token 统计 Tab 三源完整(本地 JSONL 365 天 / 网关 Trae/Buddy 池 90 天 / 官网 Trae token 字段,issue smart-open#35 Bug2 用户可见修复)+ 积分到期 Tab(双平台账号明细 + 到期日历);布局两层分类(Tab / 数据源面板外切换)与面板同宽弹性热力图;抽公共组件 useDateRange / ChartFilterBar / ActivityHeatmap / ModelRanking 与 BoardPoint 纯函数适配层。Rust 侧方案 B:wb_credits_history每日快照新增earned(当日余额差分与签到 reward 归并,schema 幂等补列免版本迁移),新增workbuddy_credits_history_list命令;Buddy「获得积分」快照 earned 优先、缺失日回退签到口径;覆盖窗口与口径差异(§8)页面内诚实标注,不做静默合并。
修复
- [P1]
-max后缀请求上游 4001 并轮换打满账号池(Issue smart-open#38②):真机根因为 dispatch 剥离-max/-thinking后仅路由与日志使用基名,请求体model字段原样透传 → payload 按未收录名生成xxx-max__dev→ 上游4001 param is invalid;Trae 出站注入层现回写 bodymodel为剥离后基名(Buddy 管线同语义)。配套:Max Mode 注入值改布尔true(真机实证is_max_mode:true可用);全局模型白名单准入对齐后缀剥离规则(基名在名单即放行,白名单部署下-max入口不再 404);流内请求级错误(4001 等ErrKind::None)终止账号轮换、按 400 透传上游错误且不冷却(不再无意义打满整池)。 - [P1]
/v1/models漏序列化max_mode字段(Issue smart-open#38①):内部UnifiedModel.max_mode已按支持表计算,手工 JSON 序列化遗漏致 release notes 声明的字段从未出现在响应中,Max Mode 对客户端不可发现;现补齐输出。 - [P2] WB 池未启用时双源模型
context_length被残留快照拖低(Issue smart-open#38④):双源合并原对 Buddy 侧上下文无条件取 min(glm-5.2等被压到 128K);现context_length纳入聚合末段按调度策略命中侧选定(与 rate/display 同模式),禁用池数值不再约束声明。 - [P2]
prompt_max_tokens口径固化:真机实证矩阵(省略 → 4001 上游必填;放大 1M → 4001 拒绝;is_max_mode:true+ 168000 → 200),固定 168000;长上下文用例实测-max通路 180051 prompt_tokens(>168000)HTTP 200,确认 1M 窗口实际兑现、该字段不钳制 Max Mode 上下文。
可观测性
- [P3] Trae 出站链路落盘(Issue smart-open#38⑤):app.log 新增
trae effort: requested → wire(档位映射)与trae outbound: requested_model/model/effort_injected/max_mode_injected(后缀剥离回写与 Max Mode 注入),三类失败分支(未剥离/剥离未注入/注入被拒)可区分。
测试
- cargo 单测 559 全绿(新增/更新:context 命中侧选定、
-max白名单放行与 body model 回写、Max Mode 注入布尔值、prompt_max_tokens恒定等);真机端到端验证-max全链路 200、账号池零冷却。
v3.6.2 版本发布
[3.6.2] · 2026-09-25 · 模型档位统一空间 + Max Mode 出站 + 局域网网关接入 + 定时同步扩展
范围:自 [3.6.1](commit df8010e)以来的全部变更。
功能优化
- [P1] 模型档位统一空间与 Trae Max Mode 出站接线(Issue smart-open#31):新增统一档位空间(minimal..max)与 Trae wire(light/high/extra_high)映射,Trae 档位停用名称推断改静态实证表(调用时降级兼容 ≤请求值的最大支持档位);Max Mode 出站接线,单次 parse 合并注入
reasoning_effort_level与is_max_mode,-max后缀路由剥离并补观测日志;effort 三源合成(显式 > 路由提示 > 默认 high)经降级链出站注入,空串短路实现显式关闭;档位声明双源合并(Buddy 空时保留 Trae 侧),/v1/models上下文改实际请求口径(1M 声明不冒充,仅 Max Mode 可达)并新增max_mode字段;wb_rate原始值透传(0 = 免费声明,修复 Buddy 免费模型被当未声明退源);Trae 表外模型显式请求档位按统一→Trae 映射填充默认下发(合成默认仍不下发);L2 档位归一为空回退 L3 实证表;Anthropic thinking 参数接入显式检测。 - [P1] 网关监听 0.0.0.0 并展示局域网接入地址(Issue smart-open#34):监听地址 127.0.0.1 → 0.0.0.0,局域网设备可经内网 IP 访问网关;新增
lan_iface_ips命令(if-addrs 枚举 IPv4 单播,排除回环/链路本地/Docker 与虚拟化/代理虚拟网卡,按 IP 去重保序);接口配置/使用帮助展示局域网接入地址与安全提示(无启用 Key 匿名放行),复制配置示例与概览行同步追加局域网 IP。 - [P1] 积分看板与官网模型定时同步(Trae/Buddy 双平台):调度器新增 4 个可配置任务(每日 HH:MM/每小时/关闭三态)——Buddy 积分快照(积分 + Token 统计重扫 + 官网用量刷新,默认 23:30)与 Trae 积分同步(默认 23:40)改造、Buddy 上游模型目录同步(05:45)与 Trae 官网模型列表同步(05:40)新增;hourly 按成功 last_run_ts 节流 ≥1h,无账号静默跳过不计失败;两平台接口配置页模型目录卡均新增定时同步行。
- [P2] 签到时刻可配置(Trae/Buddy):Trae 默认 09:00、Buddy 默认 09:10(零值自动回填),调度器 effective_hhmm 接线并与 Windows 计划任务注册时间共用同一设置值;环境配置页新增时刻选择器,配置非法自动回退默认。
- [P3] 档位/Max Mode 帮助展示:使用帮助弹窗新增档位/Max Mode 说明与七列表格(table-fixed 定宽 + 列宽微调),接口配置页加简版说明,用户手册新增 §7.6 局域网访问与 §7.6 档位说明。
修复
- [P1] 设备标识重置失败(Issue smart-open#33):注册表 MachineGuid 两处写入改
create()(原open()仅 KEY_READ 只读句柄,set_string 必然拒绝访问,管理员权限下也一样,该层此前从未成功过),错误信息透出真实原因不再一律归因权限;aha/TinyStorage 兼容单文件形态(对文件 read_dir 报 os error 267,先判 is_file 且含 device_id 标记才删),子目录遍历失败最佳努力跳过不中断清理。 - [P2] WB 每日签到状态解析兼容 schtasks 列序差异:部分 Win11 无 HostName 列导致按固定下标取到日期、状态永远「未注册」,改为扫描带
\前缀字段(抽出纯函数 + 单测);WB 每日签到/每周续期注册与卸载补 app_log;任务配置卡双机制说明文案对齐(「Windows 计划任务(兜底)」)。 - [P2] 运行日志双栏 1:2 布局去 md: 断点全尺寸生效:高 DPI 小窗下视口低于 768px 不再退化为单列堆叠压扁实时代理输出。
其他
- AGENT.md §11.1 版本号升级规则补全双平台发版产物清单与 latest.json 全资产收录红线(v3.6.1 mac 更新阻断事故复盘)。
- wb-catalog-sync 路径去冗余:调度分支与手动命令共用同一 impl,消除 wb_upstream_accounts 双读;定时配置保存补最小过渡反馈(withMinDelay 400ms)。
测试
- cargo 单测 557 全绿零 warning(新增:effort 统一映射与降级链、局域网 IP 过滤、schtasks 列序解析、TinyStorage 单文件形态等);vitest 32 全绿。
v3.6.1 版本发布
[3.6.1] · 2026-09-23 · 调度可观测性增强 + 通知渠道统一 + JWT 定时续期
范围:自 [3.6.0](commit aca5ead)以来的全部变更。
修复
- [P1] 调度失败不落 API 请求日志(Issue smart-open#29):统一调度分流点三类失败(WB 上游未启用 400 / 模型冷却 429 / 无健康账号 503)现均落「API 请求日志」(uid/acct 显示
-,error 携带失败原因),消除「请求失败但日志页无记录」的可观测性盲区;NoHealthy 错误消息携带pool/healthy/key/bind/whitelist/dedicated/healthy_in_scope自查细节,healthy_in_scope=0直接暴露 Key 约束排除根因。 - [P1] 积分保鲜调度到期口径(Issue smart-open#28):Trae 池调度改看「通用积分」最早到期(Work 包不参与调度扣费),Buddy 积分包最早到期接入池调度;混合到期口径保留给 UI 到期徽章/日历与签到排序。
- [P2] 用量统计 5 个指标块换行:总请求数/成功率/Token 消耗/平均耗时/TTFT 单行铺开(sm 5 列 + 收紧间距),窄屏仍 2 列。
功能优化
- [P1] 失败通知渠道迁移系统设置(Trae/Buddy 全平台共用):系统设置新增「通知渠道」面板(总开关/签到完成通知/调度任务失败通知三开关 + Bark/Server 酱/通用 Webhook 地址,右侧「发送测试」按钮),独立保存不受外观表单影响;环境配置页同步重组为「通用配置|任务配置」两列 + CLI 自动轮换卡。
- [P1] Trae JWT Token 定时续期与 401 自愈(Issue smart-open#27):新增 trae-jwt-renew 调度任务(默认 05:30,时刻可改、可启停、「恢复推荐配置」一键还原),请求遇 401 自动触发续期自愈,配置入口 Trae 环境配置「任务配置」面板。
- [P1] 全局调度混合白名单(Issue smart-open#30):Key 未绑定池时白名单条目支持
trae:/buddy:池前缀,按前缀分池作用域(某池零条目 = 该池排除,预检判不健康走 fallback);前端 Key 编辑合并展示两池候选并带池徽标,专一下拉带[Trae]/[Buddy]前缀;调度日志新增key=/acct=字段(Key 展示名与取号账号名)。 - [P2] Buddy 成长任务调度化:wb-growth 每日定时执行,与签到任务共用时刻配置(默认 09:10)。
CI
- Windows 构建产出三资源(NSIS setup + MSI + portable zip)对齐 Release 资产格式;portable 打包两处修复(显式用 System32 bsdtar、临时文件名 argv 全 ASCII),规避 runner ACP 1252 下中文文件名乱码。
测试
- cargo 单测 527 全绿零 warning(新增:调度失败日志落盘直测、NoHealthy 约束详情、混合白名单 pool_constraints、积分到期口径拆分、通知渠道迁移等 30+ 项回归);vitest 32 全绿。
v3.6.0 版本发布
[3.6.0] · 2026-09-23 · Key 级资源池绑定 + 全局模型白名单 + 签到修复
范围:自 [3.5.8](commit a970fc3)以来的全部变更。
功能新增
- [P1] Key 级资源池绑定:API Key 可绑定资源池(Trae / Buddy 池维度),调度选池优先级变为 Key 绑定 > 会话粘性 > 全局策略;未绑定池的 Key 行为完全不变(不参与池作用域约束)。API 管理界面新增/编辑弹框提供三卡片池选择与两池候选源切换,列表新增池标识 Badge。
- [P1] 模型 function 视图 + 查表路由:模型
function属性落库(幂等回填存量数据),路由优先查表(function_for_model_in),未收录模型__dev原样透传。 - [P1] 全局模型白名单:统一模型目录新增
model_whitelist(canonical 归一 + config_cache 缓存、写入即失效)。生效范围:- 推理端点准入:OpenAI / Anthropic 兼容层对白名单外模型返回 404(
model_not_found/not_found_error); /v1/models目录按白名单过滤;- 后台任务与长上下文降级候选与白名单求交;
- 白名单为空 = 全放行;Web 管理面 InterfaceConfig 新增白名单卡片与全量多选编辑。
- 推理端点准入:OpenAI / Anthropic 兼容层对白名单外模型返回 404(
问题修复
- [P1] 签到已签误报:今日已签判定收紧为
ok==true且按user_id匹配,修复 Issue smart-open#24 已签误报导致无法自动签到。
其他
- 版本升版 3.6.0。
- Windows CI 扩展:一次构建产出 NSIS setup.exe / MSI / portable.zip 三资源,对齐 release 资产格式。
v3.5.8 版本发布
[3.5.8] · 2026-09-20 · Buddy 账号分组 + 会话域内联 + 添加账号流程帮助
范围:自 [3.5.7](commit 1c89568)以来的全部变更。
功能优化
- [P1] Buddy 账号分组:新增分组管理(分组定义存 kv,成员挂账号 group_id)、分组过滤 chips、账号行分组列;资源调度账号池支持分组筛选(
wb_group_ids,池装配层过滤),分组外账号半透明标记,池内指标按筛选后计数。 - [P2] WB/CB 会话域选择内联:会话 tab 撤销,域选择内联进备份/恢复/复制弹窗;Buddy 账号管理按钮改名重排(OAuth登录/扫描本机账号/导出账号/导入账号/环境重置/分组管理/快照管理)。
- [P2] 添加账号流程帮助:Trae/Buddy 账号管理使用帮助置顶「添加账号流程(三步)」:添加账号(OAuth/扫描/代理/手动)→ 登录客户端 → 保存登录会话;Buddy 新增使用帮助入口 + BuddyHelpModal(OAuth 扫码/导入本机/双端登录态保存与切换/凭证续期/CLI 桥接/会话备份恢复复制/快照管理/环境重置),内容按功能实际口径编写。
- [P3] Trae 文案对齐:「扫描本机」→「扫描本机账号」并与 OAuth 登录换位、「导出账户」→「导出账号」;同步两处帮助弹框、签到/概览/引导文案旧称谓;Trae 帮助 OAuth 小节降为普通样式避免双高亮。
v3.5.7 版本发布
[3.5.7] · 2026-09-20 · CC Switch 注册链路修复 + 网关协议对齐 + 多账号互踢优化
范围:自 [3.5.6](commit a15e822)以来的全部变更。
修复
- [P1] CC Switch Claude 条目注册后完全失效:settings_config 由扁平结构改为官方
{"env": {...}}嵌套结构(官网文档 + cc-switch main provider.rs + 本机真实条目三重实证)——此前切换后 Claude Code settings.json 顶层无 env 键,端点/凭据全部丢失。 - [P1] CC Switch Codex 条目启动即报 "Model provider
customnot found"(Issue smart-open#20):config.toml 内 provider id 固定为 CC Switch 常量custom(其切换逻辑按常量改写 model_provider,自定义 id 会「键在表不在」);TOML 插值补 basic string 转义(引号/反斜杠/控制字符)。 - [P1] API 网关请求体超限行为(Issue smart-open#21):axum
Bytes提取器默认 2MiB 限制,超限请求在进 handler 前即被纯文本 413 拒绝(handler 内 8MB 检查不可达)——显式放开 DefaultBodyLimit 至 32MiB(适配长上下文客户端每轮重发完整历史 + 图片 base64),鉴权中间件前置 Content-Length 预检,超限返回结构化 JSON 413,阈值/文案由常量统一推导。 - [P1] Anthropic 协议 stop_reason 硬编码 end_turn:流式 message_delta 与非流式 /v1/messages 均按上游 finish_reason 映射(length→max_tokens / tool_calls→tool_use / content_filter→refusal),存在 tool_use 块时强制 tool_use——修复工具调用客户端把「等工具结果」误判为「正常结束」。
- [P1] SSE keep-alive 拖延流终结(WB/Custom 路径):AtomicBool 15s 轮询改 watch + DoneSignal(主任务结束 Drop 即触发,含 panic 展开),流终结不再被拖延最多一个 15s 周期,与 Trae solo 路径同方案。
- [P1] CA 证书读取拒绝访问 os error 5(Issue smart-open#14):历史 harden_ca_dir 授权无 (OI)(CI) 继承标志,目录收紧时子文件 DACL 被动态清空;加载分支探测不可读即
icacls /reset /T自愈重试,仍失败报「删 certs 目录重新生成」指引(cert_install 与代理启动同链路受益)。 - [P2] CC Switch 注册复用业务 Key 被每日配额 429:未显式传 Key 时自动使用「CC Switch 专用」Key(复用或新建,不限每日配额,被禁用自动恢复启用),与业务 Key 隔离;注册成功文案附 Key 来源说明。
- [P2] CC Switch 数据库写入健壮性:连接设 busy_timeout 3s(运行中持写锁不再立即报 database is locked);providers 列级兼容(SCHEMA_VERSION 19 基线无 cost_multiplier 列时按实际列动态拼装 INSERT);备份只保留最近 10 份本工具创建的备份(.bak_aiwork_ 标记,不触碰 CC Switch 自身备份);主目录定位失败不再兜底 "." 误报 cwd 下数据库。
- [P2] 非流式聚合/工具代执行占用主阻塞池:两者含分级重试(退避最长 60s×N),迁入 stream_runtime 专用阻塞池,不再饿死鉴权等短任务(与流式线程隔离同策略)。
- [P2] Trae 池空警告误导排查方向:Trae 池空 ≠ 全部资源不可用——启动日志与系统通知分池展示(Trae 池 accounts/healthy、Buddy 池 enabled/accounts/healthy),分别指明哪个池不可用、去哪里处理。
- [P2] 上游采样参数丢失:Trae solo 请求 max_tokens 尊重客户端显式值(含 max_completion_tokens,缺省兜底 4096);Anthropic→OpenAI 转换透传 temperature / top_p / stop_sequences→stop;tool_result is_error 以「Error:」前缀标注,保证模型可感知工具执行失败。
- [P2] 豆包保活 TOCTOU 与 PID 复用误杀:记录 spawn PID,stop 前重检存活 + 映像名匹配后按 PID 精确关闭,消除 8s 窗口竞态。
功能优化
- [P1] 多账号互踢冲突面优化:Trae refresh_jwt 惰性刷新门(JWT/refresh_token 剩余 >48h 跳过 ExchangeToken)+ invalid 时从 IDE 本地登录态自动恢复;Buddy workbuddy_refresh_token 惰性续期门(access_token 剩余 >24h 跳过上游取号,expires_at 缺失保守放行);前端刷新支持 force 强制,惰性跳过走中性提示。
- WB 指纹清洗扩展:新增 Codex CLI v1–v4 harness 身份句与 TraeCode 身份句的最小改写(9/19 新版 codex.exe 实证 + pool=trae 日志实证预防性兜底);清洗覆盖 tools[].function.description(CLI harness 将身份句嵌入工具描述的绕过通道)。
- Buddy 资源调度页布局重组:账号池选择与资源开关/调度参数合并为左列同一面板,右上角「保存」一次保存全部;右列模型目录;「池内账号」指标改为「勾选参与 WB 调度的账号数」。
- 资源总览三池指标口径升级:新增池内成员数(Trae enabled_uids / Buddy 白名单或 fail-open 全量)与「可用积分」(池内账号积分和),与「积分总余额」(全部账号)区分;指标纯计算抽出 poolMetrics.ts 并配单测;生态接入卡展示 CC Switch 安装/条目注册状态,注册成功后即时刷新。
测试
- cargo 单测 446 → 453 全绿(新增:Codex/Trae 身份句与工具描述指纹清洗 5 项、CC Switch 专用 Key/TOML 转义 2 项);vitest 26 → 32(poolMetrics 6 项);
tsc --noEmit全绿。
v3.5.6 版本发布
[3.5.6] · 2026-09-19 · API 池凭据/成员热重载 + Trae/Buddy 模型目录客户端对齐过滤
范围:自 [3.5.5](commit 27c5e71)以来的全部变更。
修复
- [P1] Trae「同步官网模型」401(存储 JWT 带前缀):自动捕获/本地抓取/刷新链路均以
Cloud-IDE-JWT前缀规范化写入,fetch_official漏剥前缀 → mchost.guru 网关在 token 校验前统一拒绝(401 code 1001)。发送前剥前缀,对齐 pool.rs 入池行为(消融探针实证)。 - [P1] Trae 同步目录混入客户端隐藏模型:过滤逻辑对齐客户端模型选择器(抓包逆向四层判定)——内部配置 / 自定义回显(
custom_前缀等)/is_invisible_to_user/ 当代代际(context_window_tokens.max ≥ 250_000)逐层剔除,glm-5.1、kimi-k2.6、custom_claude-* 等不再出现;同步结果 16 条与客户端截图逐条零误差(含倍率)。请求形态换用客户端 Agent 聊天选择器真实形态(7 函数 + access_type=0 + solo_agent);展示名/倍率/上下文取 solo_agent/chat_v3 主语境位;新增 DeepSeek-V4.1-Flash、Kimi-K2.8-Preview 路由映射。 - [P1] Buddy 模型目录污染(agent/别名/内部条目):
wb_catalog三重过滤——looks_like_model能力特征剔除无 models 子数组的 agent 条目(general-purpose/compact/plan 等);噪音 id 黑名单(autoAutoMode 元模型 /default路由别名 /hunyuan-chat无定价内部条目);cli_agent_whitelist客户端菜单白名单逆向(tags 含 cli+default 的 agent models ∩ data.models),同名双档价位(hy3/hy3-x)保留双档。倍率解析对齐credits字符串链("x0.05" / "x0.00 credits")。
功能优化(API 服务热重载)
- [P1] 凭据/成员变更联动热重载:新增
reload_pools_if_running全量重建运行中双池(Trae + WB),取代原note_refresh_success单点回填 JWT——覆盖其管不到的陈旧快照(SessionDead 禁用 / 冷却 / 积分 / 新账号缺失),修复「刚登录的 JWT 网关还是不行」。联动入口:OAuth 重登、refresh_token 刷新、手动更新 JWT、导入账号、保存账号池。 - [P2] Buddy 资源开关热应用:pool_set 保存时同步热应用
wb_enabled/wb_default_thinking/wb_tool_exec/wb_bg_downgrade四开关(此前仅启动时读取,改动需重启服务);前端「需重启 API 服务」提示文案全部移除。
测试
- cargo 单测 425 → 426 全绿零 warning(新增:旧代模型/自定义回显过滤、主语境展示名优先等回归)。