@xiaoqiong0v0/opencode-ssh-tool 0.6.15 → 0.6.17

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 (55) hide show
  1. package/README.md +15 -10
  2. package/dist/agent.d.ts +4 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +17 -2
  5. package/dist/agent.js.map +1 -1
  6. package/dist/base-session.d.ts +64 -32
  7. package/dist/base-session.d.ts.map +1 -1
  8. package/dist/base-session.js +235 -106
  9. package/dist/base-session.js.map +1 -1
  10. package/dist/constants.d.ts +7 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +7 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/i18n.d.ts +22 -2
  15. package/dist/i18n.d.ts.map +1 -1
  16. package/dist/i18n.js +22 -2
  17. package/dist/i18n.js.map +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +28 -4
  20. package/dist/index.js.map +1 -1
  21. package/dist/local-session.d.ts +3 -1
  22. package/dist/local-session.d.ts.map +1 -1
  23. package/dist/local-session.js +82 -4
  24. package/dist/local-session.js.map +1 -1
  25. package/dist/log.d.ts +8 -0
  26. package/dist/log.d.ts.map +1 -1
  27. package/dist/log.js +28 -1
  28. package/dist/log.js.map +1 -1
  29. package/dist/parse-check.d.ts +20 -0
  30. package/dist/parse-check.d.ts.map +1 -0
  31. package/dist/parse-check.js +505 -0
  32. package/dist/parse-check.js.map +1 -0
  33. package/dist/precheck.d.ts +32 -0
  34. package/dist/precheck.d.ts.map +1 -0
  35. package/dist/precheck.js +105 -0
  36. package/dist/precheck.js.map +1 -0
  37. package/dist/server.d.ts.map +1 -1
  38. package/dist/server.js +41 -5
  39. package/dist/server.js.map +1 -1
  40. package/dist/session-store.d.ts +33 -0
  41. package/dist/session-store.d.ts.map +1 -1
  42. package/dist/session-store.js +55 -0
  43. package/dist/session-store.js.map +1 -1
  44. package/dist/session.js +1 -1
  45. package/dist/session.js.map +1 -1
  46. package/dist/shell-adapter.d.ts +14 -0
  47. package/dist/shell-adapter.d.ts.map +1 -1
  48. package/dist/shell-adapter.js +58 -10
  49. package/dist/shell-adapter.js.map +1 -1
  50. package/dist/utils.d.ts +8 -34
  51. package/dist/utils.d.ts.map +1 -1
  52. package/dist/utils.js +22 -64
  53. package/dist/utils.js.map +1 -1
  54. package/dist/web/app.js +1 -1
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -7,7 +7,8 @@ opencode 插件:让 opencode 像人一样操作**长驻交互式终端会话**
7
7
  - **长驻会话**:`term_cli connect` 建立连接后,`term_cli exec` 在同一会话执行命令,保留 cwd/环境/后台进程/sudo 缓存
8
8
  - **PTY 交互**:分配伪终端,可处理 sudo 密码、vi、top 等交互程序
9
9
  - **权限管控**:只读白名单直接放行、危险命令黑名单硬拒、其余走 `context.ask()` 用户审批
10
- - **命令完成判定**:完成标记法(`<SSH_DONE:seq:退出码>`)+ 静默窗口 + 动画检测(进度条等长输出自动识别)三重判定;**断连兜底,不设超时强杀**(长命令由 Ctrl-C 干预);未闭合引号/反引号等会触发 shell 续行的命令提交前拦截
10
+ - **命令完成判定**:真实完成只认 `<SSH_DONE:<nonce>:<seq>:<退出码>>`;Ctrl-C 用独立 `<SSH_PROBE:...>` 探针标记收尾(写完 `\x03` 立即补发首条,之后按 `interruptProbeInterval` 周期补发)。**不设超时强杀**,也不把「静默窗口 / 动画」当完成判据——动画窗口只把长命令转后台继续监听;语法错误安静收尾、不再补发探针;未闭合引号/反引号等会触发 shell 续行的命令提交前拦截;**断连兜底**
11
+ - **发送前语法预检**:本机(本地/容器)命令发送前做语法预检,命中错误直接拦下、不写入终端;SSH 远程不预检、直接放行
11
12
  - **双视图**:transcript(命令+输出消息对)与 raw(xterm.js 实时画面,支持 vi/top 等全屏程序);终端尺寸前后端一致固定 `120×40`
