@mofeng2223/dsh-claude-provider 0.4.2 → 0.4.3

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 CHANGED
@@ -2,17 +2,15 @@
2
2
 
3
3
  English | [简体中文](./README.zh-CN.md)
4
4
 
5
- ~~DeepSeek Harness's general-purpose reasoning controls did not fully match the request parameters required by newer Claude models. As a result, selecting a reasoning level could either produce an HTTP 400 error or be silently mapped by the adapter to a different effective level—for example, Max in the interface could actually be sent as High. `@mofeng2223/dsh-claude-provider` added an explicit Claude provider type and sent the correct reasoning parameters for each Claude model.~~
5
+ DSH Claude Provider adds a dedicated Claude configuration interface to DeepSeek Harness. You can add multiple Claude providers, choose reasoning levels for each model, and automatically fetch model lists and fill in capacity settings and reasoning presets for common Claude models, without editing `settings.yaml` manually.
6
6
 
7
- Since DeepSeek Harness 0.1.1-rc.1, reasoning-effort parameters for Claude models are supported natively, but they still need to be configured manually in `settings.yaml`. Therefore, this plugin no longer intercepts or rewrites model requests at runtime. Instead, it writes the corresponding native settings to `settings.yaml` when a Claude provider is saved through the front end.
8
-
9
- The plugin retains its dedicated Claude provider configuration page, so users do not need to edit `settings.yaml` manually. Anthropic-native model discovery, automatic defaults for common Claude models, and other features not yet available in DeepSeek Harness are also retained.
7
+ Compared with the official generic custom provider form, the plugin adds a dedicated Claude entry, five-level, four-level, and on/off reasoning presets, and automatic defaults for known Claude models. DeepSeek Harness handles the saved reasoning configuration natively.
10
8
 
11
9
  ## What this plugin does
12
10
 
13
11
  1. **Adds a dedicated Claude provider type**
14
12
 
15
- The Models settings page gains a separate **Claude Provider** form. You can create multiple Provider IDs under this type without mixing them with generic custom providers.
13
+ The Models settings page gains a separate **Claude Provider** form.
16
14
 
17
15
  <p align="center">
18
16
  <img src="./docs/images/provider-entry.en.jpg" alt="Add Claude Provider entry in DeepSeek Harness" width="580">
@@ -34,17 +32,15 @@ The plugin retains its dedicated Claude provider configuration page, so users do
34
32
 
35
33
  New models default to five levels, and Claude providers default to High.
36
34
 
37
- ~~For adaptive thinking models, the plugin converted the selected level into Claude's `thinking.type: adaptive` and `output_config.effort` request format, preventing adapter rejections or silent downgrades.~~
38
-
39
- For adaptive thinking models, the plugin writes the selected level to DSH's native configuration when saved.
35
+ On save, the plugin writes each model's reasoning levels and adaptive thinking settings to DeepSeek Harness's native configuration.
40
36
 
41
37
  <p align="center">
42
38
  <img src="./docs/images/model-defaults.en.jpg" alt="Claude model capacity defaults and reasoning modes" width="580">
43
39
  </p>
44
40
 
45
- 3. **Adds native Anthropic model discovery**
41
+ 3. **Supports paginated Anthropic model discovery**
46
42
 
47
- DeepSeek Harness's generic custom provider cannot list models for the `anthropic-messages` protocol. This plugin adds model discovery for Claude providers through the provider's native Anthropic-compatible `GET /v1/models` endpoint, including cursor pagination.
43
+ The plugin fetches model lists through an Anthropic-compatible `GET /v1/models` endpoint, follows the returned cursors to retrieve subsequent pages, and deduplicates the results.
48
44
 
49
45
  4. **Fills known Claude model defaults after discovery**
50
46
 
@@ -58,7 +54,7 @@ The plugin retains its dedicated Claude provider configuration page, so users do
58
54
 
59
55
  ### Published package
60
56
 
61
- Install the Web profile for the browser interface:
57
+ For the browser interface, install the plugin into the Web profile:
62
58
 
