dsh-custom-mode 2.2.6 → 2.3.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/README.i18n.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  # 双语配对一致性记录:两侧在「上次确认一致」时的 git blob 哈希。
2
2
  # 两份文档权威相同——改完任意一侧,请把另一侧也改掉,然后重新记录:
3
3
  # node tools/verify-translation-pairing.mjs --write
4
- README.md: f43403111d49476d68271c74036aec063e8b3417
5
- README.zh.md: 43c26010c77fca3121c1c1906c40880c710c16e9
4
+ README.md: 3c201bfc473b860dec48b561a8467590683b3394
5
+ README.zh.md: 7e1fdbb9503908d8e285d9087653aa964510fd3c
package/README.md CHANGED
@@ -2,26 +2,29 @@
2
2
 
3
3
  English | [中文](README.zh.md)
4
4
 
5
- Edit a DeepSeek Harness (`dsh`) custom mode: system prompt, base mode, and plugin switches. Keep more than one assistant. 自定义模式、系统提示词、提示词编辑。
5
+ Edit your DeepSeek Harness (`dsh`) assistants' system prompts, base modes and plugin switches. Keep separate assistants for different tasks.
6
6
 
7
7
  <p align="center">
8
8
  <img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/header.png" width="820" alt="dsh-custom-mode">
9
9
  </p>
10
10
 
