clawconnect-agent 0.1.20 → 0.1.22

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 (78) hide show
  1. package/.env.example +22 -2
  2. package/README.md +8 -0
  3. package/README.zh-CN.md +29 -0
  4. package/dist/commands/install.js +3 -19
  5. package/dist/commands/install.js.map +1 -1
  6. package/dist/commands/set-token.js +2 -1
  7. package/dist/commands/set-token.js.map +1 -1
  8. package/dist/commands/status.js +34 -6
  9. package/dist/commands/status.js.map +1 -1
  10. package/dist/config/config.d.ts +1 -1
  11. package/dist/config/config.js +38 -10
  12. package/dist/config/config.js.map +1 -1
  13. package/dist/config/env.d.ts +2 -1
  14. package/dist/config/env.js +32 -2
  15. package/dist/config/env.js.map +1 -1
  16. package/dist/core/relay/voice-input.js +13 -7
  17. package/dist/core/relay/voice-input.js.map +1 -1
  18. package/dist/hermes/relay/hermes-state-db-realtime.js +4 -21
  19. package/dist/hermes/relay/hermes-state-db-realtime.js.map +1 -1
  20. package/dist/hermes/runtime/hermes-runtime-api-client.js +5 -30
  21. package/dist/hermes/runtime/hermes-runtime-api-client.js.map +1 -1
  22. package/dist/hermes/runtime/hermes-runtime-api-settings.d.ts +19 -0
  23. package/dist/hermes/runtime/hermes-runtime-api-settings.js +69 -0
  24. package/dist/hermes/runtime/hermes-runtime-api-settings.js.map +1 -0
  25. package/dist/hermes/runtime/hermes-runtime-backups.js +6 -4
  26. package/dist/hermes/runtime/hermes-runtime-backups.js.map +1 -1
  27. package/dist/hermes/runtime/hermes-runtime-chat.js +3 -2
  28. package/dist/hermes/runtime/hermes-runtime-chat.js.map +1 -1
  29. package/dist/hermes/runtime/hermes-runtime-lifecycle.js +3 -2
  30. package/dist/hermes/runtime/hermes-runtime-lifecycle.js.map +1 -1
  31. package/dist/hermes/runtime/hermes-runtime-paths.d.ts +9 -0
  32. package/dist/hermes/runtime/hermes-runtime-paths.js +67 -0
  33. package/dist/hermes/runtime/hermes-runtime-paths.js.map +1 -0
  34. package/dist/hermes/runtime/hermes-runtime-process.d.ts +2 -0
  35. package/dist/hermes/runtime/hermes-runtime-process.js +70 -30
  36. package/dist/hermes/runtime/hermes-runtime-process.js.map +1 -1
  37. package/dist/hermes/runtime/hermes-runtime-skills.js +10 -5
  38. package/dist/hermes/runtime/hermes-runtime-skills.js.map +1 -1
  39. package/dist/hermes/runtime/hermes-runtime-state-db.js +3 -18
  40. package/dist/hermes/runtime/hermes-runtime-state-db.js.map +1 -1
  41. package/dist/i18n/index.js +2 -2
  42. package/dist/i18n/index.js.map +1 -1
  43. package/dist/index.js +2 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/openclaw/backups/backup-manager.js +10 -8
  46. package/dist/openclaw/backups/backup-manager.js.map +1 -1
  47. package/dist/openclaw/config/provider-config.js +19 -19
  48. package/dist/openclaw/config/provider-config.js.map +1 -1
  49. package/dist/openclaw/handlers/local-handlers.d.ts +1 -0
  50. package/dist/openclaw/handlers/local-handlers.js +29 -45
  51. package/dist/openclaw/handlers/local-handlers.js.map +1 -1
  52. package/dist/openclaw/relay/chat-send-attachments.js +2 -3
  53. package/dist/openclaw/relay/chat-send-attachments.js.map +1 -1
  54. package/dist/openclaw/relay/outgoing-media-relay.d.ts +1 -0
  55. package/dist/openclaw/relay/outgoing-media-relay.js +18 -7
  56. package/dist/openclaw/relay/outgoing-media-relay.js.map +1 -1
  57. package/dist/openclaw/relay/session-context.js +2 -3
  58. package/dist/openclaw/relay/session-context.js.map +1 -1
  59. package/dist/openclaw/runtime/local-runtime.d.ts +1 -0
  60. package/dist/openclaw/runtime/local-runtime.js +81 -50
  61. package/dist/openclaw/runtime/local-runtime.js.map +1 -1
  62. package/dist/openclaw/runtime/openclaw-paths.d.ts +15 -0
  63. package/dist/openclaw/runtime/openclaw-paths.js +52 -0
  64. package/dist/openclaw/runtime/openclaw-paths.js.map +1 -0
  65. package/dist/openclaw/session-store.js +3 -3
  66. package/dist/openclaw/session-store.js.map +1 -1
  67. package/dist/platform/process-invocation.d.ts +14 -0
  68. package/dist/platform/process-invocation.js +72 -0
  69. package/dist/platform/process-invocation.js.map +1 -0
  70. package/dist/platform/service-manager-windows.d.ts +18 -5
  71. package/dist/platform/service-manager-windows.js +124 -92
  72. package/dist/platform/service-manager-windows.js.map +1 -1
  73. package/dist/platform/service-manager.js +5 -5
  74. package/dist/platform/service-manager.js.map +1 -1
  75. package/dist/platform/text-file-decoder.d.ts +5 -0
  76. package/dist/platform/text-file-decoder.js +40 -0
  77. package/dist/platform/text-file-decoder.js.map +1 -0
  78. package/package.json +3 -2