12
13
  - **直接输入(焦点驱动)**:浏览器内直接向交互式程序输入。默认「命令框优先」——按键留在浏览器,回车走 `exec` 提交命令;点终端区域(transcript `#term` / raw `#xt`)或入口按钮 `#cmdKey` 切换为直接输入,按键按**真实控制字节**经 `send` keystroke 通道发往终端(**不产生 `exec`、不写命令记录**);焦点回到命令框等可编辑控件即自动关闭;状态**不持久化**,每次打开都从命令框优先开始;离线/断线时入口不可点击、按键一律不发送
13
14
  - **SSH 保活 + WS 心跳**:SSH 层按 `ServerAliveInterval` 语义定期发 `keepalive@openssh.com`(连接层**带外**消息,不写 channel/PTY),连续 3 次无响应判连接死亡并断连;WS 层 server 每 25s 下发 `ping`、10s 无 `pong` 判半开并断开,客户端静默超 2×间隔即主动断开重连——**保活与心跳都不写入 PTY,不污染终端输出与完成标记**
@@ -20,7 +21,7 @@ opencode 插件:让 opencode 像人一样操作**长驻交互式终端会话**
20
21
  ```jsonc
21
22
  // opencode.json
22
23
  {
23
- "plugin": ["opencode-ssh-tool"]
24
+ "plugin": ["@xiaoqiong0v0/opencode-ssh-tool"]
24
25
  }
25
26
  ```
26
27
 
@@ -36,7 +37,7 @@ opencode 插件:让 opencode 像人一样操作**长驻交互式终端会话**
36
37
  term_cli connect root@host:22 [-n name] [-p password|file:path] # SSH 连接
37
38
  term_cli local "pwsh|docker exec -it <容器> sh" [-n name] [-c cwd] # 本地/容器终端
38
39
  term_cli exec "<command>" [-n name] [-w] # 执行命令(默认提交后立即返回;-w 等到命令真正结束,仅用于预期很快结束的命令)
39
- term_cli read [-n name] [-s buffer|history] [-l limit] [--head] # 读输出
40
+ term_cli read [-n name] [-s buffer|history] [-l limit] [--head] [--includeCommand] # 读输出
40
41
  term_cli send "<text>" [-n name] # 发送按键(sudo 密码等)
41
42
  term_cli status [-n name] # 状态
42
43
  term_cli disconnect [-n name] # 断开
@@ -54,7 +55,7 @@ term_cli help # 完整用法
54
55
  // HTTP 终端记录服务开关(默认 true)
55
56
  "server": {
56
57
  "enabled": true,
57
- // 端口:不设默认值。0 = 自动分配随机端口(推荐,避免冲突);可显式指定,如 8137
58
+ // 端口:默认 0(随机端口,推荐,避免冲突);可显式指定,如 8137
58
59
  "port": 0
59
60
  },
60
61
  // 会话记录(命令+输出 消息对)管理:全部存文件(~/.opencode/plugins-cache/opencode-ssh-tool/<会话>/),随会话清理
@@ -135,7 +136,7 @@ term_cli exec(command)
135
136
  opencode(插件进程)
136
137
  ├─ agent:每会话多个命名终端,PTY 固定 120×40
137
138
  │ ├─ SSH(ssh2 PTY shell)/ 本地·容器(Bun.Terminal)