63
59
  ```sh
64
60
  npx @deepseek-ai/dsh plugin --profile web add @mofeng2223/dsh-claude-provider
@@ -68,7 +64,7 @@ Restart the corresponding DeepSeek Harness process after installation.
68
64
 
69
65
  ### From source
70
66
 
71
- Build and package the repository first:
67
+ Clone, build, and package the repository first:
72
68
 
73
69
  ```sh
74
70
  git clone https://github.com/MoFeng2223/dsh-claude-provider.git
@@ -91,7 +87,7 @@ npx @deepseek-ai/dsh plugin --profile web add ./dist/mofeng2223-dsh-claude-provi
91
87
  npx @deepseek-ai/dsh plugin --profile web remove @mofeng2223/dsh-claude-provider
92
88
  ```
93
89
 
94
- Uninstalling the plugin does not delete `~/.dsh/settings.yaml` or stored credentials. Existing Claude providers remain ordinary custom `anthropic-messages` routes. Their `reasoningEfforts`, default `reasoning`, and `compat.forceAdaptiveThinking` fields are native RC8 settings, so adaptive thinking and the front-end reasoning-effort selector continue to work. Only the dedicated Claude add/edit UI, model discovery, and recorded defaults disappear.
90
+ Uninstalling the plugin does not delete `~/.dsh/settings.yaml` or stored credentials. Existing Claude providers remain ordinary custom `anthropic-messages` providers, and their saved reasoning levels and adaptive thinking settings remain effective. The dedicated Claude add/edit interface, paginated model discovery, and automatic defaults are no longer available; the official model discovery feature remains available.
95
91
 
96
92
  ## License
97
93
 
package/README.zh-CN.md CHANGED
@@ -2,17 +2,15 @@
2
2
 
3
3
  [English](./README.md) | 简体中文
4
4
 
5
- ~~DeepSeek Harness 的通用推理强度控制与新版 Claude 模型要求的请求参数并不完全匹配,因此选择某个档位后,可能直接出现 HTTP 400,也可能被适配器静默映射成另一个实际档位,例如界面选择 Max,实际请求却只相当于 High。`@mofeng2223/dsh-claude-provider` 增加了一个明确的 Claude 提供方类型,并按照每个 Claude 模型的配置发送正确的推理参数。~~
5
+ DSH Claude Provider 为 DeepSeek Harness 提供专用的 Claude 配置界面。你可以添加多个 Claude 提供方,为每个模型选择推理档位,并自动获取模型列表、填写常用 Claude 模型的容量和推理预设,无需手动编辑 `settings.yaml`。
6
6
 
7
- 自 DeepSeek Harness 0.1.1-rc.1 起,官方已支持 Claude 系列模型的推理强度参数,但仍需要在 `settings.yaml` 中手动配置。因此,本插件不再在运行时拦截或改写模型请求,而是在用户通过前端保存 Claude 提供方时,将相应的原生配置正确写入 `settings.yaml`。
8
-
9
- 插件仍保留专用的 Claude 提供方配置页面,用户无需手动编辑 `settings.yaml`。Anthropic 原生模型探测、常用 Claude 模型参数自动填写等官方尚未实现的功能也继续保留。
7
+ 相比官方的通用自定义提供方配置,插件增加了独立的 Claude 入口、五档/四档/开关式推理预设,以及按已知 Claude 模型自动填写参数的功能。保存后的推理配置由 DeepSeek Harness 原生处理。
10
8
 
11
9
  ## 插件功能
12
10
 
13
11
  1. **增加独立的 Claude 提供方类型**
14
12
 
15
- 模型设置页面会增加单独的“Claude 提供方”表单。你可以在这个类型下创建多个 Provider ID,不会与普通自定义提供方混在一起。
13
+ 模型设置页面会增加单独的“Claude 提供方”表单。
16
14
 
17
15
  <p align="center">
18
16
  <img src="./docs/images/provider-entry.jpg" alt="DeepSeek Harness 中新增的 Claude 提供方入口" width="580">
@@ -34,17 +32,15 @@
34
32
 
35
33
  新增模型默认使用五档,Claude 提供方默认选择 High。
36
34
 
37
- ~~对于 adaptive thinking 模型,插件会把所选档位转换成 Claude 使用的 `thinking.type: adaptive` 与 `output_config.effort` 请求格式,避免适配器拒绝请求或把档位降级。~~
38
-
39
- 对于 adaptive thinking 模型,插件会在保存时将所选档位写入 dsh 原生配置。
35
+ 插件会在保存时将模型的推理档位和自适应思考设置写入 DeepSeek Harness 原生配置。
40
36
 
41
37
  <p align="center">
42
38
  <img src="./docs/images/model-defaults.jpg" alt="Claude 模型容量预填与思考模式设置" width="580">
43
39
  </p>
44
40
 
45
- 3. **补充 Anthropic 原生模型探测**
41
+ 3. **支持 Anthropic 模型列表分页获取**
46
42
 
47
- DeepSeek Harness 的普通自定义提供方在使用 `anthropic-messages` 协议时无法获取模型列表。本插件为 Claude 提供方增加了基于 Anthropic 兼容 `GET /v1/models` 接口的模型探测,并支持游标分页。
43
+ 插件通过 Anthropic 兼容的 `GET /v1/models` 接口获取模型列表,并根据接口返回的游标继续读取后续页面、合并重复模型。
48
44
 
49
45
  4. **探测后自动填写常用 Claude 模型参数**
50
46
 
@@ -91,7 +87,7 @@ npx @deepseek-ai/dsh plugin --profile web add ./dist/mofeng2223-dsh-claude-provi
91
87
  npx @deepseek-ai/dsh plugin --profile web remove @mofeng2223/dsh-claude-provider
92
88
  ```
