@ljwei-stak/dsh-model-router 0.13.0 → 0.13.1
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/.dsh-plugin/index.mjs +17 -1
- package/CHANGELOG.md +13 -1
- package/INSTALLATION_GUIDE.zh.md +9 -9
- package/MIGRATION.md +3 -3
- package/README.md +11 -10
- package/README.zh.md +12 -11
- package/package.json +2 -2
package/.dsh-plugin/index.mjs
CHANGED
|
@@ -451,10 +451,26 @@ export async function consultConfiguredModel(ctx, route, task, outputLimit = 12_
|
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
453
|
|
|
454
|
+
/**
|
|
455
|
+
* A host service this plugin may use but does not require. Cordis throws
|
|
456
|
+
* `cannot get property "<name>" without inject` for any `ctx.<name>` read of a
|
|
457
|
+
* service missing from `inject` (optional chaining does not help), and every
|
|
458
|
+
* `inject` entry is required, so optional services are read with `ctx.get()`,
|
|
459
|
+
* the same seam the Harness itself uses (for example `ctx.get("credentials")`).
|
|
460
|
+
*/
|
|
461
|
+
export function optionalService(ctx, name) {
|
|
462
|
+
try { return typeof ctx?.get === 'function' ? ctx.get(name) : undefined } catch { return undefined }
|
|
463
|
+
}
|
|
464
|
+
|
|
454
465
|
async function credentialsForRoute(ctx, route) {
|
|
455
466
|
const provider = text(route?.provider)
|
|
456
467
|
if (!provider) return null
|
|
457
|
-
const
|
|
468
|
+
const credentials = optionalService(ctx, 'credentials')
|
|
469
|
+
const llm = ctx?.llm
|
|
470
|
+
const readers = [
|
|
471
|
+
typeof credentials?.getApiKey === 'function' ? key => credentials.getApiKey(key) : null,
|
|
472
|
+
typeof llm?.getProviderApiKey === 'function' ? key => llm.getProviderApiKey(key) : null,
|
|
473
|
+
]
|
|
458
474
|
for (const read of readers) {
|
|
459
475
|
if (typeof read !== 'function') continue
|
|
460
476
|
try {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.1 — 2026-10-03
|
|
4
|
+
|
|
5
|
+
Bug-fix release for DeepSeek Harness Desktop 0.2.0-rc.1 / 0.2.0-rc.2, published under the npm `next` and `latest` tags.
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Workbench runs ("在工作台执行": preview, then confirm), `model_router_execute` and step reruns failed in the Harness with `cannot get property "credentials" without inject`. The executor read `ctx?.credentials`, which is not in the plugin's `inject` list; Cordis throws for every non-injected `ctx.<service>` read, and optional chaining does not help. Optional services are now read through `ctx.get(name)`, as the Harness itself does, so nothing new is required at load time. The run never started, so no model was called and nothing was billed. The failed run stays in history with that error.
|
|
9
|
+
- The source-only npm update helper (not shipped in the package) reads `connection`, `desktopProfiles` and `desktopPnpm` the same safe way.
|
|
10
|
+
|
|
11
|
+
### Tests
|
|
12
|
+
- Test mocks for Host code paths now enforce `inject` like Cordis (`tests/helpers/strict-ctx.mjs`).
|
|
13
|
+
- New `tests/cordis-inject.test.mjs` runs the workbench preview and run, `executeConfiguredAssignment` and a step rerun in a real Cordis plugin context with the Host `inject` list and sibling-provided services, with and without a `credentials` service. It also scans Host sources for `ctx.<name>` reads of non-injected services.
|
|
14
|
+
|
|
3
15
|
## 0.13.0 — 2026-10-03
|
|
4
16
|
|
|
5
17
|
Prerelease for DeepSeek Harness Desktop 0.2.0-rc.1 / 0.2.0-rc.2, published under the npm `next` tag. Merges PR #1 and PR #2.
|
|
6
18
|
|
|
7
19
|
### Package renamed
|
|
8
|
-
- The npm package is now **`@ljwei-stak/dsh-model-router`**. `@ljwei-stak/model-router-galgame`
|
|
20
|
+
- The npm package is now **`@ljwei-stak/dsh-model-router`**. The last version under the old name `@ljwei-stak/model-router-galgame` is 0.13.0, with the same content as `@ljwei-stak/dsh-model-router@0.13.0`; the old name will get no further updates. Upgrade by removing the old plugin and adding the new one; do not install both.
|
|
9
21
|
- The profile entry id, panel id, settings namespace and Cordis plugin name stay `model-router-galgame`, and state stays in `~/.dsh/model-router/`, so saved settings and run history carry over. See [MIGRATION.md](MIGRATION.md).
|
|
10
22
|
|
|
11
23
|
### Official CLI execution (PR #1)
|
package/INSTALLATION_GUIDE.zh.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
| 需求 | 添加插件输入框 | 安装后的入口 |
|
|
10
10
|
| --- | --- | --- |
|
|
11
|
-
| 分析复杂度、按质量和费用选模型、调用官方工具 | `@ljwei-stak/dsh-model-router@0.13.
|
|
11
|
+
| 分析复杂度、按质量和费用选模型、调用官方工具 | `@ljwei-stak/dsh-model-router@0.13.1` | 模型路由 |
|
|
12
12
|
| 剧情、立绘、音乐、存档、自由对话 | `@ljwei-stak/dsh-galgame@0.1.0` | Gal 模块 |
|
|
13
13
|
| 两者都要 | 分别安装上面两个包 | 模型路由 + Gal 模块 |
|
|
14
14
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
2. 在“包名、GitHub 仓库地址或本地目录路径”输入框填一个完整包名,例如:
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
-
@ljwei-stak/dsh-model-router@0.13.
|
|
25
|
+
@ljwei-stak/dsh-model-router@0.13.1
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
只想安装 GAL 时填写:
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
4. 核对预览的包名、版本和宿主兼容信息,安装并启用。有重启提示时重启桌面程序。
|
|
41
|
-
5. 检查插件详情与侧边栏:路由应为 **0.13.
|
|
41
|
+
5. 检查插件详情与侧边栏:路由应为 **0.13.1 / 模型路由**;GAL 应为 **0.1.0 / Gal 模块**。仅装路由时没有 GAL 入口是预期行为。
|
|
42
42
|
|
|
43
43
|
普通用户无需 `npm install -g`,该命令不会把插件注册到当前 Harness profile。
|
|
44
44
|
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
|
|
47
47
|
进入对应 Release 下载 `.tgz`:
|
|
48
48
|
|
|
49
|
-
- [模型路由 v0.13.
|
|
49
|
+
- [模型路由 v0.13.1](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.1)
|
|
50
50
|
- [独立 GAL v0.1.0](https://github.com/Alice-Marx/deepseek-harness-galgame/releases/tag/v0.1.0)
|
|
51
51
|
|
|
52
52
|
在“添加插件”填写下载文件的**绝对路径**,例如:
|
|
53
53
|
|
|
54
54
|
```text
|
|
55
|
-
D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
55
|
+
D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
```text
|
|
@@ -62,7 +62,7 @@ D:\Plugins\ljwei-stak-dsh-galgame-0.1.0.tgz
|
|
|
62
62
|
如附有 `.sha256` 文件,用 PowerShell 计算并比较摘要:
|
|
63
63
|
|
|
64
64
|
```powershell
|
|
65
|
-
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
65
|
+
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz'
|
|
66
66
|
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-galgame-0.1.0.tgz'
|
|
67
67
|
```
|
|
68
68
|
|
|
@@ -72,7 +72,7 @@ Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-galgame-0
|
|
|
72
72
|
|
|
73
73
|
1. 在旧合并插件的 GAL 播放器导出需要保留的剧情进度,并备份整个 Harness profile。每份 JSON 仅保存**当前剧情状态**,不含所有手动槽、设置、已读记录或本地音乐;重要槽位可依次读档再导出。
|
|
74
74
|
2. 在**同一个 profile**安装独立 `@ljwei-stak/dsh-galgame@0.1.0`。
|
|
75
|
-
3. 0.13.0 起包名改为 `@ljwei-stak/dsh-model-router
|
|
75
|
+
3. 0.13.0 起包名改为 `@ljwei-stak/dsh-model-router`(旧包名最后版本为 0.13.0,内容相同,之后不再更新):在插件管理器卸载原 `@ljwei-stak/model-router-galgame`(保留 profile 与应用数据),再添加 `@ljwei-stak/dsh-model-router@0.13.1`。不要两个同时安装(条目 id 与工具名相同);条目 id 未变,路由设置与执行记录会保留。完成两项更新后再玩剧情,避免同时操作旧合并入口和新入口。
|
|
76
76
|
4. 现在路由与 GAL 各有一个入口。独立 GAL 沿用旧存档 localStorage 键,核对当前进度和三槽;更换 profile 或进度未恢复时,先切换到匹配剧目,再导入 JSON 备份。
|
|
77
77
|
5. 后续分别更新需要的插件;只用路由可以不启用或不安装 GAL。保留 profile 与应用数据,卸载插件时不要清理故事数据。
|
|
78
78
|
|
|
@@ -104,7 +104,7 @@ Claude、Codex、MiMo、Grok 支持只读或可编辑;Kimi、MiniMax、ZCode
|
|
|
104
104
|
| 检查 | 预期 |
|
|
105
105
|
| --- | --- |
|
|
106
106
|
| 宿主版本 | 0.2.0-rc.1 或 0.2.0-rc.2;包括 `rc` 后缀。 |
|
|
107
|
-
| 路由独立安装 | 0.13.
|
|
107
|
+
| 路由独立安装 | 0.13.1 详情、模型路由入口、目录和模型档案可用;不出现旧合并 GAL 入口。 |
|
|
108
108
|
| GAL 独立安装 | 0.1.0 详情、Gal 模块入口、标题与两部核心剧情可用;不要求安装路由。 |
|
|
109
109
|
| 共同安装 | 两个入口各一份,路由工具和 GAL 播放器均能使用。 |
|
|
110
110
|
| 存档迁移 | 同 profile 可读旧键;跨 profile 用匹配剧目 JSON 导入;旧篇目的数据不覆盖。 |
|
|
@@ -116,7 +116,7 @@ Claude、Codex、MiMo、Grok 支持只读或可编辑;Kimi、MiniMax、ZCode
|
|
|
116
116
|
|
|
117
117
|
## 8. 开发者从完整源码构建
|
|
118
118
|
|
|
119
|
-
路由仓库检出 `v0.13.
|
|
119
|
+
路由仓库检出 `v0.13.1`;GAL 仓库检出 `v0.1.0`。使用 Node.js **22.19+** 与 pnpm,各自在根目录运行:
|
|
120
120
|
|
|
121
121
|
```powershell
|
|
122
122
|
pnpm install --frozen-lockfile
|
package/MIGRATION.md
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
| 插件 | 安装输入 | 所属项目 |
|
|
6
6
|
| --- | --- | --- |
|
|
7
|
-
| 模型路由 | `@ljwei-stak/dsh-model-router@0.13.
|
|
7
|
+
| 模型路由 | `@ljwei-stak/dsh-model-router@0.13.1`(0.12.0 起独立;0.13.0 起改名) | [路由仓库](https://github.com/Alice-Marx/dsh-model-router);旧包名 `@ljwei-stak/model-router-galgame` 最后版本为 0.13.0(与新包 0.13.0 内容相同),之后不再更新。 |
|
|
8
8
|
| GAL | `@ljwei-stak/dsh-galgame@0.1.0` | [新 GAL 仓库](https://github.com/Alice-Marx/deepseek-harness-galgame);独立安装与更新。 |
|
|
9
9
|
|
|
10
10
|
路由 0.12.0 只注册**模型路由**侧边栏入口。剧情引擎、角色美术、音乐、存档与自由模式全部归独立 GAL;两个插件互不依赖。
|
|
11
11
|
|
|
12
12
|
## 0.13.0 包名变更
|
|
13
13
|
|
|
14
|
-
0.13.0 起 npm 包名由 `@ljwei-stak/model-router-galgame` 改为 **`@ljwei-stak/dsh-model-router
|
|
14
|
+
0.13.0 起 npm 包名由 `@ljwei-stak/model-router-galgame` 改为 **`@ljwei-stak/dsh-model-router`**。旧包名的最后版本是 0.13.0(`next`;`latest` 仍为 0.4.32),内容与新包 `@ljwei-stak/dsh-model-router@0.13.1` 相同;旧包名之后不再更新,但不会被弃用或删除。已装旧包 0.13.0 的用户功能不缺,但应按下面步骤换到新包名以获得后续更新。
|
|
15
15
|
|
|
16
16
|
- 插件管理器把两者视为不同的包,不能原地“更新”:先卸载旧包(保留 profile 与应用数据),再添加新包。
|
|
17
17
|
- 不要同时安装:二者使用同一个 profile 条目 id `model-router-galgame` 和相同的 `model_router_*` 工具名。
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
1. **升级前备份**:旧 GAL 播放器导出需要保留的进度 JSON,并备份 Harness profile。JSON 保存当前剧情状态,不包含全部槽位、设置、已读记录或音乐;重要手动槽可依次读取后导出。
|
|
24
24
|
2. 在**同一个 Harness profile**安装 `@ljwei-stak/dsh-galgame@0.1.0`。
|
|
25
|
-
3. 在官方插件管理器卸载原包 `@ljwei-stak/model-router-galgame`,再添加 `@ljwei-stak/dsh-model-router@0.13.
|
|
25
|
+
3. 在官方插件管理器卸载原包 `@ljwei-stak/model-router-galgame`,再添加 `@ljwei-stak/dsh-model-router@0.13.1`。完成两项安装后再打开剧情,避免并行使用旧合并 GAL 与新 GAL 入口。
|
|
26
26
|
4. 核对只有一个**模型路由**和一个**Gal 模块**入口。打开独立 GAL 检查当前进度、三槽及设置;同 profile 继续使用原 localStorage 键。
|
|
27
27
|
5. 若使用不同 profile 或没有读到进度,在 GAL 选择匹配剧目,再导入保存的 JSON。导入上限 **2 MB**,确认后替换当前剧情进度。
|
|
28
28
|
|
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
**Version 0.13.0 adds health checks, cost control, subscription-first billing and run history; since 0.12.0 model routing and GAL are separate plugins.** This plugin analyzes a request, gives simpler work to affordable capable models, and reserves stronger routes for difficult work. Compound requests become dependent work packages that supported official vendor tools can execute.
|
|
4
4
|
|
|
5
|
-
**Since 0.13.0 the npm package is `@ljwei-stak/dsh-model-router`.** The old name `@ljwei-stak/model-router-galgame` (
|
|
5
|
+
**Since 0.13.0 the npm package is `@ljwei-stak/dsh-model-router`.** The old name `@ljwei-stak/model-router-galgame` ends at 0.13.0 (same content as the new package's 0.13.0) and will get no further updates; to upgrade, remove the old plugin and add the new one ([details](#upgrade-from-ljwei-stakmodel-router-galgame)). **Since 0.12.0 the router package has only the Model Router sidebar entry.** Install the independent [GAL plugin](https://github.com/Alice-Marx/deepseek-harness-galgame) if you also want stories, portraits, music, saves, or free roleplay.
|
|
6
6
|
|
|
7
7
|
[简体中文说明](README.zh.md) · [Installation guide (Chinese)](INSTALLATION_GUIDE.zh.md) · [Migration guide](MIGRATION.md) · [GAL repository](https://github.com/Alice-Marx/deepseek-harness-galgame)
|
|
8
8
|
|
|
9
|
-
> **Host compatibility:** both the router 0.13.
|
|
9
|
+
> **Host compatibility:** both the router 0.13.1 and GAL 0.1.0 target DeepSeek Harness Desktop **0.2.0-rc.1 and 0.2.0-rc.2**. Use the exact installation versions below. Releases use npm's `next` tag while this host is a prerelease; a bare package name or a moving tag is not a version pin.
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
@@ -35,40 +35,40 @@ In **DeepSeek Harness Desktop → Plugins → Add plugin**, enter one exact pack
|
|
|
35
35
|
|
|
36
36
|
| What you want | Installation input | Repository |
|
|
37
37
|
| --- | --- | --- |
|
|
38
|
-
| Model routing and official tools | `@ljwei-stak/dsh-model-router@0.13.
|
|
38
|
+
| Model routing and official tools | `@ljwei-stak/dsh-model-router@0.13.1` | [Model Router](https://github.com/Alice-Marx/dsh-model-router) |
|
|
39
39
|
| GAL only, or GAL alongside the router | `@ljwei-stak/dsh-galgame@0.1.0` | [DeepSeek Harness GAL](https://github.com/Alice-Marx/deepseek-harness-galgame) |
|
|
40
40
|
|
|
41
41
|
For npm installation, select the official **HTTPS** source `https://registry.npmjs.org/` if a mirror has not synchronized the exact version. Install, enable, and restart when prompted. Router details should show **0.13.0** and its sidebar **Model Router**; the separate GAL package adds **Gal Module**. Either package can be installed without the other. Global `npm install -g` does not register a plugin in your Desktop profile.
|
|
42
42
|
|
|
43
43
|
### Upgrade from `@ljwei-stak/model-router-galgame`
|
|
44
44
|
|
|
45
|
-
The package was renamed in 0.13.0, so the plugin manager cannot update the old entry in place:
|
|
45
|
+
The package was renamed in 0.13.0. The old name's last version is also 0.13.0, with identical content, so future updates only come under the new name. The plugin manager cannot update the old entry in place:
|
|
46
46
|
|
|
47
47
|
1. Remove `@ljwei-stak/model-router-galgame` in the plugin manager (keep profile and application data).
|
|
48
|
-
2. Add `@ljwei-stak/dsh-model-router@0.13.
|
|
48
|
+
2. Add `@ljwei-stak/dsh-model-router@0.13.1` and restart when prompted.
|
|
49
49
|
3. Do not keep both installed: they share the profile entry id `model-router-galgame` and the `model_router_*` tool names. Because the entry id is unchanged, router settings saved in the profile and the run history in `~/.dsh/model-router/state.json` carry over.
|
|
50
50
|
|
|
51
51
|
### Upgrade from the combined 0.11.x plugin
|
|
52
52
|
|
|
53
53
|
1. Before upgrading, use the old GAL player's **Export save** for each story progress you want to keep, and back up the Harness profile. A JSON export contains the current story state, not all slots, settings, read history, or local audio.
|
|
54
54
|
2. Install `@ljwei-stak/dsh-galgame@0.1.0` in the **same profile**.
|
|
55
|
-
3. Remove the old `@ljwei-stak/model-router-galgame` plugin and add `@ljwei-stak/dsh-model-router@0.13.
|
|
55
|
+
3. Remove the old `@ljwei-stak/model-router-galgame` plugin and add `@ljwei-stak/dsh-model-router@0.13.1` (see above). Finish both installations before continuing play; this removes the old combined GAL entry and leaves one entry from the independent GAL plugin.
|
|
56
56
|
4. Open the new GAL entry and verify your progress. The standalone plugin retains the old localStorage keys in the same profile. For a different profile or a missing state, select the matching story and import the JSON backup.
|
|
57
57
|
|
|
58
58
|
The standalone GAL core contains **Echo City: Main Saga** and **Old City Migration: The Unfinished Promise**. Previously separated stories remain in their source archive and are not shipped with either core plugin. See [migration notes](MIGRATION.md) for save limitations and older desktop integrations.
|
|
59
59
|
|
|
60
60
|
### Install a versioned release archive
|
|
61
61
|
|
|
62
|
-
Download the `.tgz` attachment from the [router v0.13.0 release](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.
|
|
62
|
+
Download the `.tgz` attachment from the [router v0.13.0 release](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.1) or [GAL v0.1.0 release](https://github.com/Alice-Marx/deepseek-harness-galgame/releases/tag/v0.1.0). Enter the downloaded file's absolute path, for example:
|
|
63
63
|
|
|
64
64
|
```text
|
|
65
|
-
D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
65
|
+
D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Where a checksum sidecar is supplied, compare it with:
|
|
69
69
|
|
|
70
70
|
```powershell
|
|
71
|
-
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
71
|
+
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz'
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
You can also extract the archive and enter its inner `package` directory, which contains `package.json` and `.dsh-plugin`. The download may be stored on your preferred drive; runtime data location is controlled by the Harness profile. Upgrade through the plugin manager without modifying `app.asar` or bypassing dependency checks.
|
|
@@ -77,7 +77,8 @@ You can also extract the archive and enter its inner `package` directory, which
|
|
|
77
77
|
|
|
78
78
|
| Version | Intended host | Scope |
|
|
79
79
|
| --- | --- | --- |
|
|
80
|
-
| **Router 0.13.
|
|
80
|
+
| **Router 0.13.1** | **0.2.0-rc.1 / 0.2.0-rc.2** | Fixes workbench and `model_router_execute` runs failing with `cannot get property "credentials" without inject`. Exact npm version, `@next` or `@latest`. |
|
|
81
|
+
| [Router 0.13.0](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.0) | 0.2.0-rc.1 / 0.2.0-rc.2 | Health check, cost control, subscription-first billing, run history; runs fail in the Harness (fixed in 0.13.1). |
|
|
81
82
|
| **GAL 0.1.0** | **0.2.0-rc.1 / 0.2.0-rc.2** | First standalone GAL package, two core stories. Exact npm version or `@next`. |
|
|
82
83
|
| [Router 0.12.0](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.12.0) | 0.2.0-rc.1 / 0.2.0-rc.2 | First independent router release (GAL split out). |
|
|
83
84
|
| [Combined 0.11.1](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.11.1) | 0.2.0-rc.1 / 0.2.0-rc.2 | Historical combined router and GAL package; corrected 0.11.0 release documentation. |
|
package/README.zh.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
**0.13.0 新增开箱体检、成本控制、订阅优先计费与执行记录;自 0.12.0 起模型路由与 GAL 是两个独立插件。** 路由器分析问题、判断难度,在用户已配置的模型中选择合适路线:简单工作更重视费用,困难工作更重视质量,复合任务拆成有依赖的工作包,再由支持的官方模型工具执行。
|
|
4
4
|
|
|
5
|
-
**自 0.13.0 起 npm 包名改为 `@ljwei-stak/dsh-model-router`**,旧名 `@ljwei-stak/model-router-galgame
|
|
5
|
+
**自 0.13.0 起 npm 包名改为 `@ljwei-stak/dsh-model-router`**,旧名 `@ljwei-stak/model-router-galgame` 最后版本为 0.13.0(与新包 0.13.0 内容相同),之后不再更新,升级时需卸载旧插件再添加新包(见[从旧包名升级](#从旧包名-ljwei-stakmodel-router-galgame-升级));**自 0.12.0 起只提供“模型路由”入口**。要玩剧情、调整立绘、听音乐或自由对话,请另装 [DeepSeek Harness GAL](https://github.com/Alice-Marx/deepseek-harness-galgame)。两个插件互不依赖,可单独安装,也可同时安装。
|
|
6
6
|
|
|
7
7
|
[English](README.md) · [安装与验证指南](INSTALLATION_GUIDE.zh.md) · [迁移说明](MIGRATION.md) · [独立 GAL 仓库](https://github.com/Alice-Marx/deepseek-harness-galgame)
|
|
8
8
|
|
|
9
|
-
> **宿主版本:**模型路由 0.13.
|
|
9
|
+
> **宿主版本:**模型路由 0.13.1 与 GAL 0.1.0 均声明支持 DeepSeek Harness Desktop **0.2.0-rc.1 和 0.2.0-rc.2**。宿主仍是预发布版本,本轮发布使用 npm `next` 标签;推荐精确版本安装,不要依赖裸包名或不断变化的标签。
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
@@ -34,45 +34,45 @@
|
|
|
34
34
|
|
|
35
35
|
| 安装内容 | 输入框填写 | GitHub 仓库 |
|
|
36
36
|
| --- | --- | --- |
|
|
37
|
-
| 模型路由、模型档案与官方工具 | `@ljwei-stak/dsh-model-router@0.13.
|
|
37
|
+
| 模型路由、模型档案与官方工具 | `@ljwei-stak/dsh-model-router@0.13.1` | [Model Router](https://github.com/Alice-Marx/dsh-model-router) |
|
|
38
38
|
| GAL 剧情、自由模式与播放器 | `@ljwei-stak/dsh-galgame@0.1.0` | [DeepSeek Harness GAL](https://github.com/Alice-Marx/deepseek-harness-galgame) |
|
|
39
39
|
|
|
40
40
|
1. npm 安装源选择官方 **HTTPS** 地址 `https://registry.npmjs.org/`;国内镜像尚未同步时可改用此源或版本化 GitHub 安装包。
|
|
41
41
|
2. 核对安装预览版本与宿主版本,安装并启用;有重启提示时重启。
|
|
42
|
-
3. 路由详情应为 **0.13.
|
|
42
|
+
3. 路由详情应为 **0.13.1**,侧边栏显示 **模型路由**;独立 GAL 详情应为 **0.1.0**,另显示 **Gal 模块**。
|
|
43
43
|
|
|
44
44
|
普通使用不需要 `npm install -g`:全局 npm 安装不会注册到当前 Harness profile。路由与 GAL 都可以不安装另一插件而运行。
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
### 从旧包名 @ljwei-stak/model-router-galgame 升级
|
|
48
48
|
|
|
49
|
-
0.13.0 起包名改为 `@ljwei-stak/dsh-model-router
|
|
49
|
+
0.13.0 起包名改为 `@ljwei-stak/dsh-model-router`。旧包名的最后版本同样是 0.13.0,内容相同,之后的更新只发布到新包名。插件管理器无法原地更新旧条目:
|
|
50
50
|
|
|
51
51
|
1. 在插件管理器卸载 `@ljwei-stak/model-router-galgame`(保留 profile 与应用数据)。
|
|
52
|
-
2. 添加 `@ljwei-stak/dsh-model-router@0.13.
|
|
52
|
+
2. 添加 `@ljwei-stak/dsh-model-router@0.13.1`,按提示重启。
|
|
53
53
|
3. 不要两个同时安装:二者使用相同的 profile 条目 id `model-router-galgame` 和相同的 `model_router_*` 工具名。条目 id 未变,所以 profile 中保存的路由设置以及 `~/.dsh/model-router/state.json` 里的执行记录会保留。
|
|
54
54
|
|
|
55
55
|
### 从合并版 0.11.x 升级
|
|
56
56
|
|
|
57
57
|
1. **先备份**:旧版 GAL 中对需要保留的剧情进度使用“导出存档”,并备份 Harness profile。JSON 仅包含当前剧情状态,不包含全部手动槽、设置、已读记录与本地音乐。
|
|
58
58
|
2. 在**同一个 profile**安装 `@ljwei-stak/dsh-galgame@0.1.0`。
|
|
59
|
-
3. 在插件管理器卸载原 `@ljwei-stak/model-router-galgame`,再添加 `@ljwei-stak/dsh-model-router@0.13.
|
|
59
|
+
3. 在插件管理器卸载原 `@ljwei-stak/model-router-galgame`,再添加 `@ljwei-stak/dsh-model-router@0.13.1`(见上文“从旧包名升级”)。完成两项安装后再游玩;旧合并插件的 GAL 入口随路由升级移除,只留下新 GAL 插件的入口。
|
|
60
60
|
4. 打开独立 GAL 检查进度。它保留原 localStorage 存档键;更换 profile 或没有读到旧进度时,先选择对应剧目,再导入备份 JSON。
|
|
61
61
|
|
|
62
62
|
独立 GAL 核心只内置**《回声之城·正篇》**和**《旧城迁移篇:未写完的约定》**。此前分出的其他篇目保留在源代码归档,不随这两个核心插件发布。完整迁移步骤见[迁移说明](MIGRATION.md)。
|
|
63
63
|
|
|
64
64
|
### 使用 GitHub 安装包
|
|
65
65
|
|
|
66
|
-
从[路由 v0.13.0 Release](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.
|
|
66
|
+
从[路由 v0.13.0 Release](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.1)或[GAL v0.1.0 Release](https://github.com/Alice-Marx/deepseek-harness-galgame/releases/tag/v0.1.0)下载 `.tgz`,在添加插件输入框填写文件绝对路径,例如:
|
|
67
67
|
|
|
68
68
|
```text
|
|
69
|
-
D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
69
|
+
D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
如附有 `.sha256` 校验文件,使用以下命令计算摘要并比较:
|
|
73
73
|
|
|
74
74
|
```powershell
|
|
75
|
-
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.
|
|
75
|
+
Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-router-0.13.1.tgz'
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
也可解压并填写内层含 `package.json` 和 `.dsh-plugin` 的 `package` 目录。安装包可放到自选磁盘;运行数据位置由宿主 profile 决定。不要改 `app.asar` 或绕过依赖检查。
|
|
@@ -81,7 +81,8 @@ Get-FileHash -Algorithm SHA256 -LiteralPath 'D:\Plugins\ljwei-stak-dsh-model-rou
|
|
|
81
81
|
|
|
82
82
|
| 版本 | 声明的宿主 | 功能范围 |
|
|
83
83
|
| --- | --- | --- |
|
|
84
|
-
| **模型路由 0.13.
|
|
84
|
+
| **模型路由 0.13.1** | **0.2.0-rc.1 / rc.2** | 修复工作台执行与 `model_router_execute` 报错 `cannot get property "credentials" without inject`。推荐精确版本,也可用 `@next` / `@latest`。 |
|
|
85
|
+
| [模型路由 0.13.0](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.13.0) | 0.2.0-rc.1 / rc.2 | 体检、成本控制、订阅优先、执行记录;在 Harness 中执行会失败(0.13.1 已修复)。 |
|
|
85
86
|
| **GAL 0.1.0** | **0.2.0-rc.1 / rc.2** | 独立 GAL 首版,两部核心剧目。推荐精确版本。 |
|
|
86
87
|
| [模型路由 0.12.0](https://github.com/Alice-Marx/dsh-model-router/releases/tag/v0.12.0) | 0.2.0-rc.1 / rc.2 | 首个独立路由版本(GAL 拆出)。 |
|
|
87
88
|
| [合并版 0.11.1](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.11.1) | 0.2.0-rc.1 / rc.2 | 历史路由与 GAL 合并包;修正 0.11.0 发布说明。 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ljwei-stak/dsh-model-router",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Model Router for official DeepSeek Harness Desktop: cost-aware task routing, dependent work packages and official vendor CLI discovery, installation and execution. GAL is available separately as @ljwei-stak/dsh-galgame.",
|
|
6
6
|
"repository": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"scripts": {
|
|
78
78
|
"build:client": "node scripts/build-client.mjs",
|
|
79
79
|
"check:client": "node scripts/build-client.mjs --check",
|
|
80
|
-
"test": "node --test tests/router.test.mjs tests/harness-*.test.mjs tests/official-tools.test.mjs tests/official-team-runtime.test.mjs tests/model-profiles.test.mjs tests/model-profile-editor.test.mjs tests/tool-install-state.test.mjs tests/vendor-adapters.test.mjs tests/desktop-compat.test.mjs tests/plugin-split.test.mjs tests/task-executors.test.mjs tests/roadmap.test.mjs tests/insights-state.test.mjs tests/billing-team-ledger.test.mjs tests/subscription-billing.test.mjs tests/subscription-host.test.mjs tests/test-pass-regressions.test.mjs tests/roadmap-gaps.test.mjs",
|
|
80
|
+
"test": "node --test tests/router.test.mjs tests/harness-*.test.mjs tests/official-tools.test.mjs tests/official-team-runtime.test.mjs tests/model-profiles.test.mjs tests/model-profile-editor.test.mjs tests/tool-install-state.test.mjs tests/vendor-adapters.test.mjs tests/desktop-compat.test.mjs tests/plugin-split.test.mjs tests/task-executors.test.mjs tests/roadmap.test.mjs tests/insights-state.test.mjs tests/billing-team-ledger.test.mjs tests/subscription-billing.test.mjs tests/subscription-host.test.mjs tests/test-pass-regressions.test.mjs tests/roadmap-gaps.test.mjs tests/cordis-inject.test.mjs",
|
|
81
81
|
"prepack": "node scripts/prepack.mjs",
|
|
82
82
|
"pack:local": "npm pack --pack-destination dist"
|
|
83
83
|
},
|