@xiaoqiong0v0/opencode-ssh-tool 0.2.4 → 0.2.5

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/dist/i18n.d.ts CHANGED
@@ -32,6 +32,10 @@ export declare const T: {
32
32
  readonly en: "Terminal name within the session, default 'default'. Creating with an existing name closes the old one first. Use distinct names to keep multiple terminals.";
33
33
  readonly zh: "会话内的终端名,默认 'default'。同名创建会先关闭旧终端。用不同名称可保持多个终端。";
34
34
  };
35
+ readonly password: {
36
+ readonly en: "Password for password auth (optional). Supports plain text or 'file:<abs path>' to read from a file (avoids exposing it in context). If omitted, falls back to SSH key / agent / SSH_PASSWORD env.";
37
+ readonly zh: "密码认证密码(可选)。支持明文或 'file:<绝对路径>' 从文件读取(避免暴露在上下文中)。省略时回退到 SSH 私钥 / agent / 环境变量 SSH_PASSWORD。";
38
+ };
35
39
  };
36
40
  readonly ssh_exec: {
37
41
  readonly en: "Execute a command in the current SSH session (by terminal name), preserving cwd and environment. Commands outside the read-only allowlist require user approval.";
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
package/dist/i18n.js CHANGED
@@ -27,6 +27,10 @@ export const T = {
27
27
  en: "Terminal name within the session, default 'default'. Creating with an existing name closes the old one first. Use distinct names to keep multiple terminals.",
28
28
  zh: "会话内的终端名,默认 'default'。同名创建会先关闭旧终端。用不同名称可保持多个终端。",
29
29
  },
30
+ password: {
31
+ en: "Password for password auth (optional). Supports plain text or 'file:<abs path>' to read from a file (avoids exposing it in context). If omitted, falls back to SSH key / agent / SSH_PASSWORD env.",
32
+ zh: "密码认证密码(可选)。支持明文或 'file:<绝对路径>' 从文件读取(避免暴露在上下文中)。省略时回退到 SSH 私钥 / agent / 环境变量 SSH_PASSWORD。",
33
+ },
30
34
  },
31
35
  ssh_exec: {
32
36
  en: "Execute a command in the current SSH session (by terminal name), preserving cwd and environment. Commands outside the read-only allowlist require user approval.",
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAyGvD,eAAO,MAAM,eAAe,EAAE,MA6R7B,CAAA;eAGc,eAAe"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAkJvD,eAAO,MAAM,eAAe,EAAE,MA2S7B,CAAA;eAGc,eAAe"}
package/dist/index.js CHANGED
@@ -10,7 +10,9 @@ import { SessionHistory } from "./history.js";
10
10
  import { T, getLang, tr } from "./i18n.js";
11
11
  import { createDecider } from "./permission.js";
12
12
  import { SshSession } from "./session.js";
13
- import { startServer } from "./server.js";
13
+ import {} from "./server.js";
14
+ import { ensureServer } from "./server-manager.js";
15
+ import { writeSessionState, removeSessionState } from "./session-store.js";
14
16
  const log = createLogger("opencode-ssh-tool");
15
17
  /** 默认终端名(不传 name 时用) */
16
18
  const DEFAULT_NAME = "default";