package/.env.example CHANGED
@@ -22,11 +22,18 @@ CLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn
22
22
  # CLAWCONNECT_ENV_FILE=/Users/you/.clawconnect/.env
23
23
 
24
24
  # Optional: force the local OpenClaw Gateway websocket URL instead of reading
25
- # ~/.openclaw/openclaw.json and falling back to ws://localhost:18789.
25
+ # OPENCLAW_CONFIG_PATH / OPENCLAW_STATE_DIR and falling back to ws://localhost:18789.
26
26
  # CLAWCONNECT_GATEWAY_URL=ws://localhost:18789
27
+ # OPENCLAW_GATEWAY_PORT=18789
28
+
29
+ # Official OpenClaw path overrides for source, Homebrew, container-mounted,
30
+ # dedicated-service-user, and multi-gateway installations.
31
+ # OPENCLAW_HOME=/path/to/openclaw-user-home
32
+ # OPENCLAW_STATE_DIR=/path/to/openclaw-state
33
+ # OPENCLAW_CONFIG_PATH=/path/to/openclaw.json
27
34
 
28
35
  # Optional: Gateway auth fallback.
29
- # Prefer `clawconnect set-token` or ~/.openclaw/openclaw.json when possible.
36
+ # Prefer `clawconnect set-token` or the resolved OPENCLAW_CONFIG_PATH when possible.
30
37
  # OPENCLAW_GATEWAY_TOKEN=
31
38
  # OPENCLAW_GATEWAY_PASSWORD=
32
39
 
@@ -39,3 +46,16 @@ CLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn
39
46
  # Optional: override how local maintenance commands find the OpenClaw CLI.
40
47
  # OPENCLAW_BIN=/usr/local/bin/openclaw
41
48
  # OPENCLAW_PACKAGE_BIN=/path/to/openclaw/package/dist/index.js
49
+ # OPENCLAW_INSTALL_DIR=/path/to/openclaw/source-or-package
50
+
51
+ # Optional Hermes source/data/runtime overrides. Native Windows installs are
52
+ # auto-detected under %LOCALAPPDATA%\hermes; Unix/WSL defaults to ~/.hermes.
53
+ # HERMES_HOME=/path/to/hermes-data
54
+ # HERMES_BIN=/path/to/hermes
55
+ # HERMES_PYTHON=/path/to/python
56
+ # HERMES_SKILLS_DIR=/path/to/hermes-skills
57
+ # CLAWCONNECT_HERMES_STATE_DB=/path/to/state.db
58
+ # CLAWCONNECT_HERMES_API_URL=http://127.0.0.1:8642
59
+ # CLAWCONNECT_HERMES_API_KEY=
60
+ # API_SERVER_HOST=127.0.0.1
61
+ # API_SERVER_PORT=8642
package/README.md CHANGED
@@ -136,6 +136,12 @@ Supported values:
136
136
 
137
137
  - `CLAWCONNECT_RELAY_SERVER_URL` — default relay URL used by `clawconnect pair` when `--server` is omitted
138
138
  - `CLAWCONNECT_GATEWAY_URL` — optional local Gateway websocket URL override
139
+ - `OPENCLAW_GATEWAY_PORT` — optional OpenClaw Gateway port override; the full `CLAWCONNECT_GATEWAY_URL` wins
140
+ - `OPENCLAW_HOME` / `OPENCLAW_STATE_DIR` / `OPENCLAW_CONFIG_PATH` — official OpenClaw path overrides for source, package-manager, container, service-user, or multi-gateway layouts
141
+ - `OPENCLAW_BIN` / `OPENCLAW_PACKAGE_BIN` / `OPENCLAW_INSTALL_DIR` — locate a non-npm or non-PATH OpenClaw CLI/runtime
142
+ - `HERMES_HOME` / `HERMES_BIN` / `HERMES_PYTHON` — override Hermes data, CLI, and Python paths; native Windows auto-detects `%LOCALAPPDATA%\hermes`
143
+ - `HERMES_SKILLS_DIR` / `CLAWCONNECT_HERMES_STATE_DB` — optional explicit Hermes skills and state database paths
144
+ - `CLAWCONNECT_HERMES_API_URL` / `CLAWCONNECT_HERMES_API_KEY` — explicit Hermes API connection; Hermes `API_SERVER_HOST`, `API_SERVER_PORT`, and `API_SERVER_KEY` remain supported
139
145
  - `CLAWCONNECT_ENV_FILE` — optional explicit env file path. When unset, the agent reads `~/.clawconnect/.env`, then `.env.local`, then `.env`
140
146
  - `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD` — Gateway auth fallback
141
147
  - `CLAWCONNECT_ASR_COMMAND` — host-side speech-to-text command for ClawLink `chat.voice.send` messages. The agent saves the audio to a temporary file and runs this command; it must print the transcript to stdout. Placeholders: `{file}`, `{language}`, `{mimeType}`