11
- <table align="center">
12
- <tr>
13
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/05-assistant-manager.png" width="360" alt="Assistants"></td>
14
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/03-system-prompt.png" width="360" alt="System prompt"></td>
15
- </tr>
16
- <tr>
17
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/01-mode-switch.png" width="360" alt="Base mode"></td>
18
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/02-plugin-switches.png" width="360" alt="Plugin switches"></td>
19
- </tr>
20
- </table>
11
+ [Install](#install-and-make-the-first-request) · [First use](#verify-the-whole-path) · [Updates](#plugin-updates) · [Screenshots](#screenshots) · [Compatibility](#compatibility-and-versioning) · [Help](#help-and-docs)
12
+
13
+ ## Editing and draft safety
14
+
15
+ This section describes editing and draft protection in `2.3.1`. Confirm that exact version is available in [Releases](https://github.com/BOWLUNA/dsh-custom-mode/releases) before installing.
16
+
17
+ Select **New assistant…** in the page header to move to the existing creation form and focus its name input. Creating the assistant still requires choosing its starting settings, naming it and submitting the form. The currently selected assistant remains the editing target until creation succeeds. Enter is ignored while text is being composed; ordinary Enter submits the completed name.
18
+
19
+ Drafts remain in memory for the **current browser document**, including when you leave and return to the settings page. They are not a disk backup: reloading the document, closing the tab or restarting/unloading the plugin can lose unsaved edits. A leave-page warning cannot restore text after you confirm leaving. Copy or export important draft text first. When duplicating with pending edits, confirm that the copy uses the saved configuration; the original draft is retained.
20
+
21
+ Restoring the starting prompt, importing a file or loading saved history replaces only the prompt draft. If that would overwrite unsaved prompt text, confirm the replacement first; canceling keeps the text. Saving is still required to write the files.
22
+
23
+ If a save reports a conflict, copy the complete draft before selecting **Discard edits and reload**. A routine refresh keeps the dirty draft and its original baseline; it does not resolve the conflict. Compare the newly loaded files with your copied text before applying the intended edits again.
21
24
 
22
25
  ## Install and make the first request
23
26
 
24
- These instructions are for version `2.2.6`. Check the [exact-host results and acceptance limits](docs/CURRENT_COMPATIBILITY.md) before installing or updating.
27
+ These instructions describe version `2.3.1`. Confirm that the exact version is available in [Releases](https://github.com/BOWLUNA/dsh-custom-mode/releases), and check the [exact-host results and acceptance limits](docs/CURRENT_COMPATIBILITY.md) before installing or updating.
25
28
 
26
29
  Start with an installed [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) and a model configured through its own interface. Check `dsh --version` against the exact hosts in the compatibility record. This package does not install the host or configure model credentials.
27
30
 
@@ -31,25 +34,42 @@ Pin the plugin version; a bare name can resolve an older build during pnpm's rel
31
34
 
32
35
  ```sh
33
36
  dsh --version
34
- dsh plugin --profile web add dsh-custom-mode@2.2.6
37
+ dsh plugin --profile web add dsh-custom-mode@2.3.1
35
38
  ```
36
39
 
37
40
  Restart the process that serves this Web profile using its usual launcher. For a local CLI instance, the existing launch form is `dsh web --port 3081 --no-open`; use a free port and open the URL printed by that process. Restart only that instance. Installing a bundle does not refresh an already running host.
38
41
 
39
42
  ### Desktop and Windows
40
43
 
41
- In the desktop app, use its **Plugins** page to install `dsh-custom-mode@2.2.6`, then restart the app. This project's scripts deliberately refuse `--profile desktop`; do not modify its profile files by hand. Windows/Electron acceptance remains separate from Web acceptance; see the compatibility record.
44
+ In the desktop app, use its **Plugins** page to install `dsh-custom-mode@2.3.1`, then restart the app. This project's scripts deliberately refuse `--profile desktop`; do not modify its profile files by hand. Windows/Electron acceptance remains separate from Web acceptance; see the compatibility record.
42
45
 
43
46
  On Windows, the npm installation above can use the host's `dsh` command from PowerShell. Only the optional clone installer requires Git Bash (plus Node.js and npm). If `dsh` is not on PATH, use the host's supplied launcher, or replace `dsh` with `node "<host-install>/node_modules/@deepseek-ai/dsh/lib/bin.js"`. Do not point that path at this plugin's directory unless the host is actually installed there.
44
47
 
45
48
  ### Verify the whole path
46
49
 
47
50
  1. Open Settings → Custom mode and check the displayed version. A page that opens is only the first check.
48
- 2. Scroll to **New assistant at the bottom of the page**. When the built-in `custom` assistant already exists, this section follows its editor. Choose a starting setting such as Writing, enter a recognizable name, and select New assistant. The created assistant becomes the editing target.
51
+ 2. Select **New assistant…** in the page header to focus the creation form. Choose a starting setting such as Writing, enter a recognizable name and select New assistant. The created assistant becomes the editing target.
49
52
  3. Set a temporary prompt such as `For the next readiness check, reply with exactly CUSTOM_MODE_READY.` Save and wait for the page to confirm that it was applied. If it says the file was saved but application failed, select Retry activation before continuing.
50
53
  4. Start a **new session**, open its mode/assistant selector, and explicitly choose that named assistant. Send `Readiness check.` through a model already configured in DSH.
51
54
  5. Success means the assistant is selectable without a broken-preset warning and returns the expected readiness reply without a prompt-assembly error. Restore your intended prompt after the check. If it fails, use the [current recovery steps](docs/TROUBLESHOOTING.md#current-recovery-steps).
52
55
 
56
+ ## Screenshots
57
+
58
+ Captured from plugin `2.2.6` in an isolated DSH Web instance with synthetic assistants. These images show the editor, not the new update controls. [Capture sources and limits](docs/images/README.md).
59
+
60
+ <table align="center">
61
+ <tr>
62
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/05-assistant-manager.png" width="360" alt="Create an assistant"><br>Create an assistant</td>
63
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/03-system-prompt.png" width="360" alt="System prompt editor"><br>Edit its system prompt</td>
64
+ </tr>
65
+ <tr>
66
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/01-mode-switch.png" width="360" alt="Base-mode choices"><br>Choose a base mode</td>
67
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/02-plugin-switches.png" width="360" alt="Native plugin switches"><br>Adjust plugin switches</td>
68
+ </tr>
69
+ </table>
70
+
71
+ [View the new-session assistant selector](https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/04-preset-picker.png).
72
+
53
73
  ## What each choice means
54
74
 
55
75
  The assistant selected on the settings page is the **one being edited**. Selecting or creating it does not change the assistant used by a new session. On first activation, the plugin may fill a missing default with the built-in `custom` assistant; an existing default is preserved. A newly created Writing assistant still needs to be chosen in the session selector.
@@ -64,19 +84,29 @@ Choose the creation starting settings first; a new assistant starts from Standar
64
84
 
65
85
  The prompt is stored in `prompt.md` and reread when the next model step is assembled. History and file import load a draft; saving writes it. A stale save is refused when the underlying file changed. `custom_prompt` asks for approval before it writes the same file. Turning off the Identity/persona row also turns off this prompt's injection.
66
86
 
87
+ <a id="plugin-updates"></a>
88
+
67
89
  ## Upgrade, clone development, and removal
68
90
 
69
- The fixed-version npm path above is the normal installation path. Release assets, once published, also include `dsh-custom-mode-2.2.6.tgz`, a preset-only import archive, and `SHA256SUMS`. Verify a downloaded archive's hash before installing it; the preset-only archive does not include the settings page.
91
+ The page header shows the **running plugin version**. When the host provides its native update capability, select **Check for updates** to ask the host for eligible versions. A recommended version offers **Update in Plugins**, which opens the official plugin details for its own confirmation, progress and result. The custom page does not install a package itself. Save pending drafts and resolve activation/refresh warnings before leaving the page.
92
+
93
+ On `0.2.1-rc.2`, `0.2.1-rc.4`, `0.2.0-rc.2` and `0.1.7-rc.2`, the native version-query API is absent: use **Open plugin details** or **Update guide** and the manual fixed-version path below. File, tarball and source-linked installations remain managed by their original source; checking does not silently convert them to npm. Permission denial, network failure, filtered versions or a partial result do not mean the plugin is current. A separate **Installed on disk** version does not prove that the running code has changed.
94
+
95
+ When you update from 2.2.6 through a Web host's native Plugins page, or a failed update restores 2.2.6, restart that host once, then check the running version and assistant availability. Hot-stopping the old version can leave assistant registrations behind.
96
+
97
+ For a manual registry upgrade, use the fixed-version npm command above with a published version, then restart the host and verify the running version. [GitHub Releases](https://github.com/BOWLUNA/dsh-custom-mode/releases) also provides the plugin `.tgz`, a preset-only import archive and `SHA256SUMS`. Verify downloaded hashes; the preset-only archive does not include the settings page.
70
98
 
71
- For a clone, `./install.sh --profile web` keeps the source-linked development workflow. It requires Node.js, npm, Bash and the host CLI. Before changing the profile, it prepares the new package and an archive of the **actual installed old package** with offline `npm pack --ignore-scripts`. It preserves existing prompt, metadata and composition, and refreshes managed code only after installation checks. A failed replacement reinstalls the local old archive and restores refreshed code. Files newly created by the attempt are retained at printed recovery paths when rolled back. An unverified rollback exits with an error and keeps the archive and logs at the printed transaction path. A broken old install that cannot be archived is rejected before replacement. The script is not a substitute for the desktop plugin manager.
99
+ That command targets Web/CLI only. Desktop users must use an update path actually offered by their app. If it has none, do not substitute the Web CLI command or edit the desktop profile files.
72
100
 
73
- `./uninstall.sh` removes the plugin but keeps assistant data. `--purge` explicitly deletes the managed assistant directories and their prompts; keep your own backup before using it.
101
+ For source development, follow [the isolated setup](CONTRIBUTING.md#isolated-development). The optional `./install.sh --profile web` keeps the source-linked workflow and preserves existing prompt, metadata and composition. Its local package/code rollback and recovery paths are explained in [package and release assets](docs/PUBLISHING.md#package-and-release-assets).
102
+
103
+ `./uninstall.sh` removes the plugin but keeps assistant data. `--purge` explicitly deletes the managed assistant directories and their prompts; keep your own backup before using it. In `2.3.1`, a failed or unverifiable host removal stops cleanup and purge, preserves the remaining files and exits with an error. Resolve the reported host error before retrying; desktop removal stays in the app's Plugins page.
74
104
 
75
105
  ## Compatibility and versioning
76
106
 
77
107
  Declared host range: `>=0.1.5-rc.2 <0.2.0-0 || >=0.1.6-alpha.1 <0.2.0-0 || >=0.1.7-alpha.1 <0.2.0-0 || >=0.2.0-0 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0`
78
108
 
79
- The plugin version is its own stable `x.y.z` line; it does not mirror DSH. On 2026-10-27 the public host tags were `latest=0.2.1-rc.2`, `next=0.2.1-rc.4`, and `alpha=0.2.2-alpha.2`. Tags move; the declared range and completed checks are separate facts. See [exact versions, acceptance limits and historical evidence](docs/CURRENT_COMPATIBILITY.md) for the tested scope.
109
+ The plugin version is its own stable `x.y.z` line; it does not mirror DSH. On 2026-11-04 the public host tags were `latest=0.2.1-rc.5`, `next=0.2.2-rc.1`, and `alpha=0.2.2-alpha.3`. Tags move; the declared range and completed checks are separate facts. See [exact versions, acceptance limits and historical evidence](docs/CURRENT_COMPATIBILITY.md) for the tested scope.
80
110
 
81
111
  Release requires the compatibility and browser workflows. The unit runner, real prompt-component checks, packed-install checks and browser checks cover different boundaries. Windows/Electron, a real model response and GPU execution must each have their own evidence; they are not inferred from a page screenshot or unit count. Headless mode does not start an agent-preset session.
82
112
 
@@ -84,14 +114,17 @@ Release requires the compatibility and browser workflows. The unit runner, real
84
114
 
85
115
  The documented catalogs use different discovery and approval rules. Their 2026-10-09 listing results are historical, so a package may not be searchable in every market today. The fixed-version installation above remains the direct path. [Market interfaces and limits](docs/MARKETPLACES.md) explains the read-only adapter; it never executes catalog-provided shell commands or submits a listing.
86
116
 
87
- ## Docs
117
+ ## Help and docs
88
118
 
89
119
  - [Troubleshooting](docs/TROUBLESHOOTING.md) — current recovery first, historical incidents below.
120
+ - [Report a bug](https://github.com/BOWLUNA/dsh-custom-mode/issues/new?template=bug_report.yml) or [suggest a feature](https://github.com/BOWLUNA/dsh-custom-mode/issues/new?template=feature_request.yml).
121
+ - [Security reports](SECURITY.md) — request a private channel without posting vulnerability details.
122
+ - [Releases](https://github.com/BOWLUNA/dsh-custom-mode/releases) and [changelog](CHANGELOG.md).
123
+ - [Contributing](CONTRIBUTING.md) — isolated development and checks.
90
124
  - [Architecture](docs/ARCHITECTURE.md) — prompt reading and host coupling points.
91
125
  - [Publishing](docs/PUBLISHING.md) — existing gated release path and read-back evidence.
92
- - [Contributing](CONTRIBUTING.md) — isolated development and checks.
93
126
  - [AGENTS.md](AGENTS.md) — repository instructions for agents.
94
127
 
95
128
  ## License
96
129
 
97
- MIT
130
+ [MIT](LICENSE)
package/README.zh.md CHANGED
@@ -2,26 +2,29 @@
2
2
 
3
3
  [English](README.md) | 中文
4
4
 
5
- 在 DeepSeek Harness(`dsh`)里改自定义模式的系统提示词、基础模式和插件开关。可以有多个助手。custom mode、system prompt、prompt editor。
5
+ 在 DeepSeek Harness(`dsh`)里编辑助手的系统提示词、基础模式和插件开关,为不同任务保留独立助手。
6
6
 
7
7
  <p align="center">
8
8
  <img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/header.png" width="820" alt="dsh-custom-mode">
9
9
  </p>
10
10
 
11
- <table align="center">
12
- <tr>
13
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/05-assistant-manager.png" width="360" alt="助手"></td>
14
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/03-system-prompt.png" width="360" alt="系统提示词"></td>
15
- </tr>
16
- <tr>
17
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/01-mode-switch.png" width="360" alt="基础模式"></td>
18
- <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/02-plugin-switches.png" width="360" alt="插件开关"></td>
19
- </tr>
20
- </table>
11
+ [安装](#安装并完成首次请求) · [首次使用](#验证完整路径) · [更新](#plugin-updates) · [截图](#使用截图) · [兼容](#兼容与版本) · [求助](#帮助与文档)
12
+
13
+ ## 编辑与草稿保护
14
+
15
+ 本节说明`2.3.1`的编辑与草稿保护行为;安装前请先确认[发布版本](https://github.com/BOWLUNA/dsh-custom-mode/releases)中已有该精确版本。
16
+
17
+ 点击页首「**新建助手…**」即可定位到既有新建表单并聚焦名称输入框。仍需选择起步设置、填写名称并提交表单;创建成功前,当前选中的助手仍是编辑对象。文字仍在组合输入时不会用Enter提交,普通Enter可提交完成的名称。
18
+
19
+ 草稿仅保存在**当前浏览器文档的内存**中,离开并返回设置页时仍可继续编辑。它不是磁盘备份:刷新文档、关闭标签页或重启/卸载插件可能丢失未保存编辑;确认离开后的文本无法靠离页提醒恢复。先复制或导出重要草稿;有待保存编辑时复制助手,须确认副本使用已保存配置,原草稿继续保留。
20
+
21
+ 恢复起步提示词、导入文件或载入已保存历史只替换提示词草稿;会覆盖未保存提示词时,先确认替换,取消则保留原文。仍需保存才写入文件。
22
+
23
+ 保存报告冲突时,先复制完整草稿,再明确选择「**放弃修改并重新读取**」。普通读取会保留脏草稿及其原基线,不能解除冲突;请将重新载入的文件与复制文本对比后,再应用确实需要的编辑。
21
24
 
22
25
  ## 安装并完成首次请求
23
26
 
24
- 本说明适用于版本 `2.2.6`。安装或更新前,先核对[精确宿主结果与验收边界](docs/CURRENT_COMPATIBILITY.zh.md)。
27
+ 本说明描述版本 `2.3.1`。安装或更新前,先确认[发布版本](https://github.com/BOWLUNA/dsh-custom-mode/releases)中已有该精确版本,并核对[精确宿主结果与验收边界](docs/CURRENT_COMPATIBILITY.zh.md)。
25
28
 
26
29
  先安装 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness),并在宿主自己的界面中配置可用模型。用 `dsh --version` 对照兼容记录中的精确宿主版本。本插件不安装宿主,也不配置模型凭据。
27
30
 
@@ -31,25 +34,42 @@
31
34
 
32
35
  ```sh
33
36
  dsh --version
34
- dsh plugin --profile web add dsh-custom-mode@2.2.6
37
+ dsh plugin --profile web add dsh-custom-mode@2.3.1
35
38
  ```
36
39
 
37
40
  用原有启动方式重启为该 Web profile 提供服务的进程。本地 CLI 的既有启动形式是 `dsh web --port 3081 --no-open`;选择空闲端口,打开该进程打印的地址。只重启这个实例。安装 bundle 不会刷新已经运行的宿主。
38
41
 
39
42
  ### 桌面端与 Windows
40
43
 
41
- 在桌面应用的 **Plugins(插件)** 页安装 `dsh-custom-mode@2.2.6`,然后重启应用。本项目脚本明确拒绝 `--profile desktop`,不要手改它的 profile 文件。Windows/Electron 与 Web 分别验收,详见兼容记录。
44
+ 在桌面应用的 **Plugins(插件)** 页安装 `dsh-custom-mode@2.3.1`,然后重启应用。本项目脚本明确拒绝 `--profile desktop`,不要手改它的 profile 文件。Windows/Electron 与 Web 分别验收,详见兼容记录。
42
45
 
43
46
  Windows 上可在 PowerShell 中用宿主提供的 `dsh` 执行上面的 npm 安装命令。只有可选的 clone 安装脚本需要 Git Bash,另需 Node.js 和 npm。PATH 中没有 `dsh` 时,使用宿主自带启动器,或将 `dsh` 替换为 `node "<host-install>/node_modules/@deepseek-ai/dsh/lib/bin.js"`。除非宿主确实装在本插件目录中,否则不要把这个路径指向插件目录。
44
47
 
45
48
  ### 验证完整路径
46
49
 
47
50
  1. 打开设置 → 自定义模式,检查显示版本。页面能打开只是第一步。
48
- 2. 滚动到**页面底部的「新建助手」区**。已有内置 `custom` 助手时,该区位于编辑区之后。选择写作等起步设置,输入容易辨认的名称,再点「新增助手」;新建的助手会成为编辑对象。
51
+ 2. 点击页首「**新建助手…**」聚焦新建表单,选择写作等起步设置,输入容易辨认的名称,再点「新增助手」;新建的助手会成为编辑对象。
49
52
  3. 临时把提示词设为 `下一次就绪检查只回复 CUSTOM_MODE_READY。`,保存并等页面确认已应用。若提示文件已保存但应用失败,先点「重试生效」。
50
53
  4. 新建一个**会话**,打开该会话的模式/助手选择器,明确选择刚才命名的助手。通过 DSH 中已经配置的模型发送 `就绪检查。`
51
54
  5. 成功意味着助手可以选择、没有预设损坏告警,并返回预期就绪回复且不出现提示词组装错误。检查后恢复自己的提示词。失败时先看[当前自救步骤](docs/TROUBLESHOOTING.zh.md#当前自救步骤)。
52
55
 
56
+ ## 使用截图
57
+
58
+ 截图来自隔离DSH Web实例中的插件 `2.2.6`,助手内容均为合成数据。它们展示编辑页,不展示新增的更新控件。[截图来源与边界](docs/images/README.md)。
59
+
60
+ <table align="center">
61
+ <tr>
62
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/05-assistant-manager.png" width="360" alt="新建助手"><br>新建助手</td>
63
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/03-system-prompt.png" width="360" alt="系统提示词编辑区"><br>编辑系统提示词</td>
64
+ </tr>
65
+ <tr>
66
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/01-mode-switch.png" width="360" alt="基础模式选择"><br>选择基础模式</td>
67
+ <td align="center"><img src="https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/02-plugin-switches.png" width="360" alt="原生插件开关"><br>调整插件开关</td>
68
+ </tr>
69
+ </table>
70
+
71
+ [查看新会话的助手选择器](https://raw.githubusercontent.com/BOWLUNA/dsh-custom-mode/main/docs/images/04-preset-picker.png)。
72
+
53
73
  ## 各项选择分别做什么
54
74
 
55
75
  设置页选中的助手是**正在编辑的对象**。选中或新建它不会改变新会话使用的助手。首次激活时,插件可能把缺失的默认值补为内置 `custom`;已经存在的默认值保持不变。新建写作助手后,仍需在会话选择器中选它。
@@ -64,19 +84,29 @@ Windows 上可在 PowerShell 中用宿主提供的 `dsh` 执行上面的 npm 安
64
84
 
65
85
  提示词保存在 `prompt.md`,下一步组装模型输入时会重读。历史与文件导入先载入草稿,保存才落盘。底层文件已变化时,过期保存会被拒绝。`custom_prompt` 写同一个文件前需要批准。关闭身份/persona 行也会关闭该提示词的注入。
66
86
 
87
+ <a id="plugin-updates"></a>
88
+
67
89
  ## 升级、clone 开发与卸载
68
90
 
69
- 上面的固定版本 npm 命令是普通安装入口。发布完成后,Release 还会提供 `dsh-custom-mode-2.2.6.tgz`、仅供预设导入的归档和 `SHA256SUMS`。安装下载的归档前先核对散列;仅供预设导入的归档没有设置页。
91
+ 页首显示**运行中的插件版本**。宿主提供原生更新能力时,点「**检查更新**」让宿主查询可用版本。有推荐版本后,「**在插件管理中更新**」会打开官方插件详情,由它承接确认、进度与结果;自定义页不直接安装包。离开前先保存待处理草稿,并处理生效/读取告警。
92
+
93
+ `0.2.1-rc.2`、`0.2.1-rc.4`、`0.2.0-rc.2`和`0.1.7-rc.2`没有原生版本查询API,可用「**打开插件详情**」或「**更新指引**」,再按下方固定版本方式手动更新。文件、tarball与源码链接安装继续由原来源管理,不会因检查更新而悄悄转成npm。权限拒绝、网络失败、版本被筛除或结果不完整都不代表已是最新。「**磁盘安装版本**」与运行版本不同,不能据此认定新代码已运行。
94
+
95
+ 通过Web宿主的原生插件页从2.2.6更新,或更新失败后恢复到2.2.6时,请重启该宿主一次,再核对运行版本与助手是否可用。旧版热停止可能留下助手注册记录。
96
+
97
+ 手动更新注册表安装时,使用上面的固定版本npm命令并选择已发布版本,再重启宿主、核对运行版本。[GitHub Releases](https://github.com/BOWLUNA/dsh-custom-mode/releases)也提供插件`.tgz`、仅供预设导入的归档和`SHA256SUMS`。安装下载的归档前先核对散列;仅供预设导入的归档没有设置页。
70
98
 
71
- clone 后可用 `./install.sh --profile web` 保留源码链接的开发方式,需要 Node.js、npm、Bash 和宿主 CLI。它在改动 profile 前,通过离线 `npm pack --ignore-scripts` 准备新包,并归档**实际已安装的旧包**。已有提示词、元数据与组成保持原样,安装自检通过后才刷新受管代码。替换失败时,用本地旧归档重新安装并恢复已刷新的代码;本次新建文件在回滚时留有恢复副本,路径会打印。回滚未验证则报错,并在打印的事务目录保留旧包和日志。旧安装损坏、无法归档时,脚本在替换前中止。这个脚本不能代替桌面应用的插件管理器。
99
+ 该命令仅适用于Web/CLI。桌面用户必须使用应用实际提供的更新路径;应用没有更新入口时,不要改用Web CLI命令或手改桌面profile文件。
72
100
 
73
- `./uninstall.sh` 移除插件但保留助手数据。`--purge` 明确删除受管助手目录及提示词,使用前请自行备份。
101
+ 源码开发按[隔离准备步骤](CONTRIBUTING.zh.md#隔离开发)进行。可选的`./install.sh --profile web`保留源码链接方式,已有提示词、元数据和组成不被覆盖。本地包/代码回滚与恢复路径见[包与发布资产](docs/PUBLISHING.zh.md#包与发布资产)。
102
+
103
+ `./uninstall.sh` 移除插件但保留助手数据。`--purge` 明确删除受管助手目录及提示词,使用前请自行备份。`2.3.1`中,宿主卸载失败或其结果无法核实时,会停止清理与purge、保留剩余文件并以错误退出;处理报告的宿主错误后再重试。桌面端卸载仍使用应用内Plugins页。
74
104
 
75
105
  ## 兼容与版本
76
106
 
77
107
  声明的宿主范围:`>=0.1.5-rc.2 <0.2.0-0 || >=0.1.6-alpha.1 <0.2.0-0 || >=0.1.7-alpha.1 <0.2.0-0 || >=0.2.0-0 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0`
78
108
 
79
- 插件版本走独立的稳定 `x.y.z` 版本线,不镜像 DSH。2026-10-27 公开宿主标签为 `latest=0.2.1-rc.2`、`next=0.2.1-rc.4`、`alpha=0.2.2-alpha.2`。标签会移动,声明范围与已完成检查是两件事。实测范围见[精确版本、验收边界与历史证据](docs/CURRENT_COMPATIBILITY.zh.md)。
109
+ 插件版本走独立的稳定 `x.y.z` 版本线,不镜像 DSH。2026-11-04 公开宿主标签为 `latest=0.2.1-rc.5`、`next=0.2.2-rc.1`、`alpha=0.2.2-alpha.3`。标签会移动,声明范围与已完成检查是两件事。实测范围见[精确版本、验收边界与历史证据](docs/CURRENT_COMPATIBILITY.zh.md)。
80
110
 
81
111
  发布必须通过兼容性与浏览器工作流。单元、真实提示词组件、打包安装和浏览器检查分别覆盖不同边界。Windows/Electron、真实模型回复、GPU 执行都必须单独留证,不能从页面截图或单元计数推断。headless 不启动使用 agent preset 的会话。
82
112
 
@@ -84,14 +114,17 @@ clone 后可用 `./install.sh --profile web` 保留源码链接的开发方式
84
114
 
85
115
  各目录的发现与审核规则不同。2026-10-09 的上架结果属于历史记录,不能据此保证今天每个市场都能搜索到。上面的固定版本安装仍是直接入口。[市场接口与限制](docs/MARKETPLACES.zh.md) 说明只读适配器;它不执行目录提供的 shell 命令,也不提交收录。
86
116
 
87
- ## 文档
117
+ ## 帮助与文档
88
118
 
89
119
  - [故障排查](docs/TROUBLESHOOTING.zh.md) — 当前自救在前,历史故障在后。
120
+ - [报告故障](https://github.com/BOWLUNA/dsh-custom-mode/issues/new?template=bug_report.yml)或[建议功能](https://github.com/BOWLUNA/dsh-custom-mode/issues/new?template=feature_request.yml)。
121
+ - [安全报告](SECURITY.zh.md) — 仅公开请求私下渠道,不发布漏洞细节。
122
+ - [发布版本](https://github.com/BOWLUNA/dsh-custom-mode/releases)与[变更记录](CHANGELOG.zh.md)。
123
+ - [贡献指南](CONTRIBUTING.zh.md) — 隔离开发与检查。
90
124
  - [架构](docs/ARCHITECTURE.zh.md) — 提示词读取与宿主耦合点。
91
125
  - [发布](docs/PUBLISHING.zh.md) — 既有发布门禁与读回证据。
92
- - [贡献指南](CONTRIBUTING.zh.md) — 隔离开发与检查。
93
126
  - [AGENTS.md](AGENTS.md) — 仓库代理约定。
94
127
 
95
128
  ## 许可证
96
129
 
97
- MIT
130
+ [MIT](LICENSE)