clawconnect-agent 0.2.14 → 0.2.16

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.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +1 -1
  3. package/dist/commands/install.js +5 -3
  4. package/dist/commands/install.js.map +1 -1
  5. package/dist/commands/run.js +3 -0
  6. package/dist/commands/run.js.map +1 -1
  7. package/dist/commands/status.js +5 -4
  8. package/dist/commands/status.js.map +1 -1
  9. package/dist/config/profile-log-rotation.d.ts +1 -1
  10. package/dist/config/profile-log-rotation.js +1 -1
  11. package/dist/config/profile-log-rotation.js.map +1 -1
  12. package/dist/hermes/runtime/hermes-runtime-chat-file-transfer.d.ts +28 -0
  13. package/dist/hermes/runtime/hermes-runtime-chat-file-transfer.js +53 -55
  14. package/dist/hermes/runtime/hermes-runtime-chat-file-transfer.js.map +1 -1
  15. package/dist/hermes/runtime/hermes-runtime-history-turn-output.d.ts +30 -0
  16. package/dist/hermes/runtime/hermes-runtime-history-turn-output.js +61 -0
  17. package/dist/hermes/runtime/hermes-runtime-history-turn-output.js.map +1 -0
  18. package/dist/hermes/runtime/hermes-runtime-history.js +24 -3
  19. package/dist/hermes/runtime/hermes-runtime-history.js.map +1 -1
  20. package/dist/hermes/runtime/hermes-runtime-state-db.js +28 -0
  21. package/dist/hermes/runtime/hermes-runtime-state-db.js.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/openclaw/handlers/local-handlers.js +1 -1
  25. package/dist/openclaw/handlers/local-handlers.js.map +1 -1
  26. package/dist/platform/service-manager-windows.d.ts +39 -29
  27. package/dist/platform/service-manager-windows.js +256 -448
  28. package/dist/platform/service-manager-windows.js.map +1 -1
  29. package/dist/platform/timestamped-console.d.ts +16 -0
  30. package/dist/platform/timestamped-console.js +41 -0
  31. package/dist/platform/timestamped-console.js.map +1 -0
  32. package/dist/platform/windows-process-control.d.ts +16 -0
  33. package/dist/platform/windows-process-control.js +91 -0
  34. package/dist/platform/windows-process-control.js.map +1 -0
  35. package/dist/platform/windows-service-host-source.d.ts +23 -0
  36. package/dist/platform/windows-service-host-source.js +357 -0
  37. package/dist/platform/windows-service-host-source.js.map +1 -0
  38. package/dist/platform/windows-service-legacy-startup.d.ts +27 -0
  39. package/dist/platform/windows-service-legacy-startup.js +101 -0
  40. package/dist/platform/windows-service-legacy-startup.js.map +1 -0
  41. package/dist/platform/windows-service-paths.d.ts +15 -0
  42. package/dist/platform/windows-service-paths.js +30 -0
  43. package/dist/platform/windows-service-paths.js.map +1 -0
  44. package/package.json +1 -1
package/README.md CHANGED
@@ -192,9 +192,9 @@ clawconnect install
192
192
 
193
193
  - macOS: installs a `launchd` user agent
194
194
  - Linux: prefers `systemd --user`, and falls back to `nohup` when `systemctl --user` is unavailable
195
- - Windows: registers a limited-privilege Windows Task Scheduler task when allowed, otherwise uses the current user's Startup registry entry; both auto-start silently at logon without requiring administrator elevation
195
+ - Windows: registers a real Windows Service that runs as the current user and starts automatically at boot. The service supervises the agent and restarts it after a crash or when it is killed. Installing, updating, restarting and removing the service require an elevated terminal ("Run as administrator"); the first install asks once for the current Windows account password, which is validated and handed to the Service Control Manager without ever being written to a command line or file. The service host is compiled at install time with the .NET Framework 4 compiler that ships with Windows (`csc.exe`), so no SDK is needed.
196
196
 