@@ -179,6 +185,8 @@ clawconnect install
179
185
  - Linux: prefers `systemd --user`, and falls back to `nohup` when `systemctl --user` is unavailable
180
186
  - Windows: registers a Windows Task Scheduler task that auto-starts at logon with silent console (`powershell -WindowStyle Hidden`)
181
187
 
188
+ Windows profiles use isolated scheduled tasks and UTF-8 logs, for example `ClawConnectAgent-openclaw` and `ClawConnectAgent-hermes`.
189
+
182
190
  On Linux hosts without `systemd --user`, `clawconnect install` will generate a fallback launcher at:
183
191
 
184
192
  ```bash
package/README.zh-CN.md CHANGED
@@ -143,6 +143,12 @@ $EDITOR ~/.clawconnect/.env
143
143
 
144
144
  - `CLAWCONNECT_RELAY_SERVER_URL`:未传 `--server` 时,`clawconnect pair` 使用的默认中继地址
145
145
  - `CLAWCONNECT_GATEWAY_URL`:可选,本机 OpenClaw Gateway WebSocket 地址覆盖值
146
+ - `OPENCLAW_GATEWAY_PORT`:只覆盖 OpenClaw Gateway 端口;`CLAWCONNECT_GATEWAY_URL` 优先级更高
147
+ - `OPENCLAW_HOME` / `OPENCLAW_STATE_DIR` / `OPENCLAW_CONFIG_PATH`:OpenClaw 官方路径覆盖;源码、Homebrew、容器挂载、独立服务用户和多网关安装都应使用这些值
148
+ - `OPENCLAW_BIN` / `OPENCLAW_PACKAGE_BIN` / `OPENCLAW_INSTALL_DIR`:OpenClaw 不在 PATH 或不是 npm 安装时,指定 CLI/JS 入口或安装根目录
149
+ - `HERMES_HOME` / `HERMES_BIN` / `HERMES_PYTHON`:Hermes 数据目录、CLI 与 Python 覆盖;Windows 会先自动探测 `%LOCALAPPDATA%\hermes`
150
+ - `HERMES_SKILLS_DIR` / `CLAWCONNECT_HERMES_STATE_DB`:可选,单独指定 Hermes 技能目录和状态数据库路径
151
+ - `CLAWCONNECT_HERMES_API_URL` / `CLAWCONNECT_HERMES_API_KEY`:Hermes API 完整地址与鉴权;也兼容 Hermes 自己的 `API_SERVER_HOST`、`API_SERVER_PORT`、`API_SERVER_KEY`
146
152
  - `CLAWCONNECT_ENV_FILE`:可选,显式指定 env 文件路径;未设置时会依次读取 `~/.clawconnect/.env`、`.env.local`、`.env`
147
153
  - `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`:Gateway 鉴权兜底值
148
154
  - `CLAWCONNECT_ASR_COMMAND`:宿主机语音转文字命令。ClawLink 发送 `chat.voice.send` 后,agent 会把音频保存到临时文件,并执行这个命令;命令必须把识别文本输出到 stdout。可用占位符:`{file}`、`{language}`、`{mimeType}`
@@ -150,6 +156,27 @@ $EDITOR ~/.clawconnect/.env
150
156
 
151
157
  Shell 里已经设置的环境变量优先级高于 env 文件。`clawconnect run`、`status`、`send-file` 会继续使用 `~/.clawconnect/config.json` 或 `~/.clawconnect/profiles/<profile>/config.json` 里已配对保存的 relay;如果要切换中继服务器,请执行 `clawconnect pair --profile <name> --server <url>` 或 `clawconnect reset --profile <name>`。
152
158
 
159
+ 例如 OpenClaw 使用自定义状态目录和 `19001` 端口时:
160
+
161
+ ```dotenv
162
+ OPENCLAW_STATE_DIR=D:\OpenClawData
163
+ OPENCLAW_CONFIG_PATH=D:\OpenClawData\openclaw.json
164
+ OPENCLAW_GATEWAY_PORT=19001
165
+ OPENCLAW_BIN=D:\Apps\OpenClaw\openclaw.cmd
166
+ ```
167
+
168
+ Hermes 原生 Windows 非默认安装可配置:
169
+
170
+ ```dotenv
171
+ HERMES_HOME=D:\HermesData
172
+ HERMES_BIN=D:\Hermes\hermes-agent\venv\Scripts\hermes.exe
173
+ HERMES_PYTHON=D:\Hermes\hermes-agent\venv\Scripts\python.exe
174
+ CLAWCONNECT_HERMES_STATE_DB=D:\HermesData\state.db
175
+ CLAWCONNECT_HERMES_API_URL=http://127.0.0.1:9642
176
+ ```
177
+
178
+ 保存后执行 `clawconnect restart --profile <name>`,再用 `clawconnect status --profile <name>` 核对实际使用的 Gateway、state/config、Hermes home/API。如仅使用 Hermes CLI,可以不配置 API URL。
179
+
153
180
  ### 3. 前台运行
154
181
 
155
182
  以当前终端前台方式启动代理:
@@ -191,6 +218,8 @@ clawconnect install
191
218
  - 如果 Linux 当前环境不支持 `systemd --user`,会自动回退到 `nohup`
192
219
  - Windows:注册为 Windows Task Scheduler 任务,登录时自动静默启动(`powershell -WindowStyle Hidden`)
193
220
 
221
+ Windows 的不同 profile 使用独立计划任务(例如 `ClawConnectAgent-openclaw`、`ClawConnectAgent-hermes`)和独立 UTF-8 日志,不会互相覆盖。
222
+
194
223
  在不支持 `systemd --user` 的 Linux 环境下,会生成一个备用启动脚本:
195
224
 
196
225
  ```bash
