|
|
56969cb879
|
fix(webview): 子资源连接关闭不再误报整页失败
- ERR_CONNECTION_CLOSED 若来自图片/脚本/统计等子资源,忽略并继续等待主页面
- 页面进度继续推进时自动清除瞬时错误提示
|
2026-10-09 17:11:35 +08:00 |
|
|
|
b62dc90c40
|
chore(update): 发布 1.7.12 更新清单
|
2026-10-09 16:42:45 +08:00 |
|
|
|
d5a152ef1e
|
fix(wb): 按官方客户端补齐登录请求头并延长 INTL 授权超时
- WorkBuddy auth/state 改用 VSCode(国内)/workbuddy-ai(INTL) platform,与官方客户端一致
- 补齐 Origin/Referer/X-Client-ID/X-Client-Version/X-Product/X-No-Authorization
- INTL 浏览器登录等待时间从 120s 延长到 15 分钟,普通用户邮箱/验证码流程不会再中途超时
|
2026-10-09 16:41:35 +08:00 |
|
|
|
62304ecc9b
|
chore(update): 发布 1.7.11 更新清单
|
2026-10-09 16:33:46 +08:00 |
|
|
|
7574c3c7fb
|
fix(login): 页面加载反馈 + WB 凭证解析容错 + 系统浏览器登录入口
- 登录页新增加载进度条、加载失败提示和重试
- 顶部新增「在浏览器打开」:Trae 谷歌登录被 WebView 拦时可走系统浏览器(沿用本机 Chrome 的 Google 登录态)
- WorkBuddy 轮询兼容 accessToken/access_token/token/authToken 等返回结构,失败时打印调试日志
|
2026-10-09 16:32:36 +08:00 |
|
|
|
b94e2f6994
|
chore(update): 发布 1.7.10 更新清单
|
2026-10-09 15:36:21 +08:00 |
|
|
|
46b4d457b8
|
fix(login): 每次登录自动清除 WebView 登录态
登录前自动清 Cookie/WebStorage,避免上一个号码的登录态串到新账号。账号凭据本身已按账号 ID 独立保存。
|
2026-10-09 15:35:19 +08:00 |
|
|
|
3c2b2ec16e
|
chore(update): 发布 1.7.9 更新清单
|
2026-10-09 15:29:04 +08:00 |
|
|
|
d6e4d34a42
|
fix(login): INT L 登录走对应域名 + 可清除 WebView 登录态
- Trae INTL 登录改打开 trae.ai 授权页,不再误开 trae.cn
- WorkBuddy auth state/token 按区域切换 copilot.tencent.com / workbuddy.ai
- 登录页新增「清除登录」按钮:清 Cookie/WebStorage 后重开,避免沿用上一个号码的登录态
- 新建账号表单保持留空(确认逻辑已存在),登录结果回填新账号
- 版本升至 1.7.9
|
2026-10-09 15:28:00 +08:00 |
|
|
|
e914633797
|
chore(update): 发布 1.7.8 更新清单
|
2026-10-09 12:27:15 +08:00 |
|
|
|
eb4451c4de
|
feat(proxy): CN/INTL 配置与模型列表完全分离
- 模型 Provider 改为按区域独立列表:Trae CN/INTL、WorkBuddy CN/INTL 各自拉取,不再互相覆盖
- 拉模型按区域取账号:未配置该区域账号时返回失败并保留内置兜底
- WorkBuddy 凭据表单补充区域(CN/INTL)选择,解决国际版无处配置的问题
- 账号管理列表显示 CN/INTL 区域徽标,一眼区分
- 版本升至 1.7.8
|
2026-10-09 12:26:12 +08:00 |
|
|
|
1a96bcb105
|
feat(proxy): WorkBuddyModelProvider 增加 supports 判断
供聚合路由按模型匹配 WorkBuddy 供应商。
|
2026-10-09 11:51:24 +08:00 |
|
|
|
fee433d2fc
|
chore(update): 发布 1.7.7 更新清单
|
2026-10-09 11:50:44 +08:00 |
|
|
|
597632dad3
|
feat(proxy): 聚合网关——按模型自动选供应商并失败切换
Release / build (push) Waiting to run
- ProviderRouter 重构为聚合路由:请求只写 model,网关自动匹配供应商
- 候选按历史速度排序,上游不可用/HTTP>=400/抛错自动切换下一个
- Sub2API 作为通用兜底;显式前缀 traecn-/wbintl- 仍可强制指定
- 显式前缀转发前自动剥离,避免上游收到 traecn-glm-5.2 这类模型名
- 内存速度/冷却统计:失败供应商冷却 30s 起步、指数退避
- 版本升至 1.7.7
|
2026-10-09 11:49:38 +08:00 |
|
|
|
73ff6b2ee7
|
chore(update): 发布 1.7.6 更新清单
|
2026-10-09 11:22:57 +08:00 |
|
|
|
f13b38c02b
|
feat(proxy): 按代理/区域区分模型列表与选择
Release / build (push) Waiting to run
- 新增“代理”下拉:Trae CN/INTL、WorkBuddy CN/INTL
- WorkBuddyModelProvider 在线拉取 /v2/enterprises/personal/models
- Trae/WorkBuddy 各区域独立记住所选测试模型
- 真实代理转发仍按前缀自动路由,不受测试选择影响
- 版本升至 1.7.6
|
2026-10-09 11:21:53 +08:00 |
|
|
|
0283ce6bdc
|
chore(update): 发布 1.7.5 更新清单
|
2026-10-09 11:04:31 +08:00 |
|
|
|
0241840f9c
|
feat(proxy): Trae 模型切换 + 在线拉取模型列表
Release / build (push) Waiting to run
- 设置页新增模型下拉选择,内置参考映射兜底
- TraeModelProvider 在线拉取账号可用模型(/api/remote/v1/models)
- 选中模型持久化,作为反代缺省模型
- 常用 OpenAI/Claude 模型名自动映射到 Trae 内部模型
- 修复探针测试请求体混入反斜杠导致 JSON 无效的问题
- 版本升至 1.7.5
|
2026-10-09 11:03:27 +08:00 |
|
|
|
8a9d9432fe
|
chore(update): 发布 1.7.4 更新清单
|
2026-10-09 10:47:24 +08:00 |
|
|
|
fbbca4a03b
|
feat(proxy): 探针结果结构化摘要,不再刷屏原始参数
Release / build (push) Waiting to run
- 显示:请求行/模型/messages数/stream、HTTP、事件帧数、模型、文本摘要、用量、错误
- 原始请求+响应仍完整保留,点“复制原始”一键复制
- 版本升至 1.7.4
|
2026-10-09 10:46:30 +08:00 |
|
|
|
7de7111b18
|
chore(update): 发布 1.7.3 更新清单
|
2026-10-09 10:29:43 +08:00 |
|
|
|
dcd5cab2b2
|
feat(proxy): 探针输出美化 + 一键复制原始输出
Release / build (push) Waiting to run
- 调试输出改为滚动等宽代码块,状态一眼可读
- 新增“复制全部”按钮,一键把原始输出写入剪贴板
- 版本升至 1.7.3
|
2026-10-09 10:28:19 +08:00 |
|
|
|
a804d46acd
|
chore(update): 发布 1.7.2 更新清单
|
2026-10-09 10:22:52 +08:00 |
|
|
|
ada750df7e
|
fix(proxy): Trae messages.content 转原生块数组,修复 4001
Release / build (push) Waiting to run
- 上游 LLMRawMessage.messages.content 要求 []*LLMRawMessageContent
- 字符串转 [{"type":"text","text":...}],列表块按 text/input_text 归一
- 版本升至 1.7.2
|
2026-10-09 10:21:48 +08:00 |
|
|
|
b5ef9249d8
|
chore(update): 发布 1.7.1 更新清单
Release / build (push) Waiting to run
|
2026-10-09 10:12:59 +08:00 |
|
|
|
481c57c535
|
feat(update): 已下载 APK 直接复用 + 安装失败可重试不重下
Release / build (push) Waiting to run
- downloadApk 检测同版本已完成文件,存在则跳过下载
- 下载先写 .part 再改名,避免半截文件被误用
- install 失败保留 Ready(file, error),UI 显示重试安装
- NeedInstallPermission 携带文件,开启权限后可继续安装
|
2026-10-09 10:11:26 +08:00 |
|
|
|
571b270cb6
|
chore(update): 发布 1.7.0 更新清单
|
2026-10-09 10:03:27 +08:00 |
|
|
|
fa796d57b5
|
fix(proxy): 修复 Trae Authorization 头发成字面量 jwt + 补全 SOLO 头
Release / build (push) Waiting to run
- 上一版把 \ 写成了字符串 jwt,Trae 收到 Cloud-IDE-JWT jwt 必然被网关拒绝
- 完整 SOLO 头集合对齐 trae2api-cn:x-app-version/x-lscbd-*/x-ttnet-* 等
- 版本升至 1.7.0
|
2026-10-09 10:02:07 +08:00 |
|
|
|
8e692a0c6e
|
chore(update): 发布 1.6.9 更新清单
|
2026-10-09 09:47:09 +08:00 |
|
|
|
4597fb0f8e
|
fix(update): canRequestPackageInstalls 包 try/catch,旧包也不闪退
Release / build (push) Waiting to run
- 旧版本未声明 REQUEST_INSTALL_PACKAGES 时调该 API 本身会抛 SecurityException
- 现在降级为 capture 后按 false 处理,引导去系统设置开启未知来源
- 版本升至 1.6.9
|
2026-10-09 09:46:06 +08:00 |
|
|
|
40af5db889
|
chore(update): 发布 1.6.8 更新清单
|
2026-10-09 09:39:57 +08:00 |
|
|
|
5adf053b6f
|
fix(update): 声明 REQUEST_INSTALL_PACKAGES 权限并加固安装流程
Release / build (push) Waiting to run
- 缺少该权限时部分 ROM 启动系统安装器会被拒绝/闪退
- install() 整体容错:FileProvider URI 失败、ACTION_VIEW 失败均捕获并回退 ACTION_INSTALL_PACKAGE
- 版本升至 1.6.8
|
2026-10-09 09:38:52 +08:00 |
|
|
|
e2bf924246
|
chore(update): 发布 1.6.7 更新清单
|
2026-10-09 09:30:50 +08:00 |
|
|
|
d0b79cf1bd
|
fix(proxy): Trae CN 上游换用 trae-api-cn.mchost.guru,修正 404
Release / build (push) Waiting to run
- trae-api-cn.mchost.guru/api/agent/v3/llm_utils_chat 才是模型网关
- api.trae.cn 只是账号/OAuth 主机,不暴露 IDE 模型路由
- 请求头对齐参考实现:真实 x-app-id / x-ide-version / 设备指纹
- llm_utils_chat body 收敛为 SOLO 结构(config_name/model/function/stream)
|
2026-10-09 09:29:40 +08:00 |
|
|
|
15408a6640
|
chore(update): 发布 1.6.6 更新清单
|
2026-10-09 09:18:12 +08:00 |
|
|
|
8da1f2b377
|
chore: 版本号升至 1.6.6 (versionCode 16)
Release / build (push) Waiting to run
|
2026-10-09 09:13:39 +08:00 |
|
|
|
a4d854271f
|
feat(proxy): 设置页新增 Trae/WorkBuddy 流式探针
- 用默认账号直接请求 llm_utils_chat/v2 chat,抓取上游原始 SSE 帧
- 调试输出显示 HTTP 状态、Content-Type 与最多 80 行原始帧
- 为 StreamNormalizer 提供真实协议样本
|
2026-10-09 08:08:47 +08:00 |
|
|
|
67e1f060c5
|
feat(proxy): 网关随机 API Key + 启动失败提示
- SettingsViewModel 每次进程生成随机本机 Key,start 失败时暴露错误信息
- Settings 页显示 API Key 与错误提示
|
2026-10-09 00:04:55 +08:00 |
|
|
|
f5162bbf74
|
docs: 更新流式转发与 Qoder 攻坚状态
|
2026-10-08 23:53:30 +08:00 |
|
|
|
de95013164
|
feat(proxy): stream=true 实时透传上游 SSE 字节流
- Ktor respondOutputStream 逐块转发上游 body,不再整包缓冲
- 流式/非流式按客户端 body 的 stream 字段分流
- openStreamingChat 入口正式接线
|
2026-10-08 23:52:12 +08:00 |
|
|
|
072f7efa55
|
docs: 更新反代网关开发进度
|
2026-10-08 23:46:18 +08:00 |
|
|
|
1609e210bd
|
fix(proxy): 修复 WorkBuddy/Trae 鉴权头、401、模型前缀 + 流式入口骨架
- WorkBuddyChatProxy/TraeChatProxy:Authorization 插值去掉误转义
- KtorLocalProxyServer:authorized() 失败返回 401
- 路由剥离 wbcn-/traecn- 等前缀后再转发,Trae config_name/model_name 不再带前缀
- Sub2ApiChatProxy 去掉 IOException 吞掉逻辑
- 新增 ProxyUpstreamStream 与三个代理的 openStreamingChat 入口(暂未接入实时转发)
|
2026-10-08 23:44:44 +08:00 |
|
|
|
a1605e6993
|
feat(proxy): M2 账号池轮询 + 会话粘性 + 双区域路由
- ProviderRouter:前缀路由到 WorkBuddy CN/INTL、Trae CN/INTL、OpenAI 兼容
- AccountPool:从 CredentialRepository 实时取号,round-robin + 会话粘性(X-Conversation-Id / user)
- 账号按 credential.region 与路由区域匹配,找不到时回退全部账号
- WorkBuddy/Trae 代理支持 forcedRegion 覆盖
- Ktor 路由接入账号池
|
2026-10-08 23:34:35 +08:00 |
|
|
|
5aa2d8f116
|
chore: 忽略 build_compile.log
|
2026-10-08 23:24:06 +08:00 |
|
|
|
11b9065f82
|
feat(proxy): M1b WorkBuddy CN/Trae CN 适配 + 设置页网关开关
- KtorLocalProxyServer:修复审计阻断项(start/stop 加锁、apiKey Bearer 鉴权、IOException 502、请求体上限、错误 JSON 规范化)
- WorkBuddyChatProxy:转发到 copilot.tencent.com/v2/chat/completions,Bearer accessToken + IDE 请求头
- TraeChatProxy:转发到 api.trae.cn/api/agent/v3/llm_utils_chat,Cloud-IDE-JWT 身份/设备头,最小 body 转换
- Credential.WorkBuddyCredential 增加 region 字段(默认 CN,兼容旧数据)
- Settings 页新增代理网关开关(默认 127.0.0.1:8787,本机 Key: rainytoken)
|
2026-10-08 23:23:16 +08:00 |
|
|
|
85c6cf4283
|
feat(proxy): M1a 本地 HTTP 服务 + Sub2API 透传
- 引入 Ktor 3.0.3(server-core / cio / content-negotiation / kotlinx-json)
- Sub2ApiChatProxy:把 /v1/chat/completions 与 /v1/models 透传到用户配置的 Sub2API 实例
- KtorLocalProxyServer:绑定 127.0.0.1:8787,提供 /health、/v1/models、/v1/chat/completions
- NetworkModule 提供 Hilt 注入
|
2026-10-08 22:58:33 +08:00 |
|
|
|
9d3c004617
|
feat(proxy): 新增反代网关骨架与开发路线图
- docs/PROXY-ROADMAP.md:M0-M4 里程碑、Provider 矩阵、风险与参考仓库
- data/proxy/:ProviderKind/ProviderRegion/ProxyModels/ProviderAdapter/AccountPool/RegionRouter/LocalProxyServer 接口骨架
- .gitignore:忽略 _tmp_* 调试文件,防止真实接口响应/账号数据入库
|
2026-10-08 22:22:45 +08:00 |
|
|
|
79f99f5dee
|
fix(credential): 多账号会话凭据按请求账号精确匹配;UI微调
- CredentialRepository 快照新增 requestedAccountId,暂存凭据严格按请求账号匹配,
避免 A 账号刷新期间把暂存凭据误交给默认账号/其他账号
- Dashboard 首页提示与自动签到开关改为卡片样式,开关配色对齐雨晴粉主题
- 默认账号徽标加 maxLines/softWrap 防窄屏换行
|
2026-10-08 22:16:06 +08:00 |
|
|
|
2509ab8a85
|
feat(update): 设置页新增检测更新/下载APK/自动安装;接入Gitea update.json清单
|
2026-10-08 21:42:45 +08:00 |
|
|
|
ceb5e6a268
|
feat(checkin): 签到记录含日期/状态/id/数量,失败可当天重试;同步本地主题与组件改动
|
2026-10-08 21:08:22 +08:00 |
|