@ljwei-stak/model-router-galgame 0.4.30 → 0.4.31

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.
@@ -293,10 +293,10 @@ const CHAPTER_MUSIC = Object.freeze({
293
293
  prologue: 'title-city',
294
294
  'open-day': 'commons-atelier',
295
295
  laurel: 'claude-poem',
296
- 'bridges-night': 'bridge-anomaly',
296
+ 'bridges-night': 'kimi-flute',
297
297
  'three-harbors': 'harbor-shift',
298
298
  'open-dome-hearing': 'glass-dome',
299
- 'protocol-composition': 'bridge-anomaly',
299
+ 'protocol-composition': 'glass-dome',
300
300
  'six-endings': 'title-city',
301
301
  })
302
302
 
@@ -317,16 +317,20 @@ function routeForNode(node) {
317
317
  export function storyPresentationFor(node) {
318
318
  const route = routeForNode(node)
319
319
  const backgroundId = route?.backgroundId || node.chapterId
320
- const musicTheme = route?.musicTheme || CHAPTER_MUSIC[node.chapterId] || 'title-city'
320
+ const bridgeCrisis = node.chapterId === 'bridges-night' && /^(incident|cut|isolate|evidence|trace|report)-/.test(node.id)
321
+ const bridgeAftercare = node.chapterId === 'bridges-night' && /^after-/.test(node.id)
322
+ const compositionAudit = node.chapterId === 'protocol-composition' && /^composition-audit-/.test(node.id)
323
+ const musicTheme = route?.musicTheme
324
+ || (bridgeCrisis || compositionAudit ? 'bridge-anomaly' : bridgeAftercare ? 'claude-poem' : null)
325
+ || CHAPTER_MUSIC[node.chapterId]
326
+ || 'title-city'
321
327
  let soundCue = null
322
328
  const text = typeof node.text === 'string' ? node.text : ''
323
- if (node.chapterId === 'bridges-night') {
324
- soundCue = Object.freeze({ id: 'bridge-anomaly', label: '节奏异常', description: '节拍与回执时间没有对齐;这处不协和可能属于千桥事故证据链。' })
325
- } else if (node.speaker === 'kimi' || /长笛|完整录音|缺拍/.test(text)) {
329
+ if (node.speaker === 'kimi' || /长笛|完整录音|缺拍/.test(text)) {
326
330
  soundCue = Object.freeze({ id: 'kimi-flute', label: '长笛线索', description: '同一段长笛再次出现;留意旋律中的停顿和它前后的语境。' })
327
331
  } else if (node.speaker === 'claude' && /桥|诗|下一行|署名|空白/.test(text)) {
328
332
  soundCue = Object.freeze({ id: 'claude-verse', label: '诗句线索', description: 'Claude 的未完成诗句再次出现;这次由她自己决定下一行是否存在。' })
329
- } else if (/事故录音|第九秒|节拍|拍号冲突|时钟/.test(text)) {
333
+ } else if (bridgeCrisis || /事故录音|第九秒|节拍|拍号冲突|时钟/.test(text)) {
330
334
  soundCue = Object.freeze({ id: 'bridge-anomaly', label: '节奏异常', description: '节拍与回执时间没有对齐;这处不协和可能属于千桥事故证据链。' })
331
335
  }
332
336
  return Object.freeze({ backgroundId, musicTheme, soundCue })
@@ -14,9 +14,9 @@ GAL 游戏作为原有「GAL视窗」内的一个模块,提供「剧情模式
14
14
 
15
15
  ## 剧情模式
16
16
 
17
- 0.4.30 默认先显示 Galgame 首页,可继续当前存档、从序章开始、打开八章主线、进入 22 条角色支线或调整无障碍与声音。《千桥协议》现有 666 个节点、44 处两难选择、六类制度结局和 44 种支线收束;每条支线都会留下对应角色承诺与证据。主线关系尾声、制度结局和支线结局分别计算。
17
+ 0.4.31 默认先显示 Galgame 首页,可继续当前存档、从序章开始、打开八章主线、进入 22 条角色支线或调整无障碍与声音。《千桥协议》现有 666 个节点、44 处两难选择、六类制度结局和 44 种支线收束;每条支线都会留下对应角色承诺与证据。主线关系尾声、制度结局和支线结局分别计算。
18
18
 
19
- 七套主题乐谱由 MiniMax M3 生成音高、节奏、音色和力度数据,运行时由 Web Audio 在本地合成,不再请求 MiniMax。Kimi 长笛、Claude 诗句和千桥事故异常节拍均有可关闭的文字字幕。设置还提供音乐音量、减少动态、高对比度、大号文字、易读字体和完整键盘操作。
19
+ 七套主题乐谱由 MiniMax M3 生成音高、节奏、音色和力度数据,运行时由 Web Audio 在本地合成,不再请求 MiniMax。0.4.31 按叙事段落安排主题:千桥签署先以 Kimi 长笛铺陈,事故显形才进入异常节拍,善后转入 Claude 诗句;协议组合在冲突检验前保持穹顶复核主题。主题切换采用交叉淡化,对话线索出现时自动压低背景音量。Kimi 长笛、Claude 诗句和千桥事故异常节拍均有可关闭的文字字幕。
20
20
 
21
21
  《未写完的约定》已扩展为 1,111 个台词与事件节点、28 处分支选择、5 种关系结局及各自后日谈。故事从旧城最后一周延续到迁移后的生活,包含 46 个地点与时段组合。默认选择的一条完整路线有 853 次推进、约 2.27 万字对话和旁白;其他路线长度略有不同,这不是全部分支的总字数。
22
22
 
@@ -36,7 +36,7 @@ GAL 游戏作为原有「GAL视窗」内的一个模块,提供「剧情模式
36
36
 
37
37
  ## 画面与调试
38
38
 
39
- 两种模式的场景图片都按要求保留空白和文字描述,使用已有角色立绘及 DeepSeek 表情差分。对话框改用精细位图:DeepSeek 保留用户原框的艺术主体,另 13 位人物通过图片 API 生成各自的材质、徽章和边饰。图片由原 GAL 渲染器共用的 `DialogueBox` 呈现,设置内的「对话框图鉴」可以查看全部样式。原始素材继续保留,游戏运行时直接读取本地 WebP,不请求图片 API。详见 [对话框图片说明](output/imagegen/dialogue-frames/README.md) 和 [14 套对照图](output/imagegen/dialogue-frames/runtime-contact-sheet.png)。
39
+ 两种模式的场景图片都按要求保留空白和文字描述,使用已有角色立绘及 DeepSeek 表情差分。DeepSeek 五张差分均保留透明通道;Claude 日常使用 `Claude1.png`,只在坚定、生气和惊讶场景切换 `Claude.png`。对话框改用 22 套精细位图,每位主线与组织角色都有独立材质、徽章和边饰。图片由原 GAL 渲染器共用的 `DialogueBox` 呈现,设置内的「对话框图鉴」可以查看全部样式。原始素材继续保留,游戏运行时直接读取本地 WebP,不请求图片 API。详见 [对话框图片说明](output/imagegen/dialogue-frames/README.md) 和 [22 套对照图](output/imagegen/dialogue-frames/runtime-contact-sheet.png)。
40
40
 
41
41
  普通游玩界面只呈现场景、角色、对话、剧情选项或自由输入与轻量菜单。好感、信任、隔阂、关系阶段、情绪标签、场景完成条件、进度和判定证据都在后台运行,不以数字、标签或进度条向玩家显示;角色的台词、态度与表情承载这些变化。回忆、对话历史、存档列表和结局呈现也不显示内部判定。
42
42
 
@@ -1,6 +1,6 @@
1
1
  # Model Router + GALGame 安装指南
2
2
 
3
- 本指南适用于 `@ljwei-stak/model-router-galgame@0.4.30`。当前完整实机验证环境为
3
+ 本指南适用于 `@ljwei-stak/model-router-galgame@0.4.31`。当前完整实机验证环境为
4
4
  DSH Desktop 2.0.7 / `@deepseek-ai/dsh@0.1.5-rc.1`。功能介绍、路由算法和 GAL
5
5
  玩法见 [README.zh.md](README.zh.md)。
6
6
 
@@ -53,11 +53,11 @@ npx --yes --package=@deepseek-ai/dsh@0.1.5-rc.1 dsh --version
53
53
 
54
54
  ## 2. 了解聚合包
55
55
 
56
- 只需把 Router 安装为 profile 的直接依赖。0.4.30 会固定加载以下组合:
56
+ 只需把 Router 安装为 profile 的直接依赖。0.4.31 会固定加载以下组合:
57
57
 
58
58
  | 包 | 版本 | 用途 |
59
59
  | --- | --- | --- |
60
- | `@ljwei-stak/model-router-galgame` | `0.4.30` | 模型路由、GAL 视窗与更新入口 |
60
+ | `@ljwei-stak/model-router-galgame` | `0.4.31` | 模型路由、GAL 视窗与更新入口 |
61
61
  | `@liustack/modlens` | `3.25.4` | 图片理解 |
62
62
  | `@liustack/modsearch` | `5.10.1` | 搜索与页面读取 |
63
63
  | `@ljwei-stak/dsh-ego-browser` | `0.8.3` | 可见浏览器工具 |
@@ -82,7 +82,7 @@ dsh plugin remove @ljwei-stak/dsh-watcher-for-mrg
82
82
  在应用设置页打开的 **DSH 终端**中执行:
83
83
 
84
84
  ```powershell
85
- dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
85
+ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
86
86
  dsh plugin list
87
87
  dsh --dump-config
88
88
  ```
@@ -98,7 +98,7 @@ dsh --dump-config
98
98
 
99
99
  ```powershell
100
100
  dsh plugin --profile web list
101
- dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
101
+ dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
102
102
  dsh --profile web --dump-config
103
103
  dsh web --no-open
104
104
  ```
@@ -106,7 +106,7 @@ dsh web --no-open
106
106
  如果没有全局 `dsh`,每条命令使用以下形式:
107
107
 
108
108
  ```powershell
109
- npx --yes --package=@deepseek-ai/dsh@0.1.5-rc.1 dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
109
+ npx --yes --package=@deepseek-ai/dsh@0.1.5-rc.1 dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
110
110
  npx --yes --package=@deepseek-ai/dsh@0.1.5-rc.1 dsh --profile web --dump-config
111
111
  ```
112
112
 
@@ -133,7 +133,7 @@ model-router-galgame
133
133
  确认重复的直接安装项。
134
134
 
135
135
  DSH Desktop 2.0.7 的 package-inventory 元数据扩展可能无法从 Desktop ASAR 基准地址
136
- 解析第三方 loader,并因此阻断官方 DeepSeek 请求。Router 0.4.30 的 bundle 会停用这
136
+ 解析第三方 loader,并因此阻断官方 DeepSeek 请求。Router 0.4.31 的 bundle 会停用这
137
137
  一个元数据扩展;模型输入、工具、会话日志、Watcher 和 Router 路由仍保持启用。
138
138
 
139
139
  ## 6. 准备 PPT Master 的 Python 环境
@@ -222,7 +222,7 @@ PPT 快速验证可在有写权限的普通工作会话或 GAL 工作会话中
222
222
  确认代理先加载 `ppt-master`,再生成和检查 PPTX。剧情模式和自由模式的角色对话不
223
223
  承担 PPT 工作流。宿主沙箱和审批策略继续生效。
224
224
 
225
- 0.4.30 已以候选 tarball 直接安装到 Windows DSH Desktop 2.0.7 的实际 desktop
225
+ 0.4.31 已以候选 tarball 直接安装到 Windows DSH Desktop 2.0.7 的实际 desktop
226
226
  profile,并通过冷启动与完整页面交互验证:八个试玩章节全部可达,355 步代表路线
227
227
  覆盖 22 处主线两难选择、8 张章节背景、协议三层组合、制度结局与四组独立关系尾声;
228
228
  Galgame 首页、22 条角色支线、7 张扩展地点背景、九种实际触发表情演出、Kimi 长笛、
@@ -249,7 +249,7 @@ Claude 诗句与千桥异常节拍三类声音线索,以及桌面和手机无
249
249
  | 安装成功但没有 GAL 标签 | 确认安装和启动使用同一 profile 与 `DSH_HOME`,再完全退出并重启宿主。 |
250
250
  | `duplicate loader entry id` | 列出当前 profile 的直接依赖,只移除确认重复的独立 bundle。 |
251
251
  | `EADDRINUSE` 或 profile 已被占用 | 正常关闭使用该 profile 的旧宿主进程;仅换端口不会解除 profile 锁。 |
252
- | 普通 DeepSeek 请求被第三方包解析错误阻断 | 确认 0.4.30 的 `plugin-package-inventory-deepseek` 补丁已经出现在组合配置中。 |
252
+ | 普通 DeepSeek 请求被第三方包解析错误阻断 | 确认 0.4.31 的 `plugin-package-inventory-deepseek` 补丁已经出现在组合配置中。 |
253
253
  | 图片不能识别 | 检查 ModLens 路由、模型能力与凭据;GAL 附件不会直接解析 PDF/DOCX 正文。 |
254
254
  | 找不到 PPT skill | 检查 `ppt-master-for-mgr` loader、原生 `skill` 工具和当前代理预设。 |
255
255
  | PPT Python 导入失败 | 对工作代理实际使用的同一 `--python-root` 依次执行 `doctor`、`setup`、`doctor`。 |
@@ -293,7 +293,7 @@ dsh plugin --profile web remove @ljwei-stak/model-router-galgame
293
293
 
294
294
  ---
295
295
 
296
- **适用 Router 版本**:0.4.30
296
+ **适用 Router 版本**:0.4.31
297
297
 
298
298
  **完整验证宿主**:DSH Desktop 2.0.7 / `@deepseek-ai/dsh@0.1.5-rc.1`
299
299
 
package/README.md CHANGED
@@ -4,7 +4,7 @@ English | [中文](README.zh.md)
4
4
 
5
5
  A model-routing and GAL conversation plugin for DeepSeek Harness / DSH Desktop. It combines task assignment, cost estimates, model-character dialogue, web tools, PPT generation skills, and approval integration in one npm package, and runs inside an existing DSH host.
6
6
 
7
- **Current release: 0.4.30** · [npm package](https://www.npmjs.com/package/@ljwei-stak/model-router-galgame) · [GitHub Releases](https://github.com/ljwei-stak/model-router-galgame/releases) · [DSH Desktop](https://github.com/anywhere-labs/dsh-desktop/releases)
7
+ **Current release: 0.4.31** · [npm package](https://www.npmjs.com/package/@ljwei-stak/model-router-galgame) · [GitHub Releases](https://github.com/ljwei-stak/model-router-galgame/releases) · [DSH Desktop](https://github.com/anywhere-labs/dsh-desktop/releases)
8
8
 
9
9
  ## Features
10
10
 
@@ -36,7 +36,7 @@ Open **"GAL视窗 → GAL游戏" (GAL view → GAL game)** in an existing Harnes
36
36
  - The Galgame title screen links continue, new game, character routes, chapters, and accessibility. Music volume, sound captions, reduced motion, high contrast, large type, readable font, screen-reader announcements, and keyboard shortcuts are available.
37
37
  - Open **"剧目与章节" (Episodes and chapters)** in the story header to switch episodes or try a main chapter directly. Each episode has its own autosave and three manual slots, with automatic playback, history, JSON import/export, and restart. Legacy and free-mode saves remain separate.
38
38
 
39
- See the Chinese [character bible](大模型娘人物设定.md) and [full story outline](GAL_STORY_V2_OUTLINE.zh.md). Version 0.4.30 completes the Phase 3 title screen, all character routes, expression presentation, MiniMax themes, accessibility settings, and seven new locations.
39
+ See the Chinese [character bible](大模型娘人物设定.md) and [full story outline](GAL_STORY_V2_OUTLINE.zh.md). Version 0.4.31 adds transparent DeepSeek expressions, Claude's default and high-tension portrait roles, 22 character-specific dialogue frames, and scene-paced MiniMax score transitions.
40
40
 
41
41
  The episode contains 666 nodes and 44 dilemmas. Its replay-derived state tracks five global stance axes, 33 character commitments, and 42 evidence items. Protocol composition reaches six institutional ending classes; relationship epilogues and 44 side-route conclusions are calculated independently.
42
42
 
@@ -55,11 +55,11 @@ Story mode does not require provider credentials. Free mode requires a working m
55
55
  - **PPT Master** is bundled as a native DSH skill. In a normal work conversation, a PowerPoint/PPT/PPTX request can load `ppt-master` through the host's `skill` tool and follow its planning, SVG, validation, and PPTX export workflow.
56
56
  - Model Router keeps the host's skill catalog, loaded skill instructions, and file/terminal tools available when it chooses a model or advances a work stage. Use ordinary chat or the GAL conversation view for presentation work; story mode does not run tools, and free-play character dialogue is not the work agent.
57
57
  - The package includes the skill, Python scripts, and templates. Python dependencies require the explicit setup below; npm installation does not install Python or run pip. Generated presentations belong in the conversation's writable workspace.
58
- - Router 0.4.30 bundles PPT Master 6.3.3, which supports the managed Python root and avoids the faulty Windows Bash runner in DSH Desktop 2.0.7. It also includes the PPTX staging-directory permission repair from 6.3.2. Host sandbox and approval settings remain in effect.
58
+ - Router 0.4.31 bundles PPT Master 6.3.3, which supports the managed Python root and avoids the faulty Windows Bash runner in DSH Desktop 2.0.7. It also includes the PPTX staging-directory permission repair from 6.3.2. Host sandbox and approval settings remain in effect.
59
59
 
60
60
  ### Watcher work paths and model usage
61
61
 
62
- Router 0.4.30 includes [`@ljwei-stak/dsh-watcher-for-mrg@0.4.1`](https://github.com/ljwei-stak/dsh-watcher-For_MRG), built and tested against the DSH Desktop 2.0.7 SDK.
62
+ Router 0.4.31 includes [`@ljwei-stak/dsh-watcher-for-mrg@0.4.1`](https://github.com/ljwei-stak/dsh-watcher-For_MRG), built and tested against the DSH Desktop 2.0.7 SDK.
63
63
  Open the eye button in the native session header from Chat or the GAL work view
64
64
  to inspect turns, parallel tools, retries, timing, and recorded token usage.
65
65
  The Watcher settings section summarizes local session usage; provider and model
@@ -82,7 +82,7 @@ Watcher entry, and retaining either standalone entry would duplicate the loader
82
82
 
83
83
  "GAL 视窗 → 项目更新" (GAL view → Project updates) checks the plugin's npm version and the official DSH Desktop version separately. It offers "仅更新 npm 插件" (Update only the npm plugin), "仅更新完整客户端" (Update only the full client), and "一键更新插件与客户端" (Update plugin and client). Desktop plugin installation runs through the authenticated host connection. Fully exit and restart DSH Desktop after a successful installation.
84
84
 
85
- A page opened in a regular browser can check the plugin version and open download pages, but cannot install the desktop client or change its profile directly. The plugin's `0.4.30` version and DSH Desktop's version are independent.
85
+ A page opened in a regular browser can check the plugin version and open download pages, but cannot install the desktop client or change its profile directly. The plugin's `0.4.31` version and DSH Desktop's version are independent.
86
86
 
87
87
  ## Installation
88
88
 
@@ -104,7 +104,7 @@ Installing this npm package does not install DSH Desktop, model services, or a b
104
104
 
105
105
  ```sh
106
106
  dsh --version
107
- dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
107
+ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
108
108
  ```
109
109
 
110
110
  3. After installation succeeds, use the desktop restart control, or explicitly quit from the system tray and reopen the app. Select the same profile. Closing the window may only hide the application.
@@ -119,7 +119,7 @@ If you do not have a global `dsh` but already have Node.js/npm and pnpm, replace
119
119
 
120
120
  ```sh
121
121
  dsh --version
122
- dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
122
+ dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
123
123
  dsh --profile web --dump-config
124
124
  ```
125
125
 
@@ -143,9 +143,9 @@ dsh --dump-config
143
143
 
144
144
  For Web / CLI, use `dsh --profile web --dump-config`. The combined configuration should include all seven plugins below, with no duplicate loader IDs. A configuration dump does not replace checking that the host starts successfully. Install only the Router aggregate package; its dependencies and bundle entries are added automatically.
145
145
 
146
- | Plugin | Pinned version for 0.4.30 | Purpose |
146
+ | Plugin | Pinned version for 0.4.31 | Purpose |
147
147
  | --- | --- | --- |
148
- | `@ljwei-stak/model-router-galgame` | `0.4.30` | Routing, GAL view, story/free modes, and update controls |
148
+ | `@ljwei-stak/model-router-galgame` | `0.4.31` | Routing, GAL view, story/free modes, and update controls |
149
149
  | `@liustack/modlens` | `3.25.4` | Image understanding through compatible routes |
150
150
  | `@liustack/modsearch` | `5.10.1` | Search and page reading |
151
151
  | `@ljwei-stak/dsh-ego-browser` | `0.8.3` | Visible browser tools |
@@ -244,7 +244,7 @@ For example, only after confirming that ModLens is a duplicate standalone depend
244
244
 
245
245
  ```sh
246
246
  dsh plugin remove @liustack/modlens
247
- dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
247
+ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
248
248
  ```
249
249
 
250
250
  For Web / CLI, add `--profile web` after `plugin` in both commands. Handle other duplicate dependencies according to the actual error; do not remove all plugins at once. These removal commands are unnecessary when no duplicate entry exists.
package/README.zh.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  适用于 DeepSeek Harness / DSH Desktop 的模型路由与 GAL 对话插件。它把任务分配、费用估算、模型角色对话、联网工具、PPT 生成技能和审批适配整合为一个 npm 插件包,需要在已有的 DSH 宿主中使用。
6
6
 
7
- **当前发布版本:0.4.30** · [npm 包](https://www.npmjs.com/package/@ljwei-stak/model-router-galgame) · [GitHub Releases](https://github.com/ljwei-stak/model-router-galgame/releases) · [DSH Desktop](https://github.com/anywhere-labs/dsh-desktop/releases)
7
+ **当前发布版本:0.4.31** · [npm 包](https://www.npmjs.com/package/@ljwei-stak/model-router-galgame) · [GitHub Releases](https://github.com/ljwei-stak/model-router-galgame/releases) · [DSH Desktop](https://github.com/anywhere-labs/dsh-desktop/releases)
8
8
 
9
9
  ## 功能介绍
10
10
 
@@ -31,12 +31,12 @@
31
31
 
32
32
  - **剧情模式**:无需在游玩时调用模型 API 的中文固定剧本。新篇《千桥协议》包含序章、百模协会开放日、月桂审议、千桥之夜、三港调查、开放与穹顶听证、协议组合、六种黎明八章主线,以及覆盖全部 22 位角色的独立支线。开源与闭源立场、ChatGPT 与 Claude 的旧事,以及 Agent / Skills / MCP 事故都会进入剧情选择。旧城迁移篇仍保留 1,111 个节点、28 处选择、5 个结局和 5 条后日谈。
33
33
  - **自由模式**:玩家自行打字,由 Harness 中配置的模型生成回应。互动会影响好感度与信任,既可增加也可降低,并影响关系发展后的回应。正常游玩隐藏关系数值、判定详情与推进条件,开发调试默认关闭。
34
- - **角色、表情与场景**:全部角色使用随包立绘与独立配色,并共享平静、微笑、羞涩、低落、生气、思索、担忧、坚定、惊讶和释然十态表情演出;DeepSeek 继续使用六套独立表情图。八章主线与七处支线地点共用 15 张宽屏背景,角色按视觉小说舞台比例站在对话框之后。
35
- - **音乐与声音线索**:七套可循环乐谱由 MiniMax M3 编曲并由浏览器本地合成。Kimi 的长笛缺拍、Claude 诗句的未完成终止式与千桥事故的第九拍错位贯穿主线和支线;声音线索均可同时显示文字字幕。
34
+ - **角色、表情与场景**:全部角色使用随包立绘与独立配色,并共享十态表情演出;DeepSeek 的五张情绪差分使用透明 WebP,Claude 日常使用 `Claude1.png`,只在坚定、生气和惊讶场景切换 `Claude.png`。八章主线与七处支线地点共用 15 张宽屏背景,角色按视觉小说舞台比例站在对话框之后。
35
+ - **音乐与声音线索**:七套可循环乐谱由 MiniMax M3 编曲并由浏览器本地合成。千桥签署先用 Kimi 长笛铺陈,事故显形才进入异常节拍,善后转入 Claude 诗句;主题切换交叉淡化,出现声音线索时自动压低背景音量。声音线索均可同时显示文字字幕。
36
36
  - **无障碍与操作**:首页提供继续、序章、角色支线、章节和无障碍入口。可设置音乐音量、声音字幕、减少动态、高对比度、大号文字和易读字体,并支持 Enter/Space、数字键、M、H、S、Esc 键盘操作与屏幕阅读器播报。
37
37
  - **游玩与存档**:从 Galgame 首页或剧情顶部的 **“剧目与章节”** 切换新旧剧目、八章主线和角色支线。新旧剧目各有独立自动存档和三个手动槽,支持自动播放、历史回看、JSON 导入/导出;旧篇和自由模式存档均可继续使用。
38
38
 
39
- 角色动机与关系见 [《大模型娘人物设定集(剧情重构版)》](大模型娘人物设定.md),完整规划见 [《千桥协议》剧情重构大纲](GAL_STORY_V2_OUTLINE.zh.md)。0.4.30 已完成首页、22 条角色支线、十态表情演出、MiniMax 主题乐谱、无障碍设置和七处新增背景。
39
+ 角色动机与关系见 [《大模型娘人物设定集(剧情重构版)》](大模型娘人物设定.md),完整规划见 [《千桥协议》剧情重构大纲](GAL_STORY_V2_OUTLINE.zh.md)。0.4.31 为 22 位角色补齐独立对话框,并修正 DeepSeek 透明差分、Claude 立绘语义和主题配乐节奏。
40
40
 
41
41
  《千桥协议》含 666 个节点、44 处两难选择。状态由开放、安全、自主、证据与团结五条全局立场轴、33 项角色承诺和 42 项证据共同组成;存档读取时按选择轨迹重放。协议组合可到达六类制度结局,关系尾声与 44 种支线收束均独立计算。
42
42
 
@@ -55,11 +55,11 @@
55
55
  - **PPT Master** 以 DSH 原生 skill 随包加载。在普通工作会话中收到 PowerPoint/PPT/PPTX 需求后,模型可通过宿主 `skill` 工具加载 `ppt-master`,按规划、SVG 制作、检查和 PPTX 导出的流程执行。
56
56
  - Model Router 在选择模型和推进工作阶段时保留宿主技能目录、已加载的技能指令及文件/终端工具。制作 PPT 应使用普通聊天或 GAL 工作会话;剧情模式不调用工具,自由模式的角色对话也不是工作代理。
57
57
  - 包内包含技能、Python 脚本和模板。Python 依赖需按下方步骤主动安装,npm 安装不会自动安装 Python 或运行 pip。生成的演示文稿保存在会话可写工作目录中。
58
- - Router 0.4.30 随包加载 PPT Master 6.3.3,支持受管 Python 根目录,并避开 DSH Desktop 2.0.7 中有故障的 Windows Bash 运行器;同时保留 6.3.2 的 PPTX 临时目录权限修复。宿主沙箱和审批设置仍然生效。
58
+ - Router 0.4.31 随包加载 PPT Master 6.3.3,支持受管 Python 根目录,并避开 DSH Desktop 2.0.7 中有故障的 Windows Bash 运行器;同时保留 6.3.2 的 PPTX 临时目录权限修复。宿主沙箱和审批设置仍然生效。
59
59
 
60
60
  ### Watcher 工作路径与模型用量
61
61
 
62
- Router 0.4.30 聚合 [`@ljwei-stak/dsh-watcher-for-mrg@0.4.1`](https://github.com/ljwei-stak/dsh-watcher-For_MRG),并使用 DSH Desktop 2.0.7 SDK 构建和测试。
62
+ Router 0.4.31 聚合 [`@ljwei-stak/dsh-watcher-for-mrg@0.4.1`](https://github.com/ljwei-stak/dsh-watcher-For_MRG),并使用 DSH Desktop 2.0.7 SDK 构建和测试。
63
63
  在普通对话或 GAL 工作视图中,点击原生会话标题栏的眼睛按钮,可查看轮次、并行工具、
64
64
  重试、耗时和已记录的 token 用量。设置中的 Watcher 页面汇总本地会话用量;Router
65
65
  切换模型时按供应商和模型分别统计。推理记录只显示供应商已写入会话的内容。
@@ -78,7 +78,7 @@ Router 最近使用的路由。Watcher 不修改模型路由、提示词、工
78
78
 
79
79
  “GAL 视窗 → 项目更新”分别检查插件 npm 版本和官方 DSH Desktop 版本。支持“仅更新 npm 插件”“仅更新完整客户端”和“一键更新插件与客户端”。桌面端插件安装通过已认证的宿主连接执行,成功后需要完全退出并重启 DSH Desktop。
80
80
 
81
- 普通浏览器中的页面可以查询插件版本、打开下载页面,但不能直接安装桌面端或修改其 profile。插件的 `0.4.30` 与 DSH Desktop 的版本号相互独立。
81
+ 普通浏览器中的页面可以查询插件版本、打开下载页面,但不能直接安装桌面端或修改其 profile。插件的 `0.4.31` 与 DSH Desktop 的版本号相互独立。
82
82
 
83
83
  ## 安装
84
84
 
@@ -100,7 +100,7 @@ Router 最近使用的路由。Watcher 不修改模型路由、提示词、工
100
100
 
101
101
  ```sh
102
102
  dsh --version
103
- dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
103
+ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
104
104
  ```
105
105
 
106
106
  3. 安装成功后,使用桌面端的重启入口,或从托盘明确退出后重新打开,仍选择刚才的 profile。仅关闭窗口可能只是隐藏应用。
@@ -115,7 +115,7 @@ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/m
115
115
 
116
116
  ```sh
117
117
  dsh --version
118
- dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
118
+ dsh plugin --profile web add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
119
119
  dsh --profile web --dump-config
120
120
  ```
121
121
 
@@ -139,9 +139,9 @@ dsh --dump-config
139
139
 
140
140
  Web / CLI 使用 `dsh --profile web --dump-config`。组合后的配置应包含以下七个插件,且没有重复 loader ID。配置导出不能替代实际启动验证;只需安装 Router 聚合包,依赖和 bundle 条目会自动加入。
141
141
 
142
- | 插件 | 0.4.30 固定依赖版本 | 用途 |
142
+ | 插件 | 0.4.31 固定依赖版本 | 用途 |
143
143
  | --- | --- | --- |
144
- | `@ljwei-stak/model-router-galgame` | `0.4.30` | 路由、GAL 视窗、剧情/自由模式和更新入口 |
144
+ | `@ljwei-stak/model-router-galgame` | `0.4.31` | 路由、GAL 视窗、剧情/自由模式和更新入口 |
145
145
  | `@liustack/modlens` | `3.25.4` | 兼容路由的图片理解 |
146
146
  | `@liustack/modsearch` | `5.10.1` | 搜索与页面读取 |
147
147
  | `@ljwei-stak/dsh-ego-browser` | `0.8.3` | 可见浏览器工具 |
@@ -240,7 +240,7 @@ Web / CLI 使用 `dsh plugin --profile web remove @ljwei-stak/model-router-galga
240
240
 
241
241
  ```sh
242
242
  dsh plugin remove @liustack/modlens
243
- dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.30
243
+ dsh plugin add --save-exact --registry=https://registry.npmjs.org/ @ljwei-stak/model-router-galgame@0.4.31
244
244
  ```
245
245
 
246
246
  Web / CLI 在两条命令的 `plugin` 后加 `--profile web`。其他重复依赖按实际报错处理,不要一次删除全部插件。没有重复条目时不需要执行这些移除命令。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ljwei-stak/model-router-galgame",
3
- "version": "0.4.30",
3
+ "version": "0.4.31",
4
4
  "type": "module",
5
5
  "description": "DeepSeek Harness plugin: adaptive model routing, cost analysis and GAL view",
6
6
  "repository": {