botmux 1.5.0 → 1.8.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.en.md +13 -123
- package/README.md +11 -121
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +8 -3
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/cli/coco.d.ts.map +1 -1
- package/dist/adapters/cli/coco.js +14 -0
- package/dist/adapters/cli/coco.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +9 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/gemini.d.ts +4 -0
- package/dist/adapters/cli/gemini.d.ts.map +1 -0
- package/dist/adapters/cli/gemini.js +70 -0
- package/dist/adapters/cli/gemini.js.map +1 -0
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +3 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +9 -2
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/cli.js +271 -29
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +8 -6
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +8 -8
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/worker-pool.d.ts +4 -2
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +61 -22
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +19 -14
- package/dist/daemon.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +2 -1
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.js +7 -7
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +4 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +47 -12
- package/dist/im/lark/client.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -10
- package/dist/server.js.map +1 -1
- package/dist/utils/idle-detector.d.ts.map +1 -1
- package/dist/utils/idle-detector.js +3 -2
- package/dist/utils/idle-detector.js.map +1 -1
- package/dist/worker.js +171 -75
- package/dist/worker.js.map +1 -1
- package/package.json +2 -1
|
@@ -4,6 +4,7 @@ import { createClaudeCodeAdapter } from './claude-code.js';
|
|
|
4
4
|
import { createAidenAdapter } from './aiden.js';
|
|
5
5
|
import { createCocoAdapter } from './coco.js';
|
|
6
6
|
import { createCodexAdapter } from './codex.js';
|
|
7
|
+
import { createGeminiAdapter } from './gemini.js';
|
|
7
8
|
/** Resolve a command name to its absolute path via login-shell `which`. */
|
|
8
9
|
export function resolveCommand(cmd) {
|
|
9
10
|
if (isAbsolute(cmd))
|
|
@@ -28,7 +29,7 @@ export async function createCliAdapter(id, pathOverride) {
|
|
|
28
29
|
adapterCache.set(key, adapter);
|
|
29
30
|
return adapter;
|
|
30
31
|
}
|
|
31
|
-
export { createClaudeCodeAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter };
|
|
32
|
+
export { createClaudeCodeAdapter, createAidenAdapter, createCocoAdapter, createCodexAdapter, createGeminiAdapter };
|
|
32
33
|
/** Synchronous version for use in worker process. */
|
|
33
34
|
export function createCliAdapterSync(id, pathOverride) {
|
|
34
35
|
switch (id) {
|
|
@@ -36,6 +37,7 @@ export function createCliAdapterSync(id, pathOverride) {
|
|
|
36
37
|
case 'aiden': return createAidenAdapter(pathOverride);
|
|
37
38
|
case 'coco': return createCocoAdapter(pathOverride);
|
|
38
39
|
case 'codex': return createCodexAdapter(pathOverride);
|
|
40
|
+
case 'gemini': return createGeminiAdapter(pathOverride);
|
|
39
41
|
default: throw new Error(`Unknown CLI adapter: ${id}`);
|
|
40
42
|
}
|
|
41
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/cli/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACxF,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;AAEnD,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAS,EAAE,YAAqB;IACrE,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;IAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACzD,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACvD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AAEnH,qDAAqD;AACrD,MAAM,UAAU,oBAAoB,CAAC,EAAS,EAAE,YAAqB;IACnE,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,aAAa,CAAC,CAAC,OAAO,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACjE,KAAK,OAAO,CAAC,CAAC,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,CAAC,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,KAAK,OAAO,CAAC,CAAC,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACtD,KAAK,QAAQ,CAAC,CAAC,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -13,11 +13,18 @@ export interface CliAdapter {
|
|
|
13
13
|
/** Resolved absolute path to the CLI binary */
|
|
14
14
|
readonly resolvedBin: string;
|
|
15
15
|
/** Build spawn arguments (bin comes from resolvedBin).
|
|
16
|
-
* Note: workingDir is NOT passed here — it's the backend's cwd, not a CLI arg.
|
|
16
|
+
* Note: workingDir is NOT passed here — it's the backend's cwd, not a CLI arg.
|
|
17
|
+
* When initialPrompt is provided and the adapter supports it, the prompt
|
|
18
|
+
* is baked into CLI args (e.g. Gemini's -i flag) instead of being written
|
|
19
|
+
* to stdin after idle detection. */
|
|
17
20
|
buildArgs(opts: {
|
|
18
21
|
sessionId: string;
|
|
19
22
|
resume: boolean;
|
|
23
|
+
initialPrompt?: string;
|
|
20
24
|
}): string[];
|
|
25
|
+
/** When true, the adapter passes the initial prompt via CLI args (e.g. -i).
|
|
26
|
+
* The worker skips queuing the prompt for stdin write. */
|
|
27
|
+
readonly passesInitialPromptViaArgs?: boolean;
|
|
21
28
|
/** Write user input to PTY. May fire writes asynchronously (e.g. Aiden delayed Enter).
|
|
22
29
|
* Resolves when all writes are complete. */
|
|
23
30
|
writeInput(pty: PtyHandle, content: string): Promise<void>;
|
|
@@ -38,5 +45,5 @@ export interface CliAdapter {
|
|
|
38
45
|
/** Whether CLI uses alternate screen buffer */
|
|
39
46
|
readonly altScreen: boolean;
|
|
40
47
|
}
|
|
41
|
-
export type CliId = 'claude-code' | 'aiden' | 'coco' | 'codex';
|
|
48
|
+
export type CliId = 'claude-code' | 'aiden' | 'coco' | 'codex' | 'gemini';
|
|
42
49
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;yCAIqC;IACrC,SAAS,CAAC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,MAAM,EAAE,CAAC;IAEb;+DAC2D;IAC3D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAE9C;iDAC6C;IAC7C,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D,mEAAmE;IACnE,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAE7C,wFAAwF;IACxF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;sEAKkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;qEACiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAE/B,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
* botmux logs [--lines] — view daemon logs
|
|
11
11
|
* botmux status — show daemon status
|
|
12
12
|
* botmux upgrade — upgrade to latest version
|
|
13
|
-
* botmux list —
|
|
13
|
+
* botmux list — interactive session picker (TUI), attach to tmux
|
|
14
|
+
* botmux list --plain — plain table output (for piping / scripts)
|
|
14
15
|
* botmux delete <id> — close a session by ID prefix
|
|
15
16
|
* botmux delete all — close all active sessions
|
|
16
17
|
*/
|
|
17
|
-
import { execSync, spawn } from 'node:child_process';
|
|
18
|
+
import { execSync, spawnSync, spawn } from 'node:child_process';
|
|
18
19
|
import { existsSync, mkdirSync, readFileSync, writeFileSync, renameSync } from 'node:fs';
|
|
19
20
|
import { join, dirname } from 'node:path';
|
|
20
21
|
import { homedir } from 'node:os';
|
|
@@ -96,9 +97,9 @@ function printLarkPermissions() {
|
|
|
96
97
|
async function promptBotConfig(rl) {
|
|
97
98
|
const appId = await ask(rl, 'LARK_APP_ID: ');
|
|
98
99
|
const appSecret = await ask(rl, 'LARK_APP_SECRET: ');
|
|
99
|
-
console.log('\n支持的 CLI: 1) claude-code 2) aiden 3) coco 4) codex');
|
|
100
|
+
console.log('\n支持的 CLI: 1) claude-code 2) aiden 3) coco 4) codex 5) gemini');
|
|
100
101
|
const cliChoice = await ask(rl, 'CLI 适配器 [1]: ');
|
|
101
|
-
const cliIdMap = { '1': 'claude-code', '2': 'aiden', '3': 'coco', '4': 'codex' };
|
|
102
|
+
const cliIdMap = { '1': 'claude-code', '2': 'aiden', '3': 'coco', '4': 'codex', '5': 'gemini' };
|
|
102
103
|
const cliId = cliIdMap[cliChoice] ?? (cliChoice || 'claude-code');
|
|
103
104
|
const workingDir = await ask(rl, '默认工作目录 [~]: ');
|
|
104
105
|
const allowedUsers = await ask(rl, '允许的用户 (邮箱或 open_id,逗号分隔,留空=不限制): ');
|
|
@@ -428,17 +429,27 @@ function loadBotConfigsForDisplay() {
|
|
|
428
429
|
}
|
|
429
430
|
return [];
|
|
430
431
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
const
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
432
|
+
/** Format a single session row for display (used by both plain table and TUI). */
|
|
433
|
+
function formatSessionRow(s, multiBot, botLabels, cols) {
|
|
434
|
+
const id = padEndDisplay(s.sessionId.substring(0, 8), cols.id);
|
|
435
|
+
const parts = [id];
|
|
436
|
+
if (multiBot) {
|
|
437
|
+
const label = s.larkAppId ? (botLabels.get(s.larkAppId) ?? s.larkAppId.substring(0, 18)) : '-';
|
|
438
|
+
parts.push(padEndDisplay(truncate(label, cols.bot), cols.bot));
|
|
439
|
+
}
|
|
440
|
+
const title = padEndDisplay(truncate(s.title || '(untitled)', cols.title), cols.title);
|
|
441
|
+
const dir = padEndDisplay(truncate(s.workingDir || '-', cols.dir), cols.dir);
|
|
442
|
+
const pid = s.pid ? String(s.pid).padEnd(cols.pid) : '-'.padEnd(cols.pid);
|
|
443
|
+
const uptime = formatDuration(Date.now() - new Date(s.createdAt).getTime()).padEnd(cols.uptime);
|
|
444
|
+
const alive = !!(s.pid && isProcessAlive(s.pid));
|
|
445
|
+
const status = (alive ? 'online' : s.pid ? 'stopped' : 'idle').padEnd(cols.status);
|
|
446
|
+
parts.push(title, dir, pid, uptime, status);
|
|
447
|
+
return { text: parts.join(' │ '), alive };
|
|
448
|
+
}
|
|
449
|
+
/** Print plain session table (non-interactive). */
|
|
450
|
+
function printSessionTable(active) {
|
|
439
451
|
const botConfigs = loadBotConfigsForDisplay();
|
|
440
452
|
const multiBot = botConfigs.length > 1 || new Set(active.map(s => s.larkAppId).filter(Boolean)).size > 1;
|
|
441
|
-
// Build a larkAppId → short label map (e.g. "bot1 (claude-code)")
|
|
442
453
|
const botLabels = new Map();
|
|
443
454
|
for (let i = 0; i < botConfigs.length; i++) {
|
|
444
455
|
const b = botConfigs[i];
|
|
@@ -455,24 +466,254 @@ function cmdList() {
|
|
|
455
466
|
console.log(header);
|
|
456
467
|
console.log(separator);
|
|
457
468
|
for (const s of active) {
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
if (multiBot) {
|
|
461
|
-
const label = s.larkAppId ? (botLabels.get(s.larkAppId) ?? s.larkAppId.substring(0, 18)) : '-';
|
|
462
|
-
parts.push(padEndDisplay(truncate(label, cols.bot), cols.bot));
|
|
463
|
-
}
|
|
464
|
-
const title = padEndDisplay(truncate(s.title || '(untitled)', cols.title), cols.title);
|
|
465
|
-
const dir = padEndDisplay(truncate(s.workingDir || '-', cols.dir), cols.dir);
|
|
466
|
-
const pid = s.pid ? String(s.pid).padEnd(cols.pid) : '-'.padEnd(cols.pid);
|
|
467
|
-
const uptime = formatDuration(Date.now() - new Date(s.createdAt).getTime()).padEnd(cols.uptime);
|
|
468
|
-
const alive = s.pid && isProcessAlive(s.pid);
|
|
469
|
-
const status = (alive ? 'online' : s.pid ? 'stopped' : 'idle').padEnd(cols.status);
|
|
470
|
-
parts.push(title, dir, pid, uptime, status);
|
|
471
|
-
console.log(parts.join(' │ '));
|
|
469
|
+
const { text } = formatSessionRow(s, multiBot, botLabels, cols);
|
|
470
|
+
console.log(text);
|
|
472
471
|
}
|
|
473
472
|
console.log(separator);
|
|
474
473
|
console.log(`共 ${active.length} 个活跃会话`);
|
|
475
474
|
}
|
|
475
|
+
/** Check if a tmux session exists. */
|
|
476
|
+
function tmuxSessionExists(name) {
|
|
477
|
+
try {
|
|
478
|
+
execSync(`tmux has-session -t ${name} 2>/dev/null`, { stdio: 'ignore' });
|
|
479
|
+
return true;
|
|
480
|
+
}
|
|
481
|
+
catch {
|
|
482
|
+
return false;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
/** Shorten path for display: replace $HOME with ~. */
|
|
486
|
+
function shortenPath(p) {
|
|
487
|
+
const home = homedir();
|
|
488
|
+
return p.startsWith(home) ? '~' + p.slice(home.length) : p;
|
|
489
|
+
}
|
|
490
|
+
/** Interactive TUI session picker — returns a promise that resolves when done. */
|
|
491
|
+
function interactiveSessionPicker(active) {
|
|
492
|
+
const botConfigs = loadBotConfigsForDisplay();
|
|
493
|
+
const multiBot = botConfigs.length > 1 || new Set(active.map(s => s.larkAppId).filter(Boolean)).size > 1;
|
|
494
|
+
const botLabels = new Map();
|
|
495
|
+
for (let i = 0; i < botConfigs.length; i++) {
|
|
496
|
+
const b = botConfigs[i];
|
|
497
|
+
botLabels.set(b.larkAppId, `bot${i + 1} (${b.cliId ?? 'claude-code'})`);
|
|
498
|
+
}
|
|
499
|
+
// Responsive column widths based on terminal width
|
|
500
|
+
const termWidth = process.stdout.columns || 100;
|
|
501
|
+
const PREFIX = 4; // " ❯ " or " "
|
|
502
|
+
const SEP_W = 3; // " │ "
|
|
503
|
+
const fixedCols = { id: 10, pid: 8, uptime: 7, status: 7 };
|
|
504
|
+
const botW = multiBot ? 18 : 0;
|
|
505
|
+
const numSeps = (multiBot ? 7 : 6) - 1; // separators between columns
|
|
506
|
+
const fixedTotal = PREFIX + fixedCols.id + botW + fixedCols.pid + fixedCols.uptime + fixedCols.status + numSeps * SEP_W;
|
|
507
|
+
const flexTotal = Math.max(20, termWidth - fixedTotal);
|
|
508
|
+
const titleW = Math.floor(flexTotal * 0.4);
|
|
509
|
+
const dirW = flexTotal - titleW;
|
|
510
|
+
const cols = {
|
|
511
|
+
id: fixedCols.id,
|
|
512
|
+
...(multiBot ? { bot: botW } : {}),
|
|
513
|
+
title: titleW,
|
|
514
|
+
dir: dirW,
|
|
515
|
+
pid: fixedCols.pid,
|
|
516
|
+
uptime: fixedCols.uptime,
|
|
517
|
+
status: fixedCols.status,
|
|
518
|
+
};
|
|
519
|
+
// Build row data — use shortened paths for TUI
|
|
520
|
+
function buildRows() {
|
|
521
|
+
return active.map(s => {
|
|
522
|
+
// Build row text with shortened dir
|
|
523
|
+
const id = padEndDisplay(s.sessionId.substring(0, 8), cols.id);
|
|
524
|
+
const parts = [id];
|
|
525
|
+
if (multiBot) {
|
|
526
|
+
const label = s.larkAppId ? (botLabels.get(s.larkAppId) ?? s.larkAppId.substring(0, 16)) : '-';
|
|
527
|
+
parts.push(padEndDisplay(truncate(label, cols.bot), cols.bot));
|
|
528
|
+
}
|
|
529
|
+
const title = padEndDisplay(truncate(s.title || '(untitled)', cols.title), cols.title);
|
|
530
|
+
const dir = padEndDisplay(truncate(shortenPath(s.workingDir || '-'), cols.dir), cols.dir);
|
|
531
|
+
const pid = s.pid ? String(s.pid).padEnd(cols.pid) : '-'.padEnd(cols.pid);
|
|
532
|
+
const uptime = formatDuration(Date.now() - new Date(s.createdAt).getTime()).padEnd(cols.uptime);
|
|
533
|
+
const alive = !!(s.pid && isProcessAlive(s.pid));
|
|
534
|
+
const status = (alive ? 'online' : s.pid ? 'stopped' : 'idle').padEnd(cols.status);
|
|
535
|
+
parts.push(title, dir, pid, uptime, status);
|
|
536
|
+
const tmuxName = `bmx-${s.sessionId.substring(0, 8)}`;
|
|
537
|
+
const hasTmux = tmuxSessionExists(tmuxName);
|
|
538
|
+
return { session: s, text: parts.join(' │ '), alive, tmuxName, hasTmux };
|
|
539
|
+
});
|
|
540
|
+
}
|
|
541
|
+
let rows = buildRows();
|
|
542
|
+
// Build header (same column layout as rows, no extra prefix in join)
|
|
543
|
+
function buildHeader() {
|
|
544
|
+
const hParts = ['id'.padEnd(cols.id)];
|
|
545
|
+
if (multiBot)
|
|
546
|
+
hParts.push('bot'.padEnd(cols.bot));
|
|
547
|
+
hParts.push('title'.padEnd(cols.title), 'working dir'.padEnd(cols.dir), 'pid'.padEnd(cols.pid), 'uptime'.padEnd(cols.uptime), 'status'.padEnd(cols.status));
|
|
548
|
+
return hParts.join(' │ ');
|
|
549
|
+
}
|
|
550
|
+
const header = buildHeader();
|
|
551
|
+
const separator = '─'.repeat(displayWidth(header));
|
|
552
|
+
let cursor = 0;
|
|
553
|
+
let confirmDelete = false; // true when waiting for y/n confirmation
|
|
554
|
+
let flashMsg = '';
|
|
555
|
+
function render() {
|
|
556
|
+
process.stdout.write('\x1b[H\x1b[J');
|
|
557
|
+
process.stdout.write(`\x1b[1m botmux sessions\x1b[0m \x1b[2m(${rows.length})\x1b[0m\n\n`);
|
|
558
|
+
// Header + separator — use same 4-char prefix as rows
|
|
559
|
+
process.stdout.write(` ${separator}\n`);
|
|
560
|
+
process.stdout.write(` \x1b[2m${header}\x1b[0m\n`);
|
|
561
|
+
process.stdout.write(` ${separator}\n`);
|
|
562
|
+
if (rows.length === 0) {
|
|
563
|
+
process.stdout.write(`\n \x1b[2m没有活跃会话\x1b[0m\n`);
|
|
564
|
+
process.stdout.write(` ${separator}\n`);
|
|
565
|
+
process.stdout.write(`\n \x1b[2mq 退出\x1b[0m\n`);
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
for (let i = 0; i < rows.length; i++) {
|
|
569
|
+
const r = rows[i];
|
|
570
|
+
const pointer = i === cursor ? '\x1b[36m❯\x1b[0m' : ' ';
|
|
571
|
+
if (i === cursor) {
|
|
572
|
+
process.stdout.write(` ${pointer} \x1b[7m${r.text}\x1b[0m\n`);
|
|
573
|
+
}
|
|
574
|
+
else {
|
|
575
|
+
process.stdout.write(` ${pointer} ${r.text}\n`);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
process.stdout.write(` ${separator}\n`);
|
|
579
|
+
// Footer info
|
|
580
|
+
const selected = rows[cursor];
|
|
581
|
+
const tmuxHint = selected.hasTmux
|
|
582
|
+
? `\x1b[32mtmux: ${selected.tmuxName}\x1b[0m`
|
|
583
|
+
: `\x1b[2mtmux: 无会话\x1b[0m`;
|
|
584
|
+
process.stdout.write(`\n ${tmuxHint}\n`);
|
|
585
|
+
// Flash message or confirmation prompt
|
|
586
|
+
if (confirmDelete) {
|
|
587
|
+
const s = selected.session;
|
|
588
|
+
process.stdout.write(`\n \x1b[33m确认删除 ${s.sessionId.substring(0, 8)} "${truncate(s.title || '', 20)}"? (y/n)\x1b[0m\n`);
|
|
589
|
+
}
|
|
590
|
+
else if (flashMsg) {
|
|
591
|
+
process.stdout.write(`\n ${flashMsg}\n`);
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
process.stdout.write('\n');
|
|
595
|
+
}
|
|
596
|
+
// Keybinding hints
|
|
597
|
+
process.stdout.write(`\n \x1b[2m↑/↓ 选择 ⏎ 连接 d 删除 q 退出\x1b[0m\n`);
|
|
598
|
+
}
|
|
599
|
+
return new Promise((resolve) => {
|
|
600
|
+
process.stdin.setRawMode(true);
|
|
601
|
+
process.stdin.resume();
|
|
602
|
+
process.stdin.setEncoding('utf-8');
|
|
603
|
+
process.stdout.write('\x1b[?25l'); // hide cursor
|
|
604
|
+
process.stdout.write('\x1b[?1049h'); // alt screen
|
|
605
|
+
render();
|
|
606
|
+
function cleanup() {
|
|
607
|
+
process.stdin.setRawMode(false);
|
|
608
|
+
process.stdin.pause();
|
|
609
|
+
process.stdout.write('\x1b[?25h'); // show cursor
|
|
610
|
+
process.stdout.write('\x1b[?1049l'); // leave alt screen
|
|
611
|
+
}
|
|
612
|
+
function deleteSession(idx) {
|
|
613
|
+
const r = rows[idx];
|
|
614
|
+
const s = r.session;
|
|
615
|
+
const sessions = loadSessions();
|
|
616
|
+
// Kill CLI process
|
|
617
|
+
if (s.pid && isProcessAlive(s.pid)) {
|
|
618
|
+
killProcess(s.pid);
|
|
619
|
+
}
|
|
620
|
+
// Kill tmux session
|
|
621
|
+
if (r.hasTmux) {
|
|
622
|
+
try {
|
|
623
|
+
execSync(`tmux kill-session -t '${r.tmuxName}' 2>/dev/null`, { stdio: 'ignore' });
|
|
624
|
+
}
|
|
625
|
+
catch { /* */ }
|
|
626
|
+
}
|
|
627
|
+
// Mark closed & persist
|
|
628
|
+
s.status = 'closed';
|
|
629
|
+
s.closedAt = new Date().toISOString();
|
|
630
|
+
sessions.set(s.sessionId, s);
|
|
631
|
+
saveSessions(sessions);
|
|
632
|
+
// Remove from active list and TUI rows
|
|
633
|
+
const activeIdx = active.indexOf(s);
|
|
634
|
+
if (activeIdx >= 0)
|
|
635
|
+
active.splice(activeIdx, 1);
|
|
636
|
+
rows.splice(idx, 1);
|
|
637
|
+
if (cursor >= rows.length)
|
|
638
|
+
cursor = Math.max(0, rows.length - 1);
|
|
639
|
+
flashMsg = `\x1b[32m✓ 已删除 ${s.sessionId.substring(0, 8)}\x1b[0m`;
|
|
640
|
+
}
|
|
641
|
+
process.stdin.on('data', (key) => {
|
|
642
|
+
// Delete confirmation mode
|
|
643
|
+
if (confirmDelete) {
|
|
644
|
+
confirmDelete = false;
|
|
645
|
+
if (key === 'y' || key === 'Y') {
|
|
646
|
+
deleteSession(cursor);
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
flashMsg = '\x1b[2m取消删除\x1b[0m';
|
|
650
|
+
}
|
|
651
|
+
render();
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
flashMsg = '';
|
|
655
|
+
// Ctrl-C or q or Esc
|
|
656
|
+
if (key === '\x03' || key === 'q' || key === '\x1b') {
|
|
657
|
+
cleanup();
|
|
658
|
+
resolve();
|
|
659
|
+
return;
|
|
660
|
+
}
|
|
661
|
+
if (rows.length === 0) {
|
|
662
|
+
// No sessions left, only q works
|
|
663
|
+
render();
|
|
664
|
+
return;
|
|
665
|
+
}
|
|
666
|
+
// Arrow up or k
|
|
667
|
+
if (key === '\x1b[A' || key === 'k') {
|
|
668
|
+
cursor = (cursor - 1 + rows.length) % rows.length;
|
|
669
|
+
render();
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
672
|
+
// Arrow down or j
|
|
673
|
+
if (key === '\x1b[B' || key === 'j') {
|
|
674
|
+
cursor = (cursor + 1) % rows.length;
|
|
675
|
+
render();
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
// d or x — delete session
|
|
679
|
+
if (key === 'd' || key === 'x') {
|
|
680
|
+
confirmDelete = true;
|
|
681
|
+
render();
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
// Enter — attach to tmux
|
|
685
|
+
if (key === '\r' || key === '\n') {
|
|
686
|
+
const selected = rows[cursor];
|
|
687
|
+
if (!selected.hasTmux) {
|
|
688
|
+
flashMsg = '\x1b[33m该会话没有 tmux,无法连接\x1b[0m';
|
|
689
|
+
render();
|
|
690
|
+
return;
|
|
691
|
+
}
|
|
692
|
+
cleanup();
|
|
693
|
+
spawnSync('tmux', ['attach-session', '-t', selected.tmuxName], {
|
|
694
|
+
stdio: 'inherit',
|
|
695
|
+
});
|
|
696
|
+
resolve();
|
|
697
|
+
return;
|
|
698
|
+
}
|
|
699
|
+
});
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
async function cmdList() {
|
|
703
|
+
const sessions = loadSessions();
|
|
704
|
+
const active = [...sessions.values()].filter(s => s.status === 'active');
|
|
705
|
+
if (active.length === 0) {
|
|
706
|
+
console.log('没有活跃会话。');
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
709
|
+
// Non-TTY (piped output) or explicit --plain flag: plain table
|
|
710
|
+
if (!process.stdout.isTTY || process.argv.includes('--plain')) {
|
|
711
|
+
printSessionTable(active);
|
|
712
|
+
return;
|
|
713
|
+
}
|
|
714
|
+
// Interactive TUI
|
|
715
|
+
await interactiveSessionPicker(active);
|
|
716
|
+
}
|
|
476
717
|
function cmdDelete() {
|
|
477
718
|
const target = process.argv[3];
|
|
478
719
|
if (!target) {
|
|
@@ -546,7 +787,8 @@ botmux — IM ↔ AI 编程 CLI 桥接
|
|
|
546
787
|
logs 查看 daemon 日志(--lines N)
|
|
547
788
|
status 查看 daemon 状态
|
|
548
789
|
upgrade 升级到最新版本
|
|
549
|
-
list
|
|
790
|
+
list 列出活跃会话(交互式选择并连接 tmux)
|
|
791
|
+
--plain 纯文本表格输出(管道/脚本场景)
|
|
550
792
|
delete <id> 关闭指定会话(支持 ID 前缀匹配)
|
|
551
793
|
delete all 关闭所有活跃会话
|
|
552
794
|
delete stopped 清理所有进程已退出的僵尸会话
|
|
@@ -581,7 +823,7 @@ switch (command) {
|
|
|
581
823
|
break;
|
|
582
824
|
case 'list':
|
|
583
825
|
case 'ls':
|
|
584
|
-
cmdList();
|
|
826
|
+
await cmdList();
|
|
585
827
|
break;
|
|
586
828
|
case 'delete':
|
|
587
829
|
case 'del':
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,eAAe,aAAsG,CAAC;AAmBnI,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,WAAW,EAAE,CAAC,CAAC;CACnF;AA2GD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,eAAe,aAAsG,CAAC;AAmBnI,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,WAAW,EAAE,CAAC,CAAC;CACnF;AA2GD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA2Mf"}
|
|
@@ -14,7 +14,7 @@ import { scanMultipleProjects } from '../services/project-scanner.js';
|
|
|
14
14
|
import { buildRepoSelectCard, getCliDisplayName } from '../im/lark/card-builder.js';
|
|
15
15
|
import { logger } from '../utils/logger.js';
|
|
16
16
|
import { getSessionCost, formatNumber } from './cost-calculator.js';
|
|
17
|
-
import { killWorker,
|
|
17
|
+
import { killWorker, getCurrentCliVersion } from './worker-pool.js';
|
|
18
18
|
import { expandHome, getSessionWorkingDir, getProjectScanDirs } from './session-manager.js';
|
|
19
19
|
import { sessionKey } from './types.js';
|
|
20
20
|
// ─── Exported constants ──────────────────────────────────────────────────────
|
|
@@ -138,7 +138,8 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
138
138
|
killWorker(ds);
|
|
139
139
|
sessionStore.closeSession(ds.session.sessionId);
|
|
140
140
|
activeSessions.delete(sessionKey(rootId, larkAppId));
|
|
141
|
-
|
|
141
|
+
const cliName = getCliDisplayName(getBot(ds.larkAppId).config.cliId);
|
|
142
|
+
await sessionReply(rootId, `会话已关闭,${cliName} 进程已终止。`);
|
|
142
143
|
logger.info(`[${t}] Session closed by /close command`);
|
|
143
144
|
}
|
|
144
145
|
else {
|
|
@@ -152,7 +153,7 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
152
153
|
sessionStore.closeSession(ds.session.sessionId);
|
|
153
154
|
const newSession = sessionStore.createSession(ds.chatId, rootId, ds.session.title, ds.chatType);
|
|
154
155
|
ds.session = newSession;
|
|
155
|
-
ds.
|
|
156
|
+
ds.cliVersion = getCurrentCliVersion();
|
|
156
157
|
ds.hasHistory = false;
|
|
157
158
|
await sessionReply(rootId, `上下文已清除,下次发消息时将使用新会话。\nNew Session: ${newSession.sessionId}`);
|
|
158
159
|
logger.info(`[${t}] Context cleared by /clear command, new session: ${newSession.sessionId}`);
|
|
@@ -212,7 +213,7 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
212
213
|
break;
|
|
213
214
|
}
|
|
214
215
|
case '/repo': {
|
|
215
|
-
// If
|
|
216
|
+
// If CLI is already running, warn user — switching repo means closing the session
|
|
216
217
|
if (ds?.worker && !ds.worker.killed) {
|
|
217
218
|
await sessionReply(rootId, '⚠️ 当前会话已在运行中,切换仓库将关闭当前会话并创建新会话。\n如需切换,请在下方卡片中选择新仓库。');
|
|
218
219
|
}
|
|
@@ -246,7 +247,7 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
246
247
|
`Status: ${alive ? '运行中' : '等待中'}`,
|
|
247
248
|
`Terminal: ${termUrl}`,
|
|
248
249
|
`CWD: ${getSessionWorkingDir(ds)}`,
|
|
249
|
-
|
|
250
|
+
`${getCliDisplayName(getBot(ds.larkAppId).config.cliId)}: v${ds.cliVersion}${ds.cliVersion !== getCurrentCliVersion() ? ` (latest: v${getCurrentCliVersion()})` : ''}`,
|
|
250
251
|
...(alive ? [`Uptime: ${formatUptime(Date.now() - ds.spawnedAt)}`] : []),
|
|
251
252
|
`Last message: ${idle} ago`,
|
|
252
253
|
`Active sessions: ${getActiveCount()}`,
|
|
@@ -254,7 +255,8 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
254
255
|
await sessionReply(rootId, lines.join('\n'));
|
|
255
256
|
}
|
|
256
257
|
else {
|
|
257
|
-
|
|
258
|
+
const fallbackCliName = larkAppId ? getCliDisplayName(getBot(larkAppId).config.cliId) : 'CLI';
|
|
259
|
+
await sessionReply(rootId, `当前话题没有活跃的会话。\nDaemon active sessions: ${getActiveCount()}\n${fallbackCliName}: v${getCurrentCliVersion()}`);
|
|
258
260
|
}
|
|
259
261
|
break;
|
|
260
262
|
}
|