@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/README.md +67 -9
- package/client.js +22 -22
- package/lib/index.d.ts +8 -2
- package/lib/index.js +223 -31
- package/lib/index.js.map +1 -1
- package/lib/ssh.d.ts +49 -0
- package/lib/ssh.js +232 -0
- package/lib/ssh.js.map +1 -0
- package/package.json +6 -3
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?}
|
|
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
|
|
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()
|
|
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.
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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.
|
|
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
|
-
|
|
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) =>
|
|
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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"}
|