@xiaoqiong0v0/opencode-ssh-tool 0.6.12 → 0.6.15
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 +4 -1
- package/dist/agent.d.ts +2 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +80 -21
- package/dist/agent.js.map +1 -1
- package/dist/base-session.d.ts +138 -25
- package/dist/base-session.d.ts.map +1 -1
- package/dist/base-session.js +485 -181
- package/dist/base-session.js.map +1 -1
- package/dist/constants.d.ts +41 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +42 -1
- package/dist/constants.js.map +1 -1
- package/dist/i18n.d.ts +16 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +13 -0
- package/dist/i18n.js.map +1 -1
- package/dist/local-session.d.ts.map +1 -1
- package/dist/local-session.js +2 -0
- package/dist/local-session.js.map +1 -1
- package/dist/server-entry.js +25 -15
- package/dist/server-entry.js.map +1 -1
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +235 -21
- package/dist/server.js.map +1 -1
- package/dist/session-store.d.ts +35 -0
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +98 -3
- package/dist/session-store.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -0
- package/dist/session.js.map +1 -1
- package/dist/shell-adapter.d.ts +13 -4
- package/dist/shell-adapter.d.ts.map +1 -1
- package/dist/shell-adapter.js +23 -17
- package/dist/shell-adapter.js.map +1 -1
- package/dist/utils.d.ts +55 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +248 -27
- package/dist/utils.js.map +1 -1
- package/dist/web/app.css +4 -0
- package/dist/web/app.js +10 -10
- package/dist/web/index.html +1 -0
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -6,9 +6,9 @@ import { readFileSync, readdirSync, existsSync, rmSync, statSync } from "node:fs
|
|
|
6
6
|
import { join, dirname, extname, normalize } from "node:path";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import { WebSocketServer, WebSocket } from "ws";
|
|
9
|
-
import { listAllSessions, removeSessionState } from "./session-store.js";
|
|
9
|
+
import { listAllSessions, removeSessionState, sweepStaleOrphanStateFiles } from "./session-store.js";
|
|
10
10
|
import { tr } from "./i18n.js";
|
|
11
|
-
import { PTY_COLS, PTY_ROWS, HEARTBEAT_INTERVAL_MS, HEARTBEAT_TIMEOUT_MS, HEARTBEAT_CLIENT_TIMEOUT_MS } from "./constants.js";
|
|
11
|
+
import { PTY_COLS, PTY_ROWS, HEARTBEAT_INTERVAL_MS, HEARTBEAT_TIMEOUT_MS, HEARTBEAT_CLIENT_TIMEOUT_MS, STATUS_PUSH_DEBOUNCE_MS, STATUS_PUSH_FALLBACK_MS, ORPHAN_STATE_GRACE_MS, ORPHAN_STATE_MIN_AGE_MS, STALE_ORPHAN_MS, } from "./constants.js";
|
|
12
12
|
import log, { infoDedup } from "./log.js";
|
|
13
13
|
const PAGE_KEYS = [
|
|
14
14
|
"web_title",
|
|
@@ -33,8 +33,9 @@ const JS_I18N_KEYS = {
|
|
|
33
33
|
inputOff: "web_input_off",
|
|
34
34
|
inputDisconnected: "web_input_disconnected",
|
|
35
35
|
inputOffline: "web_input_offline",
|
|
36
|
+
deleteBlocked: "web_delete_blocked",
|
|
37
|
+
deleteFailed: "web_delete_failed",
|
|
36
38
|
};
|
|
37
|
-
const STATUS_PUSH_MS = 2000;
|
|
38
39
|
const sessionKey = (sid, name) => `${sid}:${name}`;
|
|
39
40
|
/**
|
|
40
41
|
* 会话键(`sid:name`)转日志显示形式(`sid/name`):与终端侧 `[busy]`/`[run]` 行同一写法,
|
|
@@ -50,8 +51,33 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
50
51
|
let actualPort = port;
|
|
51
52
|
const webDir = join(dirname(fileURLToPath(import.meta.url)), "web");
|
|
52
53
|
const pageTemplate = readTemplate(webDir);
|
|
54
|
+
/** 服务启动时刻(孤儿状态文件清理的启动宽限基准,见 ORPHAN_STATE_GRACE_MS) */
|
|
55
|
+
const serverStartedAt = Date.now();
|
|
56
|
+
/**
|
|
57
|
+
* 本服务是否绑定在固定端口(port>0)。
|
|
58
|
+
* port=0 表示每个 opencode 实例各自起一个随机端口服务,本服务只能看见连到自己的 agent,
|
|
59
|
+
* "无已连 agent 认领"无法区分孤儿与**别的实例正在使用的活会话**,故磁盘孤儿清理不安全(见 sweepOrphanStateFiles)。
|
|
60
|
+
*/
|
|
61
|
+
const isFixedPortServer = port !== 0;
|
|
53
62
|
const agents = new Map();
|
|
54
63
|
const agentBySession = new Map();
|
|
64
|
+
/** 当前是否存在 agent 连接(边沿状态,供 notifyAgentPresence 去重) */
|
|
65
|
+
let agentPresent = false;
|
|
66
|
+
/** "存在 agent 连接"边沿的订阅者(server-entry 用于事件驱动空闲关闭) */
|
|
67
|
+
const presenceListeners = [];
|
|
68
|
+
/** 在 agents 集合发生"空 ↔ 非空"翻转时通知订阅者(无翻转则不发) */
|
|
69
|
+
const notifyAgentPresence = () => {
|
|
70
|
+
const present = agents.size > 0;
|
|
71
|
+
if (present === agentPresent)
|
|
72
|
+
return;
|
|
73
|
+
agentPresent = present;
|
|
74
|
+
for (const cb of presenceListeners) {
|
|
75
|
+
try {
|
|
76
|
+
cb(present);
|
|
77
|
+
}
|
|
78
|
+
catch { /* 订阅回调异常不影响服务 */ }
|
|
79
|
+
}
|
|
80
|
+
};
|
|
55
81
|
const streamBuf = new Map();
|
|
56
82
|
const rawBuf = new Map();
|
|
57
83
|
const cmdCount = new Map();
|
|
@@ -61,7 +87,7 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
61
87
|
const busyState = new Map();
|
|
62
88
|
/**
|
|
63
89
|
* 各 key 是否已处于"无 agent 连接且命令未完成"的 fallback 状态(仅用于日志:**边沿触发**)。
|
|
64
|
-
* buildSessions
|
|
90
|
+
* buildSessions 由状态事件驱动(及低频兜底)被调用,故用 per-key 上一轮状态做**幂等**判定:
|
|
65
91
|
* 仅在进入该状态(首转 fallback)与离开该状态(agent 重连 / 命令收尾)各记一行,稳定期间不记。
|
|
66
92
|
*/
|
|
67
93
|
const fallbackState = new Set();
|
|
@@ -137,12 +163,39 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
137
163
|
claimed.add(k);
|
|
138
164
|
return claimed;
|
|
139
165
|
};
|
|
166
|
+
/**
|
|
167
|
+
* 清理"无任何已连 agent 认领"的**磁盘状态文件**(一次清完全部陈旧孤儿,收敛性由周期性调用保证):
|
|
168
|
+
* 正常关闭会调 removeSessionState 删文件,残留即属主进程异常退出(或进程退出兜底未清理)留下的孤儿;
|
|
169
|
+
* 其 connected=true/busy=true 不会自愈——旧实现只在 register 时读,故会长期误报"在线/忙",
|
|
170
|
+
* 还会让 server-entry 的"无连接空闲自动关闭"永不触发。只删状态文件,**不动 history 目录**(离线历史仍可查看)。
|
|
171
|
+
* 保守优先:
|
|
172
|
+
* - **仅固定端口(port>0)服务执行**:port=0 时每实例各起一个服务(默认 config),本服务的"未认领"无法
|
|
173
|
+
* 区分孤儿与别的实例正在使用的活会话 → 直接跳过,宁可不清理也不删活数据;
|
|
174
|
+
* - 服务启动不足 ORPHAN_STATE_GRACE_MS 时跳过——给存量 agent 重连、注册的窗口,防误删活进程文件;
|
|
175
|
+
* - 仅清理 updatedAt 早于 ORPHAN_STATE_MIN_AGE_MS 的文件——避免误删刚写入、agent 尚未注册的文件。
|
|
176
|
+
* 说明:旧实现仅在 agent register 时触发且要求 agents.size>0,若孤儿在当轮尚未陈旧、或此后再无 agent 注册,
|
|
177
|
+
* 就会永远留下尾巴;现改为由 statusFallbackTimer 周期调用(每次清完全部匹配项并回报剩余数),可持续收敛。
|
|
178
|
+
* @param claimed 所有已连 agent 认领的会话键并集
|
|
179
|
+
*/
|
|
180
|
+
const sweepOrphanStateFiles = (claimed) => {
|
|
181
|
+
if (!isFixedPortServer)
|
|
182
|
+
return;
|
|
183
|
+
if (Date.now() - serverStartedAt < ORPHAN_STATE_GRACE_MS)
|
|
184
|
+
return;
|
|
185
|
+
const { removed, remaining } = sweepStaleOrphanStateFiles(dir, claimed, Date.now(), ORPHAN_STATE_MIN_AGE_MS);
|
|
186
|
+
if (!removed.length && !remaining.length)
|
|
187
|
+
return;
|
|
188
|
+
infoDedup(`orphan-state:${removed.length}:${remaining.length}:${removed.map((s) => sessionKey(s.sessionID, s.name)).sort().join(",")}`, `清理无 agent 认领的孤儿状态文件 ${removed.length} 个,剩余未陈旧 ${remaining.length} 个` +
|
|
189
|
+
(removed.length ? `(已清: ${removed.map((s) => keyTag(sessionKey(s.sessionID, s.name))).join(", ")})` : "") +
|
|
190
|
+
(remaining.length ? `(保留: ${remaining.map((s) => keyTag(sessionKey(s.sessionID, s.name))).join(", ")})` : ""));
|
|
191
|
+
};
|
|
140
192
|
/**
|
|
141
193
|
* 清理"无任何已连 agent 认领"的终端运行态(僵尸条目):
|
|
142
194
|
* agent 断开后其运行态(streamBuf 的 done=false / rawBuf / 排队保持等)若无人接管会永久滞留,
|
|
143
195
|
* 导致 busy 恒为 ⏳、[fallback] 长期存在、离线终端仍被当成"运行中"。
|
|
144
196
|
* 多实例安全:只回收**所有已连 agent 都没认领**的 key——任一实例注册时都可安全回收孤儿;
|
|
145
197
|
* 仍被本实例或其它实例认领的条目一律不动。history 落盘历史**不删**(仅供离线查看)。
|
|
198
|
+
* 同时(同一注册时机)清理无人认领的**状态文件**(见 sweepOrphanStateFiles),不留孤儿文件。
|
|
146
199
|
*/
|
|
147
200
|
const cleanupOrphanRuntime = () => {
|
|
148
201
|
const claimed = claimedByAnyAgent();
|
|
@@ -156,8 +209,6 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
156
209
|
for (const k of seqHold)
|
|
157
210
|
if (!claimed.has(k) && !orphans.includes(k))
|
|
158
211
|
orphans.push(k);
|
|
159
|
-
if (!orphans.length)
|
|
160
|
-
return;
|
|
161
212
|
for (const k of orphans) {
|
|
162
213
|
streamBuf.delete(k);
|
|
163
214
|
rawBuf.delete(k);
|
|
@@ -166,7 +217,10 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
166
217
|
busyState.delete(k);
|
|
167
218
|
fallbackState.delete(k);
|
|
168
219
|
}
|
|
169
|
-
|
|
220
|
+
if (orphans.length) {
|
|
221
|
+
infoDedup(`orphan-runtime:${orphans.slice().sort().join(",")}`, `清理无 agent 认领的运行态 ${orphans.length} 个: ${orphans.map(keyTag).join(", ")}`);
|
|
222
|
+
}
|
|
223
|
+
sweepOrphanStateFiles(claimed);
|
|
170
224
|
};
|
|
171
225
|
const buildSessions = () => {
|
|
172
226
|
const states = listAllSessions(dir);
|
|
@@ -258,7 +312,8 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
258
312
|
for (const s of states) {
|
|
259
313
|
if (!bySession.has(s.sessionID))
|
|
260
314
|
bySession.set(s.sessionID, { title: s.title, directory: s.directory, terminals: [] });
|
|
261
|
-
|
|
315
|
+
const elig = deleteEligibility(s.sessionID, s.name, s);
|
|
316
|
+
bySession.get(s.sessionID).terminals.push({ name: s.name, kind: s.kind, host: s.host, user: s.user, port: s.port, program: s.program, connected: s.connected, busy: s.busy, pending: s.pending, canDelete: elig.canDelete, deleteReason: elig.reasonKey ? tr(elig.reasonKey, lang) : undefined });
|
|
262
317
|
}
|
|
263
318
|
// 补:history 目录里存在但 state 缺失的历史终端(离线展示)
|
|
264
319
|
for (const h of histTerms) {
|
|
@@ -268,7 +323,8 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
268
323
|
seen.add(k);
|
|
269
324
|
if (!bySession.has(h.sessionID))
|
|
270
325
|
bySession.set(h.sessionID, { terminals: [] });
|
|
271
|
-
|
|
326
|
+
const elig = deleteEligibility(h.sessionID, h.name);
|
|
327
|
+
bySession.get(h.sessionID).terminals.push({ name: h.name, kind: h.kind, connected: false, busy: false, pending: 0, canDelete: elig.canDelete, deleteReason: elig.reasonKey ? tr(elig.reasonKey, lang) : undefined });
|
|
272
328
|
}
|
|
273
329
|
const sessions = [...bySession.entries()].map(([sessionID, v]) => ({ sessionID, title: v.title, directory: v.directory, terminals: v.terminals }));
|
|
274
330
|
return { port: actualPort, sessions };
|
|
@@ -298,6 +354,50 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
298
354
|
const state = listAllSessions(dir).find((s) => s.sessionID === sid && s.name === name);
|
|
299
355
|
return state?.kind === "local" ? `local-${name}` : name;
|
|
300
356
|
};
|
|
357
|
+
/**
|
|
358
|
+
* 取某终端 history 目录的 mtime(毫秒;不存在返回 0)。
|
|
359
|
+
* 状态文件可能已被清理、仅剩历史目录,此时用目录写入时间作为"最近活动"的兜底判据。
|
|
360
|
+
* @param sid 主会话 ID
|
|
361
|
+
* @param name 终端名
|
|
362
|
+
* @returns 目录 mtime;不存在为 0
|
|
363
|
+
*/
|
|
364
|
+
const historyDirMtimeMs = (sid, name) => {
|
|
365
|
+
let latest = 0;
|
|
366
|
+
for (const sub of [name, `local-${name}`]) {
|
|
367
|
+
try {
|
|
368
|
+
latest = Math.max(latest, statSync(join(dir, sid, sub)).mtimeMs);
|
|
369
|
+
}
|
|
370
|
+
catch { /* 目录不存在 */ }
|
|
371
|
+
}
|
|
372
|
+
return latest;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* Web 删除前的"可删"判据(删除入口与终端列表按钮状态共用):
|
|
376
|
+
* - 本实例的 agent 认领该终端(agentBySession 有此 key)→ 可删(保持既有行为);
|
|
377
|
+
* - 否则需三者同时成立才可删:① 离线(本服务无该终端的 agent 连接)② 无任何已连 agent 认领
|
|
378
|
+
* ③ 已陈旧(最近活动早于 STALE_ORPHAN_MS)。①②在本服务视图下由"非本实例认领"自动成立,
|
|
379
|
+
* 真正的门槛是③——它把"他实例正在使用的活终端"(活动频繁、状态文件新)与"真孤儿"区分开;
|
|
380
|
+
* - "最近活动"取状态文件 updatedAt 与 history 目录 mtime 的较大者,覆盖仅剩历史目录的离线终端。
|
|
381
|
+
* @param sid 主会话 ID
|
|
382
|
+
* @param name 终端名
|
|
383
|
+
* @param state 该终端的状态文件(来自 listAllSessions;缺失时仅用 history 目录判陈旧)
|
|
384
|
+
* @returns canDelete=是否可删;reasonKey=不可删时的 i18n 文案键
|
|
385
|
+
*/
|
|
386
|
+
const deleteEligibility = (sid, name, state) => {
|
|
387
|
+
const k = sessionKey(sid, name);
|
|
388
|
+
if (agentBySession.has(k))
|
|
389
|
+
return { canDelete: true };
|
|
390
|
+
// ① 离线:本服务无该终端的 agent 连接;② 无认领:不属于任一已连 agent 的认领集合。
|
|
391
|
+
// 本模块不变量下二者等价(agentBySession 与 agents 的认领集合同步维护),显式判断以表达判据、防未来解耦。
|
|
392
|
+
const offline = !agentBySession.has(k);
|
|
393
|
+
const unclaimed = !claimedByAnyAgent().has(k);
|
|
394
|
+
if (!offline || !unclaimed)
|
|
395
|
+
return { canDelete: false, reasonKey: "web_delete_refused_active" };
|
|
396
|
+
const lastActive = Math.max(state?.updatedAt ?? 0, historyDirMtimeMs(sid, name));
|
|
397
|
+
if (Date.now() - lastActive <= STALE_ORPHAN_MS)
|
|
398
|
+
return { canDelete: false, reasonKey: "web_delete_refused_recent" };
|
|
399
|
+
return { canDelete: true };
|
|
400
|
+
};
|
|
301
401
|
const buildSnapshot = (sid, name) => {
|
|
302
402
|
const state = listAllSessions(dir).find((s) => s.sessionID === sid && s.name === name);
|
|
303
403
|
const histName = resolveHistName(sid, name);
|
|
@@ -333,6 +433,49 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
333
433
|
const sep = key.indexOf(":");
|
|
334
434
|
return [key.slice(0, sep), key.slice(sep + 1)];
|
|
335
435
|
};
|
|
436
|
+
/**
|
|
437
|
+
* 注册时的运行态对账(修复"断线丢 cmdDone → server 内存僵尸 busy"):
|
|
438
|
+
* agent 注册时上报"本进程认领的全部终端"(register.sessions)与"其中真正在运行命令的子集"(register.running)。
|
|
439
|
+
* 对**本 agent 认领、但不在运行子集内**的终端,把 server 仍标记 done=false 的残留流收尾
|
|
440
|
+
* (置 done、广播 diff done、busy 归 false)——这正是"命令在 agent 断线期间完成、cmdDone 发往已死 socket 而丢失"的僵尸。
|
|
441
|
+
* 只在对账可确定时收尾:register 未携带 running(旧 agent / agent 自身无法确定)时**不臆测**,
|
|
442
|
+
* 仅记一行"未能对账"后保持现状(宁可保留僵尸,也不误判在线命令已完成)。
|
|
443
|
+
* @param claimKeys 本 agent 本次认领的会话键集合
|
|
444
|
+
* @param runningRaw register 消息里的 running 字段(未知类型,需运行时校验)
|
|
445
|
+
*/
|
|
446
|
+
const reconcileAgentRuntime = (claimKeys, runningRaw) => {
|
|
447
|
+
if (!Array.isArray(runningRaw)) {
|
|
448
|
+
log.info(`[reconcile] agent 注册未携带运行集合(未能对账),保持现状不臆测(认领 ${claimKeys.size} 个终端)`);
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
const running = new Set();
|
|
452
|
+
for (const r of runningRaw) {
|
|
453
|
+
if (r && typeof r.sessionID === "string" && typeof r.name === "string")
|
|
454
|
+
running.add(sessionKey(r.sessionID, r.name));
|
|
455
|
+
}
|
|
456
|
+
let finalized = 0;
|
|
457
|
+
for (const k of claimKeys) {
|
|
458
|
+
if (running.has(k))
|
|
459
|
+
continue; // 确在运行:保留 busy(agent 紧随其后的 cmdStart 会补播命令文本)
|
|
460
|
+
const b = streamBuf.get(k);
|
|
461
|
+
if (b && !b.done) {
|
|
462
|
+
b.done = true;
|
|
463
|
+
b.endTs = b.endTs ?? Date.now();
|
|
464
|
+
logBusy(k, false, "register 对账(cmdDone 丢失)");
|
|
465
|
+
finalizeCommand(k);
|
|
466
|
+
finalized++;
|
|
467
|
+
continue;
|
|
468
|
+
}
|
|
469
|
+
if (seqHold.has(k)) {
|
|
470
|
+
// 排队保持也一并放开:其最后一条 cmdDone 同样可能随断线丢失,否则 busy 仍会被 hold 住
|
|
471
|
+
seqHold.delete(k);
|
|
472
|
+
logBusy(k, false, "register 对账(队列保持释放)");
|
|
473
|
+
finalized++;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
if (finalized)
|
|
477
|
+
log.info(`[reconcile] agent 注册对账收尾 ${finalized} 个终端(认领但未运行,cmdDone 丢失)`);
|
|
478
|
+
};
|
|
336
479
|
/** 广播 sessions(json 变化去重;busy 翻转必然变化) */
|
|
337
480
|
const pushSessions = () => {
|
|
338
481
|
const payload = buildSessions();
|
|
@@ -346,7 +489,28 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
346
489
|
send(client, { type: "sessions", ...payload });
|
|
347
490
|
}
|
|
348
491
|
};
|
|
349
|
-
|
|
492
|
+
/** 状态推送合并定时器(事件驱动的去抖合并;null=空闲无待推) */
|
|
493
|
+
let statusPushTimer = null;
|
|
494
|
+
/**
|
|
495
|
+
* 请求一次状态推送(去抖合并):所有**状态变化事件**(cmdStart/cmdDone/exec/busy 翻转/连接变化/会话增删/客户端拉取)
|
|
496
|
+
* 调用它,窗口内多次只推一次全量最新状态。不变化时不推(pushSessions 内按 json 逐客户端去重)。
|
|
497
|
+
*/
|
|
498
|
+
const requestStatusPush = () => {
|
|
499
|
+
if (statusPushTimer !== null)
|
|
500
|
+
return;
|
|
501
|
+
statusPushTimer = setTimeout(() => {
|
|
502
|
+
statusPushTimer = null;
|
|
503
|
+
pushSessions();
|
|
504
|
+
}, STATUS_PUSH_DEBOUNCE_MS);
|
|
505
|
+
};
|
|
506
|
+
// 兜底:事件驱动已覆盖服务端内存态的全部变化;此低频周期只兜底**带外变化**(其他进程写入状态文件
|
|
507
|
+
// 导致的新终端 / pending / 标题变化等,服务端无对应事件),保证这类变化最长 STATUS_PUSH_FALLBACK_MS 内可达前端。
|
|
508
|
+
// 同时周期重跑孤儿状态文件清理:单轮只清"当下已陈旧"的项,未陈旧者留待下一轮,从而**持续收敛**、
|
|
509
|
+
// 不再依赖 agent register 触发(旧实现只在注册时清,之后再无注册就会永远留下尾巴)。
|
|
510
|
+
const statusFallbackTimer = setInterval(() => {
|
|
511
|
+
sweepOrphanStateFiles(claimedByAnyAgent());
|
|
512
|
+
pushSessions();
|
|
513
|
+
}, STATUS_PUSH_FALLBACK_MS);
|
|
350
514
|
/**
|
|
351
515
|
* 应用层心跳(server 侧):每隔 HEARTBEAT_INTERVAL_MS 向每条连接下发 {type:"ping"},
|
|
352
516
|
* 并在 HEARTBEAT_TIMEOUT_MS 内未收到 pong 时 terminate。server↔agent、server↔browser 两条 WS 共用:
|
|
@@ -401,19 +565,23 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
401
565
|
for (const old of agents.get(ws) ?? [])
|
|
402
566
|
agentBySession.delete(old);
|
|
403
567
|
agents.set(ws, new Set());
|
|
568
|
+
const claimKeys = new Set();
|
|
404
569
|
for (const s of sessions) {
|
|
405
570
|
const k = sessionKey(s.sessionID, s.name);
|
|
406
571
|
agents.get(ws).add(k);
|
|
407
572
|
agentBySession.set(k, ws);
|
|
573
|
+
claimKeys.add(k);
|
|
408
574
|
}
|
|
575
|
+
notifyAgentPresence();
|
|
409
576
|
{
|
|
410
577
|
// 记录 agent 上报的会话列表(批量实例注册同一列表时按内容去重),便于对齐 server 侧视角
|
|
411
578
|
const keys = [...(agents.get(ws) ?? [])];
|
|
412
579
|
infoDedup(`agent-register:${keys.slice().sort().join(",")}`, `agent 注册 ${keys.length} 个会话: ${keys.length ? keys.map(keyTag).join(", ") : "无"}`);
|
|
413
580
|
}
|
|
414
|
-
//
|
|
581
|
+
// 运行态对账:先按本 agent 上报的"运行子集"收尾断线丢 cmdDone 的僵尸 busy,再回收无人认领的运行态与状态文件
|
|
582
|
+
reconcileAgentRuntime(claimKeys, msg.running);
|
|
415
583
|
cleanupOrphanRuntime();
|
|
416
|
-
|
|
584
|
+
requestStatusPush();
|
|
417
585
|
return;
|
|
418
586
|
}
|
|
419
587
|
if (t === "cmdStart") {
|
|
@@ -439,7 +607,7 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
439
607
|
c._txPos = 0;
|
|
440
608
|
send(c, { type: "diff", sessionID: sid, name, event: "cmd", command, ts: streamBuf.get(k).ts });
|
|
441
609
|
}
|
|
442
|
-
|
|
610
|
+
requestStatusPush();
|
|
443
611
|
return;
|
|
444
612
|
}
|
|
445
613
|
if (t === "out") {
|
|
@@ -508,7 +676,7 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
508
676
|
}
|
|
509
677
|
logBusy(k, msg.more === true, msg.more === true ? "cmdDone(more 保持 busy)" : "cmdDone");
|
|
510
678
|
finalizeCommand(k);
|
|
511
|
-
|
|
679
|
+
requestStatusPush();
|
|
512
680
|
return;
|
|
513
681
|
}
|
|
514
682
|
if (t === "raw") {
|
|
@@ -545,6 +713,17 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
545
713
|
return;
|
|
546
714
|
}
|
|
547
715
|
// ===== web 请求 =====
|
|
716
|
+
if (t === "list") {
|
|
717
|
+
// web 连接/重连后主动拉取一次会话列表(原依赖 2s 轮询被动收;改事件驱动后必须显式响应,
|
|
718
|
+
// 否则新开标签页要等兜底周期才有内容)。只回本连接,并按 json 去重。
|
|
719
|
+
const payload = buildSessions();
|
|
720
|
+
const json = JSON.stringify(payload);
|
|
721
|
+
if (json !== ws._lastSessionsJson) {
|
|
722
|
+
ws._lastSessionsJson = json;
|
|
723
|
+
send(ws, { type: "sessions", ...payload });
|
|
724
|
+
}
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
548
727
|
if (t === "subscribe") {
|
|
549
728
|
const sid = typeof msg.sessionID === "string" ? msg.sessionID : "";
|
|
550
729
|
const name = typeof msg.name === "string" ? msg.name : "";
|
|
@@ -639,7 +818,7 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
639
818
|
const existing = streamBuf.get(k);
|
|
640
819
|
streamBuf.set(k, { data: existing && existing.done ? "" : existing?.data ?? "", done: false, ts: Date.now(), command });
|
|
641
820
|
logBusy(k, true, "exec");
|
|
642
|
-
|
|
821
|
+
requestStatusPush();
|
|
643
822
|
send(agent, { type: "run-exec", reqId: `${sid}:${name}:${Date.now()}`, sessionID: sid, name, command });
|
|
644
823
|
return;
|
|
645
824
|
}
|
|
@@ -659,7 +838,20 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
659
838
|
const name = typeof msg.name === "string" ? msg.name : "";
|
|
660
839
|
if (!sid || !name)
|
|
661
840
|
return;
|
|
662
|
-
const
|
|
841
|
+
const k = sessionKey(sid, name);
|
|
842
|
+
const agent = agentBySession.get(k);
|
|
843
|
+
// "可删"判据(见 deleteEligibility):本实例 agent 认领 → 可删;否则须"离线 + 无认领 + 陈旧"。
|
|
844
|
+
// 放宽后仍绝不误删他实例正在用的活终端(其状态文件新近被写、判为未陈旧而拒绝),
|
|
845
|
+
// 同时让 agent 已断开留下的离线孤儿(及仅剩 history 的历史终端)能被网页手动清掉。
|
|
846
|
+
const state = listAllSessions(dir).find((s) => s.sessionID === sid && s.name === name);
|
|
847
|
+
const elig = deleteEligibility(sid, name, state);
|
|
848
|
+
if (!elig.canDelete) {
|
|
849
|
+
const reason = tr(elig.reasonKey ?? "web_delete_blocked", lang);
|
|
850
|
+
log.info(`Web 页删除终端 ${sid}/${name} 被拒:${reason}`);
|
|
851
|
+
// 结构化、可读的拒绝原因回给发起连接(前端据此给可见反馈,不静默)
|
|
852
|
+
send(ws, { type: "deleteResult", sessionID: sid, name, ok: false, reason });
|
|
853
|
+
return;
|
|
854
|
+
}
|
|
663
855
|
if (agent)
|
|
664
856
|
send(agent, { type: "run-delete", sessionID: sid, name });
|
|
665
857
|
removeSessionState(dir, sid, name);
|
|
@@ -670,11 +862,12 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
670
862
|
rmSync(join(dir, sid, histName), { recursive: true, force: true });
|
|
671
863
|
}
|
|
672
864
|
catch { /* 目录不存在忽略 */ }
|
|
673
|
-
streamBuf.delete(
|
|
674
|
-
rawBuf.delete(
|
|
675
|
-
busyState.delete(
|
|
865
|
+
streamBuf.delete(k);
|
|
866
|
+
rawBuf.delete(k);
|
|
867
|
+
busyState.delete(k);
|
|
676
868
|
log.info(`Web 页删除终端 ${sid}/${name}`);
|
|
677
|
-
|
|
869
|
+
send(ws, { type: "deleteResult", sessionID: sid, name, ok: true });
|
|
870
|
+
requestStatusPush();
|
|
678
871
|
return;
|
|
679
872
|
}
|
|
680
873
|
});
|
|
@@ -691,6 +884,10 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
691
884
|
agentBySession.delete(k);
|
|
692
885
|
agents.delete(ws);
|
|
693
886
|
infoDedup(`agent-disconnect:${keys.slice().sort().join(",")}`, `agent 断开(受影响终端: ${keys.length ? keys.map(keyTag).join(", ") : "无"})`);
|
|
887
|
+
// 连接变化是状态事件:立即推一次(原靠 2s 轮询,最坏 2s 才反映离线;改事件驱动后即时);
|
|
888
|
+
// 同时通知"agent 存在性"边沿(server-entry 据最后一个 agent 断开启动空闲计时)
|
|
889
|
+
notifyAgentPresence();
|
|
890
|
+
requestStatusPush();
|
|
694
891
|
}
|
|
695
892
|
});
|
|
696
893
|
});
|
|
@@ -704,7 +901,24 @@ export function startServer(port, _getSessions, dir, lang = "en", _streamTickMs
|
|
|
704
901
|
server,
|
|
705
902
|
port: actualPort,
|
|
706
903
|
url: `http://127.0.0.1:${actualPort}`,
|
|
707
|
-
close: () => {
|
|
904
|
+
close: () => {
|
|
905
|
+
if (statusPushTimer) {
|
|
906
|
+
clearTimeout(statusPushTimer);
|
|
907
|
+
statusPushTimer = null;
|
|
908
|
+
}
|
|
909
|
+
clearInterval(statusFallbackTimer);
|
|
910
|
+
clearInterval(heartbeatTimer);
|
|
911
|
+
server.close();
|
|
912
|
+
wss.close();
|
|
913
|
+
},
|
|
914
|
+
onAgentPresence: (cb) => {
|
|
915
|
+
presenceListeners.push(cb);
|
|
916
|
+
// 立即回报一次当前状态:订阅方(server-entry)据此决定是否已空闲(无 agent)
|
|
917
|
+
try {
|
|
918
|
+
cb(agents.size > 0);
|
|
919
|
+
}
|
|
920
|
+
catch { /* 订阅回调异常不影响服务 */ }
|
|
921
|
+
},
|
|
708
922
|
});
|
|
709
923
|
});
|
|
710
924
|
});
|
package/dist/server.js.map
CHANGED
|
@@ -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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"}
|