@@ -32,13 +34,23 @@ function sanitizeName(name) {
32
34
  const sshSessions = new Map();
33
35
  /** 会话元信息(标题/目录,供 HTTP 页面显示),key = sessionID */
34
36
  const sessionMeta = new Map();
35
- /** HTTP 终端记录服务句柄(可能未启用) */
37
+ /** HTTP 终端记录服务句柄(本进程持有,可能为 null) */
36
38
  let httpServer = null;
37
- /** 进程退出兜底:关闭全部连接 */
39
+ /** HTTP 服务已知地址(本进程启动或复用时记录,供展示) */
40
+ let httpUrl = "";
41
+ /** 进程退出兜底:关闭全部连接 + 关闭本进程持有的 HTTP 服务 */
38
42
  process.on("exit", () => {
39
43
  for (const map of sshSessions.values())
40
44
  for (const s of map.values())
41
45
  s.close();
46
+ if (httpServer) {
47
+ try {
48
+ httpServer.close();
49
+ }
50
+ catch {
51
+ /* 忽略 */
52
+ }
53
+ }
42
54
  });
43
55
  /** 按 sessionID 取内层终端表(无则返回 undefined) */
44
56
  function getSessionMap(sessionID) {
@@ -58,6 +70,33 @@ function listSessionEntries() {
58
70
  }
59
71
  return entries;
60
72
  }
73
+ /**
74
+ * 同步某终端状态到共享文件(跨进程聚合展示用)
75
+ * @param sessionID opencode 会话 ID
76
+ * @param name 终端名(默认 default)
77
+ */
78
+ function syncSessionState(sessionID, name = DEFAULT_NAME) {
79
+ const session = getSession(sessionID, name);
80
+ if (!session)
81
+ return;
82
+ const st = session.getStatus();
83
+ const meta = sessionMeta.get(sessionID);
84
+ writeSessionState(cacheRoot(), {
85
+ sessionID,
86
+ name,
87
+ host: st.host,
88
+ user: st.user,
89
+ port: st.port,
90
+ connected: st.connected,
91
+ busy: st.busy,
92
+ pending: st.pending,
93
+ lastActive: st.lastActive,
94
+ connectedAt: st.connectedAt,
95
+ title: meta?.title,
96
+ directory: meta?.directory,
97
+ updatedAt: Date.now(),
98
+ });
99
+ }
61
100
  /** 插件缓存根目录(历史消息对存文件,随会话清理) */
62
101
  function cacheRoot() {
63
102
  const home = process.env.USERPROFILE || process.env.HOME || homedir();
@@ -82,6 +121,7 @@ function cleanupSession(sessionID, name = DEFAULT_NAME) {
82
121
  /* 忽略 */
83
122
  }
84
123
  }
124
+ removeSessionState(cacheRoot(), sessionID, name);
85
125
  }
86
126
  /** 清理一个 sessionID 下全部终端 */