@@ -1,27 +1,10 @@
1
1
  import { existsSync, unlinkSync } from "fs";
2
- import { execFileSync } from "child_process";
3
2
  import { t } from "../i18n/index.js";
4
3
  import { getServicePlatform, getServiceStatus, getServicePaths, installService, restartService, setRestrictiveFilePermissions, stopService, uninstallService, } from "../platform/service-manager.js";
5
4
  import { getActiveProfile, profileConfigPath, profileDisplayName } from "../config/profile.js";
6
5
  import { pairCommandForProfile } from "./profile-hints.js";
7
6
  export function isInstalled() {
8
- const platform = getServicePlatform();
9
- const servicePaths = getServicePaths();
10
- if (platform === "macos")
11
- return existsSync(servicePaths.macPlistPath);
12
- if (platform === "linux") {
13
- return existsSync(servicePaths.linuxServicePath) || existsSync(servicePaths.linuxNohupStartScriptPath);
14
- }
15
- if (platform === "windows") {
16
- try {
17
- execFileSync("schtasks", ["/query", "/tn", "ClawConnectAgent"], { stdio: "pipe" });
18
- return true;
19
- }
20
- catch {
21
- return false;
22
- }
23
- }
24
- return false;
7
+ return getServiceStatus().installed;
25
8
  }
26
9
  export function installCommand() {
27
10
  const platform = getServicePlatform();
@@ -49,7 +32,8 @@ export function installCommand() {
49
32
  console.log(t("install.startManually", `bash "${servicePaths.linuxNohupStartScriptPath}"`));
50
33
  }
51
34
  else if (platform === "windows") {
52
- console.log(t("install.startManually", 'schtasks /run /tn "ClawConnectAgent"'));
35
+ const taskName = getServiceStatus().serviceName;
36
+ console.log(t("install.startManually", `schtasks /run /tn "${taskName}"`));
53
37
  }
54
38
  }
