@hyzyn/dsh-tty 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -7,11 +7,14 @@
7
7
  * 之后双向透传:input/resize/kill 上行,data/exit/error 下行。
8
8
  *
9
9
  * 帧协议 v2(JSON 文本帧;sid 维度支持单连接多会话/标签页):
10
- * C→S {t:'spawn', sid?, cols?, rows?, cwd?} 创建会话;sid 缺省时宿主生成
10
+ * C→S {t:'spawn', sid?, cols?, rows?, cwd?} 创建本地会话;sid 缺省时宿主生成
11
+ * C→S {t:'ssh', sid?, cols?, rows?, name? | host, username, ...}
12
+ * 创建 SSH 会话(ssh2 原生,见 ssh.ts);
13
+ * name 引用连接簿条目,内联字段可覆盖
11
14
  * C→S {t:'input', sid?, d} 按键/粘贴数据
12
15
  * C→S {t:'resize', sid?, cols, rows} xterm fit 触发
13
16
  * C→S {t:'kill', sid?} 关闭会话
14
- * S→C {t:'ready', sid, pid} 会话就绪
17
+ * S→C {t:'ready', sid, pid, kind, target?} 会话就绪(ssh 时 pid=null,target=user@host)
15
18
  * S→C {t:'data', sid, d} 终端输出(utf8 文本)
16
19
  * S→C {t:'exit', sid, code, signal} PTY 退出事实(恰好一次)
17
20
  * S→C {t:'error', sid?, m} 错误
@@ -28,6 +31,7 @@
28
31
  * 子进程),必须 best-effort:失败降级为对顶层 shell 直接 SIGKILL。
29
32
  */
30
33
  import type { Context } from '@deepseek-ai/cordis';
