@ljwei-stak/model-router-galgame 0.10.1 → 0.11.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/.dsh-plugin/client.js +2 -2
- package/INSTALLATION_GUIDE.zh.md +77 -72
- package/README.md +53 -22
- package/README.zh.md +51 -22
- package/docs/ECHO_CITY_STORY.zh.md +7 -5
- package/docs/GAL_ART_SOURCES.zh.md +2 -0
- package/docs/GAL_SETTINGS.zh.md +211 -0
- package/docs/assets/gal-fullbody-0.11.0-preview.jpg +0 -0
- package/docs/assets/gal-official-fullbody-0.11.0.jpg +0 -0
- package/docs/assets/gal-official-rc2-0.11.0.jpg +0 -0
- package/docs/assets/gal-settings-0.11.0-preview.jpg +0 -0
- package/docs/assets/gal-title-0.11.0-preview.jpg +0 -0
- package/package.json +65 -59
package/.dsh-plugin/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/.dsh-plugin/client.js
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 57234430 bytes
|
|
4
|
+
sha256: 3408d5989501efa0d7c28c0845c8a3f2b553014fcd4a5e76d9fb0df9016d7924
|
package/INSTALLATION_GUIDE.zh.md
CHANGED
|
@@ -1,114 +1,119 @@
|
|
|
1
1
|
# DeepSeek Harness Desktop 插件安装与验证
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **当前版本为 0.11.0 本地候选包,尚未上传 npm 或 GitHub。** 本轮新增 Gal 播放器设置与操作功能,保留五部剧情和既有美术。当前安装使用本地 `.tgz`,不要从 npm 尝试安装 `@0.11.0` 或未发布的 `@0.10.2`。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[README](README.zh.md) · [Gal 设置与播放器详细教程](docs/GAL_SETTINGS.zh.md) · [五剧目玩法](docs/ECHO_CITY_STORY.zh.md)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 1. 先核对版本
|
|
8
|
+
|
|
9
|
+
| 插件版本 | 状态 | 声明的 DSH 依赖 | 如何使用 |
|
|
8
10
|
| --- | --- | --- | --- |
|
|
9
|
-
| **0.
|
|
10
|
-
| **0.
|
|
11
|
-
| 0.
|
|
12
|
-
| 0.
|
|
11
|
+
| **0.11.0** | 当前本地候选版,未发布 | `0.2.0-rc.1 \|\| 0.2.0-rc.2` | 安装本地包,新增 Gal 设置与播放器功能。 |
|
|
12
|
+
| **0.10.2** | 历史本地兼容修复,未发布 | `0.2.0-rc.1 \|\| 0.2.0-rc.2` | 官方 rc.2 运行时隔离安装已验证;兼容修复由 0.11.0 保留。 |
|
|
13
|
+
| **0.10.1** | 已发布 npm / GitHub 预发布 | `0.2.0-rc.1` | 只适配 rc.1;rc.2 管理器拒绝安装。 |
|
|
14
|
+
| **0.9.0** | 已发布历史版本 | `0.2.0-rc.1` | 历史兼容版,缺少后续 Gal 更新。 |
|
|
15
|
+
| 0.8.0 | 已发布历史版本 | `0.1.7-rc.2` | 与当前 0.2.0 系列桌面版不兼容。 |
|
|
16
|
+
| 0.4.32 | 旧版 npm `latest` 标签记录 | 旧 `dsh-settings` 依赖范围 | 裸包名可能选中旧版;当前候选安装使用文件路径。 |
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
在官方桌面插件页核对宿主的完整版本,包括 `rc` 后缀。0.10.1 在 rc.2 的错误来自依赖范围,换 npm 镜像不能修复。使用匹配的候选包即可;保留桌面程序与 profile,不必改 `app.asar` 或绕过版本检查。
|
|
15
19
|
|
|
16
|
-
##
|
|
20
|
+
## 2. 安装当前 0.11.0 候选包
|
|
17
21
|
|
|
18
|
-
1.
|
|
22
|
+
1. 打开 **DeepSeek Harness Desktop → 插件 → 添加插件**。
|
|
23
|
+
2. 在“包名、GitHub 仓库地址或本地目录路径”输入框粘贴安装包的**完整绝对路径**:
|
|
19
24
|
|
|
20
25
|
```text
|
|
21
|
-
|
|
26
|
+
F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz
|
|
22
27
|
```
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
3. 可以把文件复制到 D 盘等自选目录,再填写对应路径,例如 `D:\Plugins\ljwei-stak-model-router-galgame-0.11.0.tgz`。本地文件安装不需要 npm 镜像同步;路径必须指向实际文件。
|
|
30
|
+
4. 确认安装预览显示 **0.11.0**,没有宿主不兼容提示,安装并启用。出现重启提示时再重启桌面程序。
|
|
31
|
+
5. 核对侧边栏出现 **模型路由** 和 **Gal 模块**。进入 Gal 先显示 **标题画面**,可选择剧目、开始新故事或继续;另有 **剧情模式 · Gal 视图、自由模式、素材鉴赏**,上方有 **Gal 设置** 与 **开启音乐**。
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
若交付附带 `.sha256` 文件,用 PowerShell 计算安装包摘要并与交付校验文件比较:
|
|
34
|
+
|
|
35
|
+
```powershell
|
|
36
|
+
Get-FileHash -Algorithm SHA256 -LiteralPath 'F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz'
|
|
37
|
+
```
|
|
30
38
|
|
|
31
|
-
|
|
32
|
-
3. 确认插件详情显示 **0.10.1** 且无宿主不兼容提示,点击安装并启用;若提示重启则重启。已装旧版时,先在插件页禁用重复的旧实例。左侧应出现 **模型路由** 和 **Gal 模块**。不要手工改动应用安装目录、`app.asar` 或 profile 文件。
|
|
33
|
-
4. 进入 **Gal 模块 → 剧情模式 · Gal 视图**,核对五个剧目和立绘。安装后的逐项验证见下方清单;这一步仍须用户在官方桌面实装确认。
|
|
39
|
+
普通使用无需 `npm install -g`:全局 npm 安装不会注册到当前 Harness profile。也可解压 `.tgz`,再填写内层含 `package.json` 和 `.dsh-plugin` 的 `package` 目录绝对路径。安装文件可放在自选盘;运行时的数据目录仍由宿主 profile 决定。
|
|
34
40
|
|
|
35
|
-
|
|
41
|
+
### 已有同名旧版时
|
|
36
42
|
|
|
37
|
-
|
|
43
|
+
先在旧版导出当前剧情,或保留手动存档并备份 profile 数据。依插件管理器升级指引移除旧实例,再添加候选包;仅禁用旧实例可能仍被判“已安装”。保留 profile 和应用数据,旧手动槽沿用原键读取。若前次安装失败且“已安装”没有同名条目,可直接添加候选包。无需移除其他插件。
|
|
38
44
|
|
|
39
|
-
###
|
|
45
|
+
### 后续发布的 npm 方式
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
仅在发布完成并核对注册表后,才可使用完整包名,例如:
|
|
42
48
|
|
|
43
49
|
```text
|
|
44
|
-
@ljwei-stak/model-router-galgame@0.
|
|
50
|
+
@ljwei-stak/model-router-galgame@0.11.0
|
|
45
51
|
```
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
**这是未来发布示例,当前不能用于安装。** 届时镜像未同步可选 HTTPS 官方源 `https://registry.npmjs.org/`。目前已发布的历史包见 [0.10.1 Release](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.10.1) 与 [npm 0.10.1](https://www.npmjs.com/package/@ljwei-stak/model-router-galgame/v/0.10.1),只适配 rc.1,不能用于 rc.2。
|
|
48
54
|
|
|
49
|
-
|
|
55
|
+
## 3. 初次使用 Gal:先调立绘,再开音乐
|
|
50
56
|
|
|
51
|
-
|
|
57
|
+
1. **Gal 模块 → 剧情模式 · Gal 视图**,选择剧目。
|
|
58
|
+
2. **Gal 设置 → 立绘 · 大小与位置**,默认选 **完整全身原画**,先选 **主角色默认** 调缩放、水平位置和距底部距离,再选 **同伴默认** 调第二位人物。舞台会预留对话框空间;默认比例下脚部可见。想用旧六表情半身图时再改选 **表情特写**。
|
|
59
|
+
3. 单个角色仍不协调时,选 **角色名 · 单独设置**。只覆写该角色;其他角色继续使用默认值。预览随滑块变化,设置立即生效并保存于当前 profile。
|
|
60
|
+
4. **音乐与音效**选“跟随剧情”或内置曲目,点击 **开启音乐**。首次播放须用户点击;背景音乐与音效各调音量,**全部静音**控制两者。背景音量 0 时无背景音乐,音效音量 0 时无操作音效。
|
|
61
|
+
5. **选择本地音乐**支持本机可识别音频,最多 **30 MB**。文件不上传,仅当前插件会话使用,刷新或重新打开需重选。
|
|
62
|
+
6. **文字与阅读**调逐字间隔、字号、自动阅读等待和不透明度。工具栏 **自动阅读**和 **已读快进**遇选项、命名和结局停止,由用户决定。
|
|
63
|
+
7. 跨设备或升级前点击 **导出存档**下载 JSON。手动三槽、快捷存档和自动保存各有用途,详见[完整教程](docs/GAL_SETTINGS.zh.md)。
|
|
52
64
|
|
|
53
|
-
|
|
54
|
-
D:\Plugins\ljwei-stak-model-router-galgame-0.9.0.tgz
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
这里的 `D:\Plugins\` 只是示例,实际输入须与文件所在位置一致。官方插件管理器支持本地 `.tgz` 路径。发布包的 SHA-256 为 `FB06ED5527DE256062BB932EF5A35AF8FF9BEB8B6D2B3F635E2F30D0736A8E4B`;需要核对下载文件时,可在 PowerShell 运行 `Get-FileHash -Algorithm SHA256 -LiteralPath "D:\Plugins\ljwei-stak-model-router-galgame-0.9.0.tgz"`(按实际路径替换)。
|
|
65
|
+
本轮使用既有资源。下图为 **0.11.0 实际组件本地浏览器预览**,展示完整 Claude 原稿的布局预览与音乐设置:
|
|
58
66
|
|
|
59
|
-
|
|
67
|
+

|
|
60
68
|
|
|
61
|
-
|
|
69
|
+
*当前插件组件预览;不是用户官方桌面 profile 的安装结果。标题和舞台截图及逐控件说明见[播放器教程](docs/GAL_SETTINGS.zh.md)。*
|
|
62
70
|
|
|
63
|
-
|
|
64
|
-
git clone https://github.com/Alice-Marx/model-router-galgame.git
|
|
65
|
-
Set-Location model-router-galgame
|
|
66
|
-
git checkout v0.9.0
|
|
67
|
-
pnpm install --frozen-lockfile
|
|
68
|
-
npm run build:client
|
|
69
|
-
New-Item -ItemType Directory -Force dist | Out-Null
|
|
70
|
-
npm pack --pack-destination dist
|
|
71
|
-
```
|
|
71
|
+
## 4. 五部剧目与存档兼容
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
剧目下拉包括 **千桥协议、旧城迁移篇、雪灯来信、未寄出的春天、回声之城·正篇**。短篇、后日谈与正篇是不同剧目。正篇含共通八章、六条主线、隐藏线和 TRUE END,只有王女线有真/暗双结局;详情见[五剧目玩法](docs/ECHO_CITY_STORY.zh.md)。
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
自动进度与快捷存档按剧目独立。**千桥协议与旧城迁移篇沿用历史共用三槽**,读档会校验剧目;其他三部各有独立手动三槽。导出 JSON 备份当前剧情路径,不包含所有手动槽、立绘设置、已读记录或本地音乐。导入前先切到文件所属剧目,文件最多 **2 MB**;确认后替换当前自动进度,其他手动槽保留。
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
旧剧目、短篇和春篇直接进入章节会重新建立该章状态;正篇切章节保留本周目选择与好感。春篇修订版 1 的旧存档可读,不会凭空增加新选择旗标。体验新选择时先备份,再从开篇重新开始。清理 profile 或应用数据可能删除本地存档。
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
## 5. 模型路由与真实账号
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
1. 官方 **模型**页配置供应商、模型与凭据。插件读取准确 `provider/model` 目录,不另存 API Key。路线可填质量分数、USD/百万 token 单价和可选 `cliModel`;缺价显示“价格待配置”。
|
|
82
|
+
2. **模型路由**生成单任务或团队计划,查看每包难度、路线、依赖、渠道和估价。规划本地完成,不启动付费模型。
|
|
83
|
+
3. **官方工具**卡片提供固定来源探测、安装或修复、取消及日志。ZCode 使用原厂安装窗口,选目录并完成后再检测。工具就绪只证明本地可信入口通过检查。
|
|
84
|
+
4. 官方会话调用 `model_router_consult`、`model_router_tool_run` 或 `model_router_team_execute` 执行。可编辑任务需要干净 Git 仓库和宿主工具审批,先在测试仓库核对隔离工作区与补丁整合。
|
|
85
|
+
5. Gal **自由模式**发送消息是真实模型调用,可能产生费用。“停止生成”请求取消当前回复;复制开场提示词可交官方会话。登录、模型身份、计费和回复质量仍由账号持有人验收。
|
|
82
86
|
|
|
83
|
-
|
|
87
|
+
Claude、Codex、MiMo、Grok 支持只读或可编辑;Kimi、MiniMax、ZCode 的无界面模式只在获批的隔离可编辑工作区运行。CLI 模型名可能不同于 Harness 目录,可用 `cliModel` 或临时 `cliModelsJson` 映射;多数 CLI 不返回可核验的实际模型 ID,需看厂商记录。
|
|
84
88
|
|
|
85
|
-
|
|
89
|
+
希望官方 CLI 尽量装在非 C 盘时,先配置 npm 全局前缀。MiniMax Windows npm 原生依赖失败时,插件使用已审核、锁定哈希的官方脚本安装固定版本;内容变化会拒绝执行。Grok 使用非 C 盘 npm 目录时优先把原生程序和登录数据放入 `.model-router-grok`,独立终端登录需使用同一 `GROK_HOME`。
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
## 6. 安装后验收清单
|
|
88
92
|
|
|
89
|
-
|
|
93
|
+
| 检查 | 预期 |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| 版本与入口 | 详情为 0.11.0,rc.1 / rc.2 通过 peer 检查,两侧边栏入口可见。 |
|
|
96
|
+
| 标题菜单 | 选择剧目后开始或继续该剧目;新故事替换自动进度前确认;手动槽和快捷档保留。 |
|
|
97
|
+
| 立绘 | 默认完整全身,头、裙摆与脚部可见;全屏与窄窗口重新计算;主角、同伴和单独角色各自调节,刷新保留。 |
|
|
98
|
+
| 音频 | 首次点击播放;七首可切换;音量 0、全部静音有效;本地文件不上传,重开需重选。 |
|
|
99
|
+
| 阅读 | 自动等整句显示后推进;已读快进遇未读停;选项、命名、结局需人工操作;设置窗口或后台暂停阅读。 |
|
|
100
|
+
| 快捷键 | 点舞台空白处获取焦点;输入名字和操作表单时按键仍用于表单。 |
|
|
101
|
+
| 存档 | 三槽、快捷存档、JSON 导入导出;跨剧目拒绝;损坏槽原数据保留。 |
|
|
102
|
+
| 素材鉴赏 | 人物与场景可浏览,全部开放;缺表情回退基础图,可能含剧透。 |
|
|
103
|
+
| 自由与执行 | 用户真实账号核对回复、取消、CLI 实际模型与计费,独立于离线播放器测试。 |
|
|
90
104
|
|
|
91
|
-
|
|
105
|
+
本轮 **153 项主测试与 75 项额外剧情/游戏测试(共 228 项)**及 0.11.0 包的官方 rc.2 隔离加载检查见 [Gal 播放器报告](PROJECT-TASK-REPORT-2026-10-01-GAL-PLAYER.md)。已验证两个入口、新标题、完整原画和全屏历史;用户当前桌面 profile 尚未升级。0.10.2 的历史兼容检查见 [rc.2 修复报告](PROJECT-TASK-REPORT-2026-10-01-RC2-COMPAT.md)。
|
|
92
106
|
|
|
93
|
-
|
|
94
|
-
2. 左侧打开**模型路由**:确认目录出现,输入任务生成单任务或团队计划,核对每个工作包的难度、路线和依赖;点击**官方工具**卡片可按固定官方来源下载安装、取消下载、查看日志与执行入口状态。若版本横幅已是目标版本、但安全校验找不到官方执行入口,点“修复官方执行入口”会按固定包重新安装。前六家使用固定 npm 包;ZCode 会打开已验签的官方安装窗口,选择 D 盘目录并完成安装后再点“重新检测”。取消正在进行的 npm 安装后也应重新检测实际版本。
|
|
95
|
-
3. 在官方会话调用 `model_router_consult` 获取另一模型意见。调用 `model_router_tool_run` 执行单个已适配官方工具;复杂任务可调用 `model_router_team_execute`。Claude、Codex、MiMo、Grok 可选只读或可编辑;Kimi、MiniMax、ZCode 的无界面执行只允许可编辑隔离工作区。可编辑模式需要干净 Git 仓库,先在独立工作区编辑,全部成功后应用补丁,并经过官方工具审批。
|
|
96
|
-
若单工具调用要指定厂商 CLI 里的准确模型名,同时传入官方目录的 `provider`/`model` 与 CLI 自身的 `cliModel`;MiniMax/MiMo 用 `provider/model` 格式。未提供时按下方默认模型规则执行。
|
|
97
|
-
团队任务请逐条列出具体需求;如需临时指定每家 CLI 或每个工作包的准确模型,可给 `model_router_team_execute` 传 `cliModelsJson`。格式如 `{"minimax-code":"minimax/your-configured-model"}`,实际调用时换成该 CLI 中已配置名称。先用 `model_router_plan` 查看工作包 ID,再按 ID 精确覆盖;临时工作包设置 > 临时工具设置 > 保存的路线映射。ZCode 无逐次切换模型能力。
|
|
98
|
-
4. 左侧打开**Gal 模块**:剧情模式可离线游玩与存档;自由模式从官方目录选路线,在面板发送消息会发生真实模型调用并可能产生费用,可用“停止生成”中断当前请求,也可复制开场提示词到官方会话。
|
|
107
|
+
## 7. 从候选源码打包(开发者)
|
|
99
108
|
|
|
100
|
-
|
|
109
|
+
使用 `package.json` 为 0.11.0 的完整本地源码,Node.js 22.19+ 与 pnpm:
|
|
101
110
|
|
|
102
|
-
|
|
111
|
+
```powershell
|
|
112
|
+
Set-Location 'F:\everyAI\all\model-router-galgame'
|
|
113
|
+
pnpm install --frozen-lockfile
|
|
114
|
+
npm run build:client
|
|
115
|
+
New-Item -ItemType Directory -Force dist | Out-Null
|
|
116
|
+
npm pack --pack-destination dist
|
|
117
|
+
```
|
|
103
118
|
|
|
104
|
-
|
|
105
|
-
| --- | --- |
|
|
106
|
-
| 插件启用 | 插件详情为 **0.10.1**,左侧出现“模型路由”和“Gal 模块”,无 DSH 0.2.0-rc.1 不兼容提示;若选择旧发布包,详情应为 0.9.0。 |
|
|
107
|
-
| 官方工具 | 七张工具卡显示状态;点击下载、取消和重试后确认真实探测版本及执行入口就绪状态;ZCode 须在原厂安装窗口完成安装。 |
|
|
108
|
-
| 本地规划 | 单任务与团队模式都能显示复杂度、每包难度、路线、渠道、依赖;完整填写单价时才显示费用,缺价时显示“价格待配置”。用简单与困难任务核对不同模型分配。 |
|
|
109
|
-
| Gal 剧情 | 0.10.1 的五部剧目、章节、选项、历史、结局和独立三槽可用;核对正篇连续章节旗标与好感、春篇修订版 2 的新选项/有条件结局、28 原稿基础图、27 套六表情与双人物同场、六幅新背景。JEV 应有基础图,但不应被误列为剧情出场或有六表情。 |
|
|
110
|
-
| Gal 自由 | 用户自行配置的模型可回复首轮和续轮消息;停止生成会取消当前请求,切换模型/角色会清空旧对话并请求取消旧回复。 |
|
|
111
|
-
| CLI 执行 | 已登录账号下逐家调用,核对实际模型、结构化终态与权限;可编辑任务先在干净测试仓库核对独立工作区与补丁整合。 |
|
|
112
|
-
| 团队执行 | 在测试仓库验证多工作包依赖、失败停止、取消、模型 ID 不受厂商接受时的错误。 |
|
|
113
|
-
|
|
114
|
-
真实账号、付费模型及 CLI 授权仍需由账号持有人操作并核对;每家模型名、实际计费和完整任务质量以厂商运行记录及用户验收为准。
|
|
119
|
+
开发验证另运行 `npm test`、`npm run check:client` 和 `pnpm peers check`。当前没有已发布的 `v0.11.0` 或 `v0.10.2` 标签;历史已发布版可用对应真实标签。把生成包的绝对路径填入官方插件管理器。
|
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# Model Router Galgame
|
|
2
2
|
|
|
3
|
+
> **Current delivery:** **0.11.0 is a local candidate, not published to npm or GitHub.** Install `F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz` through the Desktop plugin manager. It adds Gal portrait settings, audio controls, reading controls, save backups, and an open artwork gallery. Verification results are recorded in the project report; live model sign-in and billing remain account-holder checks.
|
|
4
|
+
|
|
3
5
|
**A model routing and Galgame plugin for DeepSeek Harness Desktop.** It plans which of your configured models should handle a task, gives simpler work to an affordable capable route, and reserves stronger routes for difficult work. Compound requests become dependent work packages that can be run through supported official vendor tools.
|
|
4
6
|
|
|
5
|
-
[简体中文说明](README.zh.md) · [Installation guide (Chinese)](INSTALLATION_GUIDE.zh.md) · [v0.10.1
|
|
7
|
+
[简体中文说明](README.zh.md) · [Installation guide (Chinese)](INSTALLATION_GUIDE.zh.md) · [Gal settings guide (Chinese)](docs/GAL_SETTINGS.zh.md) · [Previously published v0.10.1](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.10.1)
|
|
6
8
|
|
|
7
|
-
> **
|
|
9
|
+
> **Host compatibility:** 0.11.0 retains the **0.2.0-rc.1 / 0.2.0-rc.2** peer ranges introduced by the local 0.10.2 compatibility fix. **Published 0.10.1 only accepts rc.1** and is rejected on rc.2. Neither 0.10.2 nor 0.11.0 currently has a published npm version or GitHub release. The new Gal controls reuse the five existing stories and artwork; this update adds player features rather than a new story or artwork set.
|
|
8
10
|
|
|
9
11
|

|
|
10
12
|
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
| **Model profiles** | Lets you enter your own 0–100 quality score, USD input/output price per million tokens, specialties, and an optional vendor CLI model name for an exact Harness route. Missing prices remain unknown. |
|
|
19
21
|
| **Official tools** | Detects and offers one-click, fixed-source installation for Kimi Code, Claude Code, Codex CLI, MiniMax Code, MiMo Code, Grok Build, and ZCode. The panel shows installation and trusted launch readiness separately. |
|
|
20
22
|
| **Execution** | Session tools can consult another configured Harness model, run one supported official CLI, or execute a sequence of dependent work packages with the CLI team runner. |
|
|
21
|
-
| **Gal Module** |
|
|
23
|
+
| **Gal Module** | Five offline stories, portrait size/position settings, seven music loops and session-only local audio, automatic reading and read-only skipping, three manual slots, an independent quick save, JSON backups, and an open artwork gallery. Free mode can chat through a configured Harness model or copy a roleplay opening prompt. |
|
|
22
24
|
|
|
23
25
|

|
|
24
26
|
|
|
@@ -28,24 +30,32 @@
|
|
|
28
30
|
|
|
29
31
|
| Plugin version | Intended host | Install status |
|
|
30
32
|
| --- | --- | --- |
|
|
31
|
-
| **0.
|
|
33
|
+
| **0.11.0** | **DeepSeek Harness Desktop 0.2.0-rc.1 / 0.2.0-rc.2** | Current local candidate. Install the local archive; no npm or GitHub publication yet. |
|
|
34
|
+
| **0.10.2** | **DeepSeek Harness Desktop 0.2.0-rc.1 / 0.2.0-rc.2** | Historical local compatibility fix, verified in an isolated official rc.2 runtime; not published. |
|
|
35
|
+
| **0.10.1** | **DeepSeek Harness Desktop 0.2.0-rc.1 only** | Historical prerelease; the Desktop plugin manager rejects it on rc.2. |
|
|
32
36
|
| **0.9.0** | **DeepSeek Harness Desktop 0.2.0-rc.1** | Previously published on npm and GitHub. This older build lacks the new Gal content. |
|
|
33
37
|
| **0.8.0** | DSH 0.1.7-rc.2 dependencies | Incompatible with Desktop 0.2.0-rc.1; the Desktop plugin manager rejects it. |
|
|
34
38
|
| **0.4.32** | Legacy `@deepseek-ai/dsh-settings` peer range `^0.1.1-rc.1 \|\| ^0.1.2-rc.1 \|\| ^0.1.5-rc.1` | Still carries npm's `latest` tag as of 2026-09-29. Installing without an explicit version can select this older package; this row does not claim every older Desktop build was tested. |
|
|
35
39
|
|
|
36
|
-
### Install 0.
|
|
40
|
+
### Install the current 0.11.0 local archive
|
|
37
41
|
|
|
38
42
|
Open **Plugins → Add plugin** in DeepSeek Harness Desktop and enter:
|
|
39
43
|
|
|
40
44
|
```text
|
|
41
|
-
|
|
45
|
+
F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz
|
|
42
46
|
```
|
|
43
47
|
|
|
44
|
-
|
|
48
|
+
The input must match the archive's actual absolute path. You may copy the archive to another drive and enter that path instead. Local installation does not depend on an npm mirror. Install, enable, and restart if prompted. Confirm plugin details show **0.11.0**, the host is **0.2.0-rc.1 or 0.2.0-rc.2**, and the sidebar shows **Model Router** and **Gal Module**. Global `npm install -g` does not register a plugin in your Desktop profile.
|
|
49
|
+
|
|
50
|
+
### Upgrading an existing local plugin
|
|
51
|
+
|
|
52
|
+
If no matching plugin is listed under **Installed**, install the candidate directly. If a same-named older copy is present, export current story progress when possible and back up your profile data, then follow the plugin manager's instructions to remove the older instance before adding the candidate. Disabling the old instance may still leave it marked as installed. Preserve the profile and application data. The existing manual save keys remain compatible.
|
|
53
|
+
|
|
54
|
+
You can also extract the archive and enter its inner `package` directory, which contains `package.json` and `.dsh-plugin`. Where a checksum sidecar is supplied, compare it with `Get-FileHash -Algorithm SHA256 -LiteralPath 'F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz'`. Do not work around the old rc.1-only peer rejection by modifying `app.asar` or bypassing the version check.
|
|
45
55
|
|
|
46
|
-
###
|
|
56
|
+
### npm installation after a future publication
|
|
47
57
|
|
|
48
|
-
|
|
58
|
+
After an explicit publication has completed and its registry contents have been verified, the plugin manager can use an exact package version such as `@ljwei-stak/model-router-galgame@0.11.0`. **This is a future example, not an available install source today.** The currently published 0.10.1 archive is available from its [historical release](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.10.1), but its peers only support rc.1.
|
|
49
59
|
|
|
50
60
|
### Previously published 0.9.0: install by package name
|
|
51
61
|
|
|
@@ -69,12 +79,11 @@ Get-FileHash 'D:\Downloads\ljwei-stak-model-router-galgame-0.9.0.tgz' -Algorithm
|
|
|
69
79
|
|
|
70
80
|
The published 0.9.0 archive has SHA-256 `FB06ED5527DE256062BB932EF5A35AF8FF9BEB8B6D2B3F635E2F30D0736A8E4B`. Replace the example path with your download path. The npm and GitHub release archives were downloaded and compared byte for byte during publication.
|
|
71
81
|
|
|
72
|
-
###
|
|
82
|
+
### Build the local candidate from source
|
|
73
83
|
|
|
74
|
-
With Node.js 22.19+ and pnpm installed, run these commands from
|
|
84
|
+
With Node.js 22.19+ and pnpm installed, use the complete local source checkout containing `package.json` version 0.11.0, then run these commands from the repository root. There is no published `v0.11.0` or `v0.10.2` tag to check out:
|
|
75
85
|
|
|
76
86
|
```powershell
|
|
77
|
-
git checkout v0.10.1
|
|
78
87
|
pnpm install --frozen-lockfile
|
|
79
88
|
npm run build:client
|
|
80
89
|
New-Item -ItemType Directory -Force dist | Out-Null
|
|
@@ -262,7 +271,9 @@ The planned Harness model ID is not necessarily the vendor CLI's model name. A s
|
|
|
262
271
|
|
|
263
272
|
*Story artwork from the plugin's Gal assets; it is not a capture of the running interface.*
|
|
264
273
|
|
|
265
|
-
The **Story** tab runs locally: backgrounds, portraits, dialogue, choices, history, endings, autosave,
|
|
274
|
+
The **Story** tab runs locally: backgrounds, portraits, dialogue, choices, history, endings, autosave, manual slots, quick saves and JSON backups. No model account is needed. Version 0.11.0 retains five episodes:
|
|
275
|
+
|
|
276
|
+
The module opens on a **title menu**. Select an episode and choose **Start new story** or **Continue**; settings, the gallery and Free mode are also available there. The in-stage controls remain available in fullscreen.
|
|
266
277
|
|
|
267
278
|
| Episode in the selector | Scope | Ending distinction |
|
|
268
279
|
| --- | --- | --- |
|
|
@@ -272,24 +283,44 @@ The **Story** tab runs locally: backgrounds, portraits, dialogue, choices, histo
|
|
|
272
283
|
| **未寄出的春天** (The Unsent Spring) | An **independent twelve-chapter sequel** with nine optional character routes. | Five endings. The conditional “letters” ending requires two preserved originals, asking each person for consent, distributed relay, a shared anchor, and at least two completed side routes. |
|
|
273
284
|
| **回声之城·正篇** (Echo City: Main Saga) | Prologue, eight common chapters, six character routes, hidden *Shadow and Self* with the naming night, and a TRUE END. | **Only the ChatGPT/princess route has separate true and dark endings**; completing all six routes and the hidden route unlocks the ensemble TRUE END. |
|
|
274
285
|
|
|
275
|
-
Open **Gal Module → Story mode**, choose an episode, advance the dialogue and select choices. **History** revisits prior lines
|
|
286
|
+
Open **Gal Module → Story mode**, choose an episode, advance the dialogue and select choices. **History** revisits prior lines. **Save 1–3 / Load 1–3** keeps manual checkpoints; Thousand Bridges and Old City Migration retain their historical shared slots, while the three newer episodes have independent slots. A per-episode **Quick save** does not consume those slots. Export a JSON backup before upgrades or moving to another profile; imports accept the same episode, enforce a 2 MB UTF-8 limit, and confirm before replacing current progress.
|
|
287
|
+
|
|
288
|
+
For the short story, Spring, and older episodes, directly entering a chapter starts it with fresh state rather than inheriting earlier choices; play from the beginning to see consequences carry through. The **Main Saga** preserves flags and 14 character-affinity values across sequential chapter changes. Its hidden route requires the DeepSeek/snow route's true ending, a complete transcription of the chapter-four note, and two observations of the steward's daily life. All six character routes and the hidden route are required for the TRUE END. The naming night lets you name the steward; the default is 衔雪.
|
|
289
|
+
|
|
290
|
+
### Portraits, music and reading controls
|
|
291
|
+
|
|
292
|
+
**Full-body original artwork** is the default stage source, using all 28 existing character originals, including the orange-haired Claude supplied by the user. The stage reserves space above dialogue and choices to keep the complete body visible. **Expression close-ups** remain an alternative. Full-body moods use the same original image; dialogue avatars can still change expressions. This update does not add newly painted full-body expression variants.
|
|
293
|
+
|
|
294
|
+
Open **Gal Settings** from the page header or Story toolbar. Adjust **Main character default** and **Companion default** separately, or select a named character to create a size/position override. Scale is 40–180%, horizontal position is 0–100%, and bottom offset is −30–50%. The preview updates immediately and settings are saved to the current profile. Clear a character override to inherit the defaults; resetting all Gal settings preserves story saves and read-node records.
|
|
295
|
+
|
|
296
|
+
Seven built-in music loops play offline after you click **Enable music**. Music and UI effects have separate 0–100% volume controls; zero volume is silent, and **Mute all** covers both. You may select a recognized local audio file up to **30 MB**; it stays on your machine and is available only for the current plugin session, so select it again after reopening. This player has optional UI cues, not voiced character dialogue.
|
|
297
|
+
|
|
298
|
+
Set text interval (0–120 ms; 0 reveals immediately), font size (12–32 px), auto-reading delay (300–10000 ms), and dialogue opacity (20–100%). **Auto read** waits until each line finishes. **Read-text skip** stops at unread content unless you explicitly enable skipping unread text. Both stop at choices, naming inputs and endings; neither chooses branches. Reading pauses while settings, history or confirmation views are open and while the page is hidden. The music background-pause option separately controls music.
|
|
299
|
+
|
|
300
|
+
Click the Story stage's blank area to focus it before using **Enter/Space** to reveal or continue, **A/S** for auto/skip, **H/Escape** to hide/restore the interface, **F** for stage fullscreen, **Q/L** for quick save/load, and **←** for the previous line. Text inputs and controls keep their own keys. Previous-line rollback retains at most **30 steps in this reading session** and is cleared by reopening, switching episodes/chapters, or loading a save.
|
|
301
|
+
|
|
302
|
+
The **Artwork gallery** exposes the existing portraits and scene images from the start, with expression fallbacks and possible spoilers. It is an open asset viewer, not a progression-unlocked CG collection. See the [detailed Chinese player guide](docs/GAL_SETTINGS.zh.md) for every control and recovery step. JSON backups contain current story progress, not the entire profile, settings, music file or all manual slots.
|
|
276
303
|
|
|
277
304
|
Spring content revision 1 saves remain readable in revision 2; loading them does not invent flags for newly added choices. To experience the new **preserve two originals** and **ask each person** choices, manually save old progress in a slot and restart Spring from its opening. Story saves are local to the current Desktop profile and are not cloud backups. The stories use fictional personifications; their dialogue does not establish real product capabilities or prices. See the [Chinese five-story play guide](docs/ECHO_CITY_STORY.zh.md) for chapter and ending details.
|
|
278
305
|
|
|
279
|
-
The **Free** tab uses an officially configured model route for in-panel chat, can stop a pending response, or copies the opening prompt into a Harness session. Free-mode replies are real model calls and may incur charges. The plugin does not store provider credentials.
|
|
306
|
+
The **Free** tab uses an officially configured model route for in-panel chat, can stop a pending response, or copies the opening prompt into a Harness session. Portrait and text settings are shared with Story mode. Free-mode replies are real model calls and may incur charges. The plugin does not store provider credentials; real sign-in, permissions and billing remain user acceptance checks.
|
|
307
|
+
|
|
308
|
+
The existing 0.10.1 artwork collection provides **28 original PNG portraits** for base-image display and Free-mode character selection. **27 story characters × six generated expressions = 162** expression sprites, plus six Echo City backgrounds from that earlier update. JEV has an original base portrait and is selectable in Free mode, but has no story appearance or expression set. Two-person scenes use `cast` and `stageCharacters`. This player update reuses those assets; the [portrait provenance guide](docs/GAL_ART_SOURCES.zh.md) separates originals from generated variants.
|
|
309
|
+
|
|
310
|
+

|
|
280
311
|
|
|
281
|
-
|
|
312
|
+
*The actual 0.11.0 component in a local browser preview: episode selection, new story and continue.*
|
|
282
313
|
|
|
283
|
-

|
|
284
315
|
|
|
285
|
-
*
|
|
316
|
+
*The 0.11.0 archive loaded by the installed official rc.2 runtime in a separate test profile. Full-body art remains above the translucent dialogue box; in-stage controls work in fullscreen.*
|
|
286
317
|
|
|
287
|
-

|
|
288
319
|
|
|
289
|
-
*
|
|
320
|
+
*Claude's complete original portrait with live layout controls, music and reading settings. Title and settings images are local component previews; the stage is from the isolated official rc.2 runtime. The user's current Desktop profile still needs acceptance.*
|
|
290
321
|
|
|
291
322
|
## Verification status and further reading
|
|
292
323
|
|
|
293
|
-
The **0.
|
|
324
|
+
The **0.11.0** candidate passes **153 main tests and 75 additional story/game tests, 228 in total**. Component checks covered persistent settings, auto-reading branch stops, quick saves and guarded imports. This archive also loaded in a separate profile of the installed official rc.2 runtime, confirming both sidebar entries, the title menu, original full-body art and fullscreen history. Current-profile installation, live sign-in, model identity and billing remain acceptance checks.
|
|
294
325
|
|
|
295
|
-
The [
|
|
326
|
+
The [Gal player project report](PROJECT-TASK-REPORT-2026-10-01-GAL-PLAYER.md) records file roles, checks, acceptance steps and remaining work. See the [rc.2 compatibility report](PROJECT-TASK-REPORT-2026-10-01-RC2-COMPAT.md) for the previous host validation and the [migration notes](MIGRATION.md) for older integrations.
|
package/README.zh.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# Model Router Galgame · DeepSeek Harness 桌面插件
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **当前交付状态**:**0.11.0 为本地候选版,尚未上传 npm/GitHub**。在官方桌面插件管理器填写 `F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz`。本轮新增立绘调节、音乐控制、阅读控制、存档备份和素材鉴赏;准确验证结果以本轮项目报告为准,真实模型登录与费用仍由账号持有人验收。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[English](README.md) · [安装与验证指南](INSTALLATION_GUIDE.zh.md) · [Gal 设置详细教程](docs/GAL_SETTINGS.zh.md) · [历史已发布 v0.10.1](https://github.com/Alice-Marx/model-router-galgame/releases/tag/v0.10.1)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**0.11.0 沿用 0.10.2 修复后的依赖范围,声明适配 DeepSeek Harness Desktop 0.2.0-rc.1 和 0.2.0-rc.2。** Gal 模块保留五部剧目:原有《千桥协议》《旧城迁移篇》,独立改编短篇《雪灯来信》,十二章后日谈《未寄出的春天》,以及共通线八章、六条角色主线、隐藏线与 TRUE END 的《回声之城:正篇》。正篇**只有王女线设真/暗双结局**。本轮完善播放器功能,使用既有剧情与美术素材。插件还会分析任务复杂度、拆分复合请求,在用户已配置的模型中权衡质量与估计费用;用户明确调用执行工具时才启动对应的官方 CLI。
|
|
8
|
+
|
|
9
|
+
> **0.10.1 是已发布历史版,只声明支持 rc.1;在 rc.2 被拒绝是版本依赖不兼容,不是网络故障。** 0.10.2 是经过官方 rc.2 运行时隔离安装验证的本地兼容修复版;0.10.2 和当前 0.11.0 均未发布。现在请使用本地安装包,不要从 npm 尝试安装这两个版本。
|
|
8
10
|
|
|
9
11
|

|
|
10
12
|
|
|
@@ -24,16 +26,27 @@
|
|
|
24
26
|
|
|
25
27
|
| DeepSeek Harness Desktop / 宿主依赖 | 插件版本 | 安装说明 |
|
|
26
28
|
| --- | --- | --- |
|
|
27
|
-
| **0.2.0-rc.1** | **0.
|
|
29
|
+
| **0.2.0-rc.1 / 0.2.0-rc.2** | **0.11.0 本地候选版** | 当前安装版本;使用本地 `.tgz`,尚未上传 npm/GitHub。 |
|
|
30
|
+
| **0.2.0-rc.1 / 0.2.0-rc.2** | **0.10.2 本地兼容修复版** | 历史本地交付;官方 rc.2 运行时隔离安装已验证,未发布。 |
|
|
31
|
+
| 0.2.0-rc.1 | 0.10.1(历史已发布预发布) | 仅声明 rc.1 peer;**rc.2 会拒绝安装**,请使用当前候选包。 |
|
|
28
32
|
| **0.2.0-rc.1** | **0.9.0 已发布版** | 历史兼容版;从 npm 指定 `@0.9.0`,不含本轮新增 Gal 内容。 |
|
|
29
33
|
| 0.1.7-rc.2 | 0.8.0 | 历史版本;其宿主 peer 与 0.2.0-rc.1 不兼容。 |
|
|
30
34
|
| 声明的旧 `dsh-settings` 范围:`^0.1.1-rc.1 \|\| ^0.1.2-rc.1 \|\| ^0.1.5-rc.1` | 0.4.32(npm `latest`) | 旧版发布记录;不要凭 `latest` 给 0.2.0-rc.1 安装。 |
|
|
31
35
|
|
|
32
|
-
**安装 0.
|
|
36
|
+
**安装 0.11.0 本地候选包**
|
|
37
|
+
|
|
38
|
+
1. 打开 DeepSeek Harness Desktop → **插件** → **添加插件**,填写安装包的完整绝对路径:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz
|
|
42
|
+
```
|
|
33
43
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
2. 可以把文件复制到自己选择的盘,再填写对应路径。本地安装不需要 npm 镜像;也可解压后填内层含 `package.json` 与 `.dsh-plugin` 的 `package` 目录。若交付附带 `.sha256` 文件,可用 `Get-FileHash -Algorithm SHA256 -LiteralPath 'F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz'` 核对。
|
|
45
|
+
3. 安装、启用插件;如有重启提示则重启。确认详情为 **0.11.0**,左侧出现 **“模型路由”** 与 **“Gal 模块”**。若列表没有同名插件,直接安装;已有同名旧版时,先导出当前剧情备份并保留配置数据,再依插件管理器升级指引卸载旧实例、安装候选包。仅禁用旧实例可能仍被判“已安装”。**保留 profile 和应用数据**,旧手动存档键仍兼容。
|
|
46
|
+
|
|
47
|
+
旧 0.10.1 的 peer 错误已在 0.10.2 修复,并由 0.11.0 保留。不要尝试 `allow-version` 或修改 `app.asar` 绕过版本检查。
|
|
48
|
+
|
|
49
|
+
**后续发布后的 npm 安装方式**:仅在发布完成并核对注册表后,才可在插件管理器填写完整版本号,例如 `@ljwei-stak/model-router-galgame@0.11.0`。这是未来发布示例,当前不可使用。
|
|
37
50
|
|
|
38
51
|
**安装此前已发布的 0.9.0(历史版)**
|
|
39
52
|
|
|
@@ -53,19 +66,18 @@
|
|
|
53
66
|
|
|
54
67
|
0.9.0 包的 SHA-256 为 `FB06ED5527DE256062BB932EF5A35AF8FF9BEB8B6D2B3F635E2F30D0736A8E4B`;npm 与 GitHub 重新下载的包已核对为相同字节。旧版不被覆盖或删除。`npm install -g` 只安装 npm 包,**不会**在当前 Harness profile 注册和启用插件;正常使用请走插件管理器。不要修改桌面安装目录或 `app.asar`。
|
|
55
68
|
|
|
56
|
-
|
|
69
|
+
**从本地候选源码重建(开发者)**
|
|
57
70
|
|
|
58
|
-
开发者安装 Node.js 22.19+ 与 pnpm
|
|
71
|
+
开发者安装 Node.js 22.19+ 与 pnpm 后,使用包含 `package.json` 版本 0.11.0 的完整本地源码,在仓库根目录运行。当前没有已发布的 `v0.11.0` 或 `v0.10.2` 标签可检出:
|
|
59
72
|
|
|
60
73
|
```powershell
|
|
61
|
-
git checkout v0.10.1
|
|
62
74
|
pnpm install --frozen-lockfile
|
|
63
75
|
npm run build:client
|
|
64
76
|
New-Item -ItemType Directory -Force dist | Out-Null
|
|
65
77
|
npm pack --pack-destination dist
|
|
66
78
|
```
|
|
67
79
|
|
|
68
|
-
随后通过插件管理器安装 `dist` 中生成的 `.tgz
|
|
80
|
+
随后通过插件管理器安装 `dist` 中生成的 `.tgz`。复制 npm 压缩包不能恢复全部源码,开发需保留客户端、测试、脚本与美术目录。更多界面步骤与排障见[安装指南](INSTALLATION_GUIDE.zh.md)。
|
|
69
81
|
|
|
70
82
|
## 开始使用
|
|
71
83
|
|
|
@@ -218,10 +230,11 @@ Harness 目录中的模型 ID 未必是厂商 CLI 接受的名字。逐模型设
|
|
|
218
230
|
|
|
219
231
|
侧边栏中的 **Gal 模块**与模型路由平级:
|
|
220
232
|
|
|
221
|
-
-
|
|
233
|
+
- **标题画面**:选择剧目,然后开始新故事或继续自动存档;系统设置、素材鉴赏与自由模式也可从这里进入。
|
|
234
|
+
- **剧情模式 · Gal 视图**:场景、立绘、分支、历史、结局、自动阅读、已读快进、上一句、全屏,以及手动三槽、快捷存档与 JSON 备份。剧情引擎离线运行,无需模型账号。
|
|
222
235
|
- **自由模式**:选择宿主已配置的模型、角色与场景,在面板内发送消息、停止生成,也可复制开场提示词到官方会话。面板内对话会真实调用模型并可能计费。
|
|
223
236
|
|
|
224
|
-
0.
|
|
237
|
+
0.11.0 保留的 **“剧目”** 下拉框共有五项:
|
|
225
238
|
|
|
226
239
|
| 剧目 | 篇幅与玩法 | 结局说明 |
|
|
227
240
|
| --- | --- | --- |
|
|
@@ -231,26 +244,42 @@ Harness 目录中的模型 ID 未必是厂商 CLI 接受的名字。逐模型设
|
|
|
231
244
|
| 未寄出的春天 | 承接“各自点灯”的**独立十二章后日谈**,九条可选人物支线。 | 五个结局;完成有条件的“回信”结局需保留双份原件、逐人询问、分布转递、共享锚点,并完成至少两条支线。 |
|
|
232
245
|
| 回声之城·正篇 | 序章、共通线八章、六条角色主线、隐藏线“影与身”与命名之夜。 | **仅王女线有真/暗双结局**;六条主线与隐藏线完成后可达全员 TRUE END。 |
|
|
233
246
|
|
|
234
|
-
**上手方式**:进入 **Gal 模块 → 剧情模式 · Gal 视图**,选剧目,从开篇点对话继续,遇到选项点击作答;“历史”回看,“存 1–3 / 读 1–3
|
|
247
|
+
**上手方式**:进入 **Gal 模块 → 剧情模式 · Gal 视图**,选剧目,从开篇点对话继续,遇到选项点击作答;“历史”回看,“存 1–3 / 读 1–3”保留手动进度,独立快捷存档用于临时检查点,升级或跨设备前“导出存档”备份。自动进度和快捷存档按剧目分开;**千桥协议与旧城迁移篇保留历史共用三槽**,其他三部各有三槽。对短篇、春篇及旧剧目,从章节下拉框**直接进入某章会重新建立该章状态**,不继承前章选择;想看连续因果请从开篇顺序游玩。**正篇**连续章节切换保留本周目旗标与 14 位角色好感;从序章顺序游玩最便于解锁隐藏线:雪国线真结局、第四章短笺完整抄录、两次留意执事的日常;TRUE END 还需六线及隐藏线全通。命名之夜可给执事取名,默认“衔雪”。
|
|
248
|
+
|
|
249
|
+
### 立绘、音乐和阅读设置怎么用
|
|
250
|
+
|
|
251
|
+
点击页头 **Gal 设置**或剧情工具栏 **设置**:
|
|
252
|
+
|
|
253
|
+
1. **立绘**:默认 **完整全身原画**,使用已入库的 28 位角色完整立绘,Claude 使用你指定的橙发原稿。舞台会为对话和选项预留空间,完整显示身体;也可选 **表情特写(半身差分)**。先选 **主角色默认**和 **同伴默认**,分别调缩放(40–180%)、水平位置(0–100%)、距底部(−30–50%);单个人物仍不协调时选 **角色名 · 单独设置**。变化实时预览并保存。全身原画在不同情绪下使用同一张图,头像仍会切换表情;本轮未新增全身差分。
|
|
254
|
+
2. **音乐与音效**:选“跟随剧情”或七首内置循环配乐,亲自点击 **开启音乐**。背景音乐和操作音效有独立音量,0 完全静音,“全部静音”作用于两者。本地音乐最多 **30 MB**,不上传,仅当前会话使用,重开需重选;操作音效不是对白配音。
|
|
255
|
+
3. **文字与阅读**:逐字间隔 0–120 ms(0 立即显示)、字号 12–32 px、自动等待 300–10000 ms、对话框不透明度 20–100%。**自动阅读**等整句显示后推进;默认 **已读快进**遇未读停;允许快进未读要明确勾选。两者都在分支、命名和结局停止,不代替用户作答。设置、历史、确认窗口和页面后台暂停推进。
|
|
256
|
+
4. **快捷键**:先点剧情舞台空白处获取焦点。Enter/空格显示整句或继续,A/S 自动/快进,H/Esc 隐藏/恢复,F 全屏,Q/L 快捷存/读,← 上一句;输入框和按钮保留自己的按键。**上一句仅本次阅读最多 30 步**,刷新、换剧目/章节或读档后清空。
|
|
257
|
+
5. **存档与鉴赏**:JSON 备份当前剧情状态,导入前切到对应剧目,最多 **2 MB**,确认后替换进度;不包含全部槽位、设置、音乐和已读记录。**素材鉴赏**可浏览已有立绘/表情和场景,全部开放、可能剧透,不是通关解锁 CG 系统。
|
|
258
|
+
|
|
259
|
+
完整逐控件说明、比例示例和故障处理见 **[Gal 设置与播放器教程](docs/GAL_SETTINGS.zh.md)**。自由模式仍需用户官方模型凭据,发送对话会发生真实调用并可能计费。
|
|
235
260
|
|
|
236
261
|
**春篇旧存档**:内容修订版 1 的存档仍可读取,不会凭空获得新增选择的旗标。若要体验修订版 2 的“保留双份原件”“逐人询问”,先把现有进度存入手动槽,再从本篇开篇重新开始。存档只在当前桌面配置的本地存储中;清理应用数据可能使其丢失。
|
|
237
262
|
|
|
238
|
-
|
|
263
|
+
**既有美术与显示**:0.10.1 已接入 28 张原稿人物 PNG、27 位剧情角色的六种派生表情(162 张)和六幅回声之城背景。JEV 有基础图,可自由选角,尚无剧情出场或六表情套。相邻人物按 `cast` / `stageCharacters` 同场显示。本轮使用已有美术完善播放器,未新增画稿;原图与派生资源见[立绘来源](docs/GAL_ART_SOURCES.zh.md)。
|
|
264
|
+
|
|
265
|
+

|
|
266
|
+
|
|
267
|
+
*图:实际 0.11.0 插件组件的本地浏览器预览,标题菜单支持选择剧目、开始与继续。*
|
|
239
268
|
|
|
240
|
-

|
|
241
270
|
|
|
242
|
-
*图:0.
|
|
271
|
+
*图:0.11.0 包在已安装官方 rc.2 运行时的独立测试 profile 中实际加载。全身原画的脚部位于对话框上方,底部操作栏在全屏中仍可使用。*
|
|
243
272
|
|
|
244
|
-

|
|
245
274
|
|
|
246
|
-
*图:
|
|
275
|
+
*图:Claude 完整原稿的布局预览与音乐、文字设置。标题、设置截图为本地组件预览;舞台截图为官方 rc.2 隔离运行时。用户当前桌面 profile 仍需安装候选包验收。*
|
|
247
276
|
|
|
248
277
|
详细章节、结局与存档步骤见 [Gal 五剧目玩法说明](docs/ECHO_CITY_STORY.zh.md);旧剧目背景见 [Gal 预览说明](GAL_GAME_PREVIEW.md)。
|
|
249
278
|
|
|
250
279
|
## 验证与开发
|
|
251
280
|
|
|
252
|
-
0.
|
|
281
|
+
0.11.0 通过 **153 项主测试 + 75 项额外剧情与游戏测试,共 228 项**。组件预览检查了设置持久化、自动停止在分支、快捷存档及导入保护;本轮包也已在已安装官方 rc.2 的隔离 profile 中加载,确认两个入口、标题、完整原画和全屏历史。用户当前桌面 profile、真实登录、模型身份与费用仍需验收。详细检查与限制见本轮报告。
|
|
253
282
|
|
|
254
|
-
开发者可运行 `pnpm install --frozen-lockfile`、`npm test`、`npm run check:client` 和 `pnpm peers check
|
|
283
|
+
开发者可运行 `pnpm install --frozen-lockfile`、`npm test`、`npm run check:client` 和 `pnpm peers check`。本轮文件职责、验证、用户测试和剩余任务见[Gal 播放器项目报告](PROJECT-TASK-REPORT-2026-10-01-GAL-PLAYER.md),历史兼容验证见[rc.2 报告](PROJECT-TASK-REPORT-2026-10-01-RC2-COMPAT.md)。欢迎通过 [Issues](https://github.com/Alice-Marx/model-router-galgame/issues) 附安装详情、宿主版本和脱敏错误日志反馈问题。
|
|
255
284
|
|
|
256
285
|
许可证:[MIT](LICENSE)。
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Gal 模块五剧目玩法说明
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **当前交付状态**:0.11.0 为本地候选包,尚未上传 npm/GitHub。在官方插件管理器填写 `F:\everyAI\all\model-router-galgame\dist\ljwei-stak-model-router-galgame-0.11.0.tgz`。本轮新增标题菜单、完整全身显示与播放器设置;五部剧情内容不变。详见[安装指南](../INSTALLATION_GUIDE.zh.md)与[Gal 设置教程](GAL_SETTINGS.zh.md)。
|
|
4
|
+
|
|
5
|
+
本页说明 **0.11.0** 保留的五部剧目,声明支持 DeepSeek Harness Desktop 0.2.0-rc.1 和 rc.2。剧情模式在本机运行,**无需登录模型账号,也不会调用付费模型**;自由模式中的模型聊天使用官方配置的路线,可能产生费用。先在标题菜单选择作品,再开始或继续。自动进度按剧目独立;千桥协议与旧城迁移篇沿用历史共用手动三槽,其他三部各有独立三槽。
|
|
4
6
|
|
|
5
7
|
| 剧目 | 篇幅与定位 | 需要注意 |
|
|
6
8
|
| --- | --- | --- |
|
|
@@ -10,7 +12,7 @@
|
|
|
10
12
|
| **未寄出的春天** | 十二章、九条可选角色支线、五结局的**独立后日谈**。 | 承接短篇“各自点灯”的主题,但存档与结局独立。 |
|
|
11
13
|
| **回声之城·正篇** | 序章、共通八章、六条角色线、隐藏线与 TRUE END。 | **只有王女线真/暗双结局**;正篇跨章继续会保留旗标和好感。 |
|
|
12
14
|
|
|
13
|
-
>
|
|
15
|
+
> **版本与安装**:当前使用本地 0.11.0 包,不能从 npm 安装未发布的 `@0.11.0` 或 `@0.10.2`。此前已发布的 **0.10.1 仅适配 rc.1,在 rc.2 被拒绝是 peer 版本不兼容,不是网络问题**。已有同名旧版时先导出进度、保留配置,再按插件管理器升级指引操作;不要清理 profile。安装后确认详情为 0.11.0。
|
|
14
16
|
|
|
15
17
|

|
|
16
18
|
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
|
|
19
21
|

|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
*图:春篇场景两位人物在 0.10.1 插件组件中同场显示;这是历史本地浏览器预览。0.11.0 标题、全身舞台与设置截图见[播放器教程](GAL_SETTINGS.zh.md)。*
|
|
22
24
|
|
|
23
25
|
## 《雪灯来信》:独立改编短篇
|
|
24
26
|
|
|
@@ -101,7 +103,7 @@
|
|
|
101
103
|
|
|
102
104
|
## 安装后的手工检查
|
|
103
105
|
|
|
104
|
-
以下项目需要在**安装 0.
|
|
106
|
+
以下项目需要在**安装 0.11.0 的官方 Desktop** 中由用户实际操作;本地浏览器组件预览不能代替桌面实装验证。本轮 **153 项主测试与 75 项额外剧情/游戏测试(共 228 项)**及构建结果见[播放器报告](../PROJECT-TASK-REPORT-2026-10-01-GAL-PLAYER.md);历史 0.10.2 官方 rc.2 隔离安装验证仍保留:
|
|
105
107
|
|
|
106
108
|
1. 左侧进入 **Gal 模块 → 剧情模式**,确认“剧目”中出现 **雪灯来信**,五章标题均能选择。
|
|
107
109
|
2. 从《雪灯来信》第一章推进并作答,确认台词、立绘/背景、选择按钮和 **“历史”** 正常显示。走完第五章,分别用末尾两个选项到达 **各自点灯**、**如常**。
|
|
@@ -112,4 +114,4 @@
|
|
|
112
114
|
7. 检查 Claude、春篇双人同场以及其他剧情角色的原稿基础图和表情差分;自由模式核对 JEV 基础图,JEV 不应出现不存在的剧情或六表情。背景切换后不应残留上一场人物。
|
|
113
115
|
8. 断网并不登录模型账号,确认剧情模式仍可推进;这项检查不适用于会调用模型的自由模式。
|
|
114
116
|
|
|
115
|
-
若界面少于五部剧目,先核对插件详情是否为 **0.10.
|
|
117
|
+
若界面少于五部剧目,先核对插件详情是否为 **0.10.2**、下载包路径是否正确以及是否装了同名旧版;**0.9.0 发布包本来不包含这轮新剧与美术**。本轮版本修复与后续验收见[rc.2 兼容修复报告](../PROJECT-TASK-REPORT-2026-10-01-RC2-COMPAT.md)。
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
## 原稿与插件基础立绘
|
|
6
6
|
|
|
7
|
+
0.11.0 的舞台默认显示这些**完整全身原画**,并在对话、选项上方留出展示区域;设置中可切回六表情半身特写。全身情绪暂时共用原图,对话头像仍能切换派生表情。这里的尺寸与哈希对应已有资源,本轮没有重画人物。Claude 使用下表中的同字节原稿;具体调节见[Gal 设置教程](GAL_SETTINGS.zh.md)。
|
|
8
|
+
|
|
7
9
|
以下 28 行以 `galgame/EchoCity` 的 PNG 为唯一来源基准。尺寸和 SHA-256 都针对**原稿文件**;基础图的实际文件及其独立 SHA-256 记录在 JSON 中。`同字节`表示插件基础 PNG 与原稿完全一致,`转 WebP` 表示为减小安装包而使用的格式转换图,不能用 WebP 文件哈希冒充原稿哈希。五张新补入角色原稿还在 `aipicture/echo-originals/` 留有同字节副本。
|
|
8
10
|
|
|
9
11
|
| 角色键 | 原稿相对路径 | 原稿尺寸 | 原稿 SHA-256 | 插件基础图 | 关系 |
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Gal 设置与播放器操作指南
|
|
2
|
+
|
|
3
|
+
适用于 **0.11.0 本地候选版**。该版本尚未发布到 npm/GitHub,安装请使用 [本地包安装步骤](../INSTALLATION_GUIDE.zh.md)。本轮完善播放器,继续使用既有五部剧情、美术和七首内置循环配乐。
|
|
4
|
+
|
|
5
|
+
[README](../README.zh.md) · [五剧目路线与结局](ECHO_CITY_STORY.zh.md) · [立绘来源](GAL_ART_SOURCES.zh.md) · [本轮项目报告](../PROJECT-TASK-REPORT-2026-10-01-GAL-PLAYER.md)
|
|
6
|
+
|
|
7
|
+
## 标题菜单与游戏画面
|
|
8
|
+
|
|
9
|
+
进入 Gal 模块先显示《回声之城》标题画面。参考用户提供的视觉小说界面,将标题、剧目选择和开始/继续/系统设置/鉴赏/自由模式集中到菜单中;背景使用本项目已有素材。
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
- **选择剧目 → 开始新故事**:进入该剧目的开篇;已有自动存档时先确认替换。手动槽与快捷存档保留。
|
|
14
|
+
- **选择剧目 → 继续阅读**:读取所选剧目的自动存档;没有存档则从开篇开始。
|
|
15
|
+
- **系统设置**:调整立绘、音乐、文字和阅读,变化实时生效。
|
|
16
|
+
- 剧情舞台底部保留 **设置/历史/自动/快进/快存/快读/隐藏/全屏或退出**,全屏后仍可使用。
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+
*标题截图为本地真实组件预览;全屏舞台截图为已安装官方 rc.2 运行时的独立测试 profile。用户当前官方桌面 profile 尚未升级。*
|
|
21
|
+
|
|
22
|
+
## 先解决立绘比例不协调
|
|
23
|
+
|
|
24
|
+
1. 打开侧边栏 **Gal 模块**,进入 **剧情模式 · Gal 视图**。
|
|
25
|
+
2. 点击页面右上方 **Gal 设置**,或剧情工具栏中的 **设置**。
|
|
26
|
+
3. 在 **立绘 · 大小与位置 → 立绘显示方式**选择 **完整全身原画**(默认)。再在 **调整对象**选择 **主角色默认**,把人物调整到合适大小和位置。
|
|
27
|
+
4. 改选 **同伴默认**,调好双人同场时第二位人物的位置。
|
|
28
|
+
5. 只有某一人物仍太大、太小或偏位时,选择 **该角色 · 单独设置**,针对她调整。剧情模式与自由模式共用这份角色设置。
|
|
29
|
+
6. 关闭窗口回到舞台查看实际场景;不需要再点“保存”,滑块变化会立即生效并自动保存。
|
|
30
|
+
|
|
31
|
+
建议先使用默认主角色缩放 **100%**、水平 **73%**、距底部 **5%**;同伴缩放 **100%**、水平 **23%**、距底部 **5%**,再针对具体角色调整。放大或把角色移出边界会有裁切,因此需要同时检查实时预览和实际舞台。
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
*本地预览已显示用户指定的完整 Claude 原画,包括裙摆和鞋。设置窗口可以滚动查看其他控件。*
|
|
36
|
+
|
|
37
|
+
## 1. 立绘的大小与位置
|
|
38
|
+
|
|
39
|
+
### 全身原画与表情特写
|
|
40
|
+
|
|
41
|
+
**完整全身原画**使用既有角色源图,28 个角色按原画显示身体。Claude 使用用户指定的 `Claude/Claude.png` 原稿;所有情绪的全身图都保持同一套完整服装与身形。舞台根据实际对话框、选项和结局高度预留人物展示空间,默认比例下不会把脚藏在对话框后面。
|
|
42
|
+
|
|
43
|
+
此前的六表情差分本身只有半身,不会因放大变成全身。它们保留在 **表情特写(半身差分)**模式,以及对话头像中随情绪切换。本轮没有生成新的全身表情差分;切到全身原画后,角色身上的表情不会随台词改变,头像仍会切换。素材鉴赏也可在全身原画与表情特写之间选择。
|
|
44
|
+
|
|
45
|
+
### 三类调整对象
|
|
46
|
+
|
|
47
|
+
| 对象 | 影响范围 |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| **主角色默认** | 没有角色单独设置时,舞台主角色使用这组比例和位置。 |
|
|
50
|
+
| **同伴默认** | 没有角色单独设置时,第二位同场人物使用这组比例和位置。 |
|
|
51
|
+
| **角色名 · 单独设置** | 为这个角色保存独立的缩放和位置,无论她当前是主角色还是同伴都优先采用。 |
|
|
52
|
+
|
|
53
|
+
某角色尚未覆写时,选中她会显示“继承主角色默认值”;拖动任一滑块就建立该角色的独立设置。之后改变默认值不会覆盖她的独立设置。别名指向同一角色,例如雪国无名家与 DeepSeek 的角色别名使用同一份设置。
|
|
54
|
+
|
|
55
|
+
### 滑块怎么理解
|
|
56
|
+
|
|
57
|
+
| 控件 | 范围 | 效果 |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| **立绘缩放** | 40–180% | 100% 是播放器默认比例;减小会缩小,增大会放大。不是原图像素或模型好感度。 |
|
|
60
|
+
| **水平位置** | 0–100% | 数字对应人物中心在舞台宽度中的位置,0 在左边,50 在中间,100 在右边。 |
|
|
61
|
+
| **距舞台底部** | −30–50% | 正值把人物向上移;负值让人物向下移,可把脚部或多余边缘藏到舞台外。 |
|
|
62
|
+
|
|
63
|
+
主角色默认高度基准为**人物展示区域**高度的 **78%**,同伴为 **72%**,再乘缩放比例。实际舞台的展示区域扣除了对话、选项与结局的占用高度;设置预览使用整个小预览区。比如缩放 80% 时,主角色占展示区域的 62.4%。图片保持纵横比;舞台会裁切超出边界的部分。窗口与全屏尺寸变化时会重新计算,无需填写像素位置。
|
|
64
|
+
|
|
65
|
+
预览只展示当前调整对象与一张示例背景。关闭设置后要在实际双人场景中核对人物互相遮挡、脚部位置和对话框覆盖范围。
|
|
66
|
+
|
|
67
|
+
### 保存与恢复
|
|
68
|
+
|
|
69
|
+
- **恢复此位置默认值**:只恢复当前主角色或同伴的默认布局。
|
|
70
|
+
- **清除该角色设置,继承默认**:删除当前角色覆写,按她实际主角色/同伴位置继承对应默认值。
|
|
71
|
+
- **恢复全部默认设置**:确认后恢复立绘、音乐、阅读设置,保留剧情存档与已读记录。
|
|
72
|
+
- 调整立即保存到当前桌面 profile 或浏览器的本地存储。刷新后仍在;其他 profile、设备和浏览器不会自动同步。
|
|
73
|
+
- 本地存储拒绝访问或空间不足会显示错误。调整在本次会话仍可使用,关闭后可能无法恢复;不要把此时的显示误认为已经持久保存。
|
|
74
|
+
|
|
75
|
+
## 2. 背景音乐与操作音效
|
|
76
|
+
|
|
77
|
+
### 开始播放
|
|
78
|
+
|
|
79
|
+
进入 **音乐与音效**或使用页面顶部 **开启音乐**。首次播放要亲自点击按钮,以满足浏览器音频要求;即使上次已开启,重新打开插件也不会自行播放。状态栏会提示播放、暂停、解码失败或浏览器阻止播放。
|
|
80
|
+
|
|
81
|
+
背景音乐和操作音效有**各自的音量**,范围均为 0–100%。
|
|
82
|
+
|
|
83
|
+
- 背景音乐音量 **0**:背景音乐完全静音。
|
|
84
|
+
- 操作音效音量 **0**:点击推进、分支选择等操作音效完全静音。
|
|
85
|
+
- **全部静音**:同时静音音乐与操作音效;点击 **取消静音**恢复各自设置的音量。
|
|
86
|
+
- **暂停音乐**停止当前配乐与可选操作音效;再次点击播放会重新开始当前循环。
|
|
87
|
+
- 操作音效需先开启音乐,属于短提示音,不是对白配音或角色声优录音。
|
|
88
|
+
|
|
89
|
+
### 七首内置循环配乐
|
|
90
|
+
|
|
91
|
+
内置曲目由浏览器 Web Audio 离线演奏,选择不需要模型账号、网络或额外下载:
|
|
92
|
+
|
|
93
|
+
| 界面名称 | 用途 |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| 回声之城 · 序曲 | 开篇与默认配乐。 |
|
|
96
|
+
| Kimi · 风中的笛声 | Kimi 主题循环。 |
|
|
97
|
+
| Claude · 诗与花 | Claude 主题循环。 |
|
|
98
|
+
| 千桥 · 异常回声 | 异常场景主题。 |
|
|
99
|
+
| 共有工坊 | 工坊主题。 |
|
|
100
|
+
| 玻璃穹顶 | 穹顶主题。 |
|
|
101
|
+
| 港湾轮班 | 港湾主题。 |
|
|
102
|
+
|
|
103
|
+
**跟随剧情**会优先使用当前节点已提供的内置曲目;未找到对应主题时使用“回声之城 · 序曲”。选择固定曲目则保留该曲,不随场景变化。
|
|
104
|
+
|
|
105
|
+
### 使用自己的音乐
|
|
106
|
+
|
|
107
|
+
1. 点击 **选择本地音乐(最多 30 MB)**,选择本机音频。
|
|
108
|
+
2. 文件须为浏览器识别的音频类型,最大 30 MB。建议 MP3、WAV 或 OGG;其他格式是否可播取决于当前浏览器的解码支持。
|
|
109
|
+
3. 选择成功会切到 **本地音乐文件**,显示本次文件名。还未开启播放时,再点击 **开启音乐**。
|
|
110
|
+
4. 配乐循环播放,音量与静音仍由同一组控件调节。
|
|
111
|
+
|
|
112
|
+
文件留在本机,通过当前会话的临时对象地址播放,**不会上传或复制到服务器**。刷新、退出或重新打开插件后,需要重新选择文件;设置可以记住“本地音乐”模式,但不会保存音乐文件。出现“请先选择本地音乐文件”时重新选取即可。超大、空文件、无法识别音频类型或解码失败会显示明确提示。
|
|
113
|
+
|
|
114
|
+
**切到后台时暂停音乐(后台阅读始终暂停)**默认勾选。音乐的后台暂停由该选项控制;剧情自动阅读和快进在页面隐藏时始终暂停,防止漏过文字。回到前台后仍可在状态栏确认当前播放与阅读状态。
|
|
115
|
+
|
|
116
|
+
## 3. 文字与阅读
|
|
117
|
+
|
|
118
|
+
| 设置 | 范围 | 使用方法 |
|
|
119
|
+
| --- | --- | --- |
|
|
120
|
+
| **逐字间隔** | 0–120 ms | 越小文字越快;0 立即显示完整句子。 |
|
|
121
|
+
| **对话字号** | 12–32 px | 调整剧情及自由模式对话文字大小。 |
|
|
122
|
+
| **自动阅读等待** | 300–10000 ms | 一句文字完全显示后,到推进下一句的等待时间。 |
|
|
123
|
+
| **对话框不透明度** | 20–100% | 越高越遮住背景,越低越透出背景;不改变文字内容。 |
|
|
124
|
+
| **允许快进未读文字** | 默认关闭 | 关闭时只快进已经读过的内容;开启后可跳未读文字,可能错过剧情。 |
|
|
125
|
+
| **减少动画,立即显示文字** | 默认关闭 | 减少动画并直接显示完整句子,适合不需要逐字效果的用户。 |
|
|
126
|
+
|
|
127
|
+
### 手动阅读
|
|
128
|
+
|
|
129
|
+
点对话框一次显示完整句子,再点一次推进。**Enter / 空格**有相同效果。遇到分支、命名或结局时,必须操作相应控件,点击对话框不会代选。
|
|
130
|
+
|
|
131
|
+
### 自动阅读
|
|
132
|
+
|
|
133
|
+
点击 **自动阅读**,句子显示完整后等待设定时间再推进;按钮变为 **停止自动**。打开设置、历史、好感度、确认窗口,隐藏界面或切到后台时暂停推进。遇到选项、命名和结局会退出自动模式,等待人工选择;作答后若还想自动阅读,重新开启即可。
|
|
134
|
+
|
|
135
|
+
### 已读快进
|
|
136
|
+
|
|
137
|
+
默认按钮为 **已读快进**。只快进开启时已经记录为已读的节点;遇到未读节点立即停止,不会因为刚显示该句就把它算成可快进。完整文字显示后才记为已读,记录按**剧目、章节、路线和节点**分别保存,避免重名节点互相算作已读。
|
|
138
|
+
|
|
139
|
+
勾选 **允许快进未读文字**后,按钮改为 **快进全部**。两种快进都会停在选项、命名和结局,**不会替你选分支、提交名字或结束一周目**。已读记录不是云存档;存储不可用时仅在本次会话记住,保留条目有容量上限。
|
|
140
|
+
|
|
141
|
+
## 4. 快捷键、隐藏界面与全屏
|
|
142
|
+
|
|
143
|
+
先点击**剧情舞台空白处**或用 Tab 把焦点移到“剧情舞台”,再按快捷键。它们不全局接管桌面:输入名字、操作下拉、按钮或可编辑文字时仍用于对应控件。Ctrl、Alt、Meta 组合键和连续按住造成的重复键事件不会推进剧情。
|
|
144
|
+
|
|
145
|
+
| 按键 | 功能 |
|
|
146
|
+
| --- | --- |
|
|
147
|
+
| **Enter / 空格** | 显示完整句子,再次按下继续。 |
|
|
148
|
+
| **A** | 切换自动阅读。 |
|
|
149
|
+
| **S** | 切换已读快进或已启用的全部快进。 |
|
|
150
|
+
| **H** | 隐藏舞台界面,保留场景与立绘。 |
|
|
151
|
+
| **Escape** | 恢复隐藏界面;在设置/确认窗口中关闭窗口。 |
|
|
152
|
+
| **F** | 切换舞台全屏。 |
|
|
153
|
+
| **Q** | 快捷存档。 |
|
|
154
|
+
| **L** | 读取快捷存档,先确认替换当前进度。 |
|
|
155
|
+
| **←** | 返回本次阅读的上一句。 |
|
|
156
|
+
|
|
157
|
+
**隐藏界面**时有“恢复界面(Esc)”按钮,也可点它恢复。**舞台全屏**取决于宿主支持;不支持时会显示提示,可改为最大化桌面窗口。不会自动设置整个系统的显示分辨率。
|
|
158
|
+
|
|
159
|
+
**上一句**最多保存本次阅读的 **30 步**,会回到之前的真实剧情状态,并停止自动/快进。它不从存档重新构造无限回退历史:刷新、重新打开、切模式、换剧目/章节、重新开始或读入存档后,这份临时回退记录会清空。需要长期回到分支前时,使用手动槽或导出备份。
|
|
160
|
+
|
|
161
|
+
## 5. 自动保存、三槽、快捷存档与备份
|
|
162
|
+
|
|
163
|
+
| 方式 | 保存内容 | 适合什么用途 |
|
|
164
|
+
| --- | --- | --- |
|
|
165
|
+
| **自动保存** | 每次推进的当前剧目状态。 | 关闭后继续当前进度。 |
|
|
166
|
+
| **存 1–3 / 读 1–3** | 指定手动槽中的剧情状态和保存时间。 | 留住分支前、结局前等检查点。 |
|
|
167
|
+
| **快捷存档 / 快捷读档** | 当前剧目独立的一份快捷状态。 | 临时试一个选择,快捷返回。 |
|
|
168
|
+
| **导出存档 / 导入存档** | 当前剧目的 JSON 状态。 | 升级前、跨设备或跨 profile 备份。 |
|
|
169
|
+
|
|
170
|
+
### 三个手动槽
|
|
171
|
+
|
|
172
|
+
点击 **存 1、存 2、存 3**,已有槽位需要确认覆盖;点击 **读 1、读 2、读 3**,先确认当前进度会被替换。空或损坏槽不可读。已有历史键继续使用:**千桥协议与旧城迁移篇共用原三槽**,因此保存时留意已有内容;其他三部各有自己的三槽。属于其他剧目的存档不会被当成当前剧情加载。
|
|
173
|
+
|
|
174
|
+
### 快捷存档
|
|
175
|
+
|
|
176
|
+
每部剧目有独立快捷存档,**不占用三槽、不覆盖自动存档文件或自由模式数据**。它会覆盖该剧目之前的快捷检查点;快捷读档确认后恢复为当前进度,并继续自动保存。没有快捷存档时会提示,损坏文件不会被自动替换成新开篇。
|
|
177
|
+
|
|
178
|
+
### 导入与导出
|
|
179
|
+
|
|
180
|
+
1. **导出存档**下载文件,例如 `gal-echo-chronicle-2026-10-01.json`。
|
|
181
|
+
2. 要导入时先选择文件所属剧目,再点 **导入存档**。
|
|
182
|
+
3. 选择 JSON,文件最大 **2 MB**;解析和剧情轨迹校验成功后出现确认窗口。
|
|
183
|
+
4. 确认后替换当前进度,保留其他手动槽。要保留原进度,导入前先导出或手动保存。
|
|
184
|
+
|
|
185
|
+
如果宿主没有开始下载,可用 **查看备份 JSON → 复制存档 JSON**,把完整文本粘贴到文本文件并以 UTF-8 保存为 `.json`。复制不成功时,文本框支持选中后手动复制;这份 JSON 也能从同一“导入存档”入口恢复。打开备份窗口时自动阅读暂停。
|
|
186
|
+
|
|
187
|
+
导入支持新版封装 JSON 与旧版原始剧情状态;校验时按原剧情轨迹重放,伪造节点、分支或跨剧目标识会被拒绝,手填好感度或旗标不能替代真实剧情轨迹。错误文件不应靠改 `version` 强行加载。
|
|
188
|
+
|
|
189
|
+
JSON 只备份**当前剧情状态**,不打包所有手动槽、立绘/阅读设置、已读记录、自由聊天或本地音乐。清理应用数据会影响本地存档;导出备份放在自选目录,由用户自行保管。恢复全部 Gal 设置不会删除剧情槽和已读记录。
|
|
190
|
+
|
|
191
|
+
## 6. 素材鉴赏与自由模式
|
|
192
|
+
|
|
193
|
+
**素材鉴赏**有 **人物立绘**和 **场景画廊**。人物页可选择角色和 **全身原画/表情特写**;只有表情特写使用情绪差分,全身原画保持原稿。场景页可选择已有背景。全部开放,可能含剧透;当前提供素材浏览,没有通关解锁 CG 系统。缺少指定表情时回退基础立绘,本轮没有新增角色画稿。
|
|
194
|
+
|
|
195
|
+
**自由模式**从 Harness 官方模型目录选路线,在面板内发送角色对话,也可复制开场提示词到官方会话。它共用立绘和文字设置,背景音乐可跟随场景;发送请求需要真实模型凭据,可能计费,聊天内容不是剧情引擎的离线台词。真实账号登录、模型权限、取消效果、模型身份及费用仍需用户验收。
|
|
196
|
+
|
|
197
|
+
## 7. 常见问题
|
|
198
|
+
|
|
199
|
+
| 现象 | 处理 |
|
|
200
|
+
| --- | --- |
|
|
201
|
+
| 改默认值后某个角色没变 | 她可能已有角色覆写。选该角色,点“清除该角色设置,继承默认”。 |
|
|
202
|
+
| 人物被舞台裁切 | 先减缩放,或调距底部/水平位置;舞台会裁掉超出范围。 |
|
|
203
|
+
| 已开启但没有音乐 | 查“全部静音”和背景音量;本地模式先重选文件;按状态提示重新点击播放。 |
|
|
204
|
+
| 音乐音量 0 仍听到点击音 | 点击音效有独立音量;设音效 0 或“全部静音”即可。 |
|
|
205
|
+
| 快进立即停止 | 当前句未读或遇选择/输入/结局,这是预期。需要跳未读时明确勾选对应设置。 |
|
|
206
|
+
| 快捷键无效 | 点舞台空白处获取焦点;先关闭对话框,离开输入框或按钮。 |
|
|
207
|
+
| 上一句按钮不可用 | 尚未在本次阅读推进,或已刷新/换章节/读档,临时 30 步记录已清空。 |
|
|
208
|
+
| 刷新后本地音乐消失 | 文件只在当前会话,重新选择;不会后台下载或上传。 |
|
|
209
|
+
| 设置/存档提示空间不足 | 当前调整可能仅在内存有效;先导出剧情备份,再检查本地存储空间与权限。 |
|
|
210
|
+
|
|
211
|
+
离线播放器与界面操作检查见本轮项目报告;音乐听感、本地音频解码、付费自由模式与官方工具账号验证由用户完成。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ljwei-stak/model-router-galgame",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Official DeepSeek Harness desktop plugin: complexity-based model routing with official CLI tool probe/install, Agent Teams work packages, and a standalone Gal module (story & free modes)",
|
|
6
6
|
"repository": {
|
|
@@ -65,11 +65,17 @@
|
|
|
65
65
|
"README.md",
|
|
66
66
|
"README.zh.md",
|
|
67
67
|
"docs/ECHO_CITY_STORY.zh.md",
|
|
68
|
+
"docs/GAL_SETTINGS.zh.md",
|
|
68
69
|
"docs/GAL_ART_SOURCES.zh.md",
|
|
69
70
|
"docs/GAL_ART_PROMPTS.zh.md",
|
|
70
71
|
"docs/assets/gal-portrait-sources.json",
|
|
71
72
|
"docs/assets/gal-claude-0.10.1-preview.png",
|
|
72
73
|
"docs/assets/gal-spring-0.10.1-preview.png",
|
|
74
|
+
"docs/assets/gal-title-0.11.0-preview.jpg",
|
|
75
|
+
"docs/assets/gal-settings-0.11.0-preview.jpg",
|
|
76
|
+
"docs/assets/gal-fullbody-0.11.0-preview.jpg",
|
|
77
|
+
"docs/assets/gal-official-rc2-0.11.0.jpg",
|
|
78
|
+
"docs/assets/gal-official-fullbody-0.11.0.jpg",
|
|
73
79
|
"INSTALLATION_GUIDE.zh.md",
|
|
74
80
|
"MIGRATION.md",
|
|
75
81
|
"LICENSE"
|
|
@@ -77,7 +83,7 @@
|
|
|
77
83
|
"scripts": {
|
|
78
84
|
"build:client": "node scripts/build-client.mjs",
|
|
79
85
|
"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/gal-module.test.mjs tests/gal-art.test.mjs",
|
|
86
|
+
"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/gal-module.test.mjs tests/gal-art.test.mjs tests/gal-preferences.test.mjs tests/gal-reading.test.mjs tests/gal-save-transfer.test.mjs tests/gal-audio-controller.test.mjs tests/gal-fullbody.test.mjs",
|
|
81
87
|
"prepack": "node scripts/prepack.mjs",
|
|
82
88
|
"pack:local": "npm pack --pack-destination dist"
|
|
83
89
|
},
|
|
@@ -87,12 +93,12 @@
|
|
|
87
93
|
},
|
|
88
94
|
"peerDependencies": {
|
|
89
95
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
90
|
-
"@deepseek-ai/dsh-commands": "0.2.0-rc.1",
|
|
91
|
-
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
92
|
-
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
|
|
93
|
-
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
94
|
-
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
|
|
95
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.1",
|
|
96
|
+
"@deepseek-ai/dsh-commands": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
97
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
98
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
99
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
100
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.1 || 0.2.0-rc.2",
|
|
96
102
|
"@deepseek-ai/schemastery": "~3.18.4"
|
|
97
103
|
},
|
|
98
104
|
"devDependencies": {
|
|
@@ -101,57 +107,57 @@
|
|
|
101
107
|
"@deepseek-ai/cordis-plugin-include": "1.0.9",
|
|
102
108
|
"@deepseek-ai/cordis-plugin-loader": "1.0.5",
|
|
103
109
|
"@deepseek-ai/cordis-plugin-timer": "1.1.6",
|
|
104
|
-
"@deepseek-ai/dsh-agent": "0.2.0-rc.
|
|
105
|
-
"@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.
|
|
106
|
-
"@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.
|
|
107
|
-
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.
|
|
108
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.
|
|
109
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.
|
|
110
|
-
"@deepseek-ai/dsh-app-boot": "0.2.0-rc.
|
|
111
|
-
"@deepseek-ai/dsh-attachment": "0.2.0-rc.
|
|
112
|
-
"@deepseek-ai/dsh-brand": "0.2.0-rc.
|
|
113
|
-
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.
|
|
114
|
-
"@deepseek-ai/dsh-client-file-upload": "0.2.0-rc.
|
|
115
|
-
"@deepseek-ai/dsh-client-ui-layout": "0.2.0-rc.
|
|
116
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.
|
|
117
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.
|
|
118
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.
|
|
119
|
-
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.0-rc.
|
|
120
|
-
"@deepseek-ai/dsh-cmdline": "0.2.0-rc.
|
|
121
|
-
"@deepseek-ai/dsh-commands": "0.2.0-rc.
|
|
122
|
-
"@deepseek-ai/dsh-compaction": "0.2.0-rc.
|
|
123
|
-
"@deepseek-ai/dsh-credentials": "0.2.0-rc.
|
|
124
|
-
"@deepseek-ai/dsh-file-reference": "0.2.0-rc.
|
|
125
|
-
"@deepseek-ai/dsh-fs": "0.2.0-rc.
|
|
126
|
-
"@deepseek-ai/dsh-hmr": "0.2.0-rc.
|
|
127
|
-
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.
|
|
128
|
-
"@deepseek-ai/dsh-invariants": "0.2.0-rc.
|
|
129
|
-
"@deepseek-ai/dsh-launch-environment": "0.2.0-rc.
|
|
130
|
-
"@deepseek-ai/dsh-llm": "0.2.0-rc.
|
|
131
|
-
"@deepseek-ai/dsh-native-command": "0.2.0-rc.
|
|
132
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.
|
|
133
|
-
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.
|
|
134
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.
|
|
135
|
-
"@deepseek-ai/dsh-scope": "0.2.0-rc.
|
|
136
|
-
"@deepseek-ai/dsh-session": "0.2.0-rc.
|
|
137
|
-
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.
|
|
138
|
-
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.
|
|
139
|
-
"@deepseek-ai/dsh-session-query": "0.2.0-rc.
|
|
140
|
-
"@deepseek-ai/dsh-session-title": "0.2.0-rc.
|
|
141
|
-
"@deepseek-ai/dsh-settings": "0.2.0-rc.
|
|
142
|
-
"@deepseek-ai/dsh-skill": "0.2.0-rc.
|
|
143
|
-
"@deepseek-ai/dsh-storage": "0.2.0-rc.
|
|
144
|
-
"@deepseek-ai/dsh-storage-domain": "0.2.0-rc.
|
|
145
|
-
"@deepseek-ai/dsh-subagent": "0.2.0-rc.
|
|
146
|
-
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.
|
|
147
|
-
"@deepseek-ai/dsh-tool-todo": "0.2.0-rc.
|
|
148
|
-
"@deepseek-ai/dsh-tools": "0.2.0-rc.
|
|
149
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.
|
|
150
|
-
"@deepseek-ai/dsh-typert-registry": "0.2.0-rc.
|
|
151
|
-
"@deepseek-ai/dsh-user-approval": "0.2.0-rc.
|
|
152
|
-
"@deepseek-ai/dsh-util-time": "0.2.0-rc.
|
|
153
|
-
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.
|
|
154
|
-
"@deepseek-ai/dsh-workspace": "0.2.0-rc.
|
|
110
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.2",
|
|
111
|
+
"@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
|
|
112
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
|
|
113
|
+
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
|
|
114
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2",
|
|
115
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
|
|
116
|
+
"@deepseek-ai/dsh-app-boot": "0.2.0-rc.2",
|
|
117
|
+
"@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
|
|
118
|
+
"@deepseek-ai/dsh-brand": "0.2.0-rc.2",
|
|
119
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
|
|
120
|
+
"@deepseek-ai/dsh-client-file-upload": "0.2.0-rc.2",
|
|
121
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.0-rc.2",
|
|
122
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
|
|
123
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
|
|
124
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
|
|
125
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.0-rc.2",
|
|
126
|
+
"@deepseek-ai/dsh-cmdline": "0.2.0-rc.2",
|
|
127
|
+
"@deepseek-ai/dsh-commands": "0.2.0-rc.2",
|
|
128
|
+
"@deepseek-ai/dsh-compaction": "0.2.0-rc.2",
|
|
129
|
+
"@deepseek-ai/dsh-credentials": "0.2.0-rc.2",
|
|
130
|
+
"@deepseek-ai/dsh-file-reference": "0.2.0-rc.2",
|
|
131
|
+
"@deepseek-ai/dsh-fs": "0.2.0-rc.2",
|
|
132
|
+
"@deepseek-ai/dsh-hmr": "0.2.0-rc.2",
|
|
133
|
+
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
|
|
134
|
+
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
|
|
135
|
+
"@deepseek-ai/dsh-launch-environment": "0.2.0-rc.2",
|
|
136
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
137
|
+
"@deepseek-ai/dsh-native-command": "0.2.0-rc.2",
|
|
138
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.2",
|
|
139
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
|
|
140
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
|
|
141
|
+
"@deepseek-ai/dsh-scope": "0.2.0-rc.2",
|
|
142
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.2",
|
|
143
|
+
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
|
|
144
|
+
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
|
|
145
|
+
"@deepseek-ai/dsh-session-query": "0.2.0-rc.2",
|
|
146
|
+
"@deepseek-ai/dsh-session-title": "0.2.0-rc.2",
|
|
147
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.2",
|
|
148
|
+
"@deepseek-ai/dsh-skill": "0.2.0-rc.2",
|
|
149
|
+
"@deepseek-ai/dsh-storage": "0.2.0-rc.2",
|
|
150
|
+
"@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
|
|
151
|
+
"@deepseek-ai/dsh-subagent": "0.2.0-rc.2",
|
|
152
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
|
|
153
|
+
"@deepseek-ai/dsh-tool-todo": "0.2.0-rc.2",
|
|
154
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.2",
|
|
155
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
|
|
156
|
+
"@deepseek-ai/dsh-typert-registry": "0.2.0-rc.2",
|
|
157
|
+
"@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
|
|
158
|
+
"@deepseek-ai/dsh-util-time": "0.2.0-rc.2",
|
|
159
|
+
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.2",
|
|
160
|
+
"@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
|
|
155
161
|
"@deepseek-ai/schemastery": "3.18.4",
|
|
156
162
|
"esbuild": "0.28.2",
|
|
157
163
|
"react": "18.3.1",
|