138
- │ └─ 完成标记法执行命令(`command ;markerCmd` → `<SSH_DONE:seq:退出码>`)
139
+ │ └─ 完成标记法执行命令(`command ;markerCmd` → `<SSH_DONE:<nonce>:<seq>:<退出码>>`)
139
140
  ├─ server:独立 HTTP 子进程(WS 统一事件流,proto 版本校验)
140
141
  └─ web:transcript(消息对)/ raw(xterm.js)双视图,浏览器实时查看
141
142
  ```
@@ -144,7 +145,7 @@ opencode(插件进程)
144
145
 
145
146
  ```bash
146
147
  npm install # 安装依赖(dependencies + devDependencies)
147
- npm run build # tsc:src → dist
148
+ npm run build # tsc(src → dist)+ node web/build.mjs(打包 Web 资源)
148
149
  ```
149
150
 
150
151
  - TS 源码在 `src/`,编译产物 `dist/`
@@ -156,14 +157,14 @@ npm run build # tsc:src → dist
156
157
 
157
158
  ```bash
158
159
  npm run build
159
- npm publish # 只发布 dist/
160
+ npm publish # 发布 dist/ + README.md(见 package.json 的 files)
160
161
  ```
161
162
 
162
163
  本项目提交 GitHub 发布 npm;使用方 `opencode.json` 的 `plugin` 数组引用。
163
164
 
164
165
  ## 测试清单
165
166
 
166
- 需真实 SSH 主机(可用 Docker 测试环境,见 `.tmp/ssh-test-docker.ps1`):
167
+ 需真实 SSH 主机,测试环境需自备 Docker/SSH(测试脚本不随仓库发布):
167
168
 
168
169
  - [ ] `term_cli connect` → 登录成功,cwd 为登录目录
169
170
  - [ ] `term_cli exec("ls")` 连续多次,确认永不重连(同一会话)
@@ -172,7 +173,7 @@ npm publish # 只发布 dist/
172
173
  - [ ] 白名单命令不弹审批直接执行;`rm -rf` 被拒绝
173
174
  - [ ] 白名单外命令弹 `context.ask()`,`:deny` 拒绝 / `:allow` 放行
174
175
  - [ ] 长命令:`term_cli exec("sleep 60")` 超 5s 动画窗口转后台 watch,等待其完成(不设超时、不挂死会话),`Ctrl-C` 可中断,结果从 history 可读
175
- - [ ] `term_cli read` 取前/后 N 条历史输出(含 `includeCommand`、`source=buffer`)
176
+ - [ ] `term_cli read` 取前/后 N 条历史输出(含 `--includeCommand`、`source=buffer`)
176
177
  - [ ] `term_cli status` / HTTP 页面浏览器可访问
177
178
  - [ ] `term_cli disconnect` 后连接释放
178
179
 
@@ -181,7 +182,11 @@ npm publish # 只发布 dist/
181
182
  - `docs/requirements/需求说明.md` — 原始需求
182
183
  - `docs/design/方案分析.md` — 技术分析、决策、风险
183
184
  - `docs/design/结构设计.md` — 编码依据
184
- - `docs/design/消息协议重构设计.md` — WS 统一事件流协议
185
+ - `docs/design/消息协议重构设计.md` — WS 统一事件流协议(历史设计,当前以结构设计/代码为准)
185
186
  - `docs/design/终端渲染与尺寸固定说明.md` — 终端尺寸固定、续行检测、渲染修复
187
+ - `docs/design/多语言配置说明.md` — toolLang / webLang 分离与边界
188
+ - `docs/design/多行命令包组与raw渲染修复说明.md` — 多行包组、raw 渲染、headless 屏幕、语法错误收尾
189
+ - `docs/design/中断探针修复说明.md` — Ctrl-C 中断探针(历史记录,当前行为以 README / 结构设计为准)
190
+ - `docs/design/直接输入与保活心跳说明.md` — 直接输入(焦点驱动)与 SSH/WS 保活心跳
186
191
 
187
192
 
package/dist/agent.d.ts CHANGED
@@ -33,6 +33,10 @@ export interface AgentSession {
33
33
  };
34
34
  /** 会话实例代次:同名重建/进程重启后变化,用于判定新会话并重置 raw 增量游标 */
35
35
  readonly generation: string;
36
+ /** 探测到的 shell 适配器名(供发送前语法预检选择校验器) */
37
+ readonly shellName: string | null;
38
+ /** 是否本地会话(SSH 远程不接预检) */
39
+ readonly isLocal: boolean;
36
40
  }
37
41
  /** 代理状态 */
38
42
  export interface AgentHandle {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAMA,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnD,KAAK,IAAI,IAAI,CAAA;IACb,gBAAgB,IAAI,OAAO,CAAA;IAC3B,gBAAgB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,iBAAiB,IAAI,MAAM,CAAA;IAC3B,wCAAwC;IACxC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;IAC/K,2CAA2C;IAC3C,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;IACpD,gBAAgB;IAChB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1E,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,WAAW;AACX,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,0BAA0B;IAC1B,UAAU,IAAI,IAAI,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,EAC7E,YAAY,EAAE,MAAM,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,WAAW,CAoUb"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAOA,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnD,KAAK,IAAI,IAAI,CAAA;IACb,gBAAgB,IAAI,OAAO,CAAA;IAC3B,gBAAgB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;IACnD,iBAAiB,IAAI,MAAM,CAAA;IAC3B,wCAAwC;IACxC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;IAC/K,2CAA2C;IAC3C,eAAe,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;IACpD,gBAAgB;IAChB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1E,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,WAAW;AACX,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,0BAA0B;IAC1B,UAAU,IAAI,IAAI,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,EAC7E,YAAY,EAAE,MAAM,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,WAAW,CAgVb"}
package/dist/agent.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // 处理服务转发来的交互命令(run-exec / run-send / run-delete),并把实时流推给服务。
3
3
  import log, { debug, describeSend, infoDedup, infoDedupShared, tailLines } from "./log.js";
4
4
  import { INTERACTIVE_BUSY_MS, HEARTBEAT_INTERVAL_MS, HEARTBEAT_CLIENT_TIMEOUT_MS, AGENT_PUSH_MIN_INTERVAL_MS } from "./constants.js";
5
+ import { precheckBeforeExec } from "./precheck.js";
5
6
  /**
6
7
  * 启动代理客户端:连接独立服务并注册会话,处理转发命令
7
8
  * @param url 服务 WS 地址(如 ws://127.0.0.1:PORT/ws)
@@ -118,15 +119,29 @@ export function startAgent(url, resolveSession, listSessions) {
118
119
  };
119
120
  /** 执行单条命令;完成后从队列取下一条继续(在 promise resolve 后才出队,
120
121
  * 保证上一条的 running context 已清理,出队的下一条不会因 busy 误判被跳过) */
121
- const execQueued = (sid, name, command) => {
122
+ const execQueued = async (sid, name, command) => {
122
123
  const session = resolveSession(sid, name);
123
124
  if (!session) {
124
125
  send({ type: "cmdDone", sessionID: sid, name, exitCode: null, endTs: Date.now() });
125
- return Promise.resolve();
126
+ return;
126
127
  }
127
128
  const key = `${sid}:${name}`;
128
129
  /** 队列是否还有后续命令(排队命令)→ 决定 server 是否保持 busy */
129
130
  const hasMore = () => (execQueue.get(key)?.length ?? 0) > 0;
131
+ // web run-exec 与 term_exec 共用发送前语法预检:命中即拦,不写终端、不发 cmdStart
132
+ const rejection = await precheckBeforeExec(session, command);
133
+ if (rejection) {
134
+ log.tool("web_run_precheck_rejected", { sessionID: sid, name, command: tailLines(command, 3), shell: session.shellName });
135
+ send({ type: "out", sessionID: sid, name, data: rejection, final: true });
136
+ send({ type: "cmdDone", sessionID: sid, name, exitCode: null, endTs: Date.now(), more: hasMore() });
137
+ const q = execQueue.get(key);
138
+ const next = q?.shift();
139
+ if (q && q.length === 0)
140
+ execQueue.delete(key);
141
+ if (next)
142
+ return execQueued(sid, name, next);
143
+ return;
144
+ }
130
145
  return session.exec(command).then((result) => {
131
146
  // exec 同步等待:正常完成/动画等待均会触发生命周期 done(cmdDone)。
132
147
  // 仅 quick-fail(busy/未连接,返回 {ok:false})不会发 done —— 补一条兜底防 server busy 卡死
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,15 @@ export type LifecycleEvent = {
23
23
  endTs: number;
24
24
  output?: string;
25
25
  };
26
+ /**
27
+ * 剥离命令尾部注释与尾部运算符,避免拼装 `;marker` 时:
28
+ * - 尾注释 `# xxx` 把 marker 整行吞掉 → 检测不到完成
29
+ * - 尾运算符 `&`、`;`、`&&`、`||` 与拼接的 `;` 形成 `&;`/`;;` 等语法错误
30
+ * @param command 原始命令
31
+ * @param shell 适配器名(用于正确的引号/转义语义;空串按 POSIX 处理)
32
+ * @returns 可安全拼装 marker 的命令体
33
+ */
34
+ export declare function stripCommandTail(command: string, shell?: string): string;
26
35
  /** 会话命令执行与读取的公共实现 */