93
89
 
94
- 卸载插件不会删除 `~/.dsh/settings.yaml` 或已经保存的凭据。已有的 Claude 提供方会继续作为普通的 `anthropic-messages` 自定义路由保留;`reasoningEfforts`、默认 `reasoning` 和 `compat.forceAdaptiveThinking` 都是 RC8 原生字段,因此自适应思考和前端推理等级选择仍然有效。卸载后只会失去 Claude 专用的添加/编辑界面、模型探测和参数预填。
90
+ 卸载插件不会删除 `~/.dsh/settings.yaml` 或已经保存的凭据。已有的 Claude 提供方会继续作为普通的 `anthropic-messages` 自定义提供方保留,已保存的推理档位和自适应思考配置仍然有效。卸载后将不再提供 Claude 专用的添加/编辑界面、分页模型探测和参数预填;官方的模型探测功能仍然可用。
95
91
 
96
92
  ## 许可证
97
93
 
package/lib/client.js CHANGED
@@ -649,9 +649,9 @@ window.__ModuleLoader__.load({
649
649
  const allVisibleCandidatesPicked = visibleCandidates.length > 0 && visibleCandidates.every((candidate) => picked.has(candidate.id));
650
650
  const toggleVisibleCandidates = () => {
651
651
  setPicked((current) => {
652
+ if (visibleCandidates.every((candidate) => current.has(candidate.id))) return /* @__PURE__ */ new Set();
652
653
  const next = new Set(current);
653
- if (visibleCandidates.every((candidate) => current.has(candidate.id))) for (const candidate of visibleCandidates) next.delete(candidate.id);
654
- else for (const candidate of visibleCandidates) next.add(candidate.id);
654
+ for (const candidate of visibleCandidates) next.add(candidate.id);
655
655
  return next;
656
656
  });
657
657
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mofeng2223/dsh-claude-provider",
3
- "version": "0.4.2",
4
- "description": "Custom Claude provider support for DeepSeek Harness 0.1.2",
3
+ "version": "0.4.3",
4
+ "description": "Custom Claude provider support for DeepSeek Harness 0.1.3-alpha.2",
5
5
  "author": "mofeng2223",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -60,6 +60,6 @@
60
60
  }
61
61
  },
62
62
  "devDependencies": {
63
- "@deepseek-ai/dsh-client-ui-settings-models": "0.1.2-rc.1"
63
+ "@deepseek-ai/dsh-client-ui-settings-models": "0.1.3-alpha.2"
64
64
  }
65
65
  }