cc-viewer 1.6.330 → 1.6.333
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/README.md +7 -8
- package/cli.js +6 -6
- package/concepts/ar/GlobalSettings.md +5 -2
- package/concepts/ar/ProxySwitch.md +15 -5
- package/concepts/da/GlobalSettings.md +5 -2
- package/concepts/da/ProxySwitch.md +15 -5
- package/concepts/de/GlobalSettings.md +5 -2
- package/concepts/de/ProxySwitch.md +15 -5
- package/concepts/en/GlobalSettings.md +7 -2
- package/concepts/en/ProxySwitch.md +15 -5
- package/concepts/es/GlobalSettings.md +5 -2
- package/concepts/es/ProxySwitch.md +15 -5
- package/concepts/fr/GlobalSettings.md +5 -2
- package/concepts/fr/ProxySwitch.md +15 -5
- package/concepts/it/GlobalSettings.md +5 -2
- package/concepts/it/ProxySwitch.md +15 -5
- package/concepts/ja/GlobalSettings.md +5 -2
- package/concepts/ja/ProxySwitch.md +15 -5
- package/concepts/ko/GlobalSettings.md +5 -2
- package/concepts/ko/ProxySwitch.md +15 -5
- package/concepts/no/GlobalSettings.md +5 -2
- package/concepts/no/ProxySwitch.md +15 -5
- package/concepts/pl/GlobalSettings.md +5 -2
- package/concepts/pl/ProxySwitch.md +15 -5
- package/concepts/pt-BR/GlobalSettings.md +5 -2
- package/concepts/pt-BR/ProxySwitch.md +34 -24
- package/concepts/ru/GlobalSettings.md +5 -2
- package/concepts/ru/ProxySwitch.md +15 -5
- package/concepts/th/GlobalSettings.md +5 -2
- package/concepts/th/ProxySwitch.md +15 -5
- package/concepts/tr/GlobalSettings.md +5 -2
- package/concepts/tr/ProxySwitch.md +34 -24
- package/concepts/uk/GlobalSettings.md +5 -2
- package/concepts/uk/ProxySwitch.md +15 -5
- package/concepts/zh/GlobalSettings.md +5 -2
- package/concepts/zh/ProxySwitch.md +15 -5
- package/concepts/zh-TW/GlobalSettings.md +7 -4
- package/concepts/zh-TW/ProxySwitch.md +15 -5
- package/dist/assets/App-BUcRXok_.js +2 -0
- package/dist/assets/{MdxEditorPanel-BmO4cIBT.js → MdxEditorPanel-B0pZ244F.js} +1 -1
- package/dist/assets/{Mobile-ZXwho8zA.js → Mobile-ZwY4z6l3.js} +1 -1
- package/dist/assets/{_baseUniq-jDC_lFvH.js → _baseUniq-DWlfWgt4.js} +1 -1
- package/dist/assets/{arc-D_MHcfPz.js → arc-CzmkWEz_.js} +1 -1
- package/dist/assets/{architectureDiagram-Q4EWVU46-D3LhuQ4p.js → architectureDiagram-Q4EWVU46-CYaOQmkg.js} +1 -1
- package/dist/assets/{blockDiagram-DXYQGD6D-Bi9G2rJp.js → blockDiagram-DXYQGD6D-Dall5YkT.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-DlY0w3X4.js → c4Diagram-AHTNJAMY-DAk_9Ur1.js} +1 -1
- package/dist/assets/{channel-C87hLHco.js → channel-Ccyxypgy.js} +1 -1
- package/dist/assets/{chunk-4BX2VUAB-DodXg0hV.js → chunk-4BX2VUAB-CvbVyElK.js} +1 -1
- package/dist/assets/{chunk-4TB4RGXK-Ba2E_IX7.js → chunk-4TB4RGXK-BRyhy_Du.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-CWG3ZdRs.js → chunk-55IACEB6-a32qQl3r.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-lT5M-dRo.js → chunk-EDXVE4YY-KDrHEMBT.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-BY_2pfoq.js → chunk-FMBD7UC4-BY0F4AhW.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-DzLhEX7n.js → chunk-OYMX7WX6-7lPaUOt9.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-BvdoGurF.js → chunk-QZHKN3VN-C9UszWzd.js} +1 -1
- package/dist/assets/{chunk-YZCP3GAM-C7rlhtyD.js → chunk-YZCP3GAM-YG3JSfbH.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-CYXcQTEj.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-CYXcQTEj.js +1 -0
- package/dist/assets/clone-BRA0Q3Eo.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-DhsYplMy.js → cose-bilkent-S5V4N54A-DIU72glS.js} +1 -1
- package/dist/assets/{dagre-KV5264BT-PLnp9yct.js → dagre-KV5264BT-EouMsh-P.js} +1 -1
- package/dist/assets/{diagram-5BDNPKRD-DqvSM_bo.js → diagram-5BDNPKRD-Cgr24o-m.js} +1 -1
- package/dist/assets/{diagram-G4DWMVQ6-DYN80unA.js → diagram-G4DWMVQ6-DSNxAipm.js} +1 -1
- package/dist/assets/{diagram-MMDJMWI5-D-jv3M8U.js → diagram-MMDJMWI5-D8OP-yt5.js} +1 -1
- package/dist/assets/{diagram-TYMM5635-BbVwY3fb.js → diagram-TYMM5635-BF-y_3p_.js} +1 -1
- package/dist/assets/{erDiagram-SMLLAGMA-9-rp8xsO.js → erDiagram-SMLLAGMA-kJejykzr.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-Bu_JuIe2.js → flowDiagram-DWJPFMVM-B7mSPWGk.js} +1 -1
- package/dist/assets/{ganttDiagram-T4ZO3ILL-B-PvSqDf.js → ganttDiagram-T4ZO3ILL-DN1NKD86.js} +1 -1
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-DGloG4Vg.js → gitGraphDiagram-UUTBAWPF-gN8Ai_7H.js} +1 -1
- package/dist/assets/{graph-CbR0Gq9P.js → graph-CSC5UcCt.js} +1 -1
- package/dist/assets/{index-D4Pum3K_.js → index-BMKeFQ8D.js} +2 -2
- package/dist/assets/{index-Dyqfqy0-.js → index-C5sBul9J.js} +1 -1
- package/dist/assets/{index-D8UlD-Rs.js → index-CLOW0OUz.js} +1 -1
- package/dist/assets/{index-70lDhcDm.js → index-Cv33V1Pr.js} +1 -1
- package/dist/assets/{index-jdQotxUf.js → index-Cwi-o2jM.js} +1 -1
- package/dist/assets/{index-7ibWcMau.js → index-DHgN3ufc.js} +1 -1
- package/dist/assets/{index-CtigeZCJ.js → index-DI6crI9z.js} +1 -1
- package/dist/assets/{index-CtLTny8H.js → index-bUhmgSxt.js} +1 -1
- package/dist/assets/{infoDiagram-42DDH7IO-FGosRpTG.js → infoDiagram-42DDH7IO-DuSgqRNf.js} +1 -1
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-BlclfpV5.js → ishikawaDiagram-UXIWVN3A-B4EdK2CC.js} +1 -1
- package/dist/assets/{journeyDiagram-VCZTEJTY--UkR986E.js → journeyDiagram-VCZTEJTY-B5wbjiO8.js} +1 -1
- package/dist/assets/{jszip.min-PwTGeWmJ.js → jszip.min-Dx820onf.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-1oO9JAku.js → kanban-definition-6JOO6SKY-1UxMJBgT.js} +1 -1
- package/dist/assets/{layout-DKdPIoav.js → layout-BZ4cy_A3.js} +1 -1
- package/dist/assets/{linear-D2uKszhd.js → linear-BKdLoimm.js} +1 -1
- package/dist/assets/{mermaid.core-Adp4RVnV.js → mermaid.core-DMom7_rg.js} +2 -2
- package/dist/assets/{min-Czdk6h6Y.js → min-wRNE9X51.js} +1 -1
- package/dist/assets/{mindmap-definition-QFDTVHPH-Bs7NLrcq.js → mindmap-definition-QFDTVHPH-BNmfJpA6.js} +1 -1
- package/dist/assets/{pieDiagram-DEJITSTG-D7z6f5QH.js → pieDiagram-DEJITSTG-vaH4-8Or.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-2rae23Td.js → quadrantDiagram-34T5L4WZ-C2AY6FOB.js} +1 -1
- package/dist/assets/{requirementDiagram-MS252O5E-B4uC_pLr.js → requirementDiagram-MS252O5E-aUdzXxVm.js} +1 -1
- package/dist/assets/{sankeyDiagram-XADWPNL6-xo0rKzRA.js → sankeyDiagram-XADWPNL6-911CtS8z.js} +1 -1
- package/dist/assets/seqResourceLoaders-BPRKtmaY.js +2 -0
- package/dist/assets/{seqResourceLoaders-BFMsIN74.css → seqResourceLoaders-P_ytfji6.css} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-3zQ_CXGR.js → sequenceDiagram-FGHM5R23-2R6stVjM.js} +1 -1
- package/dist/assets/{stateDiagram-FHFEXIEX-BnAvwAN8.js → stateDiagram-FHFEXIEX-CbgRIOYj.js} +1 -1
- package/dist/assets/{stateDiagram-v2-QKLJ7IA2-Q4raD3B2.js → stateDiagram-v2-QKLJ7IA2-Xsvwai6m.js} +1 -1
- package/dist/assets/{timeline-definition-GMOUNBTQ-BMSMoqEA.js → timeline-definition-GMOUNBTQ-BhhXvDyp.js} +1 -1
- package/dist/assets/{vendor-antd-TJ9xmLQO.js → vendor-antd-DM2TzIqO.js} +1 -1
- package/dist/assets/{vendor-codemirror-CIGft5iF.js → vendor-codemirror-Bfrxv9Q7.js} +1 -1
- package/dist/assets/{vendor-mdxeditor-BuIUwnOf.js → vendor-mdxeditor-CtZ5Rl88.js} +2 -2
- package/dist/assets/{vendor-qrcode-BOhJZrOT.js → vendor-qrcode-55J239aW.js} +1 -1
- package/dist/assets/{vendor-virtuoso-CyrVCdOW.js → vendor-virtuoso-DY16TiQ-.js} +1 -1
- package/dist/assets/{vennDiagram-DHZGUBPP-Dd_tCka1.js → vennDiagram-DHZGUBPP-H7FLlPyO.js} +1 -1
- package/dist/assets/{wardley-RL74JXVD-DGkrRuSv.js → wardley-RL74JXVD-Dp35Fq7j.js} +1 -1
- package/dist/assets/{wardleyDiagram-NUSXRM2D-DlbDpNJR.js → wardleyDiagram-NUSXRM2D-CcKrzQBH.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-CtBG1yl-.js → xychartDiagram-5P7HB3ND-CwTqQPcT.js} +1 -1
- package/dist/index.html +4 -4
- package/dist/voice-packs/default/pack.json +1 -1
- package/findcc.js +50 -40
- package/interceptor.js +1 -1
- package/package.json +8 -4
- package/plugins/README.md +8 -0
- package/server/_paths.js +24 -22
- package/server/interceptor.js +39 -25
- package/server/lib/interceptor-core.js +107 -0
- package/server/routes/preferences.js +14 -1
- package/server.js +1 -0
- package/ultraAgents/README.md +49 -40
- package/dist/assets/App-DPdFPyOI.js +0 -2
- package/dist/assets/classDiagram-6PBFFD2Q-DiOul2Ap.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-DiOul2Ap.js +0 -1
- package/dist/assets/clone-r-iPz1mj.js +0 -1
- package/dist/assets/seqResourceLoaders-DXQFWqYa.js +0 -2
|
@@ -13,8 +13,13 @@
|
|
|
13
13
|
| **名称** | ✅ | 代理的显示名称,方便区分不同代理 |
|
|
14
14
|
| **地址 (Base URL)** | ✅ | API 服务的基础地址(如 `https://api.example.com`),原始请求的 origin 会被替换为此地址 |
|
|
15
15
|
| **API Key** | ✅ | 代理服务的 API 密钥,会替换原始请求中的认证信息 |
|
|
16
|
-
|
|
|
17
|
-
|
|
|
16
|
+
| **ANTHROPIC_MODEL** | ❌ | 主模型。凡属于 `fable` / `mythos` 家族的模型请求都会被改写为此值 |
|
|
17
|
+
| **ANTHROPIC_DEFAULT_OPUS_MODEL** | ❌ | 扩展:`model` 包含 `opus` 的请求会被改写为此值 |
|
|
18
|
+
| **ANTHROPIC_DEFAULT_SONNET_MODEL** | ❌ | 扩展:`model` 包含 `sonnet` 的请求会被改写为此值 |
|
|
19
|
+
| **ANTHROPIC_DEFAULT_HAIKU_MODEL** | ❌ | 扩展:`model` 包含 `haiku` 的请求会被改写为此值 |
|
|
20
|
+
| **强度等级** | ❌ | 向请求体注入 `output_config.effort`(`low`/`medium`/`high`/`xhigh`/`max`),保持"默认"则跳过 |
|
|
21
|
+
|
|
22
|
+
模型匹配是对请求 `model` 字段的大小写无关子串判断,因此任意版本(如 `claude-opus-4-8`、未来的 `claude-opus-5`)都会映射到同一家族,无需重新配置。家族字段留空表示该家族保持不变;无法识别的家族会原样透传。
|
|
18
23
|
|
|
19
24
|
## 工作原理
|
|
20
25
|
|
|
@@ -22,7 +27,8 @@
|
|
|
22
27
|
|
|
23
28
|
1. **URL 重写** — 将请求的 origin 替换为代理的 Base URL
|
|
24
29
|
2. **认证替换** — 将请求头中的 `x-api-key` 或 `Authorization` 替换为代理的 API Key
|
|
25
|
-
3. **模型替换** —
|
|
30
|
+
3. **模型替换** — 按家族改写请求体的 `model` 字段(opus/sonnet/haiku → 对应字段;fable/mythos → `ANTHROPIC_MODEL`)
|
|
31
|
+
4. **强度注入** — 若设置了强度等级,则注入 `output_config.effort`(`count_tokens` / 心跳请求会跳过)
|
|
26
32
|
|
|
27
33
|
## 配置文件
|
|
28
34
|
|
|
@@ -38,8 +44,11 @@
|
|
|
38
44
|
"name": "My Proxy",
|
|
39
45
|
"baseURL": "https://api.example.com",
|
|
40
46
|
"apiKey": "sk-xxx",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
47
|
+
"ANTHROPIC_MODEL": "model-primary",
|
|
48
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "model-opus",
|
|
49
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "model-sonnet",
|
|
50
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "model-haiku",
|
|
51
|
+
"effort": "max"
|
|
43
52
|
}
|
|
44
53
|
]
|
|
45
54
|
}
|
|
@@ -47,4 +56,5 @@
|
|
|
47
56
|
|
|
48
57
|
- `active` — 当前使用的 profile ID,设为 `"max"` 表示直连(不走代理)
|
|
49
58
|
- `profiles` — profile 列表,`id: "max"` 为内置直连模式,不可删除
|
|
59
|
+
- 使用旧版 `models` / `activeModel` 的 profile 在加载时会自动迁移为 `ANTHROPIC_MODEL`
|
|
50
60
|
- 修改文件后约 1.5 秒自动生效(通过 `fs.watchFile` 监听),无需重启
|
|
@@ -163,10 +163,13 @@ claude() { ... }
|
|
|
163
163
|
| `active` | 当前激活的配置 ID(`"max"` = 直连,无代理) |
|
|
164
164
|
| `id` | 唯一标识 |
|
|
165
165
|
| `name` | 显示名称 |
|
|
166
|
-
| `baseURL` | 代理 API
|
|
167
|
-
| `apiKey` | 代理 API
|
|
168
|
-
| `
|
|
169
|
-
| `
|
|
166
|
+
| `baseURL` | 代理 API 位址(替換請求 origin) |
|
|
167
|
+
| `apiKey` | 代理 API 金鑰(替換認證標頭) |
|
|
168
|
+
| `ANTHROPIC_MODEL` | 主模型(fable/mythos 家族映射到此) |
|
|
169
|
+
| `ANTHROPIC_DEFAULT_OPUS_MODEL` | opus 家族對應的模型(擴充) |
|
|
170
|
+
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | sonnet 家族對應的模型(擴充) |
|
|
171
|
+
| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | haiku 家族對應的模型(擴充) |
|
|
172
|
+
| `effort` | 強制的 `output_config.effort` 等級 |
|
|
170
173
|
|
|
171
174
|
## 九、插件系统
|
|
172
175
|
|
|
@@ -13,8 +13,13 @@ Hot-Switch Proxy lets you dynamically redirect API requests to a different endpo
|
|
|
13
13
|
| **Name** | ✅ | Display name for this proxy, used to identify it |
|
|
14
14
|
| **Base URL** | ✅ | Base URL of the API service (e.g. `https://api.example.com`). The original request origin will be replaced |
|
|
15
15
|
| **API Key** | ✅ | API key for the proxy service, replaces the original authentication |
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
16
|
+
| **ANTHROPIC_MODEL** | ❌ | 主模型。凡屬於 `fable` / `mythos` 家族的模型請求都會被改寫為此值 |
|
|
17
|
+
| **ANTHROPIC_DEFAULT_OPUS_MODEL** | ❌ | 擴充:`model` 包含 `opus` 的請求會被改寫為此值 |
|
|
18
|
+
| **ANTHROPIC_DEFAULT_SONNET_MODEL** | ❌ | 擴充:`model` 包含 `sonnet` 的請求會被改寫為此值 |
|
|
19
|
+
| **ANTHROPIC_DEFAULT_HAIKU_MODEL** | ❌ | 擴充:`model` 包含 `haiku` 的請求會被改寫為此值 |
|
|
20
|
+
| **強度等級** | ❌ | 向請求體注入 `output_config.effort`(`low`/`medium`/`high`/`xhigh`/`max`),保持「預設」則跳過 |
|
|
21
|
+
|
|
22
|
+
模型比對是對請求 `model` 欄位的大小寫無關子字串判斷,因此任意版本(如 `claude-opus-4-8`、未來的 `claude-opus-5`)都會映射到同一家族,無需重新設定。家族欄位留空表示該家族保持不變;無法辨識的家族會原樣透傳。
|
|
18
23
|
|
|
19
24
|
## How It Works
|
|
20
25
|
|
|
@@ -22,7 +27,8 @@ When a proxy is active, `server/interceptor.js` performs the following before ea
|
|
|
22
27
|
|
|
23
28
|
1. **URL Rewrite** — Replaces the request origin with the proxy's Base URL
|
|
24
29
|
2. **Auth Replace** — Replaces `x-api-key` or `Authorization` header with the proxy's API Key
|
|
25
|
-
3. **Model Replace** —
|
|
30
|
+
3. **Model Replace** — 依家族改寫請求體的 `model` 欄位(opus/sonnet/haiku → 對應欄位;fable/mythos → `ANTHROPIC_MODEL`)
|
|
31
|
+
4. **Effort Inject** — 若設定了強度等級,則注入 `output_config.effort`(`count_tokens` / 心跳請求會跳過)
|
|
26
32
|
|
|
27
33
|
## Config File
|
|
28
34
|
|
|
@@ -38,8 +44,11 @@ Configuration is stored at `~/.claude/cc-viewer/profile.json`. Click the folder
|
|
|
38
44
|
"name": "My Proxy",
|
|
39
45
|
"baseURL": "https://api.example.com",
|
|
40
46
|
"apiKey": "sk-xxx",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
47
|
+
"ANTHROPIC_MODEL": "model-primary",
|
|
48
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "model-opus",
|
|
49
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "model-sonnet",
|
|
50
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "model-haiku",
|
|
51
|
+
"effort": "max"
|
|
43
52
|
}
|
|
44
53
|
]
|
|
45
54
|
}
|
|
@@ -47,4 +56,5 @@ Configuration is stored at `~/.claude/cc-viewer/profile.json`. Click the folder
|
|
|
47
56
|
|
|
48
57
|
- `active` — ID of the current profile. Set to `"max"` for direct connection (no proxy)
|
|
49
58
|
- `profiles` — Profile list. `id: "max"` is built-in and cannot be deleted
|
|
59
|
+
- 使用舊版 `models` / `activeModel` 的 profile 在載入時會自動遷移為 `ANTHROPIC_MODEL`
|
|
50
60
|
- Changes take effect within ~1.5 seconds (monitored via `fs.watchFile`), no restart needed
|