@deepseek-ai/dsh-client-ui-settings-models 0.1.2-alpha.5 → 0.1.3-alpha.2
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.i18n.yaml +2 -2
- package/README.md +3 -3
- package/README.zh.md +3 -3
- package/lib/client.js +2 -2
- package/package.json +10 -10
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/client/ui-settings-models/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 64a295e9ebacdd8cbb2b5a0a10b14c1c1dfb24ee
|
|
6
|
+
README.zh.md: a75b6f2300eb59e2961b5ca85799b28b32d0856a
|
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ The collapsed 自定义设置 fold carries the curated extras: `baseURL` for bot
|
|
|
37
37
|
|
|
38
38
|
### Adding and deleting providers
|
|
39
39
|
|
|
40
|
-
The add flow is a card carrying the dormant-directory provider select — a bare-mounted `llm-pi-ai` offers its whole installed catalog before any route exists. **Add a custom provider** declares a route pi-ai does not ship; the create card asks for a unique **Provider ID**, an endpoint, a protocol, and at least one uniquely-identified model, because nothing can default those. **Fetch available models** asks the `llm/discoverModels` Remote about the endpoint the form shows, so adding a provider is one pass instead of save-then-return; the reply opens a searchable picker rather than being written, and nothing is written until **Add selected**. Search matches model ids and optional display names without clearing hidden selections
|
|
40
|
+
The add flow is a card carrying the dormant-directory provider select — a bare-mounted `llm-pi-ai` offers its whole installed catalog before any route exists. **Add a custom provider** declares a route pi-ai does not ship; the create card asks for a unique **Provider ID**, an endpoint, a protocol, and at least one uniquely-identified model, because nothing can default those. **Fetch available models** asks the `llm/discoverModels` Remote about the endpoint the form shows, so adding a provider is one pass instead of save-then-return; the reply opens a searchable picker rather than being written, and nothing is written until **Add selected**. Each selected candidate copies its id, display name, context window, and output-token cap into the editable row when disclosed, while an existing row retains its user-tuned values. Search matches model ids and optional display names without clearing hidden selections. **Select all** adds the visible results, while **Deselect all** clears the entire selection so hidden results cannot be adopted accidentally. A row is deletable only when the user layer alone carries it (removal restores the composition base), and its confirmation dialog names the provider.
|
|
41
41
|
|
|
42
42
|
### First-run dialogs
|
|
43
43
|
|
|
@@ -82,7 +82,7 @@ These pages cover the settings base, the seams this page joins, and the design r
|
|
|
82
82
|
- [settings](../../settings/README.md) — the durable user-settings seam and its file provider.
|
|
83
83
|
- [credentials](../../credentials/README.md) — the credential-reference seam this page writes keys through.
|
|
84
84
|
- [llm](../../llm/README.md) — the adapter registry whose providers this page configures.
|
|
85
|
-
- [Web config plane](../../../.agents/notes/
|
|
85
|
+
- [Web config plane](../../../.agents/notes/archived/architecture/2026-07-30-web-config-plane.md) — the hand-written editor's design rationale.
|
|
86
86
|
|
|
87
87
|
-----
|
|
88
88
|
|
|
@@ -105,7 +105,7 @@ These limits define the editor's field coverage and the page's reach; they are c
|
|
|
105
105
|
- **Only the API key and curated fold fields are editable on the card** — the hand-written editor traded schema-generic field coverage for the mockup layout. Retry policy, timeouts, DeepSeek model descriptions, and other advanced fields remain in `settings.yaml`; existing model fields the editor does not show are preserved.
|
|
106
106
|
- **Credential cleanup is intentionally narrow** — deleting a row removes the configured, writable credential only when its reference is the exact `<ROUTE>_API_KEY` target this page derives. Custom references, environment credentials, and unidentifiable targets are retained because the row cannot prove ownership of them.
|
|
107
107
|
- **Only pi-ai routes can be hand-declared** — the custom-provider card writes into `llm-pi-ai`, the one namespace whose profiles describe a whole provider. A `llm-deepseek` route is a composition fact, not something this page can create.
|
|
108
|
-
- **Interrogation covers OpenAI-compatible endpoints** —
|
|
108
|
+
- **Interrogation covers OpenAI-compatible and Anthropic Messages endpoints** — OpenAI protocols accept a standard `data` array or an enriched `models` map, while Anthropic uses its native model-listing route; every other protocol reports that it cannot be asked and its models are entered by hand.
|
|
109
109
|
- **Undeclared live routes render nowhere** — a route registered without a configurable-provider declaration has no settings address; it stays visible in pickers but not on this page's rows.
|
|
110
110
|
|
|
111
111
|
<a id="dev-note"></a>
|
package/README.zh.md
CHANGED
|
@@ -37,7 +37,7 @@ kind: "package-reference"
|
|
|
37
37
|
|
|
38
38
|
### 新增与删除提供方
|
|
39
39
|
|
|
40
|
-
「新增」流程是一张承载休眠目录提供方选择框的卡片——裸挂载的 `llm-pi-ai` 在任何路由存在之前就能提供其完整的已安装 catalog。**添加自定义提供方**声明一条 pi-ai 不提供的路由;创建卡片会索要唯一的 **Provider ID**、端点、协议与至少一个可唯一识别的模型,因为没有东西能为它们兜底。**获取可用模型**通过 `llm/discoverModels` Remote
|
|
40
|
+
「新增」流程是一张承载休眠目录提供方选择框的卡片——裸挂载的 `llm-pi-ai` 在任何路由存在之前就能提供其完整的已安装 catalog。**添加自定义提供方**声明一条 pi-ai 不提供的路由;创建卡片会索要唯一的 **Provider ID**、端点、协议与至少一个可唯一识别的模型,因为没有东西能为它们兜底。**获取可用模型**通过 `llm/discoverModels` Remote 查询表单显示的端点,因此新增提供方一次即可完成,而非先保存再返回;回复打开的是可搜索选择器而非直接写入,只有点击**添加所选**才会写入。每个选中候选会在提供方公布相应信息时,把 id、显示名、上下文窗口与最大输出 token 数复制进可编辑行;已经存在的行保留用户调整过的值。搜索会匹配模型 id 与可选显示名称,且不会清除隐藏项的勾选状态。**全选**会加入可见结果,而**取消全选**会清空全部勾选,以免意外采用隐藏结果。只有用户层单独携带某行时,该行才可删除(删除会恢复组合基线),其确认对话框会指名该提供方。
|
|
41
41
|
|
|
42
42
|
### 首次运行弹窗
|
|
43
43
|
|
|
@@ -82,7 +82,7 @@ kind: "package-reference"
|
|
|
82
82
|
- [settings](../../settings/README.zh.md)——持久化用户设置 seam 及其文件提供方。
|
|
83
83
|
- [credentials](../../credentials/README.zh.md)——本页写入密钥所经的凭据引用 seam。
|
|
84
84
|
- [llm](../../llm/README.zh.md)——本页所配置提供方所在的适配器注册表。
|
|
85
|
-
- [Web 配置平面](../../../.agents/notes/
|
|
85
|
+
- [Web 配置平面](../../../.agents/notes/archived/architecture/2026-07-30-web-config-plane.md)——手写编辑器的设计依据。
|
|
86
86
|
|
|
87
87
|
-----
|
|
88
88
|
|
|
@@ -105,7 +105,7 @@ kind: "package-reference"
|
|
|
105
105
|
- **卡片上只有 API 密钥与精选折叠字段可编辑**:手写编辑器以 schema 通用字段覆盖换取了 mockup 布局。重试策略、超时、DeepSeek 模型说明及其他进阶字段仍留在 `settings.yaml` 中;编辑器未展示的现有模型字段会予以保留。
|
|
106
106
|
- **凭据清理范围刻意保持狭窄**:删除一行时,仅当其引用与页面派生的 `<ROUTE>_API_KEY` 目标完全一致,才会清除已配置且可写的凭据。自定义引用、环境凭据与无法识别的目标会保留,因为该行无法证明自己拥有它们。
|
|
107
107
|
- **只有 pi-ai 路由可以手工声明**:自定义提供方卡片写入 `llm-pi-ai`——唯一一个其 profile 描述整个提供方的 namespace。`llm-deepseek` 路由是组合面的事实,不是本页能创建的东西。
|
|
108
|
-
-
|
|
108
|
+
- **询问覆盖 OpenAI 兼容与 Anthropic Messages 端点**:OpenAI 协议接受标准 `data` 数组或富信息 `models` 对象,Anthropic 则使用原生模型列表路由;其余协议会报告自己无法被询问,其模型需手工填写。
|
|
109
109
|
- **未声明的存活路由无处渲染**:未附带可配置提供方声明即注册的路由没有 settings 地址;它在各选择器中仍然可见,但不会出现在本页的行里。
|
|
110
110
|
|
|
111
111
|
<a id="dev-note"></a>
|
package/lib/client.js
CHANGED
|
@@ -648,9 +648,9 @@ window.__ModuleLoader__.load({
|
|
|
648
648
|
const allVisibleCandidatesPicked = visibleCandidates.length > 0 && visibleCandidates.every((candidate) => picked.has(candidate.id));
|
|
649
649
|
const toggleVisibleCandidates = () => {
|
|
650
650
|
setPicked((current) => {
|
|
651
|
+
if (visibleCandidates.every((candidate) => current.has(candidate.id))) return /* @__PURE__ */ new Set();
|
|
651
652
|
const next = new Set(current);
|
|
652
|
-
|
|
653
|
-
else for (const candidate of visibleCandidates) next.add(candidate.id);
|
|
653
|
+
for (const candidate of visibleCandidates) next.add(candidate.id);
|
|
654
654
|
return next;
|
|
655
655
|
});
|
|
656
656
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-settings-models",
|
|
3
3
|
"description": "Models settings and shared product-onboarding dialogs over existing settings and credential joins",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -42,16 +42,16 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/react": "~18.3.1",
|
|
44
44
|
"react": "^18.2.0",
|
|
45
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.
|
|
46
|
-
"@deepseek-ai/dsh-client-store": "^0.1.
|
|
47
|
-
"@deepseek-ai/dsh-api-remotes": "^0.1.
|
|
48
|
-
"@deepseek-ai/dsh-client-test-runtime": "^0.1.
|
|
49
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.
|
|
50
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.
|
|
45
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.3-alpha.2",
|
|
46
|
+
"@deepseek-ai/dsh-client-store": "^0.1.3-alpha.2",
|
|
47
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.3-alpha.2",
|
|
48
|
+
"@deepseek-ai/dsh-client-test-runtime": "^0.1.3-alpha.2",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.3-alpha.2",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.3-alpha.2",
|
|
51
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.3-alpha.2",
|
|
51
52
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/dsh-util-values": "^0.1.2-alpha.5"
|
|
53
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.3-alpha.2",
|
|
54
|
+
"@deepseek-ai/dsh-util-values": "^0.1.3-alpha.2"
|
|
55
55
|
},
|
|
56
56
|
"files": [
|
|
57
57
|
"lib/index.js",
|