55
39
  export function restartCommand() {
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  import readline from "readline";
2
2
  import { readConfig, writeConfig } from "../config/config.js";
3
3
  import { t } from "../i18n/index.js";
4
+ import { resolveOpenClawConfigPath } from "../openclaw/runtime/openclaw-paths.js";
4
5
  export async function setTokenCommand() {
5
6
  // Require pairing to be done first
6
7
  let config;
@@ -15,7 +16,7 @@ export async function setTokenCommand() {
15
16
  console.log(t("setToken.whereToFind"));
16
17
  console.log(t("setToken.option1"));
17
18
  console.log(t("setToken.option2"));
18
- console.log(t("setToken.option2cmd"));
19
+ console.log(t("setToken.option2path", resolveOpenClawConfigPath()));
19
20
  console.log(t("setToken.option3"));
20
21
  // Prompt for the token
21
22
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
@@ -1 +1 @@
1
- {"version":3,"file":"set-token.js","sourceRoot":"","sources":["../../src/commands/set-token.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,mCAAmC;IACnC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEnC,uBAAuB;IACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAClD,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;IACP,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,OAAO,MAAM,CAAC,eAAe,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,YAAY,CAAC;QAC3B,OAAO,MAAM,CAAC,eAAe,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"set-token.js","sourceRoot":"","sources":["../../src/commands/set-token.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,mCAAmC;IACnC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEnC,uBAAuB;IACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAClD,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;IACP,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,OAAO,MAAM,CAAC,eAAe,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,YAAY,CAAC;QAC3B,OAAO,MAAM,CAAC,eAAe,CAAC;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrC,CAAC"}
@@ -1,9 +1,13 @@
1
1
  import { existsSync, readFileSync } from "fs";
2
- import { execSync } from "child_process";
2
+ import { execFileSync } from "child_process";
3
3
  import { configExists, readConfig, readGatewayUrl } from "../config/config.js";
4
4
  import { listProfileNames, profileDisplayName } from "../config/profile.js";
5
5
  import { t } from "../i18n/index.js";
6
6
  import { getServiceStatus } from "../platform/service-manager.js";
7
+ import { decodeTextBuffer } from "../platform/text-file-decoder.js";
8
+ import { resolveOpenClawConfigPath, resolveOpenClawStateDir } from "../openclaw/runtime/openclaw-paths.js";
9
+ import { resolveHermesHomeDir } from "../hermes/runtime/hermes-runtime-paths.js";
10
+ import { resolveHermesApiSettings } from "../hermes/runtime/hermes-runtime-api-settings.js";
7
11
  export function statusCommand(opts = {}) {
8
12
  if (opts.profile === "all") {
9
13
  const profiles = listProfileNames();
@@ -43,6 +47,21 @@ function statusOne(profile) {
43
47
  }
44
48
  if (gatewayType === "openclaw") {
45
49
  console.log(t("status.gateway", readGatewayUrl()));
50
+ console.log(`OpenClaw state: ${resolveOpenClawStateDir()}`);
51
+ console.log(`OpenClaw config: ${resolveOpenClawConfigPath()}`);
52
+ const openClawInstall = process.env.OPENCLAW_BIN?.trim()
53
+ || process.env.OPENCLAW_PACKAGE_BIN?.trim()
54
+ || process.env.OPENCLAW_INSTALL_DIR?.trim();
55
+ if (openClawInstall) {
56
+ console.log(`OpenClaw runtime: ${openClawInstall}`);
57
+ }
58
+ }
59
+ else {
60
+ console.log(`Hermes home: ${resolveHermesHomeDir()}`);
61
+ const hermesApi = resolveHermesApiSettings();
62
+ if (hermesApi.configured) {
63
+ console.log(`Hermes API: ${hermesApi.baseUrl}`);
64
+ }
46
65
  }
47
66
  const service = getServiceStatus(profile);
48
67
  if (service.platform === "unsupported") {
@@ -88,15 +107,24 @@ export function readHealth(logPath, gatewayType = "openclaw") {
88
107
  function readTailLines(path, maxLines) {
89
108
  let raw;
90
109
  try {
91
- raw = readFileSync(path, "utf-8");
110
+ raw = decodeTextBuffer(readFileSync(path)).text;
92
111
  }
93
112
  catch {
94
- // Windows: agent process may hold the log file with exclusive write lock,
95
- // causing EBUSY/EPERM on read. Attempt to read via 'type' command which
96
- // often bypasses simple write locks.
113
+ // Windows 兜底通过环境变量传路径并返回 Base64,避免 cmd 路径转义和控制台代码页污染日志内容。
97
114
  if (process.platform === "win32") {
98
115
  try {
99
- raw = execSync(`type "${path}"`, { stdio: "pipe", windowsHide: true }).toString();
116
+ const base64 = execFileSync("powershell.exe", [
117
+ "-NoProfile",
118
+ "-NonInteractive",
119
+ "-Command",
120
+ "[Convert]::ToBase64String([IO.File]::ReadAllBytes($env:CLAWCONNECT_LOG_PATH))",
121
+ ], {
122
+ encoding: "utf8",
123
+ env: { ...process.env, CLAWCONNECT_LOG_PATH: path },
124
+ stdio: "pipe",
125
+ windowsHide: true,
126
+ }).trim();
127
+ raw = decodeTextBuffer(Buffer.from(base64, "base64")).text;
100
128
  }
101
129
  catch {
102
130
  return [];
@@ -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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"}
@@ -18,7 +18,7 @@ export declare function readGatewayUrl(): string;
18
18
  /**
19
19
  * Reads the gateway token or password. Priority order:
20
20
  * 1. ~/.clawconnect/config.json (gatewayToken / gatewayPassword)
21
- * 2. ~/.openclaw/openclaw.json (gateway.token / gateway.auth.token)
21
+ * 2. The resolved OpenClaw config (gateway.token / gateway.auth.token)
22
22
  * 3. Environment variables (OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD)
23
23
  */
24
24
  export declare function readGatewayAuth(cfg: ClawConnectConfig): {
@@ -1,10 +1,11 @@
1
1
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
2
- import { join } from "path";
3
- import { homedir } from "os";
4
- import { DEFAULT_GATEWAY_URL, getConfiguredGatewayUrl } from "./env.js";
2
+ import JSON5 from "json5";
3
+ import { DEFAULT_GATEWAY_URL, getConfiguredGatewayPort, getConfiguredGatewayUrl } from "./env.js";
4
+ import { parseEnvFile } from "./env.js";
5
5
  import { setRestrictiveDirPermissions, setRestrictiveFilePermissions, } from "../platform/service-manager-common.js";
6
6
  import { CLAWCONNECT_HOME, profileConfigPath, profileRoot } from "./profile.js";
7
- const OPENCLAW_CONFIG_PATH = join(homedir(), ".openclaw", "openclaw.json");
7
+ import { resolveOpenClawConfigPath, resolveOpenClawStateDir } from "../openclaw/runtime/openclaw-paths.js";
8
+ import { join } from "node:path";
8
9
  export function getConfigPath(profile) {
9
10
  return profileConfigPath(profile);
10
11
  }
@@ -33,10 +34,22 @@ export function readGatewayUrl() {
33
34
  if (configuredGatewayUrl) {
34
35
  return configuredGatewayUrl;
35
36
  }
37
+ const configuredGatewayPort = getConfiguredGatewayPort();
38
+ if (configuredGatewayPort) {
39
+ return `ws://localhost:${configuredGatewayPort}`;
40
+ }
41
+ const stateEnvGatewayPort = getConfiguredGatewayPort(readOpenClawStateEnv());
42
+ if (stateEnvGatewayPort) {
43
+ return `ws://localhost:${stateEnvGatewayPort}`;
44
+ }
36
45
  try {
37
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
38
- const json = JSON.parse(raw);
39
- const port = json?.gateway?.port ?? 18789;
46
+ const raw = readFileSync(resolveOpenClawConfigPath(), "utf-8");
47
+ const json = JSON5.parse(raw);
48
+ const configuredPort = json?.gateway?.port;
49
+ const port = typeof configuredPort === "number" && Number.isInteger(configuredPort)
50
+ && configuredPort >= 1 && configuredPort <= 65_535
51
+ ? configuredPort
52
+ : 18789;
40
53
  return `ws://localhost:${port}`;
41
54
  }
42
55
  catch {
@@ -46,7 +59,7 @@ export function readGatewayUrl() {
46
59
  /**
47
60
  * Reads the gateway token or password. Priority order:
48
61
  * 1. ~/.clawconnect/config.json (gatewayToken / gatewayPassword)
49
- * 2. ~/.openclaw/openclaw.json (gateway.token / gateway.auth.token)
62
+ * 2. The resolved OpenClaw config (gateway.token / gateway.auth.token)
50
63
  * 3. Environment variables (OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD)
51
64
  */
52
65
  export function readGatewayAuth(cfg) {
@@ -55,8 +68,8 @@ export function readGatewayAuth(cfg) {
55
68
  }
56
69
  // Try to read the token from OpenClaw's own config
57
70
  try {
58
- const raw = readFileSync(OPENCLAW_CONFIG_PATH, "utf-8");
59
- const json = JSON.parse(raw);
71
+ const raw = readFileSync(resolveOpenClawConfigPath(), "utf-8");
72
+ const json = JSON5.parse(raw);
60
73
  const token = json?.gateway?.token ?? json?.gateway?.auth?.token ?? undefined;
61
74
  const password = json?.gateway?.password ?? json?.gateway?.auth?.password ?? undefined;
62
75
  if (token || password)
@@ -71,6 +84,21 @@ export function readGatewayAuth(cfg) {
71
84
  if (envToken || envPassword) {
72
85
  return { token: envToken, password: envPassword };
73
86
  }
87
+ const stateEnv = readOpenClawStateEnv();
88
+ if (stateEnv.OPENCLAW_GATEWAY_TOKEN || stateEnv.OPENCLAW_GATEWAY_PASSWORD) {
89
+ return {
90
+ token: stateEnv.OPENCLAW_GATEWAY_TOKEN,
91
+ password: stateEnv.OPENCLAW_GATEWAY_PASSWORD,
92
+ };
93
+ }
74
94
  return {};
75
95
  }
96
+ function readOpenClawStateEnv() {
97
+ try {
98
+ return parseEnvFile(readFileSync(join(resolveOpenClawStateDir(), ".env"), "utf8"));
99
+ }
100
+ catch {
101
+ return {};
102
+ }
103
+ }
76
104
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const DEFAULT_RELAY_SERVER_URL = "https://clawlinks.cn";
2
2
  export declare const DEFAULT_GATEWAY_URL = "ws://localhost:18789";
3
- export declare const AGENT_ENV_TEMPLATE = "# ClawConnect Agent environment configuration.\n# Copy this file to ~/.clawconnect/.env for an installed agent.\n# For local development from this package directory, copy it to .env.local.\n#\n# Precedence:\n# 1. Shell environment variables\n# 2. CLAWCONNECT_ENV_FILE, if set\n# 3. ~/.clawconnect/.env\n# 4. .env.local\n# 5. .env\n# 6. Built-in defaults\n#\n# Existing pairing credentials in ~/.clawconnect/config.json still control\n# `clawconnect run`, `status`, and `send-file`. Use `clawconnect pair --server`\n# or `clawconnect reset` when switching relay servers.\n\n# Default relay used by `clawconnect pair` when --server is omitted.\nCLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn\n\n# Optional: explicitly select another env file.\n# Usually set this in your shell, not inside ~/.clawconnect/.env.\n# CLAWCONNECT_ENV_FILE=/Users/you/.clawconnect/.env\n\n# Optional: force the local OpenClaw Gateway websocket URL instead of reading\n# ~/.openclaw/openclaw.json and falling back to ws://localhost:18789.\n# CLAWCONNECT_GATEWAY_URL=ws://localhost:18789\n\n# Optional: Gateway auth fallback.\n# Prefer `clawconnect set-token` or ~/.openclaw/openclaw.json when possible.\n# OPENCLAW_GATEWAY_TOKEN=\n# OPENCLAW_GATEWAY_PASSWORD=\n\n# Optional: host-side speech-to-text for ClawLink voice messages.\n# Command must print the transcript to stdout. Available placeholders:\n# {file}, {language}, {mimeType}\n# OPENCLAW_ASR_COMMAND=/usr/local/bin/transcribe-audio {file} {language}\n\n# Optional: override how local maintenance commands find the OpenClaw CLI.\n# OPENCLAW_BIN=/usr/local/bin/openclaw\n# OPENCLAW_PACKAGE_BIN=/path/to/openclaw/package/dist/index.js\n";
3
+ export declare const AGENT_ENV_TEMPLATE = "# ClawConnect Agent environment configuration.\n# Copy this file to ~/.clawconnect/.env for an installed agent.\n# For local development from this package directory, copy it to .env.local.\n#\n# Precedence:\n# 1. Shell environment variables\n# 2. CLAWCONNECT_ENV_FILE, if set\n# 3. ~/.clawconnect/.env\n# 4. .env.local\n# 5. .env\n# 6. Built-in defaults\n#\n# Existing pairing credentials in ~/.clawconnect/config.json still control\n# `clawconnect run`, `status`, and `send-file`. Use `clawconnect pair --server`\n# or `clawconnect reset` when switching relay servers.\n\n# Default relay used by `clawconnect pair` when --server is omitted.\nCLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn\n\n# Optional: explicitly select another env file.\n# Usually set this in your shell, not inside ~/.clawconnect/.env.\n# CLAWCONNECT_ENV_FILE=/Users/you/.clawconnect/.env\n\n# Optional: force the local OpenClaw Gateway websocket URL instead of reading\n# OPENCLAW_CONFIG_PATH / OPENCLAW_STATE_DIR and falling back to ws://localhost:18789.\n# CLAWCONNECT_GATEWAY_URL=ws://localhost:18789\n\n# Optional: override only the OpenClaw Gateway port. The full URL above wins.\n# OPENCLAW_GATEWAY_PORT=18789\n\n# Optional: OpenClaw official path overrides. These support source, Homebrew,\n# container-mounted, dedicated-service-user, and multi-gateway installations.\n# OPENCLAW_HOME=/path/to/openclaw-user-home\n# OPENCLAW_STATE_DIR=/path/to/openclaw-state\n# OPENCLAW_CONFIG_PATH=/path/to/openclaw.json\n\n# Optional: Gateway auth fallback.\n# Prefer `clawconnect set-token` or the resolved OPENCLAW_CONFIG_PATH when possible.\n# OPENCLAW_GATEWAY_TOKEN=\n# OPENCLAW_GATEWAY_PASSWORD=\n\n# Optional: host-side speech-to-text for ClawLink voice messages.\n# Command must print the transcript to stdout. Available placeholders:\n# {file}, {language}, {mimeType}\n# OPENCLAW_ASR_COMMAND=/usr/local/bin/transcribe-audio {file} {language}\n\n# Optional: override how local maintenance commands find the OpenClaw CLI.\n# OPENCLAW_BIN=/usr/local/bin/openclaw\n# OPENCLAW_PACKAGE_BIN=/path/to/openclaw/package/dist/index.js\n# OPENCLAW_INSTALL_DIR=/path/to/openclaw/source-or-package\n\n# Optional: Hermes source/data/runtime overrides. Native Windows installs are\n# auto-detected under %LOCALAPPDATA%hermes; Unix/WSL defaults to ~/.hermes.\n# HERMES_HOME=/path/to/hermes-data\n# HERMES_BIN=/path/to/hermes\n# HERMES_PYTHON=/path/to/python\n# HERMES_SKILLS_DIR=/path/to/hermes-skills\n# CLAWCONNECT_HERMES_STATE_DB=/path/to/state.db\n# CLAWCONNECT_HERMES_API_URL=http://127.0.0.1:8642\n# CLAWCONNECT_HERMES_API_KEY=\n# API_SERVER_HOST=127.0.0.1\n# API_SERVER_PORT=8642\n";
4
4
  type EnvMap = Record<string, string | undefined>;
5
5
  export interface LoadEnvOptions {
6
6
  cwd?: string;
@@ -9,6 +9,7 @@ export interface LoadEnvOptions {
9
9
  }
10
10
  export declare function getDefaultRelayServerUrl(env?: EnvMap): string;
11
11
  export declare function getConfiguredGatewayUrl(env?: EnvMap): string | undefined;
12
+ export declare function getConfiguredGatewayPort(env?: EnvMap): number | undefined;
12
13
  export declare function getUserEnvPath(): string;
13
14
  export declare function ensureUserEnvFile(path?: string): boolean;
14
15
  export declare function loadAgentEnv(options?: LoadEnvOptions): string[];
@@ -28,11 +28,20 @@ CLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn
28
28
  # CLAWCONNECT_ENV_FILE=/Users/you/.clawconnect/.env
29
29
 
30
30
  # Optional: force the local OpenClaw Gateway websocket URL instead of reading
31
- # ~/.openclaw/openclaw.json and falling back to ws://localhost:18789.
31
+ # OPENCLAW_CONFIG_PATH / OPENCLAW_STATE_DIR and falling back to ws://localhost:18789.
32
32
  # CLAWCONNECT_GATEWAY_URL=ws://localhost:18789
33
33
 
34
+ # Optional: override only the OpenClaw Gateway port. The full URL above wins.
35
+ # OPENCLAW_GATEWAY_PORT=18789
36
+
37
+ # Optional: OpenClaw official path overrides. These support source, Homebrew,
38
+ # container-mounted, dedicated-service-user, and multi-gateway installations.
39
+ # OPENCLAW_HOME=/path/to/openclaw-user-home
40
+ # OPENCLAW_STATE_DIR=/path/to/openclaw-state
41
+ # OPENCLAW_CONFIG_PATH=/path/to/openclaw.json
42
+
34
43
  # Optional: Gateway auth fallback.
35
- # Prefer \`clawconnect set-token\` or ~/.openclaw/openclaw.json when possible.
44
+ # Prefer \`clawconnect set-token\` or the resolved OPENCLAW_CONFIG_PATH when possible.
36
45
  # OPENCLAW_GATEWAY_TOKEN=
37
46
  # OPENCLAW_GATEWAY_PASSWORD=
38
47
 
@@ -44,6 +53,19 @@ CLAWCONNECT_RELAY_SERVER_URL=https://clawlinks.cn
44
53
  # Optional: override how local maintenance commands find the OpenClaw CLI.
45
54
  # OPENCLAW_BIN=/usr/local/bin/openclaw
46
55
  # OPENCLAW_PACKAGE_BIN=/path/to/openclaw/package/dist/index.js
56
+ # OPENCLAW_INSTALL_DIR=/path/to/openclaw/source-or-package
57
+
58
+ # Optional: Hermes source/data/runtime overrides. Native Windows installs are
59
+ # auto-detected under %LOCALAPPDATA%\hermes; Unix/WSL defaults to ~/.hermes.
60
+ # HERMES_HOME=/path/to/hermes-data
61
+ # HERMES_BIN=/path/to/hermes
62
+ # HERMES_PYTHON=/path/to/python
63
+ # HERMES_SKILLS_DIR=/path/to/hermes-skills
64
+ # CLAWCONNECT_HERMES_STATE_DB=/path/to/state.db
65
+ # CLAWCONNECT_HERMES_API_URL=http://127.0.0.1:8642
66
+ # CLAWCONNECT_HERMES_API_KEY=
67
+ # API_SERVER_HOST=127.0.0.1
68
+ # API_SERVER_PORT=8642
47
69
  `;
48
70
  export function getDefaultRelayServerUrl(env = process.env) {
49
71
  return normalizeNonEmpty(env.CLAWCONNECT_RELAY_SERVER_URL) ?? DEFAULT_RELAY_SERVER_URL;
@@ -51,6 +73,14 @@ export function getDefaultRelayServerUrl(env = process.env) {
51
73
  export function getConfiguredGatewayUrl(env = process.env) {
52
74
  return normalizeNonEmpty(env.CLAWCONNECT_GATEWAY_URL);
53
75
  }
76
+ export function getConfiguredGatewayPort(env = process.env) {
77
+ const value = normalizeNonEmpty(env.OPENCLAW_GATEWAY_PORT);
78
+ if (!value || !/^\d+$/.test(value)) {
79
+ return undefined;
80
+ }
81
+ const port = Number.parseInt(value, 10);
82
+ return port >= 1 && port <= 65_535 ? port : undefined;
83
+ }
54
84
  export function getUserEnvPath() {
55
85
  return join(homedir(), ".clawconnect", ".env");
56
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCjC,CAAC;AAUF,MAAM,UAAU,wBAAwB,CAAC,MAAc,OAAO,CAAC,GAAG;IAChE,OAAO,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,wBAAwB,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc,OAAO,CAAC,GAAG;IAC/D,OAAO,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAAG,cAAc,EAAE;IACvD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACjD,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAA0B,EAAE;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACnG,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,cAAc,IAAI,CAAC;YAAE,SAAS;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,GAAW;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,OAAO,KAAK;SACT,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { tmpdir } from "node:os";
4
4
  import { basename, extname, join } from "node:path";
5
5
  import { promisify } from "node:util";
6
6
  import { extensionForMimeType } from "./attachment-staging.js";
7
+ import { buildShellCommandInvocation, quoteShellArgument } from "../../platform/process-invocation.js";
7
8
  const execFile = promisify(execFileCb);
8
9
  export async function prepareVoiceSendParams(rawParams, options = {}) {
9
10
  const record = rawParams && typeof rawParams === "object" && !Array.isArray(rawParams)
@@ -60,12 +61,20 @@ async function transcribeAudioWithConfiguredCommand(opts) {
60
61
  throw new Error("voice_asr_not_configured");
61
62
  }
62
63
  const rendered = command
63
- .replaceAll("{file}", shellQuote(opts.audioPath))
64
- .replaceAll("{language}", shellQuote(opts.languageHint ?? ""))
65
- .replaceAll("{mimeType}", shellQuote(opts.mimeType));
66
- const { stdout } = await execFile("sh", ["-lc", rendered], {
64
+ .replaceAll("{file}", quoteShellArgument(opts.audioPath))
65
+ .replaceAll("{language}", quoteShellArgument(opts.languageHint ?? ""))
66
+ .replaceAll("{mimeType}", quoteShellArgument(opts.mimeType));
67
+ const invocation = buildShellCommandInvocation(rendered);
68
+ const { stdout } = await execFile(invocation.command, invocation.args, {
67
69
  timeout: 120_000,
68
70
  maxBuffer: 10 * 1024 * 1024,
71
+ encoding: "utf8",
72
+ windowsHide: true,
73
+ env: {
74
+ ...process.env,
75
+ PYTHONUTF8: "1",
76
+ PYTHONIOENCODING: "utf-8",
77
+ },
69
78
  });
70
79
  return stdout.trim();
71
80
  }
@@ -114,7 +123,4 @@ function sanitizeFileName(value, mimeType) {
114
123
  function stringValue(value) {
115
124
  return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
116
125
  }
117
- function shellQuote(value) {
118
- return `'${value.replaceAll("'", "'\\''")}'`;
119
- }
120
126
  //# sourceMappingURL=voice-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"voice-input.js","sourceRoot":"","sources":["../../../src/core/relay/voice-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-input.js","sourceRoot":"","sources":["../../../src/core/relay/voice-input.ts"],"names":[],"mappings":"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"}