197
- Windows profiles use isolated background startup entries and UTF-8 logs, for example `ClawConnectAgent-openclaw` and `ClawConnectAgent-hermes`.
197
+ Windows profiles use isolated services and UTF-8 logs, for example `ClawConnectAgent-openclaw` and `ClawConnectAgent-hermes`. Installing migrates away from the previous Task Scheduler / Startup entries: the old task is deleted so it cannot start a second agent.
198
198
 
199
199
  Linux profiles are isolated as well: systemd units use names such as
200
200
  `clawconnect-agent-openclaw.service` and `clawconnect-agent-hermes.service`,
package/README.zh-CN.md CHANGED
@@ -224,7 +224,7 @@ clawconnect install
224
224
  - macOS:安装为 `launchd` 用户服务
225
225
  - Linux:优先使用 `systemd --user`
226
226
  - 如果 Linux 当前环境不支持 `systemd --user`,会自动回退到 `nohup`
227
- - Windows:优先注册为有限权限的 Windows Task Scheduler 任务;若系统策略要求管理员权限,则自动使用当前用户的启动项,二者都会在登录时静默启动且无需管理员提权
227
+ - Windows:注册为以当前用户运行的 Windows 服务,开机自启,由服务宿主监督 Agent,崩溃或被杀后自动重启。安装、更新、重启、卸载服务都需要在管理员终端(“以管理员身份运行”)中执行;首次安装会让你输入一次当前 Windows 账户密码,密码经校验后只交给服务控制管理器,不会写入命令行或文件。服务宿主在安装时用 Windows 自带的 .NET Framework 4 编译器(`csc.exe`)现场编译,无需安装 SDK;安装会清理旧的计划任务/启动项,避免旧项再拉起第二个 Agent
228
228
 
229
229
  Windows 的不同 profile 使用独立后台启动项(例如 `ClawConnectAgent-openclaw`、`ClawConnectAgent-hermes`)和独立 UTF-8 日志,不会互相覆盖。
230
230
 
@@ -33,6 +33,8 @@ export function installCommand() {
33
33
  return;
34
34
  }
35
35
  const servicePaths = getServicePaths();
36
+ // 失败必须体现在退出码上:`clawconnect update` 依赖它判断服务是否真的重装成功。
37
+ process.exitCode = 1;
36
38
  console.log(t("install.installFailed", platformName(platform)));
37
39
  if (platform === "macos") {
38
40
  console.log(t("install.serviceFileWritten", servicePaths.macPlistPath));
@@ -44,8 +46,7 @@ export function installCommand() {
44
46
  console.log(t("install.startManually", `bash "${servicePaths.linuxNohupStartScriptPath}"`));
45
47
  }
46
48
  else if (platform === "windows") {
47
- const taskName = getServiceStatus().serviceName;
48
- console.log(t("install.startManually", `schtasks /run /tn "${taskName}"`));
49
+ console.log(t("install.startManually", getServiceStatus().startHint ?? ""));
49
50
  }
50
51
  }
51
52
  export function restartCommand() {
@@ -65,6 +66,7 @@ export function restartCommand() {
65
66
  console.log(t("install.serviceRestarted", platformName(platform)));
66
67
  return;
67
68
  }
69
+ process.exitCode = 1;
68
70
  console.log(t("install.restartFailed", platformName(platform)));
69
71
  }