34
+ import type { SshHostEntry } from './ssh.js';
31
35
  export interface Config {
32
36
  /** 关闭整个插件。默认开。 */
33
37
  enabled?: boolean;
@@ -43,5 +47,7 @@ export interface Config {
43
47
  colorTerm?: string;
44
48
  /** 会话工作目录(客户端 spawn 带 cwd 时优先);缺省为宿主进程启动目录。 */
45
49
  cwd?: string;
50
+ /** SSH 连接簿(面板「+」菜单可选;密码/口令支持 env:VAR 引用)。 */
51
+ sshHosts?: SshHostEntry[];
46
52
  }
47
53
  export declare const name: string, inject: string[] | undefined, apply: (ctx: Context, config?: Config | undefined) => void;
package/lib/index.js CHANGED
@@ -5,6 +5,17 @@ import { PassThrough } from 'node:stream';
5
5
  import WebSocket, { WebSocketServer } from 'ws';
6
6
  import { definePlugin } from '@hyzyn/dsh-kit';
7
7
  import { defineTool } from '@deepseek-ai/dsh-tools';
8
+ import { spawnSsh, sshTarget } from './ssh.js';
9
+ const SSH_HOST_SCHEMA = z.object({
10
+ name: z.string(),
11
+ host: z.string(),
12
+ port: z.natural().max(65535).default(22),
13
+ username: z.string(),
14
+ auth: z.union([z.const('agent'), z.const('key'), z.const('password')]).default('agent'),
15
+ keyPath: z.string().default(''),
16
+ passphrase: z.string().default(''),
17
+ password: z.string().default(''),
18
+ });
8
19
  /** 与「设置 → 插件 → 终端面板」卡片表单对齐的 schema。 */
9
20
  const TTY_SETTINGS_SCHEMA = z.object({
10
21
  enabled: z.boolean().default(true),
@@ -14,6 +25,7 @@ const TTY_SETTINGS_SCHEMA = z.object({
14
25
  term: z.string().default('xterm-256color'),
15
26
  colorTerm: z.string().default('truecolor'),
16
27
  cwd: z.string().default(''),
28
+ sshHosts: z.array(SSH_HOST_SCHEMA).default([]),
17
29
  });
18
30
  /* ------------------------------------------------------------------ *
19
31
  * 常量
@@ -25,20 +37,35 @@ const BACKPRESSURE_HIGH = 512 * 1024;
25
37
  const BACKPRESSURE_LOW = 128 * 1024;
26
38
  const SID_RE = /^[A-Za-z0-9_-]{1,64}$/;
27
39
  const BUFFER_CAP = 256 * 1024;
28
- const TTY_GUIDANCE = '本机已安装 dsh-tty 插件(终端面板):Web GUI 侧边栏的「终端」入口可打开交互终端(xterm.js + PTY),可运行任意命令与 TUI 程序(vim/htop 等),支持多标签页;新标签默认在当前会话工作目录打开,工作目录可随当前会话切换。长驻进程(dev server、watch、交互式程序)应引导用户到终端面板里运行,不要在 bash 工具里挂起等待;用户提到「开个终端 / 在终端里跑」时引导其打开该面板。agent 侧也有配套工具:tty_list 列出活跃终端会话,tty_capture 读取会话近期输出(可查看 dev server/NPM 日志),tty_send 向会话发送按键——操作会实时显示在用户终端里。';
40
+ const TTY_GUIDANCE = '本机已安装 dsh-tty 插件(终端面板):Web GUI 侧边栏的「终端」入口可打开交互终端(xterm.js + PTY),可运行任意命令与 TUI 程序(vim/htop 等),支持多标签页;新标签默认在当前会话工作目录打开,工作目录可随当前会话切换。标签栏「+」菜单还能开 SSH 标签页(ssh2 原生连接,连接簿在设置卡片维护),像本地终端一样操作远程主机。长驻进程(dev server、watch、交互式程序)应引导用户到终端面板里运行,不要在 bash 工具里挂起等待;用户提到「开个终端 / 在终端里跑 / SSH 到某台机器」时引导其打开该面板。agent 侧也有配套工具:tty_list 列出活跃终端会话(含 SSH 会话的 target),tty_capture 读取会话近期输出(可查看 dev server/NPM 日志),tty_send 向会话发送按键——操作会实时显示在用户终端里。';
41
+ /** 本地 PTY 包装成 TermHandle(resize/kill 仍是透传 node-pty 的内部耦合)。 */
42
+ function wrapLocalPty(handle) {
43
+ return {
44
+ kind: 'local',
45
+ pid: handle.pid,
46
+ output: handle.output,
47
+ done: handle.done,
48
+ write: (data) => handle.write(data),
49
+ resize: (cols, rows) => handle.terminal.resize(cols, rows),
50
+ terminate: () => handle.terminate(),
51
+ forceKill: () => handle.terminal.kill('SIGKILL'),
52
+ };
53
+ }
29
54
  /** 可热更新的运行时配置(settings/updated 动态应用)。 */
30
55
  class LiveConfig {
31
56
  shell;
32
57
  term;
33
58
  colorTerm;
34
59
  cwd;
60
+ sshHosts;
35
61
  constructor(init) {
36
62
  this.shell = init.shell;
37
63
  this.term = init.term;
38
64
  this.colorTerm = init.colorTerm;
39
65
  this.cwd = init.cwd;
66
+ this.sshHosts = init.sshHosts ?? [];
40
67
  }
41
- /** 合并部分更新;空字符串/undefined 保持原值。 */
68
+ /** 合并部分更新;空字符串/undefined 保持原值;sshHosts 传数组即整体替换。 */
42
69
  apply(partial) {
43
70
  if (typeof partial.shell === 'string' && partial.shell.trim() !== '')
44
71
  this.shell = partial.shell.trim();
@@ -48,19 +75,24 @@ class LiveConfig {
48
75
  this.colorTerm = partial.colorTerm.trim();
49
76
  if (typeof partial.cwd === 'string' && partial.cwd.trim() !== '')
50
77
  this.cwd = partial.cwd.trim();
78
+ if (Array.isArray(partial.sshHosts))
79
+ this.sshHosts = partial.sshHosts;
80
+ }
81
+ findSshHost(name) {
82
+ return this.sshHosts.find((entry) => entry.name === name);
51
83
  }
52
84
  }
53
85
  /* ------------------------------------------------------------------ *
54
86
  * 工具
55
87
  * ------------------------------------------------------------------ */
56
- /** best-effort 终止:terminate() 抛「幸存者」竞态时降级为对顶层 shell 直接 SIGKILL。 */
88
+ /** best-effort 终止:terminate() 抛「幸存者」竞态时降级为 forceKill(本地 PTY:对顶层 shell 直接 SIGKILL)。 */
57
89
  async function forceKill(handle) {
58
90
  try {
59
91
  await handle.terminate();
60
92
  }
61
93
  catch {
62
94
  try {
63
- handle.terminal.kill('SIGKILL');
95
+ handle.forceKill?.();
64
96
  }
65
97
  catch {
66
98
  /* 已退出 */
@@ -79,6 +111,72 @@ function send(ws, msg) {
79
111
  return;
80
112
  ws.send(JSON.stringify(msg));
81
113
  }
114
+ /**
115
+ * 宽松清洗一份 sshHosts 输入(settings 存储/热更新事件路径):
116
+ * 不合法条目直接丢弃;输入不是数组时返回 undefined(表示「未提供,保持原值」)。
117
+ */
118
+ function sanitizeSshHosts(input) {
119
+ if (!Array.isArray(input))
120
+ return undefined;
121
+ const out = [];
122
+ for (const item of input) {
123
+ if (typeof item !== 'object' || item === null)
124
+ continue;
125
+ const raw = item;
126
+ if (typeof raw.name !== 'string' || raw.name.trim() === '')
127
+ continue;
128
+ if (typeof raw.host !== 'string' || raw.host.trim() === '')
129
+ continue;
130
+ if (typeof raw.username !== 'string' || raw.username.trim() === '')
131
+ continue;
132
+ const port = Number(raw.port);
133
+ out.push({
134
+ name: raw.name.trim(),
135
+ host: raw.host.trim(),
136
+ port: Number.isInteger(port) && port >= 1 && port <= 65535 ? port : 22,
137
+ username: raw.username.trim(),
138
+ auth: raw.auth === 'key' || raw.auth === 'password' ? raw.auth : 'agent',
139
+ keyPath: typeof raw.keyPath === 'string' ? raw.keyPath : '',
140
+ passphrase: typeof raw.passphrase === 'string' ? raw.passphrase : '',
141
+ password: typeof raw.password === 'string' ? raw.password : '',
142
+ });
143
+ }
144
+ return out;
145
+ }
146
+ /** 严格校验一份 sshHosts 输入(HTTP POST 路径);返回错误信息或清洗后的数组。 */
147
+ function validateSshHosts(input) {
148
+ if (!Array.isArray(input))
149
+ return { error: 'sshHosts 必须是数组' };
150
+ const names = new Set();
151
+ for (const item of input) {
152
+ if (typeof item !== 'object' || item === null)
153
+ return { error: 'sshHosts 条目必须是对象' };
154
+ const raw = item;
155
+ for (const key of ['name', 'host', 'username']) {
156
+ if (typeof raw[key] !== 'string' || raw[key].trim() === '')
157
+ return { error: `sshHosts.${key} 必须是非空字符串` };
158
+ }
159
+ if (names.has(raw.name.trim()))
160
+ return { error: `sshHosts.name 重复: ${String(raw.name)}` };
161
+ names.add(raw.name.trim());
162
+ if (raw.port !== undefined) {
163
+ const port = Number(raw.port);
164
+ if (!Number.isInteger(port) || port < 1 || port > 65535)
165
+ return { error: 'sshHosts.port 必须是 1~65535 的整数' };
166
+ }
167
+ if (raw.auth !== undefined && raw.auth !== 'agent' && raw.auth !== 'key' && raw.auth !== 'password') {
168
+ return { error: 'sshHosts.auth 必须是 agent / key / password' };
169
+ }
170
+ for (const key of ['keyPath', 'passphrase', 'password']) {
171
+ if (raw[key] !== undefined && typeof raw[key] !== 'string')
172
+ return { error: `sshHosts.${key} 必须是字符串` };
173
+ }
174
+ if ((raw.auth === 'key') && (typeof raw.keyPath !== 'string' || raw.keyPath.trim() === '')) {
175
+ return { error: `sshHosts「${String(raw.name)}」auth=key 需要 keyPath` };
176
+ }
177
+ }
178
+ return { hosts: sanitizeSshHosts(input) };
179
+ }
82
180
  /** upgrade 路由的 loopback 信任围栏(与 dsh-mcp 的 HTTP 围栏同思路,socket 版)。 */
83
181
  function isLoopbackUpgrade(req) {
84
182
  const address = req.socket.remoteAddress;
@@ -139,15 +237,19 @@ class SessionManager {
139
237
  get(id) {
140
238
  return this.sessions.get(id);
141
239
  }
142
- /** agent 工具用的只读快照。 */
240
+ /** agent 工具用的只读快照(SSH 会话无本地 pid,该字段省略)。 */
143
241
  list() {
144
- return [...this.sessions.values()].map((session) => ({
145
- sid: session.id,
146
- pid: session.handle.pid,
147
- cwd: session.cwd,
148
- startedAt: session.startedAt,
149
- lastOutputAt: session.lastOutputAt,
150
- }));
242
+ return [...this.sessions.values()].map((session) => {
243
+ const base = {
244
+ sid: session.id,
245
+ cwd: session.cwd,
246
+ kind: session.kind,
247
+ target: session.target,
248
+ startedAt: session.startedAt,
249
+ lastOutputAt: session.lastOutputAt,
250
+ };
251
+ return session.handle.pid === null ? base : { ...base, pid: session.handle.pid };
252
+ });
151
253
  }
152
254
  async disposeAll() {
153
255
  const all = [...this.sessions.values()];
@@ -258,14 +360,14 @@ class TtyServer {
258
360
  send(ws, { t: 'error', sid, m: 'subprocess 服务不可用' });
259
361
  return;
260
362
  }
261
- const handle = await subprocess.spawnTerminal({
363
+ const handle = wrapLocalPty(await subprocess.spawnTerminal({
262
364
  argv: shellArgv(this.options.shell, this.options.term, this.options.colorTerm),
263
365
  rows: Number(msg.rows) || 24,
264
366
  cols: Number(msg.cols) || 80,
265
367
  cwd,
266
368
  env: { TERM: this.options.term, COLORTERM: this.options.colorTerm },
267
369
  graceMs: 5000,
268
- });
370
+ }));
269
371
  const next = {
270
372
  id: sid,
271
373
  handle,
@@ -273,24 +375,84 @@ class TtyServer {
273
375
  closed: false,
274
376
  paused: false,
275
377
  cwd,
378
+ kind: 'local',
379
+ target: '',
276
380
  startedAt: Date.now(),
277
381
  lastOutputAt: Date.now(),
278
382
  buffer: '',
279
383
  };
280
384
  local.set(sid, next);
281
385
  this.sessions.add(next);
282
- send(ws, { t: 'ready', sid, pid: handle.pid });
386
+ send(ws, { t: 'ready', sid, pid: handle.pid, kind: 'local' });
283
387
  this.attachOutput(next);
284
- handle.done.then((outcome) => {
285
- // kill 主动关闭时会话可能已被移出 local,用 exitSent 保证 exit 帧恰好一次
286
- if (next.exitSent === true)
287
- return;
288
- next.exitSent = true;
289
- next.closed = true;
290
- local.delete(sid);
291
- this.sessions.remove(sid);
292
- send(ws, { t: 'exit', sid, code: outcome.exitCode, signal: outcome.signal });
293
- }).catch(() => { });
388
+ this.watchDone(next, local, ws);
389
+ }
390
+ else if (msg.t === 'ssh') {
391
+ const sid = typeof msg.sid === 'string' && msg.sid !== '' ? msg.sid : randomUUID();
392
+ if (!SID_RE.test(sid)) {
393
+ send(ws, { t: 'error', m: '非法 sid' });
394
+ return;
395
+ }
396
+ if (local.has(sid)) {
397
+ send(ws, { t: 'error', sid, m: 'sid 已存在' });
398
+ return;
399
+ }
400
+ if (!this.sessions.canSpawn()) {
401
+ send(ws, { t: 'error', sid, m: `会话数已达上限(${this.sessions.limitValue})` });
402
+ return;
403
+ }
404
+ // name 引用连接簿条目作基底,内联字段可逐项覆盖
405
+ const profile = typeof msg.name === 'string' && msg.name !== '' ? this.options.findSshHost(msg.name) : undefined;
406
+ if (typeof msg.name === 'string' && msg.name !== '' && profile === undefined) {
407
+ send(ws, { t: 'error', sid, m: `连接簿中不存在: ${msg.name}` });
408
+ return;
409
+ }
410
+ const spec = {
411
+ host: typeof msg.host === 'string' && msg.host.trim() !== '' ? msg.host.trim() : profile?.host ?? '',
412
+ port: Number(msg.port) || profile?.port || 22,
413
+ username: typeof msg.username === 'string' && msg.username.trim() !== '' ? msg.username.trim() : profile?.username ?? '',
414
+ auth: msg.auth === 'key' || msg.auth === 'password' || msg.auth === 'agent' ? msg.auth : profile?.auth ?? 'agent',
415
+ keyPath: typeof msg.keyPath === 'string' && msg.keyPath !== '' ? msg.keyPath : profile?.keyPath,
416
+ passphrase: typeof msg.passphrase === 'string' && msg.passphrase !== '' ? msg.passphrase : profile?.passphrase,
417
+ password: typeof msg.password === 'string' && msg.password !== '' ? msg.password : profile?.password,
418
+ };
419
+ if (spec.host === '' || spec.username === '') {
420
+ send(ws, { t: 'error', sid, m: 'SSH 会话需要 host 与 username(或用 name 引用连接簿)' });
421
+ return;
422
+ }
423
+ const target = sshTarget(spec);
424
+ send(ws, { t: 'data', sid, d: `\x1b[2mConnecting ${target} …\x1b[0m\r\n` });
425
+ let handle;
426
+ try {
427
+ handle = await spawnSsh(spec, {
428
+ term: this.options.term,
429
+ cols: Number(msg.cols) || 80,
430
+ rows: Number(msg.rows) || 24,
431
+ logger: { info: (m) => this.ctx.logger.info(m), warn: (m) => this.ctx.logger.warn(m) },
432
+ });
433
+ }
434
+ catch (error) {
435
+ send(ws, { t: 'error', sid, m: error instanceof Error ? error.message : String(error) });
436
+ return;
437
+ }
438
+ const next = {
439
+ id: sid,
440
+ handle,
441
+ ws,
442
+ closed: false,
443
+ paused: false,
444
+ cwd: '',
445
+ kind: 'ssh',
446
+ target,
447
+ startedAt: Date.now(),
448
+ lastOutputAt: Date.now(),
449
+ buffer: '',
450
+ };
451
+ local.set(sid, next);
452
+ this.sessions.add(next);
453
+ send(ws, { t: 'ready', sid, pid: null, kind: 'ssh', target });
454
+ this.attachOutput(next);
455
+ this.watchDone(next, local, ws);
294
456
  }
295
457
  else if (msg.t === 'input') {
296
458
  const resolved = this.resolveSid(ws, msg, local);
@@ -306,7 +468,7 @@ class TtyServer {
306
468
  return;
307
469
  const session = local.get(resolved.sid);
308
470
  if (session !== undefined) {
309
- session.handle.terminal.resize(Number(msg.cols) || 80, Number(msg.rows) || 24);
471
+ session.handle.resize(Number(msg.cols) || 80, Number(msg.rows) || 24);
310
472
  }
311
473
  }
312
474
  else if (msg.t === 'kill') {
@@ -326,6 +488,19 @@ class TtyServer {
326
488
  send(ws, { t: 'error', m: error instanceof Error ? error.message : String(error) });
327
489
  }
328
490
  }
491
+ /** 会话退出事实 → exit 帧(恰好一次;本地 PTY 与 SSH 共用)。 */
492
+ watchDone(session, local, ws) {
493
+ session.handle.done.then((outcome) => {
494
+ // kill 主动关闭时会话可能已被移出 local,用 exitSent 保证 exit 帧恰好一次
495
+ if (session.exitSent === true)
496
+ return;
497
+ session.exitSent = true;
498
+ session.closed = true;
499
+ local.delete(session.id);
500
+ this.sessions.remove(session.id);
501
+ send(ws, { t: 'exit', sid: session.id, code: outcome.exitCode, signal: outcome.signal });
502
+ }).catch(() => { });
503
+ }
329
504
  /** 输出下行 + 基于 ws.bufferedAmount 的背压(暂停/恢复 PassThrough)。 */
330
505
  attachOutput(session) {
331
506
  const output = session.handle.output;
@@ -431,6 +606,7 @@ const plugin = definePlugin({
431
606
  term: config?.term?.trim() || 'xterm-256color',
432
607
  colorTerm: config?.colorTerm?.trim() || 'truecolor',
433
608
  cwd: config?.cwd?.trim() || process.cwd(),
609
+ sshHosts: Array.isArray(config?.sshHosts) ? config.sshHosts : [],
434
610
  });
435
611
  const sessions = new SessionManager(config?.maxSessions ?? DEFAULT_MAX_SESSIONS);
436
612
  const server = new TtyServer(ctx, sessions, live);
@@ -444,6 +620,7 @@ const plugin = definePlugin({
444
620
  term: live.term,
445
621
  colorTerm: live.colorTerm,
446
622
  cwd: live.cwd,
623
+ sshHosts: live.sshHosts,
447
624
  toolsRegistered: stateRef.toolsRegistered,
448
625
  });
449
626
  /** 规范化并应用一份配置补丁(settings/updated 事件与 HTTP POST 共用;幂等)。 */
@@ -453,6 +630,7 @@ const plugin = definePlugin({
453
630
  term: typeof section.term === 'string' ? section.term : undefined,
454
631
  colorTerm: typeof section.colorTerm === 'string' ? section.colorTerm : undefined,
455
632
  cwd: typeof section.cwd === 'string' ? section.cwd : undefined,
633
+ sshHosts: sanitizeSshHosts(section.sshHosts),
456
634
  });
457
635
  if (typeof section.maxSessions === 'number' && Number.isInteger(section.maxSessions) && section.maxSessions >= 1 && section.maxSessions <= 16) {
458
636
  sessions.setLimit(section.maxSessions);
@@ -461,12 +639,12 @@ const plugin = definePlugin({
461
639
  stateRef.enabled = section.enabled;
462
640
  if (typeof section.announceToAgent === 'boolean')
463
641
  stateRef.announceToAgent = section.announceToAgent;
464
- console.log(`[dsh-tty] config applied (shell=${live.shell}, term=${live.term}, cwd=${live.cwd}, maxSessions=${sessions.limitValue})`);
642
+ console.log(`[dsh-tty] config applied (shell=${live.shell}, term=${live.term}, cwd=${live.cwd}, maxSessions=${sessions.limitValue}, sshHosts=${live.sshHosts.length})`);
465
643
  };
466
644
  /** 校验 HTTP POST 的配置体;返回规范化补丁或错误信息。 */
467
645
  const normalizePatch = (input) => {
468
646
  const patch = {};
469
- const known = new Set(['enabled', 'announceToAgent', 'maxSessions', 'shell', 'term', 'colorTerm', 'cwd']);
647
+ const known = new Set(['enabled', 'announceToAgent', 'maxSessions', 'shell', 'term', 'colorTerm', 'cwd', 'sshHosts']);
470
648
  for (const key of Object.keys(input)) {
471
649
  if (!known.has(key))
472
650
  return { error: '未知配置项: ' + key };
@@ -505,6 +683,12 @@ const plugin = definePlugin({
505
683
  patch.cwd = cwd;
506
684
  }
507
685
  }
686
+ if (input.sshHosts !== undefined) {
687
+ const validated = validateSshHosts(input.sshHosts);
688
+ if (validated.error !== undefined)
689
+ return { error: validated.error };
690
+ patch.sshHosts = validated.hosts;
691
+ }
508
692
  return { patch };
509
693
  };
510
694
  // webServer:WS upgrade 路由 + 配置读写路由(/api/dsh-tty/config)
@@ -597,6 +781,9 @@ const plugin = definePlugin({
597
781
  startup.enabled = false;
598
782
  if (stored.announceToAgent === false)
599
783
  startup.announceToAgent = false;
784
+ const storedHosts = sanitizeSshHosts(stored.sshHosts);
785
+ if (storedHosts !== undefined && storedHosts.length > 0)
786
+ startup.sshHosts = storedHosts;
600
787
  if (Object.keys(startup).length > 0)
601
788
  applyPatch(startup);
602
789
  const events = settingsCtx;
@@ -626,7 +813,7 @@ const plugin = definePlugin({
626
813
  const disposers = [];
627
814
  disposers.push(tools.register(defineTool({
628
815
  name: 'tty_list',
629
- description: '列出当前活跃的终端面板会话(sid / pid / cwd / 创建与最后活动时间)。用户开了终端面板后,用 tty_capture 读取某个 sid 的终端输出,用 tty_send 向该终端发送按键。',
816
+ description: '列出当前活跃的终端面板会话(sid / kind(local|ssh) / target / pid / cwd / 创建与最后活动时间)。用户开了终端面板后,用 tty_capture 读取某个 sid 的终端输出,用 tty_send 向该终端发送按键。',
630
817
  parameters: {},
631
818
  output: {
632
819
  schema: {
@@ -641,7 +828,9 @@ const plugin = definePlugin({
641
828
  additionalProperties: false,
642
829
  properties: {
643
830
  sid: { type: 'string', required: true },
644
- pid: { type: 'number', required: true },
831
+ kind: { type: 'string', required: true },
832
+ target: { type: 'string', required: true },
833
+ pid: { type: 'number' },
645
834
  cwd: { type: 'string', required: true },
646
835
  startedAt: { type: 'number', required: true },
647
836
  lastOutputAt: { type: 'number', required: true },
@@ -654,7 +843,10 @@ const plugin = definePlugin({
654
843
  const sessions = value?.sessions ?? [];
655
844
  const text = sessions.length === 0
656
845
  ? '当前没有活跃的终端面板会话(请引导用户先打开终端面板,或用户尚未打开)'
657
- : '终端面板会话:' + sessions.map((s) => `\n- sid=${s.sid} pid=${s.pid} cwd=${s.cwd} (启动于 ${new Date(s.startedAt).toLocaleString()})`).join('');
846
+ : '终端面板会话:' + sessions.map((s) => {
847
+ const where = s.kind === 'ssh' ? `ssh ${s.target}` : `pid=${String(s.pid ?? '?')} cwd=${s.cwd}`;
848
+ return `\n- sid=${s.sid} [${s.kind}] ${where} (启动于 ${new Date(s.startedAt).toLocaleString()})`;
849
+ }).join('');
658
850
  return [{ type: 'text', text }];
659
851
  },
660
852
  },
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}