87
127
  function cleanupAllSessions(sessionID) {
@@ -89,6 +129,8 @@ function cleanupAllSessions(sessionID) {
89
129
  if (map) {
90
130
  for (const s of map.values())
91
131
  s.close();
132
+ for (const name of map.keys())
133
+ removeSessionState(cacheRoot(), sessionID, name);
92
134
  sshSessions.delete(sessionID);
93
135
  }
94
136
  else {
@@ -110,8 +152,19 @@ export const OpenCodeSshTool = async () => {
110
152
  const decide = createDecider(cfg.permission.deny, cfg.permission.allow);
111
153
  if (cfg.server.enabled) {
112
154
  try {
113
- httpServer = await startServer(cfg.server.port, listSessionEntries);
114
- log.info(`HTTP 服务已启动 ${httpServer.url}`);
155
+ const sr = await ensureServer(cfg.server.port, listSessionEntries, cacheRoot());
156
+ if (sr.server) {
157
+ httpServer = sr.server;
158
+ httpUrl = sr.url;
159
+ log.info(`HTTP 服务已启动 ${sr.url}`);
160
+ }
161
+ else if (sr.reused) {
162
+ httpUrl = sr.url;
163
+ log.info(`HTTP 服务复用 ${sr.url}`);
164
+ }
165
+ else {
166
+ log.info("HTTP 服务未启动(端口冲突或锁竞争)");
167
+ }
115
168
  }
116
169
  catch (e) {
117
170
  log.error("HTTP 服务启动失败", e instanceof Error ? e : String(e));
@@ -127,6 +180,11 @@ export const OpenCodeSshTool = async () => {
127
180
  const info = event.properties?.info;
128
181
  if (info?.id) {
129
182
  sessionMeta.set(info.id, { title: info.title ?? "", directory: info.directory ?? "" });
183
+ // 有活动终端时同步标题/目录到状态文件(供跨进程聚合)
184
+ const map = getSessionMap(info.id);
185
+ if (map)
186
+ for (const name of map.keys())
187
+ syncSessionState(info.id, name);
130
188
  }
131
189
  }
132
190
  // 会话删除时清理:关闭全部终端连接 + 删缓存目录 + 删元信息
@@ -148,6 +206,7 @@ export const OpenCodeSshTool = async () => {
148
206
  user: tool.schema.string().describe(T.ssh_connect_args.user[lang]),
149
207
  port: tool.schema.number().optional().describe(T.ssh_connect_args.port[lang]),
150
208
  name: tool.schema.string().optional().describe(T.ssh_connect_args.name[lang]),
209
+ password: tool.schema.string().optional().describe(T.ssh_connect_args.password[lang]),
151
210
  },
152
211
  async execute(args, context) {
153
212
  const { sessionID } = context;
@@ -174,7 +233,7 @@ export const OpenCodeSshTool = async () => {
174
233
  map.delete(name);
175
234
  }
176
235
  const session = new SshSession(sessionID, new SessionHistory(join(cacheRoot(), sessionID), name, cfg.history.maxMessages), name);
177
- const result = await session.connect(args);
236
+ const result = await session.connect({ host: args.host, user: args.user, port: args.port, password: args.password });
178
237
  log.tool("ssh_connect", { host: args.host, user: args.user, port: args.port ?? 22, name });
179
238
  if (!result.ok) {
180
239
  session.close(); // 关闭连接 + 清理 history 缓存目录
@@ -186,6 +245,7 @@ export const OpenCodeSshTool = async () => {
186
245
  if (!map)
187
246
  sshSessions.set(sessionID, new Map());
188
247
  sshSessions.get(sessionID).set(name, session);
248
+ syncSessionState(sessionID, name);
189
249
  return {
190
250
  title: `${tr("connect_title_ok", lang)} ${args.user}@${args.host}`,
191
251
  output: tr("connect_ok", lang)
@@ -234,6 +294,7 @@ export const OpenCodeSshTool = async () => {
234
294
  }
235
295
  // 默认异步提交(立即返回,不占上下文);waitResult=true 同步等结果
236
296
  const result = args.waitResult ? await session.exec(args.command) : await session.submit(args.command);
297
+ syncSessionState(sessionID, args.name ?? DEFAULT_NAME);
237
298
  log.tool("ssh_exec", { command: args.command, ok: result.ok, submitted: result.submitted, interactive: result.interactive, running: result.running });
238
299
  const meta = {
239
300
  host: result.host,
@@ -286,8 +347,8 @@ export const OpenCodeSshTool = async () => {
286
347
  const text = selected
287
348
  .map((p) => (includeCommand ? `$ ${p.command}\n${history.readOutput(p)}` : history.readOutput(p)))
288
349
  .join("\n");
289
- const browserLine = httpServer
290
- ? tr("browser_full_record", lang).replace("{url}", httpServer.url)
350
+ const browserLine = httpUrl
351
+ ? tr("browser_full_record", lang).replace("{url}", httpUrl)
291
352
  : tr("server_not_enabled", lang);
292
353
  const titleKey = direction === "tail" ? "history_title" : "history_title_head";
293
354
  return {
@@ -336,11 +397,10 @@ export const OpenCodeSshTool = async () => {
336
397
  parts.push(st.busy ? tr("status_busy_hint", lang) : tr("status_idle_hint", lang));
337
398
  }
338
399
  // 并入 HTTP 服务状态
339
- const serverLines = httpServer
400
+ const serverLines = httpUrl
340
401
  ? [
341
402
  "",
342
- `httpServer: ${httpServer.url}`,
343
- `httpPort: ${httpServer.port}`,
403
+ `httpServer: ${httpUrl}`,
344
404
  `activeSessions: ${listSessionEntries().length}`,
345
405
  ]
346
406
  : ["", "httpServer: disabled"];
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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"}
@@ -0,0 +1,23 @@
1
+ import { type ServerHandle, type SessionEntry } from "./server.js";
2
+ /** 服务句柄(含是否复用既有服务) */
3
+ export interface ServerResult {
4
+ server: ServerHandle | null;
5
+ /** 实际地址 */
6
+ url: string;
7
+ /** 实际端口 */
8
+ port: number;
9
+ /** 是否复用了已存在的服务(非本进程启动) */
10
+ reused: boolean;
11
+ }
12
+ /**
13
+ * 确保 HTTP 服务单例运行:
14
+ * 1. 有 server.json 且端口可探测 → 复用(reused=true)
15
+ * 2. 否则拿文件锁(mkdir 原子)→ 启动 → 写 server.json → 释放锁
16
+ * 3. 锁竞争失败 → 等待后重新探测复用
17
+ * @param port 期望端口(0=随机,但随机端口无法跨进程复用,故随机时总是新启)
18
+ * @param getSessions 会话列表函数
19
+ * @param dir 缓存目录(锁与信息文件存放处)
20
+ * @returns 服务结果
21
+ */
22
+ export declare function ensureServer(port: number, getSessions: () => SessionEntry[], dir: string): Promise<ServerResult>;
23
+ //# sourceMappingURL=server-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/E,sBAAsB;AACtB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,WAAW;IACX,GAAG,EAAE,MAAM,CAAA;IACX,WAAW;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAA;CAChB;AAqCD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,CAAC,CA8CvB"}
@@ -0,0 +1,84 @@
1
+ // HTTP 服务跨进程单例管理:文件锁 + 端口探测,避免多会话/多进程重复启动服务
2
+ import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { startServer } from "./server.js";
5
+ const LOCK_DIR = "server.lock";
6
+ const INFO_FILE = "server.json";
7
+ const PROBE_TIMEOUT = 800;
8
+ const LOCK_WAIT_MAX = 5000;
9
+ /** 探测某端口 /health 是否可达(判断服务是否已运行) */
10
+ async function probe(port) {
11
+ try {
12
+ const ctrl = new AbortController();
13
+ const timer = setTimeout(() => ctrl.abort(), PROBE_TIMEOUT);
14
+ const r = await fetch(`http://127.0.0.1:${port}/health`, { signal: ctrl.signal });
15
+ clearTimeout(timer);
16
+ return r.ok;
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ /** 读取服务信息文件(可能不存在) */
23
+ function readInfo(dir) {
24
+ try {
25
+ return JSON.parse(readFileSync(join(dir, INFO_FILE), "utf8"));
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ /**
32
+ * 确保 HTTP 服务单例运行:
33
+ * 1. 有 server.json 且端口可探测 → 复用(reused=true)
34
+ * 2. 否则拿文件锁(mkdir 原子)→ 启动 → 写 server.json → 释放锁
35
+ * 3. 锁竞争失败 → 等待后重新探测复用
36
+ * @param port 期望端口(0=随机,但随机端口无法跨进程复用,故随机时总是新启)
37
+ * @param getSessions 会话列表函数
38
+ * @param dir 缓存目录(锁与信息文件存放处)
39
+ * @returns 服务结果
40
+ */
41
+ export async function ensureServer(port, getSessions, dir) {
42
+ mkdirSync(dir, { recursive: true });
43
+ // 1. 探测既有服务(固定端口场景可复用)
44
+ if (port > 0) {
45
+ const info = readInfo(dir);
46
+ if (info && info.port === port && (await probe(port))) {
47
+ return { server: null, url: `http://127.0.0.1:${port}`, port, reused: true };
48
+ }
49
+ }
50
+ // 2. 尝试拿锁(mkdir 原子操作:谁先创建成功谁启动)
51
+ const lockPath = join(dir, LOCK_DIR);
52
+ try {
53
+ mkdirSync(lockPath);
54
+ }
55
+ catch {
56
+ // 锁被占用:等待后探测
57
+ const deadline = Date.now() + LOCK_WAIT_MAX;
58
+ while (Date.now() < deadline) {
59
+ await new Promise((r) => setTimeout(r, 200));
60
+ const info = readInfo(dir);
61
+ if (info && (await probe(info.port))) {
62
+ return { server: null, url: `http://127.0.0.1:${info.port}`, port: info.port, reused: true };
63
+ }
64
+ }
65
+ return { server: null, url: "", port: 0, reused: false };
66
+ }
67
+ try {
68
+ // 3. 拿锁成功:启动服务
69
+ const handle = await startServer(port, getSessions, dir);
70
+ // 写服务信息(供其他进程探测复用)
71
+ writeFileSync(join(dir, INFO_FILE), JSON.stringify({ port: handle.port, host: "127.0.0.1", pid: process.pid, startedAt: Date.now() }), "utf8");
72
+ return { server: handle, url: handle.url, port: handle.port, reused: false };
73
+ }
74
+ finally {
75
+ // 释放锁
76
+ try {
77
+ rmSync(lockPath, { recursive: true, force: true });
78
+ }
79
+ catch {
80
+ /* 忽略 */
81
+ }
82
+ }
83
+ }
84
+ //# sourceMappingURL=server-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -18,8 +18,9 @@ export interface SessionEntry {
18
18
  /**
19
19
  * 启动 HTTP 服务(监听 127.0.0.1)
20
20
  * @param port 端口,0 或未指定 → 系统随机分配(避免冲突)
21
- * @param getSessions 获取扁平会话条目列表的函数(供页面展示)
21
+ * @param getSessions 获取扁平会话条目列表的函数(供本进程页面展示)
22
+ * @param dir 插件缓存根目录(跨进程状态文件/历史文件所在处)
22
23
  * @returns 服务句柄(含实际端口与 URL)
23
24
  */
24
- export declare function startServer(port: number, getSessions: () => SessionEntry[]): Promise<ServerHandle>;
25
+ export declare function startServer(port: number, getSessions: () => SessionEntry[], dir: string): Promise<ServerHandle>;
25
26
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAkFlG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAIrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyF/G"}
package/dist/server.js CHANGED
@@ -1,13 +1,17 @@
1
1
  // 本地 HTTP 服务:浏览器直接查看可滚动终端记录(默认开启,端口可配,0=随机分配)
2
2
  import { createServer } from "node:http";
3
+ import { readdirSync, readFileSync } from "node:fs";
4
+ import { join } from "node:path";
3
5
  import { cleanAnsi } from "./utils.js";
6
+ import { listAllSessions } from "./session-store.js";
4
7
  /**
5
8
  * 启动 HTTP 服务(监听 127.0.0.1)
6
9
  * @param port 端口,0 或未指定 → 系统随机分配(避免冲突)
7
- * @param getSessions 获取扁平会话条目列表的函数(供页面展示)
10
+ * @param getSessions 获取扁平会话条目列表的函数(供本进程页面展示)
11
+ * @param dir 插件缓存根目录(跨进程状态文件/历史文件所在处)
8
12
  * @returns 服务句柄(含实际端口与 URL)
9
13
  */
10
- export function startServer(port, getSessions) {
14
+ export function startServer(port, getSessions, dir) {
11
15
  let actualPort = port;
12
16
  const server = createServer((req, res) => {
13
17
  const url = new URL(req.url ?? "/", "http://127.0.0.1");
@@ -18,14 +22,14 @@ export function startServer(port, getSessions) {
18
22
  return;
19
23
  }
20
24
  if (path === "/api/status") {
21
- const entries = getSessions();
25
+ // 跨进程聚合:所有 opencode 进程写入的状态文件(含本进程)
26
+ const states = listAllSessions(dir);
22
27
  // 按 sessionID 分组(一个会话下多个终端)
23
28
  const bySession = new Map();
24
- for (const { sessionID, name, session, title, directory } of entries) {
25
- const st = session.getStatus();
26
- if (!bySession.has(sessionID))
27
- bySession.set(sessionID, { title, directory, terminals: [] });
28
- bySession.get(sessionID).terminals.push({ name, host: st.host, user: st.user, port: st.port, connected: st.connected, busy: st.busy, pending: st.pending });
29
+ for (const s of states) {
30
+ if (!bySession.has(s.sessionID))
31
+ bySession.set(s.sessionID, { title: s.title, directory: s.directory, terminals: [] });
32
+ bySession.get(s.sessionID).terminals.push({ name: s.name, host: s.host, user: s.user, port: s.port, connected: s.connected, busy: s.busy, pending: s.pending });
29
33
  }
30
34
  const sessions = [...bySession.entries()].map(([sessionID, v]) => ({
31
35
  sessionID,
@@ -42,8 +46,15 @@ export function startServer(port, getSessions) {
42
46
  const name = url.searchParams.get("name") ?? "default";
43
47
  const entry = getSessions().find((e) => e.sessionID === sid && e.name === name);
44
48
  if (!entry) {
45
- res.writeHead(404, { "Content-Type": "text/plain; charset=utf-8" });
46
- res.end("Session not found or disconnected");
49
+ // 本进程无此会话句柄(其他进程的会话/复用服务)→ 从历史文件读取
50
+ const text = readHistoryFromFile(dir, sid, name);
51
+ if (text === null) {
52
+ res.writeHead(404, { "Content-Type": "text/plain; charset=utf-8" });
53
+ res.end("Session not found or disconnected");
54
+ return;
55
+ }
56
+ res.writeHead(200, { "Content-Type": "text/plain; charset=utf-8" });
57
+ res.end(text);
47
58
  return;
48
59
  }
49
60
  // 渲染命令+输出消息对
@@ -85,6 +96,38 @@ export function startServer(port, getSessions) {
85
96
  });
86
97
  });
87
98
  }
99
+ /**
100
+ * 从历史文件读取某终端记录(跨进程场景:本进程无该会话句柄时用)
101
+ * @param dir 插件缓存根目录
102
+ * @param sessionID opencode 会话 ID
103
+ * @param name 终端名
104
+ * @returns 渲染文本(命令+输出,去除 ANSI);目录不存在返回 null
105
+ */
106
+ function readHistoryFromFile(dir, sessionID, name) {
107
+ const hdir = join(dir, sessionID, name);
108
+ let files;
109
+ try {
110
+ files = readdirSync(hdir).filter((f) => f.endsWith(".json"));
111
+ }
112
+ catch {
113
+ return null;
114
+ }
115
+ files.sort();
116
+ const lines = [];
117
+ for (const f of files) {
118
+ try {
119
+ const data = JSON.parse(readFileSync(join(hdir, f), "utf8"));
120
+ if (typeof data.command === "string")
121
+ lines.push(`$ ${data.command}`);
122
+ if (typeof data.output === "string")
123
+ lines.push(cleanAnsi(data.output));
124
+ }
125
+ catch {
126
+ /* 跳过损坏文件 */
127
+ }
128
+ }
129
+ return lines.join("\n");
130
+ }
88
131
  /** 渲染终端记录页面(黑底绿字等宽,JS 轮询自动刷新) */
89
132
  function renderPage() {
90
133
  return `<!DOCTYPE html>
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** 跨进程会话状态(写入共享目录供聚合) */
2
+ export interface SessionState {
3
+ sessionID: string;
4
+ name: string;
5
+ host?: string;
6
+ user?: string;
7
+ port?: number;
8
+ connected: boolean;
9
+ busy: boolean;
10
+ pending: number;
11
+ lastActive?: number;
12
+ connectedAt?: number;
13
+ title?: string;
14
+ directory?: string;
15
+ updatedAt: number;
16
+ }
17
+ /** 写/更新某会话状态文件(进程内会话变化时调用) */
18
+ export declare function writeSessionState(cacheRoot: string, state: SessionState): void;
19
+ /** 删除某会话状态文件(断开/会话删除时调用) */
20
+ export declare function removeSessionState(cacheRoot: string, sessionID: string, name: string): void;
21
+ /** 聚合所有进程的会话状态(web 服务展示用),含标题/目录 */
22
+ export declare function listAllSessions(cacheRoot: string): SessionState[];
23
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAKA,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAUD,8BAA8B;AAC9B,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ9E;AAED,4BAA4B;AAC5B,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAM3F;AAED,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAoBjE"}
@@ -0,0 +1,55 @@
1
+ // 跨进程会话状态存储:各进程写状态文件到共享目录,web 服务聚合展示所有进程的会话
2
+ import { mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ /** sessions 状态文件目录名 */
5
+ const SESSIONS_DIR = "sessions";
6
+ /** 状态文件名:<sessionID>-<name>.json(name 已 sanitize,安全) */
7
+ function stateFile(sessionsDir, sessionID, name) {
8
+ return join(sessionsDir, `${sessionID}-${name}.json`);
9
+ }
10
+ /** 写/更新某会话状态文件(进程内会话变化时调用) */
11
+ export function writeSessionState(cacheRoot, state) {
12
+ try {
13
+ const dir = join(cacheRoot, SESSIONS_DIR);
14
+ mkdirSync(dir, { recursive: true });
15
+ writeFileSync(stateFile(dir, state.sessionID, state.name), JSON.stringify(state), "utf8");
16
+ }
17
+ catch {
18
+ /* 忽略写失败 */
19
+ }
20
+ }
21
+ /** 删除某会话状态文件(断开/会话删除时调用) */
22
+ export function removeSessionState(cacheRoot, sessionID, name) {
23
+ try {
24
+ rmSync(stateFile(join(cacheRoot, SESSIONS_DIR), sessionID, name), { force: true });
25
+ }
26
+ catch {
27
+ /* 忽略 */
28
+ }
29
+ }
30
+ /** 聚合所有进程的会话状态(web 服务展示用),含标题/目录 */
31
+ export function listAllSessions(cacheRoot) {
32
+ const dir = join(cacheRoot, SESSIONS_DIR);
33
+ let files;
34
+ try {
35
+ files = readdirSync(dir).filter((f) => f.endsWith(".json"));
36
+ }
37
+ catch {
38
+ return [];
39
+ }
40
+ const out = [];
41
+ for (const f of files) {
42
+ try {
43
+ const s = JSON.parse(readFileSync(join(dir, f), "utf8"));
44
+ if (s && s.sessionID)
45
+ out.push(s);
46
+ }
47
+ catch {
48
+ /* 跳过损坏文件 */
49
+ }
50
+ }
51
+ // 按连接时间排序(新的在前)
52
+ out.sort((a, b) => (b.connectedAt ?? 0) - (a.connectedAt ?? 0));
53
+ return out;
54
+ }
55
+ //# sourceMappingURL=session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.js","sourceRoot":"","sources":["../src/session-store.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAmBhC,uBAAuB;AACvB,MAAM,YAAY,GAAG,UAAU,CAAA;AAE/B,wDAAwD;AACxD,SAAS,SAAS,CAAC,WAAmB,EAAE,SAAiB,EAAE,IAAY;IACrE,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,IAAI,IAAI,OAAO,CAAC,CAAA;AACvD,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAmB;IACtE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACzC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAY;IACnF,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ;IACV,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACzC,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,GAAG,GAAmB,EAAE,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAA;YACxE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,gBAAgB;IAChB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/D,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/dist/session.d.ts CHANGED
@@ -55,13 +55,14 @@ export declare class SshSession {
55
55
  constructor(sessionID: string, history: SessionHistory, name?: string);
56
56
  /**
57
57
  * 建立 SSH 连接并打开 PTY shell
58
- * @param opts 连接参数
58
+ * @param opts 连接参数;显式传 password 时优先用密码认证,否则回退 resolveAuth(私钥/agent/环境变量)
59
59
  * @returns 连接结果
60
60
  */
61
61
  connect(opts: {
62
62
  host: string;
63
63
  user: string;
64
64
  port?: number;
65
+ password?: string;
65
66
  }): Promise<ConnectResult>;
66
67
  /**
67
68
  * 异步提交命令:立即返回,命令后台执行,输出由后台监听收集进 history
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAK7C,WAAW;AACX,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,aAAa;AACb,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,yBAAyB;AACzB,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAYD,qBAAa,UAAU;IAmBnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IApBvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,YACmB,SAAS,EAAE,MAAM,EAClC,OAAO,EAAE,cAAc,EACN,IAAI,SAAY,EAGlC;IAED;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CA+E5G;IAED;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BjD;IAED;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiElF;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAsB3E;IAED;;;OAGG;IACH,SAAS,IAAI,aAAa,CAYzB;IAED;;;OAGG;IACH,UAAU,IAAI,cAAc,CAE3B;IAED;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAKzB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAsBZ;IAED;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;IAoDrB,6EAA6E;IAC7E,OAAO,CAAC,qBAAqB;IAyB7B,wDAAwD;IACxD,OAAO,CAAC,aAAa;IAWrB,gBAAgB;IAChB,OAAO,CAAC,oBAAoB;IAM5B,aAAa;IACb,OAAO,CAAC,SAAS;CAIlB"}
package/dist/session.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Client } from "ssh2";
3
3
  import createLogger from "@xiaoqiong0v0/opencode-plugin-logger";
4
4
  import { ANIMATION_WINDOW_MS, EXEC_TIMEOUT_MS, MAX_OUTPUT_LEN, PTY_COLS, PTY_ROWS, QUIET_WINDOW_MS, READY_TIMEOUT_MS, } from "./constants.js";
5
- import { resolveAuth } from "./ssh-auth.js";
5
+ import { resolveAuth, resolvePassword } from "./ssh-auth.js";
6
6
  import { SessionHistory } from "./history.js";
7
7
  import { cleanAnsi, collapseCarriage, genSentinel, stripEcho, stripPrompt } from "./utils.js";
8
8
  const log = createLogger("opencode-ssh-tool", { enabled: true });
@@ -38,12 +38,20 @@ export class SshSession {
38
38
  }
39
39
  /**
40
40
  * 建立 SSH 连接并打开 PTY shell
41
- * @param opts 连接参数
41
+ * @param opts 连接参数;显式传 password 时优先用密码认证,否则回退 resolveAuth(私钥/agent/环境变量)
42
42
  * @returns 连接结果
43
43
  */
44
44
  async connect(opts) {
45
45
  const port = opts.port ?? 22;
46
- const auth = resolveAuth(opts.host);
46
+ // 显式密码(支持 file: 路径读取)> resolveAuth(私钥/agent/环境变量密码)
47
+ let auth;
48
+ if (opts.password) {
49
+ const pw = resolvePassword(opts.password);
50
+ auth = pw ? { password: pw } : resolveAuth(opts.host);
51
+ }
52
+ else {
53
+ auth = resolveAuth(opts.host);
54
+ }
47
55
  const config = {
48
56
  host: opts.host,
49
57
  port,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,10 @@ export interface AuthInfo {
10
10
  * @returns 认证信息(任一字段可选)
11
11
  */
12
12
  export declare function resolveAuth(host: string): AuthInfo;
13
+ /**
14
+ * 解析密码参数:明文 或 file:路径(从文件读取,去除末尾换行)
15
+ * @param password 明文密码 或 "file:<绝对路径>";为空返回 undefined
16
+ * @returns 实际密码;文件读取失败返回 undefined(调用方回退 resolveAuth)
17
+ */
18
+ export declare function resolvePassword(password?: string): string | undefined;
13
19
  //# sourceMappingURL=ssh-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-auth.d.ts","sourceRoot":"","sources":["../src/ssh-auth.ts"],"names":[],"mappings":"AASA,gDAAgD;AAChD,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAoBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA0BlD"}
1
+ {"version":3,"file":"ssh-auth.d.ts","sourceRoot":"","sources":["../src/ssh-auth.ts"],"names":[],"mappings":"AASA,gDAAgD;AAChD,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAuBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA0BlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUrE"}
package/dist/ssh-auth.js CHANGED
@@ -10,6 +10,8 @@ const DEFAULT_KEYS = ["id_ed25519", "id_rsa"];
10
10
  const AGENT_ENV = "SSH_AUTH_SOCK";
11
11
  /** 通用密码环境变量 */
12
12
  const PASSWORD_ENV = "SSH_PASSWORD";
13
+ /** 密码文件路径前缀:password 参数以该前缀开头时按文件读取(避免明文暴露在上下文) */
14
+ const PASSWORD_FILE_PREFIX = "file:";
13
15
  /**
14
16
  * 计算用户 .ssh 目录:Windows 优先 USERPROFILE,其次 HOME,最后 os.homedir()
15
17
  * @returns .ssh 目录绝对路径
@@ -47,4 +49,23 @@ export function resolveAuth(host) {
47
49
  }
48
50
  return {};
49
51
  }
52
+ /**
53
+ * 解析密码参数:明文 或 file:路径(从文件读取,去除末尾换行)
54
+ * @param password 明文密码 或 "file:<绝对路径>";为空返回 undefined
55
+ * @returns 实际密码;文件读取失败返回 undefined(调用方回退 resolveAuth)
56
+ */
57
+ export function resolvePassword(password) {
58
+ if (!password)
59
+ return undefined;
60
+ if (!password.startsWith(PASSWORD_FILE_PREFIX))
61
+ return password;
62
+ const p = password.slice(PASSWORD_FILE_PREFIX.length);
63
+ try {
64
+ return readFileSync(p, "utf8").replace(/\r?\n$/, "");
65
+ }
66
+ catch (e) {
67
+ log.error(`读取密码文件失败 ${p}`, e instanceof Error ? e.message : String(e));
68
+ return undefined;
69
+ }
70
+ }
50
71
  //# sourceMappingURL=ssh-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-auth.js","sourceRoot":"","sources":["../src/ssh-auth.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAE/D,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAShE,2BAA2B;AAC3B,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;AAE7C,4BAA4B;AAC5B,MAAM,SAAS,GAAG,eAAe,CAAA;AAEjC,eAAe;AACf,MAAM,YAAY,GAAG,cAAc,CAAA;AAEnC;;;GAGG;AACH,SAAS,MAAM;IACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAA;IACrE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,uBAAuB;IACvB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACzB,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACvB,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAA;QAChD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEvD,mEAAmE;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,CAAA;IAClB,CAAC;IAED,iDAAiD;IACjD,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAA;IAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,QAAQ,EAAE,CAAA;IACrB,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"ssh-auth.js","sourceRoot":"","sources":["../src/ssh-auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiaoqiong0v0/opencode-ssh-tool",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "type": "module",
5
5
  "description": "长驻交互式 SSH 会话工具插件,远程命令受 opencode 权限管控",
6
6
  "files": [