70
72
  export function isActiveMobileChatProcess(env = process.env) {
@@ -139,7 +141,7 @@ function platformName(platform) {
139
141
  case "linux":
140
142
  return "systemd/nohup";
141
143
  case "windows":
142
- return "Windows Task Scheduler";
144
+ return "Windows Service";
143
145
  default:
144
146
  return process.platform;
145
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ import { rotateProfileLogsIfOversized } from "../config/profile-log-rotation.js"
8
8
  import { getActiveProfile } from "../config/profile.js";
9
9
  import { RELAY_CLOSE_CODE_UNAUTHORIZED } from "../core/relay/relay-server-connection.js";
10
10
  import { relayCredentialsRejectedHint } from "./profile-hints.js";
11
+ import { installTimestampedConsole } from "../platform/timestamped-console.js";
11
12
  export async function runCommand() {
13
+ // 常驻进程的日志必须带时间戳,否则断线后无法把日志事件对应到真实故障时间。
14
+ installTimestampedConsole();
12
15
  // 服务管理器只会追加写日志;每次进程启动先做一次有界轮转,避免日志无限增长。
13
16
  for (const result of rotateProfileLogsIfOversized(getActiveProfile())) {
14
17
  if (result.rotated)
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,wCAAwC;IACxC,KAAK,MAAM,MAAM,IAAI,4BAA4B,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC;IACrD,MAAM,cAAc,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5C,wEAAwE;IACxE,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/B,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,EAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAoD;IACpD,sCAAsC;IACtC,IAAI,4BAA4B,GAAG,KAAK,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;YAChC,MAAM;YACN,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;YAClC,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClD,YAAY,EAAE,GAAG,EAAE;gBACjB,4BAA4B,GAAG,KAAK,CAAC;gBACrC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC;YACD,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACnC,IAAI,SAAS,KAAK,6BAA6B,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACjF,4BAA4B,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,KAAK,CAAC,WAAW,4BAA4B,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;SACF,CAAC,EACF;YACE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;SACF,CACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,EAAE,EAAE,KAAK,EAAE,CAAC;QACZ,4BAA4B,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,uCAAuC;IACvC,yBAAyB,EAAE,CAAC;IAC5B,wCAAwC;IACxC,KAAK,MAAM,MAAM,IAAI,4BAA4B,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;QACtE,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC;IACrD,MAAM,cAAc,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5C,wEAAwE;IACxE,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/B,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,EAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAoD;IACpD,sCAAsC;IACtC,IAAI,4BAA4B,GAAG,KAAK,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;YAChC,MAAM;YACN,UAAU,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;YAClC,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAClD,YAAY,EAAE,GAAG,EAAE;gBACjB,4BAA4B,GAAG,KAAK,CAAC;gBACrC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC;YACD,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACnC,IAAI,SAAS,KAAK,6BAA6B,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACjF,4BAA4B,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,KAAK,CAAC,WAAW,4BAA4B,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;SACF,CAAC,EACF;YACE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;SACF,CACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,EAAE,EAAE,KAAK,EAAE,CAAC;QACZ,4BAA4B,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -117,13 +117,15 @@ export function readHealth(logPath, gatewayType = "openclaw", profile) {
117
117
  gateway: { kind: "unknown", detail: "log missing" },
118
118
  };
119
119
  }
120
- const lines = readTailLines(logPath, 400);
120
+ // 扫描整个日志而不是末尾若干行:本地 Gateway 重连会刷出大量日志,固定窗口会把较早的
121
+ // 中继连接事件挤出去,误报 "no relay events yet"。日志启动时已按 10MB 轮转,体积有界。
122
+ const lines = readLogLines(logPath);
121
123
  return {
122
124
  relay: withRelayRecoveryHint(parseRelayHealth(lines, gatewayType), profile),
123
125
  gateway: parseGatewayHealth(lines, gatewayType),
124
126
  };
125
127
  }
126
- function readTailLines(path, maxLines) {
128
+ function readLogLines(path) {
127
129
  let raw;
128
130
  try {
129
131
  raw = decodeTextBuffer(readFileSync(path)).text;
@@ -154,8 +156,7 @@ function readTailLines(path, maxLines) {
154
156
  return [];
155
157
  }
156
158
  }
157
- const lines = raw.split(/\r?\n/).filter(Boolean);
158
- return lines.slice(-maxLines);
159
+ return raw.split(/\r?\n/).filter(Boolean);
159
160
  }
160
161
  function parseRelayHealth(lines, gatewayType) {
161
162
  const connectedIndex = findLastIndex(lines, (line) => line.includes("Relay connected.")
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** 单个日志文件超过该体积即轮转;launchd/systemd/schtasks 都以追加方式重定向 stdout,无法自行轮转。 */
1
+ /** 单个日志文件超过该体积即轮转;launchd/systemd/Windows 服务宿主都以追加方式写 stdout,无法自行轮转。 */
2
2
  export declare const PROFILE_LOG_ROTATE_BYTES: number;
3
3
  export type ProfileLogRotationResult = {
4
4
  path: string;
@@ -1,6 +1,6 @@
1
1
  import { copyFileSync, statSync, truncateSync } from "fs";
2
2
  import { profileErrorLogPath, profileLogPath } from "./profile.js";
3
- /** 单个日志文件超过该体积即轮转;launchd/systemd/schtasks 都以追加方式重定向 stdout,无法自行轮转。 */
3
+ /** 单个日志文件超过该体积即轮转;launchd/systemd/Windows 服务宿主都以追加方式写 stdout,无法自行轮转。 */
4
4
  export const PROFILE_LOG_ROTATE_BYTES = 10 * 1024 * 1024;
5
5
  /**
6
6
  * 进程启动时对 profile 日志做一次有界轮转:把超限的当前文件复制为 `<file>.1`(只保留一代),
@@ -1 +1 @@
1
- {"version":3,"file":"profile-log-rotation.js","sourceRoot":"","sources":["../../src/config/profile-log-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnE,uEAAuE;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAQzD;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAA2B,EAC3B,UAAmD,EAAE;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,QAAgB;IACrE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC;QACH,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;QAChC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB;QACxB,OAAO,CAAC,IAAI,CAAC,yCAAyC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"profile-log-rotation.js","sourceRoot":"","sources":["../../src/config/profile-log-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnE,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAQzD;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAA2B,EAC3B,UAAmD,EAAE;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,QAAgB;IACrE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC;QACH,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;QAChC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wBAAwB;QACxB,OAAO,CAAC,IAAI,CAAC,yCAAyC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -13,6 +13,34 @@ export declare function planHermesChatPreparation(params: {
13
13
  sourceRunId?: string;
14
14
  fileTransferCapability?: "cli";
15
15
  }): Promise<HermesChatPreparationPlan>;
16
+ /**
17
+ * 一个移动端轮次最终应该展示的文本,以及它是怎么来的。
18
+ *
19
+ * 这是实时路径(`verifyHermesFileTransferIfRequired`)和历史投影(`runHermesChatHistory`)
20
+ * 共用的唯一规则:同一份 state.db 行只能算出同一个答案,两处不能各算一遍。
21
+ * 模型在 outcome 工具之后补的收尾文字("已发送 ✅"之类)不是可信的最终回答,
22
+ * 只有 typed outcome 的 assistantText、第一方 send-file 回执和宿主生成的失败提示才算。
23
+ */
24
+ export type HermesTurnOutput = {
25
+ kind: "none";
26
+ } | {
27
+ kind: "file-evidence";
28
+ text: string;
29
+ fileCount: number;
30
+ } | {
31
+ kind: "clarification";
32
+ text: string;
33
+ } | {
34
+ kind: "cancelled";
35
+ text: string;
36
+ } | {
37
+ kind: "ordinary";
38
+ text: string;
39
+ } | {
40
+ kind: "attempted-unverified";
41
+ text: string;
42
+ };
43
+ export declare function resolveHermesTurnOutput(messages: Array<Record<string, unknown>> | undefined, sourceRunId: string): HermesTurnOutput;
16
44
  export declare function verifyHermesFileTransferIfRequired(params: {
17
45
  plan: HermesChatPreparationPlan;
18
46
  gatewayId: string;
@@ -33,73 +33,71 @@ export async function planHermesChatPreparation(params) {
33
33
  function normalizeHermesRole(value) {
34
34
  return typeof value === "string" ? value.trim().toLowerCase() : "";
35
35
  }
36
- export async function verifyHermesFileTransferIfRequired(params) {
37
- if (!params.plan.preloadFileTransferSkill) {
38
- return {};
39
- }
40
- const messages = params.sessionId ? await readHermesSessionMessages(params.sessionId) : undefined;
41
- const evidence = params.sourceRunId
42
- ? collectHermesFileTransferEvidence(messages, params.sourceRunId)
43
- : [];
36
+ export function resolveHermesTurnOutput(messages, sourceRunId) {
37
+ // 优先级固定:文件回执 > typed outcome > 无回执的 send-file 尝试 > 无结论。
38
+ const evidence = collectHermesFileTransferEvidence(messages, sourceRunId);
44
39
  if (evidence.length > 0) {
45
- await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, params.plan.pendingFileTransfer?.sourceRunId);
46
40
  return {
47
- verifiedFileTransferCount: evidence.length,
48
- output: `已发送 ${evidence.length} 个文件,请查收。`,
41
+ kind: "file-evidence",
42
+ text: `已发送 ${evidence.length} 个文件,请查收。`,
43
+ fileCount: evidence.length,
49
44
  };
50
45
  }
51
- const outcome = params.sourceRunId
52
- ? collectHermesFileTransferOutcome(messages, params.sourceRunId)
53
- : undefined;
46
+ const outcome = collectHermesFileTransferOutcome(messages, sourceRunId);
54
47
  if (outcome?.kind === "clarification") {
55
- if (params.sessionId && params.sourceRunId) {
56
- await recordPendingHermesFileTransfer({
57
- gatewayId: params.gatewayId,
58
- sessionKey: params.sessionKey,
59
- hermesSessionId: params.sessionId,
60
- sourceRunId: params.sourceRunId,
61
- continuation: false,
62
- });
63
- }
64
- // Only the typed content field is displayable. Raw assistant prose is
65
- // deliberately discarded, and this outcome is never delivery evidence.
66
- return {
67
- output: outcome.assistantText ?? HERMES_FILE_TRANSFER_CONTENT_MISSING_MESSAGE,
68
- };
48
+ return { kind: "clarification", text: outcome.assistantText ?? HERMES_FILE_TRANSFER_CONTENT_MISSING_MESSAGE };
69
49
  }
70
50
  if (outcome?.kind === "cancelled") {
71
- await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, params.plan.pendingFileTransfer?.sourceRunId);
72
- return {
73
- output: outcome.assistantText ?? HERMES_FILE_TRANSFER_CANCELLED_MESSAGE,
74
- };
51
+ return { kind: "cancelled", text: outcome.assistantText ?? HERMES_FILE_TRANSFER_CANCELLED_MESSAGE };
75
52
  }
76
53
  if (outcome?.kind === "ordinary") {
77
- await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, params.plan.pendingFileTransfer?.sourceRunId);
78
- // Ordinary chat is shown only through the typed assistantText field. The
79
- // model's ordinary label is routing metadata, never proof of delivery.
80
- return {
81
- output: outcome.assistantText ?? HERMES_FILE_TRANSFER_CONTENT_MISSING_MESSAGE,
82
- };
54
+ // ordinary 只是路由标签,不是投递证明;可见内容只来自 typed assistantText。
55
+ return { kind: "ordinary", text: outcome.assistantText ?? HERMES_FILE_TRANSFER_CONTENT_MISSING_MESSAGE };
83
56
  }
84
- if (outcome?.kind === "attempted") {
85
- await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, params.plan.pendingFileTransfer?.sourceRunId);
86
- return {
87
- verifiedFileTransferCount: 0,
88
- output: HERMES_FILE_TRANSFER_NOT_SENT_MESSAGE,
89
- };
57
+ if (outcome?.kind === "attempted" || hasHermesSendFileAttempt(messages, sourceRunId)) {
58
+ return { kind: "attempted-unverified", text: HERMES_FILE_TRANSFER_NOT_SENT_MESSAGE };
90
59
  }
91
- if (params.sourceRunId && hasHermesSendFileAttempt(messages, params.sourceRunId)) {
92
- return {
93
- verifiedFileTransferCount: 0,
94
- output: HERMES_FILE_TRANSFER_NOT_SENT_MESSAGE,
95
- };
60
+ // 能力在每个移动端轮次都开放,但能力本身不会把普通聊天变成文件操作:
61
+ // 没有 typed outcome、也没有真实调用 send-file 的轮次,保留宿主原始回答。
62
+ return { kind: "none" };
63
+ }
64
+ export async function verifyHermesFileTransferIfRequired(params) {
65
+ if (!params.plan.preloadFileTransferSkill) {
66
+ return {};
67
+ }
68
+ const messages = params.sessionId ? await readHermesSessionMessages(params.sessionId) : undefined;
69
+ const turnOutput = params.sourceRunId
70
+ ? resolveHermesTurnOutput(messages, params.sourceRunId)
71
+ : { kind: "none" };
72
+ const pendingSourceRunId = params.plan.pendingFileTransfer?.sourceRunId;
73
+ switch (turnOutput.kind) {
74
+ case "file-evidence":
75
+ await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, pendingSourceRunId);
76
+ return { verifiedFileTransferCount: turnOutput.fileCount, output: turnOutput.text };
77
+ case "clarification":
78
+ if (params.sessionId && params.sourceRunId) {
79
+ await recordPendingHermesFileTransfer({
80
+ gatewayId: params.gatewayId,
81
+ sessionKey: params.sessionKey,
82
+ hermesSessionId: params.sessionId,
83
+ sourceRunId: params.sourceRunId,
84
+ continuation: false,
85
+ });
86
+ }
87
+ return { output: turnOutput.text };
88
+ case "cancelled":
89
+ case "ordinary":
90
+ await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, pendingSourceRunId);
91
+ return { output: turnOutput.text };
92
+ case "attempted-unverified":
93
+ // 只有 typed outcome=attempted 才清理待续传状态;仅检测到 send-file 调用而没有回执时保持原状。
94
+ if (collectHermesFileTransferOutcome(messages, params.sourceRunId ?? "")?.kind === "attempted") {
95
+ await clearPendingHermesFileTransfer(params.gatewayId, params.sessionKey, pendingSourceRunId);
96
+ }
97
+ return { verifiedFileTransferCount: 0, output: turnOutput.text };
98
+ case "none":
99
+ return {};
96
100
  }
97
- // File-transfer capability is available on every mobile turn, but capability
98
- // alone does not turn ordinary chat into a file operation. Preserve the Host
99
- // answer unless this exact turn emitted a typed outcome or actually invoked
100
- // the first-party terminal command. This keeps failure closed around a real
101
- // send attempt without replacing unrelated Hermes replies.
102
- return {};
103
101
  }
104
102
  function hasHermesSendFileAttempt(messages, sourceRunId) {
105
103
  const currentIndex = currentHermesTurnIndex(messages, sourceRunId);
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-runtime-chat-file-transfer.js","sourceRoot":"","sources":["../../../src/hermes/runtime/hermes-runtime-chat-file-transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hermes-runtime-chat-file-transfer.js","sourceRoot":"","sources":["../../../src/hermes/runtime/hermes-runtime-chat-file-transfer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export type HermesAssistantRowDecision =
2
+ /** 非 ClawConnect 移动端轮次,或该轮没有 typed 结论:沿用原始行正文。 */
3
+ {
4
+ kind: "raw";
5
+ }
6
+ /** 该轮已有 typed 结论,而这是非最后一个终态助手行:原始散文不可展示。 */
7
+ | {
8
+ kind: "drop";
9
+ }
10
+ /** 该轮已有 typed 结论,而这是最后一个终态助手行:用 typed 文本承载,保留该行的稳定身份与顺序。 */
11
+ | {
12
+ kind: "typed";
13
+ text: string;
14
+ };
15
+ /**
16
+ * 决定一条终态助手行在移动端历史里应展示什么。
17
+ *
18
+ * 模型在 outcome 工具之后补的收尾散文("已发送 ✅"、"补充:……")与 typed assistantText 经常不一致,
19
+ * 实时路径只展示 typed 结论,历史也必须一样,否则刷新会把真正的回答换成收尾话。
20
+ * 判定只依赖结构化事实:该轮用户行里的 sourceRunId、同一轮内的 typed outcome / send-file 回执,
21
+ * 不做任何文本相似度或关键词判断。
22
+ *
23
+ * @param turnRows 该助手行所在用户轮次的全部有效行(用户行在最前)。
24
+ */
25
+ export declare function decideHermesAssistantRow(row: Record<string, unknown>, turnRows: Array<Record<string, unknown>>): HermesAssistantRowDecision;
26
+ /**
27
+ * 在完整的原始行序列(导出回退路径)里,为每个下标计算其所在用户轮次的行。
28
+ * 一次 O(n) 预计算,避免每个助手行都重新扫描整个会话。
29
+ */
30
+ export declare function buildHermesTurnRowResolver(records: Array<Record<string, unknown>>): (index: number) => Array<Record<string, unknown>>;
@@ -0,0 +1,61 @@
1
+ // Hermes 历史投影的"本轮最终回答"决策:与实时路径共用 resolveHermesTurnOutput,保证刷新前后一致。
2
+ import { resolveHermesTurnOutput } from "./hermes-runtime-chat-file-transfer.js";
3
+ import { hermesSourceRunIdFromMessage, isTerminalHermesAssistantMessage, } from "./hermes-runtime-history-completion.js";
4
+ function roleOf(row) {
5
+ return typeof row.role === "string" ? row.role.trim().toLowerCase() : "";
6
+ }
7
+ function isSameRow(left, right) {
8
+ if (left === right)
9
+ return true;
10
+ return left.id !== undefined && left.id !== null && right.id !== undefined && right.id !== null
11
+ && String(left.id) === String(right.id);
12
+ }
13
+ /**
14
+ * 决定一条终态助手行在移动端历史里应展示什么。
15
+ *
16
+ * 模型在 outcome 工具之后补的收尾散文("已发送 ✅"、"补充:……")与 typed assistantText 经常不一致,
17
+ * 实时路径只展示 typed 结论,历史也必须一样,否则刷新会把真正的回答换成收尾话。
18
+ * 判定只依赖结构化事实:该轮用户行里的 sourceRunId、同一轮内的 typed outcome / send-file 回执,
19
+ * 不做任何文本相似度或关键词判断。
20
+ *
21
+ * @param turnRows 该助手行所在用户轮次的全部有效行(用户行在最前)。
22
+ */
23
+ export function decideHermesAssistantRow(row, turnRows) {
24
+ const userRow = turnRows.find((candidate) => roleOf(candidate) === "user");
25
+ const sourceRunId = userRow ? hermesSourceRunIdFromMessage(userRow) : undefined;
26
+ if (!sourceRunId) {
27
+ return { kind: "raw" };
28
+ }
29
+ const output = resolveHermesTurnOutput(turnRows, sourceRunId);
30
+ if (output.kind === "none") {
31
+ return { kind: "raw" };
32
+ }
33
+ const terminalRows = turnRows.filter((candidate) => roleOf(candidate) === "assistant" && isTerminalHermesAssistantMessage(candidate));
34
+ const lastTerminal = terminalRows[terminalRows.length - 1];
35
+ if (!lastTerminal || !isSameRow(row, lastTerminal)) {
36
+ return { kind: "drop" };
37
+ }
38
+ return { kind: "typed", text: output.text };
39
+ }
40
+ /**
41
+ * 在完整的原始行序列(导出回退路径)里,为每个下标计算其所在用户轮次的行。
42
+ * 一次 O(n) 预计算,避免每个助手行都重新扫描整个会话。
43
+ */
44
+ export function buildHermesTurnRowResolver(records) {
45
+ const previousUser = new Array(records.length).fill(-1);
46
+ const nextUser = new Array(records.length).fill(records.length);
47
+ let lastUser = -1;
48
+ records.forEach((record, index) => {
49
+ if (roleOf(record) === "user")
50
+ lastUser = index;
51
+ previousUser[index] = lastUser;
52
+ });
53
+ let upcomingUser = records.length;
54
+ for (let index = records.length - 1; index >= 0; index -= 1) {
55
+ nextUser[index] = upcomingUser;
56
+ if (roleOf(records[index]) === "user")
57
+ upcomingUser = index;
58
+ }
59
+ return (index) => records.slice(Math.max(previousUser[index], 0), nextUser[index]);
60
+ }
61
+ //# sourceMappingURL=hermes-runtime-history-turn-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-runtime-history-turn-output.js","sourceRoot":"","sources":["../../../src/hermes/runtime/hermes-runtime-history-turn-output.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { canonicalizeMobileAssistantText } from "../../core/relay/mobile-chat-run-bridge.js";
3
3
  import { buildHistorySnapshotPage } from "../../core/relay/timeline-event-builder.js";
4
4
  import { isTerminalHermesAssistantMessage } from "./hermes-runtime-history-completion.js";
5
+ import { buildHermesTurnRowResolver, decideHermesAssistantRow, } from "./hermes-runtime-history-turn-output.js";
5
6
  import { hermesStateDbHistoryMessageId, } from "./hermes-state-db-message-identity.js";
6
7
  import { resolveHermesSessionIdFromParams, runHermesSessionExport } from "./hermes-runtime-sessions.js";
7
8
  import { queryHermesHistoryPageFromStateDb } from "./hermes-runtime-state-db.js";
@@ -242,8 +243,11 @@ function normalizeHermesHistoryMessages(parsed, options = {}) {
242
243
  const sessionId = stringParam(record, "sessionId", "session_id", "id");
243
244
  const messages = [];
244
245
  let activeMobileTurn = activeMobileTurnFromContextUser(record.contextUser);
245
- rawMessages.forEach((entry, index) => {
246
- const source = toRecord(entry);
246
+ // 统一成记录数组:导出回退路径按它推导每个助手行所在的轮次(引用相同,可做同一性比较)。
247
+ const sourceRecords = rawMessages.map((entry) => toRecord(entry));
248
+ const resolveTurnRows = buildHermesTurnRowResolver(sourceRecords);
249
+ rawMessages.forEach((_entry, index) => {
250
+ const source = sourceRecords[index];
247
251
  if (Object.keys(source).length === 0) {
248
252
  return;
249
253
  }
@@ -259,7 +263,24 @@ function normalizeHermesHistoryMessages(parsed, options = {}) {
259
263
  if (role === "assistant" && !isTerminalHermesAssistantMessage(source)) {
260
264
  return;
261
265
  }
262
- const rawText = extractHistoryText(source);
266
+ // 同一轮已有 typed 结论(outcome / send-file 回执)时,展示内容与实时路径完全一致:
267
+ // 由本轮最后一个终态助手行承载 typed 文本,其余终态行的原始散文不展示。
268
+ let typedAssistantText;
269
+ if (role === "assistant") {
270
+ // state.db 分页查询随助手行带来 turnRows(按轮次边界直查,不受分页切割影响);
271
+ // 导出回退路径拿到的是完整会话,直接按下标推导。
272
+ const turnRows = Array.isArray(source.turnRows)
273
+ ? source.turnRows.map((row) => toRecord(row))
274
+ : resolveTurnRows(index);
275
+ const decision = decideHermesAssistantRow(source, turnRows);
276
+ if (decision.kind === "drop") {
277
+ return;
278
+ }
279
+ if (decision.kind === "typed") {
280
+ typedAssistantText = decision.text;
281
+ }
282
+ }
283
+ const rawText = typedAssistantText ?? extractHistoryText(source);
263
284
  const mobileTurn = role === "user" ? parseClawConnectMobileTurnMetadata(rawText) : {};
264
285
  const normalized = normalizeHistoryText(role, rawText);
265
286
  const content = normalizeHistoryContentBlocks(source, normalized);