Jelajahi Sumber

DoTouchAI 0.5.0: 新增 dsh-send-mode 插件(composer 排队/插话发送开关)随包分发

- 聊天输入框注入 [排队 | 插话] 分段开关,切换 dsh 内置 busy-Enter 策略
- 与设置页同一持久化偏好同步;插件 Node 安全入口 + 浏览器 bundle 对齐官方约定
- package.sh 打包列表 + manifest 加入 dsh-send-mode
Evan 2 hari lalu
induk
melakukan
6bf0475983

+ 10 - 0
dsh-desktop/CHANGELOG.md

@@ -6,6 +6,16 @@ dsh 本体版本独立于壳版本,由升级管家经 npm 管理。
 > 注:改名 DoTouchAI 重构期间,版本号曾误从 0.3.0 回退到 0.2.4/0.2.5(最新内容挂着更小的号)。
 > 以下已校正为单调递增;0.3.0 = 语音插件随包分发(曾误标 0.2.4),0.4.0 = DoTouchAI 改名 + Windows + 安装说明/引导。
 
+## 0.5.0 — 2026-08-26
+
+- **新增 dsh-send-mode 插件**:聊天输入框工具行注入 [排队 | 插话] 分段开关,直接切换 dsh 内置的
+  busy-Enter 提交策略(`ui-conversation` scope 的 `busyEnter` 字段)——排队发送(queue)= 当前生成
+  结束后再发;插话发送(steer)= 打断当前生成、立即响应新消息。与设置页"忙碌时 Enter 行为"项
+  读写同一持久化偏好,两边自动同步。随安装包分发,首启自动装入 web profile
+- 插件结构对齐官方约定:Node 安全的服务端入口 `lib/index.js`(`export function apply(){}`)+
+  浏览器 bundle `lib/client.js`(经 `./client` 导出 + `dsh.client.platform="web"`)
+
+
 ## 0.4.1 — 2026-08-25
 
 - **修复新 Mac 打不开的根因**:macOS 14.4+/26 给下载应用同时打 `com.apple.quarantine`

+ 2 - 2
dsh-desktop/app/package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "dsh-desktop",
-  "version": "0.4.1",
+  "version": "0.5.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "dsh-desktop",
-      "version": "0.4.1",
+      "version": "0.5.0",
       "license": "MIT",
       "devDependencies": {
         "electron": "^42.3.3"

+ 1 - 1
dsh-desktop/app/package.json

@@ -1,7 +1,7 @@
 {
   "name": "dsh-desktop",
   "productName": "DoTouchAI",
-  "version": "0.4.1",
+  "version": "0.5.0",
   "description": "Menu-bar shell for the local dsh web UI: supervise, window, and npm-based one-click upgrades.",
   "main": "main.js",
   "license": "MIT",

+ 2 - 0
dsh-desktop/app/tools/package.sh

@@ -40,12 +40,14 @@ cp -R "$VOICE_SRC/dsh-voice-client" "$BUNDLED/dsh-voice-client"
 rm -rf "$BUNDLED/dsh-voice-client/node_modules"
 cp -R "$VOICE_SRC/dsh-voice-server" "$BUNDLED/dsh-voice-server"
 rm -rf "$BUNDLED/dsh-voice-server/node_modules"
+cp -R "$VOICE_SRC/dsh-send-mode" "$BUNDLED/dsh-send-mode"
 for dep in sherpa-onnx-node sherpa-onnx-darwin-arm64 ws; do
 	cp -R "$DEP_SRC/$dep" "$BUNDLED/$dep"
 done
 node -e "require('fs').writeFileSync('$BUNDLED/manifest.json', JSON.stringify({
   'dsh-voice-client': { id: 'dsh-voice-client', name: 'dsh-voice-client' },
   'dsh-voice-server': { id: 'dsh-voice-server', name: 'dsh-voice-server/lib/index-v6.js' },
+  'dsh-send-mode': { id: 'dsh-send-mode', name: 'dsh-send-mode' },
   'sherpa-onnx-node': { dep: true },
   'sherpa-onnx-darwin-arm64': { dep: true },
   'ws': { dep: true }