dsh-connect-trae 4.2.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +153 -0
- package/README.en.md +6 -4
- package/README.md +9 -3
- package/lib/client.js +864 -414
- package/lib/index.d.ts +89 -1
- package/lib/index.js +130 -5
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,158 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.4.0 (2026-10-22)
|
|
4
|
+
|
|
5
|
+
> **模型表不再系统性排除「带日期的快照配置」;账号池开关不再被模型目录的保存冲掉。**
|
|
6
|
+
>
|
|
7
|
+
> 两条都来自 [issue #46](https://github.com/dingminhua/dsh-connect-trae/issues/46)
|
|
8
|
+
> (yuantao313:「模型列表不对齐,无法获取DeepseekV4.1 Flash 1017模型ID · 插件中无法获取Trae的1017模型,
|
|
9
|
+
> 只能使用正式版」)。诊断见 [`docs/ISSUE46_DIAGNOSIS.md`](https://github.com/dingminhua/dsh-connect-trae/blob/main/docs/ISSUE46_DIAGNOSIS.md)。
|
|
10
|
+
> 版本号取 **minor**:模型名录的行为变了(多出一批此前拿不到的模型),接口与配置项零变更。
|
|
11
|
+
|
|
12
|
+
### 修复
|
|
13
|
+
|
|
14
|
+
- **模型表补齐 wire 名单里有、Remote 目录里没有的模型**(`fix(catalog)`,issue #46)。
|
|
15
|
+
- 目录是「Remote 骨架 × wire 名单」两张表 join 出来的,而 `mergeTraeModelSources()`
|
|
16
|
+
**只遍历骨架** —— wire 有、骨架没有的行被整体丢掉。这不是零星遗漏,而是**一整类别的系统性缺失**:
|
|
17
|
+
**实测**本机 CN 账号上,Remote 骨架里带日期的 config_name **一个都没有**(`kimi-k2-0905`、
|
|
18
|
+
`seed-code-pro-0430`、`search_agent_qwen_fast-0710` 全在 wire 名单里),于是**每一个带日期的
|
|
19
|
+
模型插件都拿不到**。这正是报告人「IDE 有 `DeepSeek-V4.1-Flash-1017`、插件没有」的直接成因。
|
|
20
|
+
- 提升**不是无条件的**:`isPromotableWireModel()` 要求四个上游信号同时成立 ——
|
|
21
|
+
`usage === 'chat_completion'`(真模型,不是 IDE 的工具配置也不是账号的自定义模型)、
|
|
22
|
+
`config_source === 1`(Trae 预设,不是用户自己的 custom model)、
|
|
23
|
+
显示名是**真名字**(非空、非上游占位符 `-`、非 config 标识符、且不等于自己的 id)、
|
|
24
|
+
显示名**未被已存在的行占用**(否则同一模型会以两个 id 出现两次)。
|
|
25
|
+
**实测**:50 行 wire-only 收敛为 7 个真模型,其余 43 行(工具配置 / 自定义模型 / 别名 /
|
|
26
|
+
`-auto` 孪生行 / codename config)仍被正确排除。
|
|
27
|
+
- 被提升的行是**完整的目录行**:带自己的 id(那就是它的 `config_name`,所以不产生
|
|
28
|
+
`wireConfigName`)、所属 function、上下文窗口、输出上限、倍率与促销规则。
|
|
29
|
+
|
|
30
|
+
- **Remote 目录多问几个 function**(`fix(solo-remote)`,issue #46)。
|
|
31
|
+
`TRAE_REMOTE_DIRECTORY_FUNCTIONS` 增加 `chat`、`inline_chat`、`solo_agent_lite`、
|
|
32
|
+
`solo_design_lite`、`solo_design_remote`。`kimi-k2` 在 Remote 侧**只**归属 `inline_chat`,
|
|
33
|
+
而插件没问它 —— 这就是 `Kimi-K2-0905` 那一族拿不到的原因。
|
|
34
|
+
**实测**:Remote 骨架 33 → 35 行,新增 `kimi-k2`(`Kimi-K2-0905`)与 `doubao_1_8`
|
|
35
|
+
(`Doubao-Seed-1.8`)。问网关不提供的 function 无害(未知名字被忽略,不报错)。
|
|
36
|
+
|
|
37
|
+
- **账号池开关不再被「保存模型列表」冲掉**(`fix(client)`)。
|
|
38
|
+
插件有 4 处写 `regions`,其中 3 处都**先展开旧 slot 再覆盖自己管的字段**;只有
|
|
39
|
+
「保存模型列表」那处是**从零重建整个 region slot** 的,而它并不知道 slot 里还有 `pool`
|
|
40
|
+
这个字段 —— 整体替换把账号池偏好冲掉了。症状:**开账号池 → 保存模型列表 → 池被关掉 →
|
|
41
|
+
重开插件显示「未保存」**。
|
|
42
|
+
修法:新增 `nextRegionDirectory()`(`src/status-paths.ts`),展开旧 slot 再用目录字段覆盖。
|
|
43
|
+
**顺带修掉**同一处的另一个受害者:`creditPosition`(积分读数的座位)也一直被冲掉,
|
|
44
|
+
保存模型列表会把读数重置回默认位置。
|
|
45
|
+
> 这与 issue #42 记录的 `wireConfigName` 丢失是**同一类缺陷**:整块替换 slot 时,
|
|
46
|
+
> 保存方不知道的字段就消失了。#42 丢的是 `wireConfigName`(每次保存都 4001),
|
|
47
|
+
> 这次丢的是 `pool` 与 `creditPosition`。
|
|
48
|
+
|
|
49
|
+
- **同一模型在不同 function 下发布不同显示名时,取最充实的那一份**(`fix(solo)`)。
|
|
50
|
+
上游对同一个 config 在不同 function 下发布不同的 `display_name`(实测:`doubao-for-auto`
|
|
51
|
+
在 `chat_v3` 下为空、在 `solo_coder` 下是 `Seed-Code`),而插件的 wire client 是**先到先得**,
|
|
52
|
+
于是「拥有它的 function 恰好不知道名字」的模型在插件里显示成 config id 本身。
|
|
53
|
+
现在**行归拥有者**(function 决定可调用性,必须不动)、**名字取最充实的那一份**。
|
|
54
|
+
上游对无名字 config 发布的占位符 `-` 不算真名字。
|
|
55
|
+
|
|
56
|
+
### 行为说明
|
|
57
|
+
|
|
58
|
+
- **显示名仍以 Remote 目录为准,刻意没有改成 wire 名单的**(issue #46)。
|
|
59
|
+
最初的方案是「以 wire 为准,因为 IDE 渲染的是 wire 的 `display_name`」——
|
|
60
|
+
**这个假设被实测否掉了**:wire 名单与 IDE 名单**32/81 行不一致**,而 Remote 骨架只有 **3/33**。
|
|
61
|
+
原因是 wire 名单**按 function 分片**,插件的 wire client 读的是聊天 function,
|
|
62
|
+
常落在 IDE 选择器并不渲染的那个名字上。代码与回归测试里把这个**被否掉的结论**钉住了,
|
|
63
|
+
以免日后凭「听起来合理」再改回去。
|
|
64
|
+
|
|
65
|
+
### 测试
|
|
66
|
+
|
|
67
|
+
- **978 例测试全绿**(`pnpm run test`),其中新增 **17 例**:
|
|
68
|
+
- `tests/catalog.spec.ts`(+6):显示名保持骨架(钉住被否掉的方案)、提升 wire-only 模型、
|
|
69
|
+
不提升工具/自定义/别名、别名不重复、`isPromotableWireModel` 的五种边界。
|
|
70
|
+
- `tests/solo.spec.ts`(+4):读 `usage` / `config_source`、上游没说时保持 undefined、
|
|
71
|
+
跨 function 取最充实的名字。
|
|
72
|
+
- `tests/issue46-regressions.spec.ts`(+5,**新文件**):账号池开关与积分座位在
|
|
73
|
+
每一种写入后都还在、模型目录多问 function、wire-only 模型被提升、
|
|
74
|
+
工具/自定义/别名仍被排除。
|
|
75
|
+
- `tests/solo-remote.spec.ts`:5 处硬编码的 function 列表 URL 改为引用常量。
|
|
76
|
+
|
|
77
|
+
### 文档
|
|
78
|
+
|
|
79
|
+
- 新增 [`docs/ISSUE46_DIAGNOSIS.md`](https://github.com/dingminhua/dsh-connect-trae/blob/main/docs/ISSUE46_DIAGNOSIS.md)
|
|
80
|
+
与 [`docs/ISSUE46_REPLY_DRAFT.md`](https://github.com/dingminhua/dsh-connect-trae/blob/main/docs/ISSUE46_REPLY_DRAFT.md)。
|
|
81
|
+
- 新增三个只读探针(`scripts/probe-issue46-*.mjs`),只读、零额度,输出诊断与修复后验证的全部结论;
|
|
82
|
+
`scripts/decrypt-block.js` 是从 `probe-toolcalls.mjs` 原样抽出的解密例程,供各探针共用。
|
|
83
|
+
|
|
84
|
+
### 已知边界
|
|
85
|
+
|
|
86
|
+
- **取证在维护者本机的 CN 账号上完成。** 名单按账号/套餐裁剪,报告人账号上很可能**真的有**
|
|
87
|
+
`deepseek-v4.1-flash-1017` 这一行(本机没有)—— 它正好落在「骨架排除、wire 有」这一类,
|
|
88
|
+
**修复后应当会出现**,但需报告人升级后确认。
|
|
89
|
+
- **新提升的 7 个模型未逐个实测可调用性**(调用会产生额度消耗)。按 issue #19 的既定原则
|
|
90
|
+
「名单的沉默不能证明模型不可调用」,缺的是证据而不是行;但「能否真的调用」仍需实测。
|
|
91
|
+
- `kimi-k2` 归属 `inline_chat`,而可调用 function 列表里没有它 —— 它的可调用性尚未取证。
|
|
92
|
+
|
|
93
|
+
## 4.3.0 (2026-10-22)
|
|
94
|
+
|
|
95
|
+
> **设置卡片按「账号 / 模型 / 诊断」分栏,模型栏改回全部铺开。**
|
|
96
|
+
>
|
|
97
|
+
> 卡片原来是一列长页,把两类互不相干的事情混排在一起:运维账号(谁在服务、还剩多少、签到、
|
|
98
|
+
> 账号池及其日志)与编辑目录(勾模型、图片输入、上下文预算)。两者连提交语义都不同——账号改动
|
|
99
|
+
> 点一下即生效,目录改动是草稿、必须点「保存」——于是保存按钮常常离它要保存的东西隔着三屏。
|
|
100
|
+
> 学自同族 `dsh-connect-workbuddy` 的分栏实现。版本号取 **minor**:新增界面与一个只读栏,
|
|
101
|
+
> 接口、配置项与请求结构零变更。
|
|
102
|
+
|
|
103
|
+
### 新增
|
|
104
|
+
|
|
105
|
+
- **设置卡片按「账号 / 模型 / 诊断」分栏**(`feat(client)`)。
|
|
106
|
+
- 顶部地区那排仍是**作用域**(这张卡片讲的是哪个供应商);其下新增分栏 tablist(账号 / 模型 /
|
|
107
|
+
诊断),三者共享同一个地区作用域。两排视觉上明确区分:地区是带开关的方框 chip,分栏是设置窗
|
|
108
|
+
口那种下划线 strip——两排方框会被读成一个六选一。
|
|
109
|
+
- 非活动栏用 `hidden` 留在页面里:切栏不重新拉取、不丢未保存的模型草稿、账号池日志不重建;
|
|
110
|
+
`hidden` 同时让非活动栏退出无障碍树,这正是 `role="tabpanel"` 要的语义。
|
|
111
|
+
- 新增只读「诊断」栏:面板名、供应商 id、服务账号(按名字,不打印 id)、访问令牌与重新登录两个
|
|
112
|
+
到期时间、目录模型数与已启用数、账号池与签到支持与否、Raw 会话通道状态,以及上游最近一次错误
|
|
113
|
+
**的原文**(原样引用,不翻译、不概括)。这一栏没有任何会改设置的控件,存在的唯一理由是被整段
|
|
114
|
+
贴进反馈。
|
|
115
|
+
- 签出态不画分栏:那一段说明不会被一个看不见的 tab 藏起来。
|
|
116
|
+
- 文案同时补 en/zh(`row.panel*` / `row.diag*`);样式新增 `.dsm-trae-panels` /
|
|
117
|
+
`.dsm-trae-panel-tab` / `.dsm-trae-panel` / `.dsm-trae-diag*`。
|
|
118
|
+
|
|
119
|
+
- **模型栏把所有模型全部铺开,没有内层滚动条**(`feat(client)`)。
|
|
120
|
+
- `.dsm-trae-model-list` 不设 `max-height`,`overflow-y` 也不是 `auto`:唯一滚动是卡片自己的
|
|
121
|
+
页滚。`overflow: hidden` 保留,只为圆角描边——纵向不裁任何内容。
|
|
122
|
+
- **实测**(`tools/panels-shot.tsx`,30 个模型的目录):`scrollHeight == clientHeight == 1889`、
|
|
123
|
+
`clipped: false`、`max-height: none`、面板内自带滚动元素 `0` 个,保存栏落在页面末尾。
|
|
124
|
+
|
|
125
|
+
### 重构
|
|
126
|
+
|
|
127
|
+
- **账号栏抽成 `src/client/TraeAccountPanel.tsx`**(520 行),`TraeUsageCard.tsx` 从 2354 行
|
|
128
|
+
降到 1981 行。拆分是「笨」的那一半:所有判定仍留在卡片里(谁在服务、每行值多少、能不能签到、
|
|
129
|
+
读数放哪儿),账号栏只接收算好的行视图;这样账号表与账号池表读的是同一份判定,不会各说各话。
|
|
130
|
+
- 卡片与账号栏共用的格式化/判定(`formatNumber` / `formatDateTime` / `dotStyle` /
|
|
131
|
+
`refreshTokenWarning`)下沉到 `src/client/display.ts`,避免两处各写一份而漂移。
|
|
132
|
+
|
|
133
|
+
### 修复
|
|
134
|
+
|
|
135
|
+
- **诊断栏的「每日签到」不再依赖账号池**。原先读 `pool.checkinSupported`,而账号池是**可选功能**,
|
|
136
|
+
没开池的国内账号会显示「本面板不提供」——恰好与事实相反。改为先读签到文档(`status.checkin`)。
|
|
137
|
+
|
|
138
|
+
### 测试
|
|
139
|
+
|
|
140
|
+
- `tests/card-panels.spec.tsx`(10 条,新增):默认落在账号栏、点模型/诊断可切换、非活动栏仍挂载
|
|
141
|
+
(草稿不丢)、恰好一个 `aria-selected`、tab 与 tabpanel 互相指向、切栏不改地区作用域、诊断栏无
|
|
142
|
+
任何可交互控件、签出态无分栏;另加两条:30 个模型全部渲染且列表样式里没有 `max-height` /
|
|
143
|
+
`overflow-y:auto`,「每日签到」按签到文档而非账号池判定。
|
|
144
|
+
- 顺带修好受影响的既有卡片测试(`card-test-models` / `card-context-bulk` / `card-promo` 的
|
|
145
|
+
`renderOpen` 先点开模型栏),因为模型控件现在确实在那一栏里。
|
|
146
|
+
- 新增 `tools/panels-shot.tsx` + `pnpm panels:shot`:把三个分栏各自渲染成
|
|
147
|
+
`/tmp/panels-preview-<section>.html`(真实中文文案、30 模型目录),页面里的 `#audit` 给出
|
|
148
|
+
面板盒、分栏下划线与模型列表 `scrollHeight`/`clientHeight` 的实测值,用 `--dump-dom` 读回,
|
|
149
|
+
用来证明「没有内滚」而不是靠肉眼。
|
|
150
|
+
- 全量 `vitest run` = 79 文件 / 961 测试全绿;两份 tsconfig 均 exit 0;`tsdown` 构建成功。
|
|
151
|
+
|
|
152
|
+
### 文档
|
|
153
|
+
|
|
154
|
+
- README / README.en 的卡片特性列表补上分栏一节(含「为什么分栏 = 提交语义不同」与「模型全部铺开」)。
|
|
155
|
+
|
|
3
156
|
## 4.2.0 (2026-10-21)
|
|
4
157
|
|
|
5
158
|
> **模型行显示活动优惠徽标:只在上游此刻真在打折时出现。**
|
package/README.en.md
CHANGED
|
@@ -36,6 +36,7 @@ A [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) bund
|
|
|
36
36
|
- **Enterprise is a separate billing channel, not an alias for CN** — the same CN credential, when it belongs to a `tob_online` tenant, is served by **two** gateways: the consumer pool (billed against personal credits) and the tenant pool (billed against the enterprise allowance). Same model, two payers, so **you** choose who pays; the plugin never guesses. `trae` never touches the enterprise gateway, and `trae-enterprise` **never falls back** — a refusal is reported as a refusal instead of quietly re-running on personal credits. Enterprise is **off by default**: a personal-only account cannot use the tenant pool, so shipping it enabled would mean handing everyone a provider that fails on first use.
|
|
37
37
|
- **Any panel can be switched off on its own** — each tab carries its own checkbox (CN and international checked by default, enterprise not): unchecking **withdraws that provider from the DSH model picker entirely** (not merely hiding the tab) and stops all of its requests; checking it again restores it with the account, directory, picks, and context budgets intact. If you never use the international side, just uncheck it.
|
|
38
38
|
- **Tabbed settings card** — the card's top carries a "Domestic / Enterprise / Global" tab bar; each tab holds its own account picker, usage overview, and model management. Account, directory, selection, and unsaved drafts are fully isolated per tab — switching accounts or refreshing models on one tab never touches the other side's runtime catalog or sessions. CN and enterprise share one CN credential pool but keep **separate account bindings and model picks**: the two rosters differ (`DeepSeek-V4.1-Flash` is listed only on the enterprise pool), so picks never overwrite each other.
|
|
39
|
+
- **The card then splits into "Account / Models / Diagnostics"** (learned from the sibling `dsh-connect-workbuddy`). The region row above is the **scope** — which provider this whole card is about — while these are sections of that one card: Account covers who serves, what is left, the check-in and the pool; Models covers which models to tick, image input, the context budget and Save; Diagnostics read-only lists the panel, the provider id, the serving account, both token deadlines, the catalog/enabled model counts, whether the pool and the check-in are offered, and the **verbatim** text of this panel's last reported failure. The split exists because the two halves **commit differently**: an account change lands on the click, a catalog change is a draft until Save — so a single long column put the save button three screens away from what it saves. Switching sections never refetches, never drops a half-filled model draft, and never rebuilds the pool's log. A signed-out card renders no section strip, so its one screen of instructions cannot be hidden behind a tab the user cannot see. **The Models section lays every model out at once, with no inner scrollbar** — it is not a little window scrolling inside a page that already scrolls; the card's own page is the only scroll.
|
|
39
40
|
- **Multiplier in the model name** — model names show the credit multiplier in Trae's own menu format (e.g. `GLM-5.2 · x0.79`), updated with each directory refresh.
|
|
40
41
|
- **Promotion badge** — Trae publishes its discount rules in the model directory (`activity_discount`: pay ratio, list price, off-peak windows with their time zone). The plugin judges them against **the clock at render time** and paints one capsule beside the model name (`5 折` / `off-peak 5 折` / `limited 5 折`), with the old price, the new price and the window on hover. Judging at render time is what keeps a night-time discount from still hanging there the next morning; when upstream says nothing is discounted right now no badge is painted, the multiplier is never used to guess a promotion, and no campaign without an end time is labelled "limited". It is information only: no request and no billing changes, and the international region (subscription) has no such data and therefore shows no badge. See [docs/PROMO_BADGE.md](docs/PROMO_BADGE.md).
|
|
41
42
|
- **DSH local tool loop** — gets pending structured `tool_calls` from Trae `llm_utils_chat`, lets DSH execute its own local tools, then returns tool results to the model.
|
|
@@ -103,11 +104,10 @@ Notes:
|
|
|
103
104
|
|
|
104
105
|
This plugin serves models from Trae's **SOLO channel** (`DeepSeek-V4-Flash-Official`, `DeepSeek-V4-Pro-Official`, `GLM-5.3`, `GLM-5.2`, `Kimi-K3`, `MiniMax-M3`, `Qwen3.8-Max`, `Doubao-Seed-*`, …), for both the domestic and international sides.
|
|
105
106
|
|
|
106
|
-
The following
|
|
107
|
+
The following two models currently come from the **TraeCode (Trae IDE) channel** and have **not** been opened up to the SOLO channel:
|
|
107
108
|
|
|
108
109
|
| Model |
|
|
109
110
|
| --- |
|
|
110
|
-
| `glm-5.3-flash` |
|
|
111
111
|
| `kimi-k2.8-preview` |
|
|
112
112
|
| `qwen3.8-flash` |
|
|
113
113
|
|
|
@@ -124,9 +124,11 @@ That is the upstream refusal stated plainly, rather than a silent failure or som
|
|
|
124
124
|
|
|
125
125
|
> `deepseek-v4.1-flash` used to be listed here — `docs/DS41_CALLABILITY.md` (evidence gathered 2026-09-15) measured `4001 param is invalid` from all eight SOLO functions. **Trae has since opened it up to the SOLO channel**: it now ships in the live directory with `wireFunction: solo_work_remote` and calls succeed (verified against a live refresh). This page had not caught up, so it is removed from the table.
|
|
126
126
|
|
|
127
|
-
>
|
|
127
|
+
> `glm-5.3-flash` used to be listed here too, and is **removed as of 4.4.0**: Trae has since opened it up, and it now ships in the live wire roster with `wireFunction: solo_work_remote` (verified). The directory side always advertised it — it was listed because the Remote directory named it while the wire roster did not, so it had no callable id and never entered the callable roster. 4.4.0 fixed both "the wire has it but the directory does not" and "the directory was asked for too few groups", and it now appears as an ordinary callable model.
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
> Note the distinction: **`GLM-5.3` is supported** (it goes through the SOLO channel). **`glm-5.3-flash` is now supported too** — it was always a different model from `GLM-5.3`, but it has since been opened to the SOLO channel.
|
|
130
|
+
|
|
131
|
+
To use these two models today, use the **Trae IDE itself**.
|
|
130
132
|
|
|
131
133
|
## Max output and context budgets
|
|
132
134
|
|
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
- **企业版是独立计费通道,不是国内版的别名** —— 同一张 CN 凭据若属于 `tob_online` 租户,会被**两个**网关同时服务:消费池(扣个人积分)与租户池(扣企业额度)。同一模型、两种付费方,所以「谁付钱」由你显式选,插件不替你猜。`trae` 永不碰企业网关;`trae-enterprise` **不回落**,被拒绝就如实报错,不会悄悄改用个人额度重跑。企业版**默认关闭**——纯个人账号用不了企业池,默认放开等于塞一条一用就失败的 provider。
|
|
37
37
|
- **可单独关闭任一面板** —— 三个 tab 各带一个勾选(国内版与国际版默认勾选,企业版默认不勾):取消勾选即把该面板的供应商**整个从 DSH 模型选择器撤掉**(不是只藏起 tab),并且不再发起任何请求;重新勾选即恢复,账号、目录、勾选与上下文预算全部保留。用不到国际版就把国际版关掉即可。
|
|
38
38
|
- **插件卡片 tab 切换** —— 设置卡片顶部为「国内版 / 企业版 / 国际版」三个 tab,各含独立的账号选择、用量概览与模型管理;每个 tab 的账号、目录、勾选与未保存草稿完全隔离——在一个 tab 里切账号或刷新模型,不会触碰另一边的运行时目录与会话。国内版与企业版共用同一份 CN 凭据池,但**各有各的账号绑定与模型勾选**:两个池的名录并不相同(`DeepSeek-V4.1-Flash` 只有企业池列),所以勾选互不覆盖。
|
|
39
|
+
- **卡片内再按「账号 / 模型 / 诊断」分栏**(学自同族 `dsh-connect-workbuddy`)—— 上面那排地区是**作用域**(这张卡片讲的是哪个供应商),这一排是同一张卡片里的**分栏**:账号栏管「谁在服务、还剩多少、签到与账号池」,模型栏管「勾哪些模型、图片输入、上下文预算、保存」,诊断栏只读地列出面板名、供应商 id、服务账号、两种令牌到期时间、目录/已启用模型数、账号池与签到支持与否,以及本面板最近一次报错的**原文**。分栏的理由是**提交语义不同**:账号改动点一下即生效,模型改动是草稿、必须点「保存」——一列长页会把保存按钮放到离它要保存的东西三屏之外。切栏不重新拉取、不丢未保存的模型草稿、账号池日志也不重建;未登录时不出分栏,那一屏说明不会被看不见的 tab 藏起来。**模型栏把所有模型一次性铺开,没有内层滚动条**——不再是一个套在滚动页面里的小窗口,唯一滚动的就是卡片自己那一页。
|
|
39
40
|
- **账号池:自动选号 + 失败换号(默认关闭)** —— 本机读完几个账号后,「该用谁的额度」可以交给插件按规则排序:**先排除不可用的**(凭据被拒、套餐不覆盖、账号已不存在、限流未到重试时间、额度耗尽),再在可用账号里**优先快到期的那点额度**(与其放着过期,不如先花掉),最后才比总额、token 新鲜度,并以账号 id 兜底成**全序**(同样的输入永远得到同样的顺序,不会在两行之间来回抖)。三个面板**各有各的池**:国内版与企业版共用同一份 CN 凭据,但企业版只挑租户账号、国内版不会漂到租户号上。开着池时,发请求前先按上面的顺序选中一个账号,并且**真实请求失败会换下一个账号重试(最多 3 个)**——只有账号级失败才换(`401` 凭据被拒、额度耗尽、限流、上游 5xx);模型 id 写错、请求本身不合法**不换号**,因为那不是账号的问题,换号只会把同一个错误烧两遍、还冤枉一个没机会服务的账号。换号失败的真相会写进池的探针记录,下一次排序直接把它排到后面,而每一次结论都能在卡片上看到:`可用` / `限流` / `额度耗尽` / `凭据被拒` / `套餐不覆盖` / `上游不提供` / `本次未测出`,以及「什么时候可以重试」。**关掉池就回到严格绑定**,不会有任何残留 override。卡片里的「全部测速」会把每个成员按目标模型各测一次,结果**边跑边显示**(一行一个答案,不等整批跑完),并落盘成下次排序的依据。
|
|
40
41
|
|
|
41
42
|
> 池是**显式选择**:默认关闭。它不会替你在没打开池的情况下换账号——「换账号等于换人计费」,所以这件事只能由你点头。池打开后卡片会明确写出**当前是谁在付费**(Host 报告的是「下一个真正发送请求的账号」,不是保存的那个绑定)。
|
|
@@ -108,11 +109,10 @@ DSH PiAiAdapter(每个 provider 一套)
|
|
|
108
109
|
|
|
109
110
|
插件提供的是 Trae **SOLO 通道**的模型(`DeepSeek-V4-Flash-Official`、`DeepSeek-V4-Pro-Official`、`GLM-5.3`、`GLM-5.2`、`Kimi-K3`、`MiniMax-M3`、`Qwen3.8-Max`、`Doubao-Seed-*` 等),三个面板均走这条通道。企业池另有一份名录(例如 `DeepSeek-V4.1-Flash` 只有企业池列),所以两边勾选互不覆盖。
|
|
110
111
|
|
|
111
|
-
以下
|
|
112
|
+
以下 2 个模型目前来自 **TraeCode(Trae IDE)通道**,尚未开放到 SOLO 通道:
|
|
112
113
|
|
|
113
114
|
| 模型 |
|
|
114
115
|
| --- |
|
|
115
|
-
| `glm-5.3-flash` |
|
|
116
116
|
| `kimi-k2.8-preview` |
|
|
117
117
|
| `qwen3.8-flash` |
|
|
118
118
|
|
|
@@ -137,7 +137,13 @@ Trae does not serve this model under the SOLO function the request used
|
|
|
137
137
|
> 全部返回 `4001 param is invalid`。**上游后来把它开放到了 SOLO 通道**:当前实时目录里它带
|
|
138
138
|
> `wireFunction: solo_work_remote`,可正常调用(已实测刷新确认)。文档此前未同步,现已从表中移除。
|
|
139
139
|
|
|
140
|
-
>
|
|
140
|
+
> `glm-5.3-flash` 同样曾在此列,**4.4.0 起已移除**:上游后来开放了它,当前实时 wire 名单里它带
|
|
141
|
+
> `wireFunction: solo_work_remote`(实测)。**目录侧那一行一直都在**——它此前被列出来的原因是
|
|
142
|
+
> Remote 目录列出了它而 wire 名单没有,于是既拿不到调用 id、也从未进入可调用名单;
|
|
143
|
+
> 4.4.0 修好了「wire 有而目录没有」与「目录问了但没问全」两处之后,它作为**普通可调用模型**出现。
|
|
144
|
+
|
|
145
|
+
> 注意区分:**`GLM-5.3` 是支持的**(走 SOLO 通道)。`glm-5.3-flash` 现在**也支持了**——
|
|
146
|
+
> 它与 `GLM-5.3` 始终是两个不同的模型,但前者已开放到 SOLO 通道。
|
|
141
147
|
|
|
142
148
|
如果你现在就要用这 3 个模型,请直接在 **Trae IDE 本体**中使用。
|
|
143
149
|
|