27
36
  export declare abstract class BaseSession {
28
37
  protected readonly sessionID: string;
@@ -67,11 +76,6 @@ export declare abstract class BaseSession {
67
76
  * 只认自己 nonce:重放标记不再冒充本会话标记。
68
77
  */
69
78
  private readonly _nonce;
70
- /**
71
- * 命令发起前缓冲的末行(旧提示符行):语法错误收尾时 shell 会重印同形提示符,
72
- * 据此把它从输出尾部剥掉(exec 的输出窗口自命令回显起,旧提示符在窗口之外,需单独记录)。
73
- */
74
- private _promptRef;
75
79
  /** 下次捕获窗口起点(相对当前 buffer):前一条命令结束后,标记/残留从此处开始 */
76
80
  protected _cursor: number;
77
81
  /** WS 实时流已发送位置(相对 buffer 偏移);null = 尚未定位命令回显结束点 */
@@ -80,6 +84,12 @@ export declare abstract class BaseSession {
80
84
  protected _adapter: ShellAdapter | null;
81
85
  /** 多行命令写入 PTY 的行分隔符:Unix PTY 用 \n;Windows ConPTY(本地会话)用 \r(裸 \n 不提交行) */
82
86
  protected _lineSep: string;
87
+ /**
88
+ * 当前会话终端是否为 Windows ConPTY:决定提交分隔符。
89
+ * 本地会话按宿主平台设置;SSH 会话在 shell 探测后按 pwsh 的 `$PSHOME` 路径判断
90
+ *(Windows `C:\...` → true,Unix `/...` → false),不能只看 adapter 类型。
91
+ */
92
+ protected _windowsPTY: boolean;
83
93
  protected _closed: boolean;
84
94
  /** 当前运行命令的输入时刻(history 记录展示命令发起时间用) */
85
95
  private _runningStartTs;
@@ -171,6 +181,14 @@ export declare abstract class BaseSession {
171
181
  * @returns 8 位十六进制会话串
172
182
  */
173
183
  get nonce(): string;
184
+ /**
185
+ * 当前 shell 适配器名("zsh" / "bash" / "pwsh" / "cmd"):供发送前语法预检选校验器。
186
+ * 只读暴露探测结果,不触发探测(未连接时为 null,调用方按"不校验"处理)。
187
+ * @returns 适配器名;未连接/未探测到适配器时为 null
188
+ */
189
+ get shellName(): string | null;
190
+ /** 是否本地会话:发送前语法预检只接本地(SSH 远程需会话内往返,另开一轮) */
191
+ get isLocal(): boolean;
174
192
  getRunningOutput(): string;
175
193
  getRunningCommand(): string;
176
194
  /**
@@ -231,21 +249,28 @@ export declare abstract class BaseSession {
231
249
  * @returns 标记命令文本
232
250
  */
233
251
  private _markerCmd;
252
+ /**
253
+ * 补发探针命令:与完成标记命令**同构**,仅把 tag 换成 PROBE_TAG。
254
+ * 复用各 adapter 的 markerCmd,避免四套 shell 各维护一份退出码表达式;
255
+ * 独立 tag 让「探针标记」与「原命令真实完成标记」在字节流里可严格区分。
256
+ * @param seq 命令序号
257
+ * @returns 探针标记命令文本
258
+ */
259
+ private _probeCmd;
234
260
  /**
235
261
  * 组合实际写入 PTY 的命令:在规范形式(`_composeEchoText`)基础上把换行改写为行分隔符并补尾部回车。
236
- * 行分隔符按**探测到的 shell 类型/平台**决定,而非按传输类型(本地/SSH):
237
- * - Windows shell(pwsh/cmd,控制台为 ConPTY)→ `\r`;本地 ConPTY 会话(无 adapter 时由 `_lineSep` 覆盖为 `\r`)→ `\r`;
238
- * - SSH + POSIX(zsh/bash,走 Unix PTY)→ `\n`(`_lineSep` 默认值)。
262
+ * 行分隔符按**探测到的终端平台**决定,而非按传输类型(本地/SSH):
263
+ * - Windows ConPTY(本机 Windows,或 SSH 到 Windows pwsh/cmd)→ `\r`;
264
+ * - Unix PTY(bash/zsh,含 Linux/macOS 上的 pwsh)→ `_lineSep`(通常 `\n`)。
265
+ * SSH 的 pwsh 平台由探测输出里的 `$PSHOME` 路径区分(`C:\...` vs `/...`)。
239
266
  * 原因:ConPTY 下裸 `\n` 只下移不复位、不提交行 → 多行命令逆序执行并卡在 `>>` 续行,须用 `\r`;
240
- * 实测 SSH 连到 Windows 的 pwsh:用 `\n` 分隔时命令逆序卡死,改用 `\r` 后行序正确、组内作用域保留、输出正常。
241
- * Unix PTY 下 `\n` 可正常提交行,保持不变。
267
+ * Unix PTY 下 `\n` 可正常提交行。
242
268
  * @param command 原始命令(history 存干净版本)
243
- * @returns 实际写入 PTY 的文本(尾部带 \r,行分隔已按 shell 类型/平台规范化)
269
+ * @returns 实际写入 PTY 的文本(尾部带提交分隔符,行分隔已按平台规范化)
244
270
  */
245
271
  private _composeCommand;
246
272
  /**
247
- * 当前 shell 的 PTY **提交分隔符**(让 shell 执行该行):Windows shell(pwsh/cmd,ConPTY)→ `\r`
248
- * (裸 \n 不提交行);其余沿用会话 `_lineSep`(Unix PTY 为 \n,本地会话为 \r)。
273
+ * 当前终端的 PTY **提交分隔符**:Windows ConPTY → `\r`;Unix PTY → `_lineSep`(通常 `\n`)。
249
274
  * @returns 提交分隔符字符串
250
275
  */
251
276
  private _ptyLineSep;
@@ -262,17 +287,21 @@ export declare abstract class BaseSession {
262
287
  * @returns 写入 PTY 的探针文本
263
288
  */
264
289
  private _composeProbe;
265
- /**
266
- * 补发一次中断探针:用户显式 Ctrl+C 后,前台命令可能已死、shell 已回到提示符,
267
- * 但命令列表被中断丢弃 → 原命令的完成标记永不执行 → busy 卡死。
268
- * 补写一条"裸标记命令"作为探针:shell 若已回到提示符会读它并打印当前 seq 标记,
269
- * 使命令正常收尾;若前台程序未死,字节留在 tty 输入缓冲,待 shell 拿回控制权时再读
270
- * (两种情况均符合预期,保持 busy、绝不误判完成)。
271
- * 由中断周期调用:写完 \x03 时立即调用一次,之后定时器每间隔调用一次(见 _startInterruptCycle)。
272
- * 幂等:同一条被中断命令多次补发(立即 1 条 + 每间隔 1 条),先到的当前 seq 标记胜出。
290
+ /** 记录探针 seq,只保留最近 PROBE_SEQ_KEEP 条(迟到回显跨命令有限,避免 Set 无界增长) */
291
+ private _rememberProbeSeq;
292
+ /**
293
+ * 补发一次当前命令的探针标记(仅中断收尾使用):
294
+ * 写入一条独立的本 seq 标记命令,并记录 seq,使其回显迟到落入后续窗口时仍能被剔除。
295
+ * - 中断场景:用户显式 Ctrl+C 后前台命令可能已死、原命令的完成标记永不执行 → busy 卡死;
296
+ * 补写探针后 shell 若已回到提示符会读它并打印当前 seq 标记使命令收尾;若前台程序未死,
297
+ * 字节留在 tty 输入缓冲待 shell 拿回控制权再读(两种情况均符合预期,绝不误判完成)。
298
+ * 由中断周期调用:写完 \x03 时立即补发一次,之后定时器每间隔补发一次(见 _startInterruptCycle)。
299
+ * 幂等:同一条命令多次补发时,先到的当前 seq 标记胜出。仅在确实追踪着命令时补发(空闲补发只污染缓冲)。
300
+ * 注意:语法错误路径**不再补发探针**(会写进仍在运行程序的 stdin),改为安静窗口到点直接收尾。
301
+ * @param reason 补发原因(仅用于日志:中断探针)
273
302
  * @returns 无
274
303
  */
275
- private _sendInterruptProbe;
304
+ private _sendProbe;
276
305
  /**
277
306
  * 启动中断周期:用户显式 Ctrl+C 后进入。**写完 \x03 立即补发首条探针**(同一次 send 调用内,不再等待),
278
307
  * 之后每 _interruptProbeIntervalMs(来自配置,默认 5s)补发一次,直至命令结束/关会话/开始新命令
@@ -296,12 +325,11 @@ export declare abstract class BaseSession {
296
325
  */
297
326
  private _stopInterruptCycle;
298
327
  /**
299
- * 从可见输出中剔除中断探针留下的痕迹(探针命令的回显)。
300
- * 探针在用户中断时补发,其回显可能迟到落到后续命令的输出窗口里;这里对每个已记录探针 seq
301
- * (以及当前命令自身的标记命令回显)做 **ANSI 容忍定位**:即便 pwsh 语法高亮在 token 间插入
328
+ * 从可见输出中剔除探针留下的痕迹(探针命令的回显)。
329
+ * 探针命令已改为独立 PROBE tag,但其回显仍是"一条标记命令";同时保留对当前命令 DONE 标记回显的剔除。
330
+ * 对每个已记录探针 seq(以及当前命令自身)做 **ANSI 容忍定位**:即便 pwsh 语法高亮在 token 间插入
302
331
  * SGR、行首带提示符与 `\x1b[?25l`,也能命中并整段剔除(见 removeProbeEchoLines)。
303
- * 三处调用点(本函数、_extractOutput 的 out.replace、getRunningStream 的 data.replace)
304
- * 统一收敛至此,消除口径漂移。Raw 视图不经此函数,保留原始字节。
332
+ * 三处调用点(本函数、getRunningStream、readBuffer)统一收敛至此;Raw 视图保留原始字节。
305
333
  * @param text 可见输出文本
306
334
  * @returns 剔除探针回显后的文本
307
335
  */
@@ -333,7 +361,7 @@ export declare abstract class BaseSession {
333
361
  * 语法错误路径(syntaxMode)另作两处特殊处理:
334
362
  * - 回显定位取**首次**匹配:pwsh 错误块的 ` 1 | <命令>` 行会重印含标记的整行命令,
335
363
  * 末次匹配会落到该拷贝上,导致 `ParserError:`/`Line |` 等错误块前半被裁掉;
336
- * - 剥掉尾部 shell 重印的提示符行(与旧提示符行同形,属画面噪音)。
364
+ * - 输出窗口右界取缓冲区末尾(不再补发语法探针),尾部最多多 1 行提示符噪音。
337
365
  * @param raw 本次执行窗口原始字节流
338
366
  * @param command 原始命令(历史用)
339
367
  * @param syntaxMode true 表示语法/解析错误收尾(无完成标记,整行命令作废)
@@ -408,12 +436,16 @@ export declare abstract class BaseSession {
408
436
  */
409
437
  private _settleCompletion;
410
438
  /**
411
- * 推进语法错误安静窗口(一次性定时器,非轮询):识别到语法错误后等输出停止增长 SYNTAX_QUIET_MS 再收尾,
412
- * 确保 pwsh 异步/批量渲染的多行错误块被完整收进输出窗口;自首次识别起上限 SYNTAX_MAX_WAIT_MS。
413
- * 数据到达(输出变化)时重置安静窗口;兜底 tick 不重置(见 _checkCompletion)。
439
+ * 推进语法错误安静窗口(一次性定时器,非轮询):
440
+ * 识别到语法错误后等输出停止增长 SYNTAX_QUIET_MS,确保 pwsh 异步/批量渲染的多行错误块完整收进输出窗口;
441
+ * 到点**直接按语法错误收尾,不再补发探针**——探针会被写进仍在运行的程序 stdin(如 `cat >file` / REPL),
442
+ * 且语法误判时会提前收尾、丢弃迟到的真实完成标记;尾部最多多 1 行提示符噪音,按设计接受。
443
+ * 自首次识别起硬上限 SYNTAX_MAX_WAIT_MS;数据到达(输出变化)时重置安静窗口;兜底 tick 不重置(见 _checkCompletion)。
414
444
  * @returns 无
415
445
  */
416
446
  private _armSyntaxQuiet;
447
+ /** 按语法错误收尾(含异常兜底:收尾本身再抛也不能变成未捕获异常) */
448
+ private _settleSyntaxError;
417
449
  /**
418
450
  * 断连收尾(由后台兜底 tick 判定 _connected=false 触发):命令视为结束(可能从未完成),
419
451
  * 补发 done 防 server busy 卡死;不写 history(输出窗口从未定案,无可信尾部可摘)。
@@ -421,7 +453,7 @@ export declare abstract class BaseSession {
421
453
  */
422
454
  private _handleDisconnect;
423
455
  /**
424
- * 开始一次命令的后台追踪:记录兜底判定所需的捕获窗口起点/命令,并复位语法静默状态。
456
+ * 开始一次命令的后台追踪:记录兜底判定所需的捕获窗口起点/命令,并复位语法错误状态。
425
457
  * 不做任何轮询——完成判定由数据到达事件驱动(见 `_onDataArrived`)。
426
458
  * @param startPos 捕获窗口起点(相对当前 buffer;submit 为 0,exec 转后台为 captureStart)
427
459
  * @param command 命令(history 记录用)
@@ -1 +1 @@
1
- {"version":3,"file":"base-session.d.ts","sourceRoot":"","sources":["../src/base-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-session.d.ts","sourceRoot":"","sources":["../src/base-session.ts"],"names":[],"mappings":"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"}