@xiaoqiong0v0/opencode-ssh-tool 0.5.1 → 0.6.1
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 +27 -21
- package/dist/agent.d.ts +52 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +244 -0
- package/dist/agent.js.map +1 -0
- package/dist/base-session.d.ts +95 -13
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +271 -102
- package/dist/base-session.js.map +1 -1
- package/dist/config.d.ts +6 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +14 -15
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +14 -15
- package/dist/constants.js.map +1 -1
- package/dist/i18n.d.ts +24 -14
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +37 -12
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -73
- package/dist/index.js.map +1 -1
- package/dist/last-match.d.ts +11 -0
- package/dist/last-match.d.ts.map +1 -1
- package/dist/last-match.js +24 -0
- package/dist/last-match.js.map +1 -1
- package/dist/local-session.d.ts +2 -1
- package/dist/local-session.d.ts.map +1 -1
- package/dist/local-session.js +14 -8
- package/dist/local-session.js.map +1 -1
- package/dist/server-entry.d.ts +2 -0
- package/dist/server-entry.d.ts.map +1 -0
- package/dist/server-entry.js +61 -0
- package/dist/server-entry.js.map +1 -0
- package/dist/server-manager.d.ts +9 -9
- package/dist/server-manager.d.ts.map +1 -1
- package/dist/server-manager.js +208 -27
- package/dist/server-manager.js.map +1 -1
- package/dist/server.d.ts +3 -28
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +429 -275
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +0 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -9
- package/dist/session.js.map +1 -1
- package/dist/shell-adapter.d.ts +38 -2
- package/dist/shell-adapter.d.ts.map +1 -1
- package/dist/shell-adapter.js +372 -24
- package/dist/shell-adapter.js.map +1 -1
- package/dist/utils.d.ts +3 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +29 -10
- package/dist/utils.js.map +1 -1
- package/dist/web/app.css +12 -7
- package/dist/web/app.js +11 -2
- package/dist/web/index.html +6 -3
- package/dist/web/xterm.css +218 -0
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -9,13 +9,14 @@ import { join } from "node:path";
|
|
|
9
9
|
import { rmSync } from "node:fs";
|
|
10
10
|
import { loadConfig } from "./config.js";
|
|
11
11
|
import { SessionHistory } from "./history.js";
|
|
12
|
-
import { T,
|
|
12
|
+
import { T, getToolLang, getWebLang, tr } from "./i18n.js";
|
|
13
13
|
import { toModelText } from "./utils.js";
|
|
14
14
|
import { createDecider } from "./permission.js";
|
|
15
15
|
import { SshSession } from "./session.js";
|
|
16
16
|
import { LocalSession } from "./local-session.js";
|
|
17
17
|
import {} from "./server.js";
|
|
18
18
|
import { ensureServer } from "./server-manager.js";
|
|
19
|
+
import { startAgent } from "./agent.js";
|
|
19
20
|
import { writeSessionState, removeSessionState, removeAllSessionStates } from "./session-store.js";
|
|
20
21
|
/** 默认终端名(不传 name 时用) */
|
|
21
22
|
const DEFAULT_NAME = "default";
|
|
@@ -39,11 +40,30 @@ const sshSessions = new Map();
|
|
|
39
40
|
const localSessions = new Map();
|
|
40
41
|
/** 会话元信息(标题/目录,供 HTTP 页面显示),key = sessionID */
|
|
41
42
|
const sessionMeta = new Map();
|
|
42
|
-
/** HTTP
|
|
43
|
-
let httpServer = null;
|
|
44
|
-
/** HTTP 服务已知地址(本进程启动或复用时记录,供展示) */
|
|
43
|
+
/** HTTP 服务已知地址(独立进程托管,本进程仅记录用于展示) */
|
|
45
44
|
let httpUrl = "";
|
|
46
|
-
/**
|
|
45
|
+
/** 代理客户端句柄(连接独立服务转发交互),可能为 null */
|
|
46
|
+
let agent = null;
|
|
47
|
+
/** 本进程持有的全部会话(供代理注册,{sessionID, name}[]) */
|
|
48
|
+
function listAgentSessions() {
|
|
49
|
+
const out = [];
|
|
50
|
+
for (const [sessionID, map] of sshSessions)
|
|
51
|
+
for (const name of map.keys())
|
|
52
|
+
out.push({ sessionID, name });
|
|
53
|
+
for (const [sessionID, map] of localSessions)
|
|
54
|
+
for (const name of map.keys())
|
|
55
|
+
out.push({ sessionID, name });
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
/** 按 sessionID/name 取会话(供代理转发执行),转为 AgentSession 结构 */
|
|
59
|
+
function resolveAgentSession(sessionID, name) {
|
|
60
|
+
return resolveSession(sessionID, name);
|
|
61
|
+
}
|
|
62
|
+
/** 会话增删后通知代理重新注册(无代理时空操作) */
|
|
63
|
+
function refreshAgent() {
|
|
64
|
+
agent?.reRegister();
|
|
65
|
+
}
|
|
66
|
+
/** 进程退出兜底:关闭全部连接(SSH + 本地终端)+ 断开代理(独立服务不受影响) */
|
|
47
67
|
process.on("exit", () => {
|
|
48
68
|
for (const map of sshSessions.values())
|
|
49
69
|
for (const s of map.values())
|
|
@@ -51,14 +71,7 @@ process.on("exit", () => {
|
|
|
51
71
|
for (const map of localSessions.values())
|
|
52
72
|
for (const s of map.values())
|
|
53
73
|
s.close();
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
httpServer.close();
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
/* 忽略 */
|
|
60
|
-
}
|
|
61
|
-
}
|
|
74
|
+
agent?.close();
|
|
62
75
|
});
|
|
63
76
|
/** 按 sessionID 取内层终端表(无则返回 undefined) */
|
|
64
77
|
function getSessionMap(sessionID) {
|
|
@@ -136,6 +149,7 @@ function cleanupLocalSession(sessionID, name = DEFAULT_NAME) {
|
|
|
136
149
|
localSessions.delete(sessionID);
|
|
137
150
|
}
|
|
138
151
|
removeSessionState(cacheRoot(), sessionID, name);
|
|
152
|
+
refreshAgent();
|
|
139
153
|
}
|
|
140
154
|
/** 清理一个 sessionID 下全部本地终端 */
|
|
141
155
|
function cleanupAllLocalSessions(sessionID) {
|
|
@@ -153,6 +167,7 @@ function cleanupAllLocalSessions(sessionID) {
|
|
|
153
167
|
catch {
|
|
154
168
|
/* 忽略 */
|
|
155
169
|
}
|
|
170
|
+
refreshAgent();
|
|
156
171
|
}
|
|
157
172
|
/** 插件缓存根目录(历史消息对存文件,随会话清理) */
|
|
158
173
|
function cacheRoot() {
|
|
@@ -179,6 +194,7 @@ function cleanupSession(sessionID, name = DEFAULT_NAME) {
|
|
|
179
194
|
}
|
|
180
195
|
}
|
|
181
196
|
removeSessionState(cacheRoot(), sessionID, name);
|
|
197
|
+
refreshAgent();
|
|
182
198
|
}
|
|
183
199
|
/** 清理一个 sessionID 下全部终端 */
|
|
184
200
|
function cleanupAllSessions(sessionID) {
|
|
@@ -196,6 +212,7 @@ function cleanupAllSessions(sessionID) {
|
|
|
196
212
|
catch {
|
|
197
213
|
/* 忽略 */
|
|
198
214
|
}
|
|
215
|
+
refreshAgent();
|
|
199
216
|
}
|
|
200
217
|
export const OpenCodeSshTool = async () => {
|
|
201
218
|
// 父子会话关系(sessionID → parentID;根的 parentID 为 undefined)
|
|
@@ -222,21 +239,19 @@ export const OpenCodeSshTool = async () => {
|
|
|
222
239
|
log.loaded();
|
|
223
240
|
// 加载配置并启动 HTTP 终端记录服务(默认开启;端口 0=自动分配)
|
|
224
241
|
const cfg = loadConfig();
|
|
225
|
-
//
|
|
226
|
-
const
|
|
242
|
+
// 语言:toolLang 用于工具描述/CLI/session 文案(SSH_TOOL_LANG 覆盖);webLang 仅用于 Web 页面 UI(SSH_WEB_LANG 覆盖)
|
|
243
|
+
const toolLang = getToolLang(cfg.toolLang);
|
|
244
|
+
const webLang = getWebLang(cfg.webLang);
|
|
227
245
|
// 权限判定器:内置正则 + 配置自定义 deny/allow 正则
|
|
228
246
|
const decide = createDecider(cfg.permission.deny, cfg.permission.allow);
|
|
229
247
|
if (cfg.server.enabled) {
|
|
230
248
|
try {
|
|
231
|
-
const sr = await ensureServer(cfg.server.port, listSessionEntries, cacheRoot(),
|
|
232
|
-
if (sr.
|
|
233
|
-
httpServer = sr.server;
|
|
234
|
-
httpUrl = sr.url;
|
|
235
|
-
log.info(`HTTP 服务已启动 ${sr.url}`);
|
|
236
|
-
}
|
|
237
|
-
else if (sr.reused) {
|
|
249
|
+
const sr = await ensureServer(cfg.server.port, listSessionEntries, cacheRoot(), webLang);
|
|
250
|
+
if (sr.url) {
|
|
238
251
|
httpUrl = sr.url;
|
|
239
|
-
log.info(`HTTP
|
|
252
|
+
log.info(`HTTP 服务${sr.reused ? "复用" : "已启动"} ${sr.url}`);
|
|
253
|
+
const wsUrl = sr.url.replace(/^http/, "ws") + "/ws";
|
|
254
|
+
agent = startAgent(wsUrl, resolveAgentSession, listAgentSessions);
|
|
240
255
|
}
|
|
241
256
|
else {
|
|
242
257
|
log.info("HTTP 服务未启动(端口冲突或锁竞争)");
|
|
@@ -251,22 +266,22 @@ export const OpenCodeSshTool = async () => {
|
|
|
251
266
|
}
|
|
252
267
|
// ===== CLI 风格单工具(term_cli)子命令实现 =====
|
|
253
268
|
/** 完整用法(模型自学手册) */
|
|
254
|
-
const HELP_TEXT = tr("term_cli_help",
|
|
269
|
+
const HELP_TEXT = tr("term_cli_help", toolLang);
|
|
255
270
|
/** connect:SSH 连接(target=user@host[:port]) */
|
|
256
271
|
async function doConnect(args, ctx) {
|
|
257
272
|
const { values, positionals } = parseArgs({ args, options: { name: { type: "string", short: "n" }, password: { type: "string", short: "p" }, user: { type: "string", short: "u" } }, allowPositionals: true });
|
|
258
273
|
const target = positionals[0] ?? "";
|
|
259
274
|
const m = target.match(/^(?:([^@]+)@)?([^:]+)(?::(\d+))?$/);
|
|
260
275
|
if (!m || !m[2])
|
|
261
|
-
return `${tr("cli_bad_target",
|
|
276
|
+
return `${tr("cli_bad_target", toolLang).replace("{target}", target)}\n${tr("cli_connect_usage", toolLang)}\n\n${HELP_TEXT}`;
|
|
262
277
|
const user = m[1] ?? values.user;
|
|
263
278
|
const host = m[2];
|
|
264
279
|
const port = m[3] ? parseInt(m[3], 10) : undefined;
|
|
265
280
|
if (!user || !host)
|
|
266
|
-
return `${tr("cli_need_user_host",
|
|
281
|
+
return `${tr("cli_need_user_host", toolLang)}\n${tr("cli_connect_usage", toolLang)}\n\n${HELP_TEXT}`;
|
|
267
282
|
const name = values.name ?? DEFAULT_NAME;
|
|
268
283
|
if (sanitizeName(name) === null)
|
|
269
|
-
return tr("invalid_name",
|
|
284
|
+
return tr("invalid_name", toolLang);
|
|
270
285
|
try {
|
|
271
286
|
await ctx.ask({
|
|
272
287
|
permission: "ssh_connect",
|
|
@@ -276,7 +291,7 @@ export const OpenCodeSshTool = async () => {
|
|
|
276
291
|
});
|
|
277
292
|
}
|
|
278
293
|
catch {
|
|
279
|
-
return tr("rejected_connect",
|
|
294
|
+
return tr("rejected_connect", toolLang);
|
|
280
295
|
}
|
|
281
296
|
const map = getSessionMap(ctx.sessionID);
|
|
282
297
|
const old = map?.get(name);
|
|
@@ -284,67 +299,69 @@ export const OpenCodeSshTool = async () => {
|
|
|
284
299
|
old.close();
|
|
285
300
|
map.delete(name);
|
|
286
301
|
}
|
|
287
|
-
const session = new SshSession(ctx.sessionID, new SessionHistory(join(cacheRoot(), ctx.sessionID), name, cfg.history.maxMessages), name);
|
|
302
|
+
const session = new SshSession(ctx.sessionID, new SessionHistory(join(cacheRoot(), ctx.sessionID), name, cfg.history.maxMessages), name, toolLang);
|
|
288
303
|
const result = await session.connect({ host, user, port, password: values.password });
|
|
289
304
|
log.tool("ssh_connect", { host, user, port: port ?? 22, name });
|
|
290
305
|
if (!result.ok) {
|
|
291
306
|
session.close();
|
|
292
|
-
return `${tr("connect_title_fail",
|
|
307
|
+
return `${tr("connect_title_fail", toolLang)}: ${result.error ?? tr("unknown_error", toolLang)}`;
|
|
293
308
|
}
|
|
294
309
|
if (!map)
|
|
295
310
|
sshSessions.set(ctx.sessionID, new Map());
|
|
296
311
|
sshSessions.get(ctx.sessionID).set(name, session);
|
|
297
312
|
syncSessionState(ctx.sessionID, name);
|
|
298
|
-
|
|
313
|
+
refreshAgent();
|
|
314
|
+
return tr("connect_ok", toolLang).replace("{user}", user).replace("{host}", host).replace("{port}", String(port ?? 22)).replace("{sid}", ctx.sessionID).replace("{name}", name);
|
|
299
315
|
}
|
|
300
316
|
/** local:本地/容器终端连接 */
|
|
301
317
|
async function doLocal(args, ctx) {
|
|
302
318
|
const { values, positionals } = parseArgs({ args, options: { name: { type: "string", short: "n" }, cwd: { type: "string", short: "c" } }, allowPositionals: true });
|
|
303
319
|
const command = positionals.join(" ");
|
|
304
320
|
if (!command)
|
|
305
|
-
return `${tr("cli_need_command",
|
|
321
|
+
return `${tr("cli_need_command", toolLang)}\n${tr("cli_local_usage", toolLang)}\n\n${HELP_TEXT}`;
|
|
306
322
|
const name = values.name ?? DEFAULT_NAME;
|
|
307
323
|
if (sanitizeName(name) === null)
|
|
308
|
-
return tr("invalid_name",
|
|
324
|
+
return tr("invalid_name", toolLang);
|
|
309
325
|
const map = getLocalSessionMap(ctx.sessionID);
|
|
310
326
|
const old = map?.get(name);
|
|
311
327
|
if (old) {
|
|
312
328
|
old.close();
|
|
313
329
|
map.delete(name);
|
|
314
330
|
}
|
|
315
|
-
const session = new LocalSession(ctx.sessionID, new SessionHistory(join(cacheRoot(), ctx.sessionID), `local-${name}`, cfg.history.maxMessages), name);
|
|
331
|
+
const session = new LocalSession(ctx.sessionID, new SessionHistory(join(cacheRoot(), ctx.sessionID), `local-${name}`, cfg.history.maxMessages), name, toolLang);
|
|
316
332
|
const result = await session.connect({ command, cwd: values.cwd });
|
|
317
333
|
log.tool("local_connect", { command, name });
|
|
318
334
|
if (!result.ok) {
|
|
319
335
|
session.close();
|
|
320
|
-
return `${tr("local_connect_title_fail",
|
|
336
|
+
return `${tr("local_connect_title_fail", toolLang)}: ${result.error ?? tr("unknown_error", toolLang)}`;
|
|
321
337
|
}
|
|
322
338
|
if (!map)
|
|
323
339
|
localSessions.set(ctx.sessionID, new Map());
|
|
324
340
|
localSessions.get(ctx.sessionID).set(name, session);
|
|
325
341
|
syncSessionState(ctx.sessionID, name);
|
|
326
|
-
|
|
342
|
+
refreshAgent();
|
|
343
|
+
return tr("local_connect_ok", toolLang).replace("{cmd}", command).replace("{name}", name);
|
|
327
344
|
}
|
|
328
345
|
/** exec:在指定终端执行命令 */
|
|
329
346
|
async function doExec(args, ctx) {
|
|
330
347
|
const { values, positionals } = parseArgs({ args, options: { name: { type: "string", short: "n" }, waitResult: { type: "boolean", short: "w" } }, allowPositionals: true });
|
|
331
348
|
const command = positionals.join(" ");
|
|
332
349
|
if (!command)
|
|
333
|
-
return `${tr("cli_need_command",
|
|
350
|
+
return `${tr("cli_need_command", toolLang)}\n${tr("cli_exec_usage", toolLang)}\n\n${HELP_TEXT}`;
|
|
334
351
|
const session = resolveSession(ctx.sessionID, values.name);
|
|
335
352
|
if (!session)
|
|
336
|
-
return tr("not_connected",
|
|
353
|
+
return tr("not_connected", toolLang);
|
|
337
354
|
const decision = decide(command);
|
|
338
355
|
if (decision === "deny") {
|
|
339
356
|
log.tool("term_exec_denied", { command });
|
|
340
|
-
return tr("denied_danger",
|
|
357
|
+
return tr("denied_danger", toolLang);
|
|
341
358
|
}
|
|
342
359
|
if (decision === "ask") {
|
|
343
360
|
try {
|
|
344
361
|
await ctx.ask({ permission: "term_exec", patterns: [command], always: [`term_exec:${command}`], metadata: { title: command.slice(0, 60) } });
|
|
345
362
|
}
|
|
346
363
|
catch {
|
|
347
|
-
return tr("denied",
|
|
364
|
+
return tr("denied", toolLang);
|
|
348
365
|
}
|
|
349
366
|
}
|
|
350
367
|
const name = values.name ?? DEFAULT_NAME;
|
|
@@ -353,15 +370,15 @@ export const OpenCodeSshTool = async () => {
|
|
|
353
370
|
syncSessionState(ctx.sessionID, name);
|
|
354
371
|
log.tool("term_exec", { command, ok: result.ok, submitted: result.submitted, interactive: result.interactive, running: result.running });
|
|
355
372
|
if (result.submitted)
|
|
356
|
-
return tr("submitted",
|
|
357
|
-
return result.ok ? result.output : result.error ?? tr("exec_failed",
|
|
373
|
+
return tr("submitted", toolLang);
|
|
374
|
+
return result.ok ? result.output : result.error ?? tr("exec_failed", toolLang);
|
|
358
375
|
}
|
|
359
376
|
/** read:读取终端输出 */
|
|
360
377
|
async function doRead(args, ctx) {
|
|
361
378
|
const { values } = parseArgs({ args, options: { name: { type: "string", short: "n" }, source: { type: "string", short: "s" }, limit: { type: "string", short: "l" }, head: { type: "boolean" }, includeCommand: { type: "boolean" } }, allowPositionals: true });
|
|
362
379
|
const session = resolveSession(ctx.sessionID, values.name);
|
|
363
380
|
if (!session)
|
|
364
|
-
return tr("not_connected",
|
|
381
|
+
return tr("not_connected", toolLang);
|
|
365
382
|
const source = values.source ?? "history";
|
|
366
383
|
if (source === "buffer") {
|
|
367
384
|
const r = await session.readBuffer();
|
|
@@ -374,24 +391,24 @@ export const OpenCodeSshTool = async () => {
|
|
|
374
391
|
const selected = direction === "tail" ? all.slice(-limit) : all.slice(0, limit);
|
|
375
392
|
const includeCommand = values.includeCommand ?? false;
|
|
376
393
|
const text = selected.map((p) => (includeCommand ? `$ ${p.command}\n` : "") + toModelText(history.readOutput(p))).join("\n");
|
|
377
|
-
const browserLine = httpUrl ? tr("browser_full_record",
|
|
378
|
-
return `${tr(direction === "tail" ? "history_title" : "history_title_head",
|
|
394
|
+
const browserLine = httpUrl ? tr("browser_full_record", toolLang).replace("{url}", httpUrl) : tr("server_not_enabled", toolLang);
|
|
395
|
+
return `${tr(direction === "tail" ? "history_title" : "history_title_head", toolLang).replace("{n}", String(selected.length)).replace("{total}", String(all.length))}\n${text}${browserLine}`;
|
|
379
396
|
}
|
|
380
397
|
/** send:发送文本/按键到终端 */
|
|
381
398
|
async function doSend(args, ctx) {
|
|
382
399
|
const { values, positionals } = parseArgs({ args, options: { name: { type: "string", short: "n" } }, allowPositionals: true });
|
|
383
400
|
const text = positionals.join(" ");
|
|
384
401
|
if (!text)
|
|
385
|
-
return `${tr("cli_need_text",
|
|
402
|
+
return `${tr("cli_need_text", toolLang)}\n${tr("cli_send_usage", toolLang)}\n\n${HELP_TEXT}`;
|
|
386
403
|
const session = resolveSession(ctx.sessionID, values.name);
|
|
387
404
|
if (!session)
|
|
388
|
-
return tr("not_connected",
|
|
405
|
+
return tr("not_connected", toolLang);
|
|
389
406
|
const r = session.send(text);
|
|
390
407
|
if (!r.ok)
|
|
391
|
-
return tr("err_not_connected",
|
|
408
|
+
return tr("err_not_connected", toolLang);
|
|
392
409
|
syncSessionState(ctx.sessionID, values.name ?? DEFAULT_NAME);
|
|
393
410
|
log.tool("term_send", { text: text.slice(0, 60), name: values.name ?? DEFAULT_NAME });
|
|
394
|
-
return tr("send_ok",
|
|
411
|
+
return tr("send_ok", toolLang).replace("{text}", text.slice(0, 60));
|
|
395
412
|
}
|
|
396
413
|
/** status:终端状态 */
|
|
397
414
|
async function doStatus(args, ctx) {
|
|
@@ -399,12 +416,12 @@ export const OpenCodeSshTool = async () => {
|
|
|
399
416
|
const smap = getSessionMap(ctx.sessionID);
|
|
400
417
|
const lmap = getLocalSessionMap(ctx.sessionID);
|
|
401
418
|
if ((!smap || smap.size === 0) && (!lmap || lmap.size === 0))
|
|
402
|
-
return tr("no_sessions",
|
|
419
|
+
return tr("no_sessions", toolLang);
|
|
403
420
|
let sessions;
|
|
404
421
|
if (values.name) {
|
|
405
422
|
const s = resolveSession(ctx.sessionID, values.name);
|
|
406
423
|
if (!s)
|
|
407
|
-
return tr("no_sessions",
|
|
424
|
+
return tr("no_sessions", toolLang);
|
|
408
425
|
sessions = [s];
|
|
409
426
|
}
|
|
410
427
|
else {
|
|
@@ -414,27 +431,27 @@ export const OpenCodeSshTool = async () => {
|
|
|
414
431
|
for (const s of sessions) {
|
|
415
432
|
const st = s.getStatus();
|
|
416
433
|
if (!st.connected) {
|
|
417
|
-
parts.push(tr("session_disconnected",
|
|
434
|
+
parts.push(tr("session_disconnected", toolLang));
|
|
418
435
|
continue;
|
|
419
436
|
}
|
|
420
437
|
const connLine = "host" in st && st.host
|
|
421
|
-
? `${tr("st_host",
|
|
422
|
-
: `${tr("st_program",
|
|
438
|
+
? `${tr("st_host", toolLang)}: ${st.host}@${st.user}:${st.port}`
|
|
439
|
+
: `${tr("st_program", toolLang)}: ${st.program ?? "-"}`;
|
|
423
440
|
parts.push([
|
|
424
|
-
`${tr("st_name",
|
|
425
|
-
`${tr("st_type",
|
|
426
|
-
`${tr("st_connected",
|
|
427
|
-
`${tr("st_busy",
|
|
428
|
-
`${tr("st_pending",
|
|
441
|
+
`${tr("st_name", toolLang)}: ${st.name ?? "default"}`,
|
|
442
|
+
`${tr("st_type", toolLang)}: ${"host" in st ? "ssh" : "local"}`,
|
|
443
|
+
`${tr("st_connected", toolLang)}: ${st.connected}`,
|
|
444
|
+
`${tr("st_busy", toolLang)}: ${st.busy}`,
|
|
445
|
+
`${tr("st_pending", toolLang)}: ${st.pending} ${tr("st_bytes", toolLang)}`,
|
|
429
446
|
connLine,
|
|
430
|
-
st.lastActive ? `${tr("st_last_active",
|
|
431
|
-
st.connectedAt ? `${tr("st_connected_at",
|
|
447
|
+
st.lastActive ? `${tr("st_last_active", toolLang)}: ${new Date(st.lastActive).toISOString()}` : null,
|
|
448
|
+
st.connectedAt ? `${tr("st_connected_at", toolLang)}: ${new Date(st.connectedAt).toISOString()}` : null,
|
|
432
449
|
].filter(Boolean).join("\n"));
|
|
433
|
-
parts.push(st.busy ? tr("status_busy_hint",
|
|
450
|
+
parts.push(st.busy ? tr("status_busy_hint", toolLang) : tr("status_idle_hint", toolLang));
|
|
434
451
|
}
|
|
435
452
|
const serverLines = httpUrl
|
|
436
|
-
? ["", `${tr("st_http_server",
|
|
437
|
-
: ["", `${tr("st_http_server",
|
|
453
|
+
? ["", `${tr("st_http_server", toolLang)}: ${httpUrl}`, `${tr("st_active_sessions", toolLang)}: ${listSessionEntries().length}`]
|
|
454
|
+
: ["", `${tr("st_http_server", toolLang)}: ${tr("st_disabled", toolLang)}`];
|
|
438
455
|
return parts.join("\n\n") + serverLines.join("\n");
|
|
439
456
|
}
|
|
440
457
|
/** disconnect:断开终端 */
|
|
@@ -443,29 +460,29 @@ export const OpenCodeSshTool = async () => {
|
|
|
443
460
|
const smap = getSessionMap(ctx.sessionID);
|
|
444
461
|
const lmap = getLocalSessionMap(ctx.sessionID);
|
|
445
462
|
if ((!smap || smap.size === 0) && (!lmap || lmap.size === 0))
|
|
446
|
-
return tr("no_sessions",
|
|
463
|
+
return tr("no_sessions", toolLang);
|
|
447
464
|
if (!values.name) {
|
|
448
465
|
const firstSshHost = [...(smap?.values() ?? [])][0]?.getStatus().host;
|
|
449
466
|
const firstLocalProgram = [...(lmap?.values() ?? [])][0]?.getStatus().program;
|
|
450
467
|
cleanupAllSessions(ctx.sessionID);
|
|
451
468
|
cleanupAllLocalSessions(ctx.sessionID);
|
|
452
469
|
if (firstSshHost)
|
|
453
|
-
return tr("disconnected_all_ok",
|
|
454
|
-
return tr("disconnected_all_ok_local",
|
|
470
|
+
return tr("disconnected_all_ok", toolLang).replace("{host}", firstSshHost);
|
|
471
|
+
return tr("disconnected_all_ok_local", toolLang).replace("{program}", firstLocalProgram ?? "-");
|
|
455
472
|
}
|
|
456
473
|
const ssh = getSession(ctx.sessionID, values.name);
|
|
457
474
|
if (ssh) {
|
|
458
475
|
const host = ssh.getStatus().host;
|
|
459
476
|
cleanupSession(ctx.sessionID, values.name);
|
|
460
|
-
return tr("disconnected_ok",
|
|
477
|
+
return tr("disconnected_ok", toolLang).replace("{host}", host ?? "-");
|
|
461
478
|
}
|
|
462
479
|
const local = getLocalSession(ctx.sessionID, values.name);
|
|
463
480
|
if (local) {
|
|
464
481
|
const program = local.getStatus().program;
|
|
465
482
|
cleanupLocalSession(ctx.sessionID, values.name);
|
|
466
|
-
return tr("disconnected_ok_local",
|
|
483
|
+
return tr("disconnected_ok_local", toolLang).replace("{program}", program ?? "-");
|
|
467
484
|
}
|
|
468
|
-
return tr("no_sessions",
|
|
485
|
+
return tr("no_sessions", toolLang);
|
|
469
486
|
}
|
|
470
487
|
/** CLI 入口:解析命令行字符串并分发子命令 */
|
|
471
488
|
async function handleCliCommand(raw, ctx) {
|
|
@@ -484,7 +501,7 @@ export const OpenCodeSshTool = async () => {
|
|
|
484
501
|
case "send": return doSend(rest, rootCtx);
|
|
485
502
|
case "status": return doStatus(rest, rootCtx);
|
|
486
503
|
case "disconnect": return doDisconnect(rest, rootCtx);
|
|
487
|
-
default: return `${tr("cli_unknown",
|
|
504
|
+
default: return `${tr("cli_unknown", toolLang).replace("{cmd}", cmd)}\n\n${HELP_TEXT}`;
|
|
488
505
|
}
|
|
489
506
|
}
|
|
490
507
|
// 记录哪些根会话已收到过"来自根自身"的标题(防止子会话标题覆盖根标题)
|
|
@@ -534,9 +551,9 @@ export const OpenCodeSshTool = async () => {
|
|
|
534
551
|
},
|
|
535
552
|
tool: {
|
|
536
553
|
term_cli: tool({
|
|
537
|
-
description: T.term_cli[
|
|
554
|
+
description: T.term_cli[toolLang],
|
|
538
555
|
args: {
|
|
539
|
-
args: tool.schema.string().optional().describe(T.term_cli_args[
|
|
556
|
+
args: tool.schema.string().optional().describe(T.term_cli_args[toolLang]),
|
|
540
557
|
},
|
|
541
558
|
async execute(args, context) {
|
|
542
559
|
return { title: "term_cli", output: await handleCliCommand(args.args ?? "help", context) };
|
package/dist/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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"}
|
package/dist/last-match.d.ts
CHANGED
|
@@ -14,4 +14,15 @@ export declare function findLastEndOf(pattern: string | RegExp, text: string, fr
|
|
|
14
14
|
* @returns 最后一次匹配结果;未找到返回 null
|
|
15
15
|
*/
|
|
16
16
|
export declare function findLastMatch(pattern: RegExp, text: string, fromPos?: number): RegExpExecArray | null;
|
|
17
|
+
/**
|
|
18
|
+
* 返回正则模式在 [fromPos, endPos) 范围内最后一次匹配的结束位置。
|
|
19
|
+
* 用于命令回显定位:连续输入时后续裸命令回显会出现在当前命令 marker 之后,
|
|
20
|
+
* 全局"最后匹配"会错位到 marker 之后;限制上界为 marker 位置可避免干扰。
|
|
21
|
+
* @param pattern 正则
|
|
22
|
+
* @param text 目标文本
|
|
23
|
+
* @param fromPos 搜索起点
|
|
24
|
+
* @param endPos 搜索上界(不含)
|
|
25
|
+
* @returns 匹配结束位置(不含);未找到返回 -1
|
|
26
|
+
*/
|
|
27
|
+
export declare function findLastEndOfBefore(pattern: RegExp, text: string, fromPos: number, endPos: number): number;
|
|
17
28
|
//# sourceMappingURL=last-match.d.ts.map
|
package/dist/last-match.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last-match.d.ts","sourceRoot":"","sources":["../src/last-match.ts"],"names":[],"mappings":"AAiCA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAGzF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,eAAe,GAAG,IAAI,CAUhG"}
|
|
1
|
+
{"version":3,"file":"last-match.d.ts","sourceRoot":"","sources":["../src/last-match.ts"],"names":[],"mappings":"AAiCA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAGzF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,eAAe,GAAG,IAAI,CAUhG;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW1G"}
|
package/dist/last-match.js
CHANGED
|
@@ -60,4 +60,28 @@ export function findLastMatch(pattern, text, fromPos = 0) {
|
|
|
60
60
|
}
|
|
61
61
|
return last;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* 返回正则模式在 [fromPos, endPos) 范围内最后一次匹配的结束位置。
|
|
65
|
+
* 用于命令回显定位:连续输入时后续裸命令回显会出现在当前命令 marker 之后,
|
|
66
|
+
* 全局"最后匹配"会错位到 marker 之后;限制上界为 marker 位置可避免干扰。
|
|
67
|
+
* @param pattern 正则
|
|
68
|
+
* @param text 目标文本
|
|
69
|
+
* @param fromPos 搜索起点
|
|
70
|
+
* @param endPos 搜索上界(不含)
|
|
71
|
+
* @returns 匹配结束位置(不含);未找到返回 -1
|
|
72
|
+
*/
|
|
73
|
+
export function findLastEndOfBefore(pattern, text, fromPos, endPos) {
|
|
74
|
+
const g = pattern.global ? pattern : new RegExp(pattern.source, pattern.flags + "g");
|
|
75
|
+
g.lastIndex = fromPos;
|
|
76
|
+
let last = -1;
|
|
77
|
+
let m;
|
|
78
|
+
while ((m = g.exec(text)) !== null) {
|
|
79
|
+
if (m.index >= endPos)
|
|
80
|
+
break;
|
|
81
|
+
last = m.index + m[0].length;
|
|
82
|
+
if (m[0].length === 0)
|
|
83
|
+
g.lastIndex++;
|
|
84
|
+
}
|
|
85
|
+
return last;
|
|
86
|
+
}
|
|
63
87
|
//# sourceMappingURL=last-match.js.map
|
package/dist/last-match.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last-match.js","sourceRoot":"","sources":["../src/last-match.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,gCAAgC;AAEhC;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,IAAY;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,IAAY,EAAE,OAAe;IACnE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;IACpF,CAAC,CAAC,SAAS,GAAG,OAAO,CAAA;IACrB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAA;IACb,IAAI,CAAyB,CAAA;IAC7B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,CAAC,CAAC,SAAS,EAAE,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;IAC/E,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACpE,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,IAAY,EAAE,OAAO,GAAG,CAAC;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;IACpF,CAAC,CAAC,SAAS,GAAG,OAAO,CAAA;IACrB,IAAI,IAAI,GAA2B,IAAI,CAAA;IACvC,IAAI,CAAyB,CAAA;IAC7B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,CAAA;QACR,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,CAAC,CAAC,SAAS,EAAE,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"last-match.js","sourceRoot":"","sources":["../src/last-match.ts"],"names":[],"mappings":"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"}
|
package/dist/local-session.d.ts
CHANGED
|
@@ -13,7 +13,8 @@ export declare class LocalSession extends BaseSession {
|
|
|
13
13
|
private _term;
|
|
14
14
|
private _proc;
|
|
15
15
|
private _program;
|
|
16
|
-
|
|
16
|
+
/** Windows ConPTY(本地/容器会话)裸 \n 不提交行,多行命令须用 \r 分隔 */
|
|
17
|
+
protected _lineSep: string;
|
|
17
18
|
protected get _extraResult(): Partial<ExecResult>;
|
|
18
19
|
protected _ready(): boolean;
|
|
19
20
|
protected _write(data: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-session.d.ts","sourceRoot":"","sources":["../src/local-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-session.d.ts","sourceRoot":"","sources":["../src/local-session.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAWD,qBAAa,YAAa,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,QAAQ,CAAK;IAErB,oDAAoD;IACpD,UAAmB,QAAQ,SAAO;IAElC,SAAS,KAAK,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC,CAAc;IAE/D,SAAS,CAAC,MAAM,IAAI,OAAO,CAE1B;IAED,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnC;IAED,SAAS,CAAC,eAAe,IAAI,IAAI,CAIhC;IAED;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAoD/F;IAED,SAAS,IAAI,WAAW,CAUvB;CACF"}
|