botmux 1.14.5 → 2.0.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 +14 -0
- package/README.md +14 -0
- package/dist/adapters/backend/tmux-backend.d.ts +14 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +65 -15
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/core/command-handler.d.ts +2 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +59 -3
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/session-discovery.d.ts +28 -0
- package/dist/core/session-discovery.d.ts.map +1 -0
- package/dist/core/session-discovery.js +215 -0
- package/dist/core/session-discovery.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +6 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +1 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +122 -9
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +3 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +72 -7
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +68 -2
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/idle-detector.d.ts.map +1 -1
- package/dist/utils/idle-detector.js +5 -2
- package/dist/utils/idle-detector.js.map +1 -1
- package/dist/utils/terminal-renderer.d.ts +16 -1
- package/dist/utils/terminal-renderer.d.ts.map +1 -1
- package/dist/utils/terminal-renderer.js +56 -24
- package/dist/utils/terminal-renderer.js.map +1 -1
- package/dist/worker.js +65 -5
- package/dist/worker.js.map +1 -1
- package/package.json +2 -1
package/README.en.md
CHANGED
|
@@ -210,6 +210,19 @@ BACKEND_TYPE=pty botmux start
|
|
|
210
210
|
| `/close` or close button | Destroyed | Terminated (SIGHUP) |
|
|
211
211
|
| CLI exits / crashes | Closes with it | Already exited (auto-restart creates new session) |
|
|
212
212
|
|
|
213
|
+
### Session Adopt
|
|
214
|
+
|
|
215
|
+
Seamlessly connect Botmux to CLI processes already running in tmux — monitor and interact from your phone via Lark.
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
/adopt # Scan tmux, show selection card
|
|
219
|
+
/adopt 0:2.0 # Directly adopt a specific tmux pane
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
- **Shared mode** — After adopting, iTerm2 and Lark stay in sync: streaming card shows real-time terminal output, Lark chat input is forwarded directly to the terminal
|
|
223
|
+
- **One-click takeover** — Click the "Takeover" button on the streaming card to rebuild the session with `--resume`, enable MCP, and convert to a standard Botmux session
|
|
224
|
+
- **Safe disconnect** — Click "Disconnect" to detach Botmux without affecting the original CLI
|
|
225
|
+
|
|
213
226
|
### Scheduled Tasks
|
|
214
227
|
|
|
215
228
|
Create recurring tasks with natural language:
|
|
@@ -255,6 +268,7 @@ botmux exposes MCP tools so the CLI can interact with Lark directly:
|
|
|
255
268
|
| `/restart` | Restart CLI process |
|
|
256
269
|
| `/close` | Close session and terminate CLI |
|
|
257
270
|
| `/clear` | Clear context (new session, same thread) |
|
|
271
|
+
| `/adopt` | Adopt a running CLI session (tmux) |
|
|
258
272
|
| `/schedule` | Manage scheduled tasks |
|
|
259
273
|
| `/help` | Show available commands |
|
|
260
274
|
|
package/README.md
CHANGED
|
@@ -114,6 +114,19 @@ BACKEND_TYPE=pty botmux start
|
|
|
114
114
|
|
|
115
115
|
**tmux 会话命名规则:** `bmx-<sessionId 前 8 位>`
|
|
116
116
|
|
|
117
|
+
### 会话接入(Adopt)
|
|
118
|
+
|
|
119
|
+
将已在 tmux 中运行的 CLI 进程无缝接入 Botmux,在手机上通过飞书查看进度和交互。
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
/adopt # 扫描 tmux,弹出选择卡片
|
|
123
|
+
/adopt 0:2.0 # 直接接入指定 tmux pane
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
- **共享模式** — Botmux 接入后,iTerm2 和飞书双向同步:流式卡片实时显示终端输出,飞书聊天框输入直接透传到终端
|
|
127
|
+
- **一键接管** — 点击流式卡片上的「🔄 接管」按钮,Botmux 以 `--resume` 重建会话,启用 MCP,转为标准 Botmux 会话
|
|
128
|
+
- **安全断开** — 点击「⏏ 断开」,Botmux 退出观察,原 CLI 不受影响
|
|
129
|
+
|
|
117
130
|
### 定时任务
|
|
118
131
|
|
|
119
132
|
基于 Cron 的周期性任务,支持中文自然语言配置。
|
|
@@ -256,6 +269,7 @@ botmux start
|
|
|
256
269
|
| `/restart` | 重启 CLI 进程 |
|
|
257
270
|
| `/close` | 关闭会话并终止 CLI |
|
|
258
271
|
| `/clear` | 清除上下文(新会话,同一话题) |
|
|
272
|
+
| `/adopt` | 接入已运行的 CLI 会话(tmux) |
|
|
259
273
|
| `/schedule` | 管理定时任务 |
|
|
260
274
|
| `/help` | 显示可用命令 |
|
|
261
275
|
|
|
@@ -13,8 +13,11 @@ import type { SessionBackend, SpawnOpts } from './types.js';
|
|
|
13
13
|
export declare class TmuxBackend implements SessionBackend {
|
|
14
14
|
private process;
|
|
15
15
|
private readonly sessionName;
|
|
16
|
+
private readonly ownsSession;
|
|
16
17
|
private reattaching;
|
|
17
|
-
constructor(sessionName: string
|
|
18
|
+
constructor(sessionName: string, opts?: {
|
|
19
|
+
ownsSession?: boolean;
|
|
20
|
+
});
|
|
18
21
|
/** Check if tmux binary is available on PATH. */
|
|
19
22
|
static isAvailable(): boolean;
|
|
20
23
|
/** Derive tmux session name from a session UUID. */
|
|
@@ -39,6 +42,16 @@ export declare class TmuxBackend implements SessionBackend {
|
|
|
39
42
|
kill(): void;
|
|
40
43
|
/** Kill the tmux session permanently. Called on explicit /close. */
|
|
41
44
|
destroySession(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Attach to an existing user tmux pane (not a bmx-* session).
|
|
47
|
+
* Used by adopt mode — Botmux observes an already-running CLI.
|
|
48
|
+
*
|
|
49
|
+
* Zooms the target pane so only it is visible (hides other panes in the window).
|
|
50
|
+
* The zoom is undone when the backend is killed (detach/disconnect).
|
|
51
|
+
*/
|
|
52
|
+
attachToExisting(tmuxTarget: string, opts: SpawnOpts): void;
|
|
53
|
+
/** Tmux pane target when in adopt mode (e.g. "0:2.0") — used for zoom cleanup. */
|
|
54
|
+
private adoptedPaneTarget;
|
|
42
55
|
getAttachInfo(): {
|
|
43
56
|
type: "tmux";
|
|
44
57
|
sessionName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/tmux-backend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"tmux-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/tmux-backend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,YAAW,cAAc;IAChD,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAOjE,iDAAiD;IACjD,MAAM,CAAC,WAAW,IAAI,OAAO;IAS7B,oDAAoD;IACpD,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7C,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASxC,6DAA6D;IAC7D,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtC,oDAAoD;IACpD,MAAM,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAarC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IA+DzD,wEAAwE;IACxE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxC,yFAAyF;IACzF,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIxC,yFAAyF;IACzF,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAMtE,WAAW,IAAI,MAAM,GAAG,IAAI;IAa5B,wEAAwE;IACxE,IAAI,IAAI,IAAI;IAqBZ,oEAAoE;IACpE,cAAc,IAAI,IAAI;IAOtB;;;;;;OAMG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAoB3D,kFAAkF;IAClF,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,aAAa;;;;CAGd"}
|
|
@@ -14,9 +14,11 @@ import { execSync } from 'node:child_process';
|
|
|
14
14
|
export class TmuxBackend {
|
|
15
15
|
process = null;
|
|
16
16
|
sessionName;
|
|
17
|
+
ownsSession;
|
|
17
18
|
reattaching = false;
|
|
18
|
-
constructor(sessionName) {
|
|
19
|
+
constructor(sessionName, opts) {
|
|
19
20
|
this.sessionName = sessionName;
|
|
21
|
+
this.ownsSession = opts?.ownsSession ?? true;
|
|
20
22
|
}
|
|
21
23
|
// ─── Static helpers ───────────────────────────────────────────────────────
|
|
22
24
|
/** Check if tmux binary is available on PATH. */
|
|
@@ -102,20 +104,27 @@ export class TmuxBackend {
|
|
|
102
104
|
cwd: opts.cwd,
|
|
103
105
|
env: opts.env,
|
|
104
106
|
});
|
|
105
|
-
// Configure tmux session for web terminal use:
|
|
106
|
-
// - status off: avoid cursor-positioning noise in xterm.js
|
|
107
|
-
// - mouse on: let tmux handle scroll wheel → copy mode for scrollback
|
|
108
|
-
// - history-limit: large scrollback buffer (tmux default is 2000)
|
|
109
|
-
setTimeout(() => {
|
|
110
|
-
try {
|
|
111
|
-
const t = shellescape(this.sessionName);
|
|
112
|
-
execSync(`tmux set-option -t ${t} status off`, { stdio: 'ignore' });
|
|
113
|
-
execSync(`tmux set-option -t ${t} mouse on`, { stdio: 'ignore' });
|
|
114
|
-
execSync(`tmux set-option -t ${t} history-limit 50000`, { stdio: 'ignore' });
|
|
115
|
-
}
|
|
116
|
-
catch { /* session may not be ready yet — benign */ }
|
|
117
|
-
}, 500);
|
|
118
107
|
}
|
|
108
|
+
// Configure tmux session options.
|
|
109
|
+
// Runs for BOTH new sessions and reattach — reattach needs this to
|
|
110
|
+
// backfill options added after the session was originally created.
|
|
111
|
+
// Setting an already-applied option is idempotent.
|
|
112
|
+
setTimeout(() => {
|
|
113
|
+
try {
|
|
114
|
+
const t = shellescape(this.sessionName);
|
|
115
|
+
execSync(`tmux set-option -t ${t} status off`, { stdio: 'ignore' });
|
|
116
|
+
execSync(`tmux set-option -t ${t} mouse on`, { stdio: 'ignore' });
|
|
117
|
+
execSync(`tmux set-option -t ${t} history-limit 50000`, { stdio: 'ignore' });
|
|
118
|
+
// Prevent web terminal clients (smaller viewport) from shrinking the
|
|
119
|
+
// tmux window. The backend PTY is intentionally wide (300 cols) so
|
|
120
|
+
// TUI overlays stay outside the snapshot area. If a web client at
|
|
121
|
+
// 80×24 causes tmux to resize the window down, reflowed content shifts
|
|
122
|
+
// buffer positions and the terminal renderer's baseline tracking breaks
|
|
123
|
+
// — historical output leaks into the streaming card.
|
|
124
|
+
execSync(`tmux set-option -t ${t} window-size largest`, { stdio: 'ignore' });
|
|
125
|
+
}
|
|
126
|
+
catch { /* session may not be ready yet — benign */ }
|
|
127
|
+
}, 500);
|
|
119
128
|
}
|
|
120
129
|
/** Whether the last spawn() re-attached to an existing tmux session. */
|
|
121
130
|
get isReattach() {
|
|
@@ -149,6 +158,18 @@ export class TmuxBackend {
|
|
|
149
158
|
}
|
|
150
159
|
/** Detach only — kills the pty viewer but leaves tmux session alive. */
|
|
151
160
|
kill() {
|
|
161
|
+
// Unzoom adopted pane before detaching (restore user's original layout)
|
|
162
|
+
if (this.adoptedPaneTarget) {
|
|
163
|
+
try {
|
|
164
|
+
// Only unzoom if the pane is currently zoomed
|
|
165
|
+
const zoomed = execSync(`tmux display -t ${shellescape(this.adoptedPaneTarget)} -p '#{window_zoomed_flag}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
|
|
166
|
+
if (zoomed === '1') {
|
|
167
|
+
execSync(`tmux resize-pane -Z -t ${shellescape(this.adoptedPaneTarget)}`, { stdio: 'ignore' });
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch { /* pane may be gone — benign */ }
|
|
171
|
+
this.adoptedPaneTarget = null;
|
|
172
|
+
}
|
|
152
173
|
if (this.process) {
|
|
153
174
|
try {
|
|
154
175
|
this.process.kill();
|
|
@@ -160,8 +181,37 @@ export class TmuxBackend {
|
|
|
160
181
|
/** Kill the tmux session permanently. Called on explicit /close. */
|
|
161
182
|
destroySession() {
|
|
162
183
|
this.kill();
|
|
163
|
-
|
|
184
|
+
if (this.ownsSession) {
|
|
185
|
+
TmuxBackend.killSession(this.sessionName);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Attach to an existing user tmux pane (not a bmx-* session).
|
|
190
|
+
* Used by adopt mode — Botmux observes an already-running CLI.
|
|
191
|
+
*
|
|
192
|
+
* Zooms the target pane so only it is visible (hides other panes in the window).
|
|
193
|
+
* The zoom is undone when the backend is killed (detach/disconnect).
|
|
194
|
+
*/
|
|
195
|
+
attachToExisting(tmuxTarget, opts) {
|
|
196
|
+
this.reattaching = true;
|
|
197
|
+
this.adoptedPaneTarget = tmuxTarget;
|
|
198
|
+
// Zoom the target pane BEFORE attaching — this makes the pane fill the entire
|
|
199
|
+
// window, so the PTY output (and web terminal) only shows this one pane.
|
|
200
|
+
// If the pane is already the only one in the window, zoom is a no-op.
|
|
201
|
+
try {
|
|
202
|
+
execSync(`tmux resize-pane -Z -t ${shellescape(tmuxTarget)}`, { stdio: 'ignore' });
|
|
203
|
+
}
|
|
204
|
+
catch { /* pane may not support zoom (single pane) — benign */ }
|
|
205
|
+
this.process = pty.spawn('tmux', ['attach-session', '-t', tmuxTarget], {
|
|
206
|
+
name: 'xterm-256color',
|
|
207
|
+
cols: opts.cols,
|
|
208
|
+
rows: opts.rows,
|
|
209
|
+
cwd: opts.cwd,
|
|
210
|
+
env: opts.env,
|
|
211
|
+
});
|
|
164
212
|
}
|
|
213
|
+
/** Tmux pane target when in adopt mode (e.g. "0:2.0") — used for zoom cleanup. */
|
|
214
|
+
adoptedPaneTarget = null;
|
|
165
215
|
getAttachInfo() {
|
|
166
216
|
return { type: 'tmux', sessionName: this.sessionName };
|
|
167
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/tmux-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAW;IACd,OAAO,GAAoB,IAAI,CAAC;IACvB,WAAW,CAAS;
|
|
1
|
+
{"version":3,"file":"tmux-backend.js","sourceRoot":"","sources":["../../../src/adapters/backend/tmux-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AdoptableSession } from './session-discovery.js';
|
|
1
2
|
import type { LarkMessage } from '../types.js';
|
|
2
3
|
import type { DaemonSession } from './types.js';
|
|
3
4
|
export declare const DAEMON_COMMANDS: Set<string>;
|
|
@@ -8,4 +9,5 @@ export interface CommandHandlerDeps {
|
|
|
8
9
|
lastRepoScan: Map<string, import('../services/project-scanner.js').ProjectInfo[]>;
|
|
9
10
|
}
|
|
10
11
|
export declare function handleCommand(cmd: string, rootId: string, message: LarkMessage, deps: CommandHandlerDeps, larkAppId?: string): Promise<void>;
|
|
12
|
+
export declare function startAdoptSession(target: AdoptableSession, ds: DaemonSession, deps: CommandHandlerDeps, larkAppId?: string): Promise<void>;
|
|
11
13
|
//# sourceMappingURL=command-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,eAAe,aAAmI,CAAC;AAmBhK,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,CAwWf;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
|
|
@@ -11,16 +11,17 @@ import * as sessionStore from '../services/session-store.js';
|
|
|
11
11
|
import * as scheduleStore from '../services/schedule-store.js';
|
|
12
12
|
import * as scheduler from './scheduler.js';
|
|
13
13
|
import { scanMultipleProjects } from '../services/project-scanner.js';
|
|
14
|
-
import { buildRepoSelectCard, getCliDisplayName } from '../im/lark/card-builder.js';
|
|
14
|
+
import { buildRepoSelectCard, buildAdoptSelectCard, getCliDisplayName } from '../im/lark/card-builder.js';
|
|
15
15
|
import { deleteMessage } from '../im/lark/client.js';
|
|
16
16
|
import { logger } from '../utils/logger.js';
|
|
17
17
|
import { getSessionCost, formatNumber } from './cost-calculator.js';
|
|
18
|
-
import { killWorker, forkWorker, getCurrentCliVersion } from './worker-pool.js';
|
|
18
|
+
import { killWorker, forkWorker, forkAdoptWorker, getCurrentCliVersion } from './worker-pool.js';
|
|
19
19
|
import { expandHome, getSessionWorkingDir, getProjectScanDirs } from './session-manager.js';
|
|
20
|
+
import { discoverAdoptableSessions, validateAdoptTarget } from './session-discovery.js';
|
|
20
21
|
import { generateAuthUrl, getTokenStatus } from '../utils/user-token.js';
|
|
21
22
|
import { sessionKey } from './types.js';
|
|
22
23
|
// ─── Exported constants ──────────────────────────────────────────────────────
|
|
23
|
-
export const DAEMON_COMMANDS = new Set(['/close', '/clear', '/restart', '/status', '/help', '/cd', '/repo', '/skip', '/cost', '/schedule', '/login']);
|
|
24
|
+
export const DAEMON_COMMANDS = new Set(['/close', '/clear', '/restart', '/status', '/help', '/cd', '/repo', '/skip', '/cost', '/schedule', '/login', '/adopt']);
|
|
24
25
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
25
26
|
function tag(ds) {
|
|
26
27
|
return ds.session.sessionId.substring(0, 8);
|
|
@@ -396,6 +397,31 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
396
397
|
].join('\n'));
|
|
397
398
|
break;
|
|
398
399
|
}
|
|
400
|
+
case '/adopt': {
|
|
401
|
+
const adoptArgs = message.content.replace(/^\/adopt\s*/i, '').trim();
|
|
402
|
+
// Only show sessions matching this bot's CLI type
|
|
403
|
+
const botCliId = ds ? getBot(ds.larkAppId).config.cliId : undefined;
|
|
404
|
+
const sessions = discoverAdoptableSessions(botCliId);
|
|
405
|
+
if (sessions.length === 0) {
|
|
406
|
+
await sessionReply(rootId, '未发现可接入的 CLI 会话');
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
409
|
+
const directTarget = adoptArgs;
|
|
410
|
+
if (directTarget) {
|
|
411
|
+
const target = sessions.find(s => s.tmuxTarget === directTarget);
|
|
412
|
+
if (!target) {
|
|
413
|
+
await sessionReply(rootId, `未找到 tmux pane ${directTarget}`);
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
if (ds)
|
|
417
|
+
await startAdoptSession(target, ds, deps, larkAppId);
|
|
418
|
+
break;
|
|
419
|
+
}
|
|
420
|
+
// Show selection card
|
|
421
|
+
const cardJson = buildAdoptSelectCard(sessions, rootId);
|
|
422
|
+
await sessionReply(rootId, cardJson, 'interactive');
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
399
425
|
case '/help': {
|
|
400
426
|
const botCfg = ds ? getBot(ds.larkAppId).config : getAllBots()[0]?.config;
|
|
401
427
|
const cliName = getCliDisplayName(botCfg?.cliId ?? 'claude-code');
|
|
@@ -419,6 +445,10 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
419
445
|
'',
|
|
420
446
|
'支持的时间格式:每日/每天、每周X、每月X号、工作日每天、每N小时、每N分钟',
|
|
421
447
|
'',
|
|
448
|
+
'📡 会话接入:',
|
|
449
|
+
'/adopt - 接入本机正在运行的 CLI 会话',
|
|
450
|
+
'/adopt <tmux_pane> - 直接接入指定 tmux pane',
|
|
451
|
+
'',
|
|
422
452
|
'🔐 用户授权:',
|
|
423
453
|
'/login - 飞书用户授权(可下载第三方卡片图片等)',
|
|
424
454
|
'/login status - 查看授权状态',
|
|
@@ -434,4 +464,30 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
434
464
|
logger.error(`[${t}] Command ${cmd} error: ${err.message}`);
|
|
435
465
|
}
|
|
436
466
|
}
|
|
467
|
+
// ─── Adopt session helper ────────────────────────────────────────────────────
|
|
468
|
+
export async function startAdoptSession(target, ds, deps, larkAppId) {
|
|
469
|
+
const sessionReply = (rid, content, msgType) => deps.sessionReply(rid, content, msgType, larkAppId);
|
|
470
|
+
// Validate target is still alive
|
|
471
|
+
if (!validateAdoptTarget(target.tmuxTarget, target.cliPid)) {
|
|
472
|
+
await sessionReply(ds.session.rootMessageId, '⚠️ 目标 CLI 会话已退出');
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
const project = target.cwd.split('/').pop() || target.cwd;
|
|
476
|
+
// Update the existing DaemonSession with adopt info
|
|
477
|
+
ds.workingDir = target.cwd;
|
|
478
|
+
ds.session.workingDir = target.cwd;
|
|
479
|
+
ds.session.title = `Adopt: ${project}`;
|
|
480
|
+
ds.adoptedFrom = {
|
|
481
|
+
tmuxTarget: target.tmuxTarget,
|
|
482
|
+
originalCliPid: target.cliPid,
|
|
483
|
+
sessionId: target.sessionId,
|
|
484
|
+
cliId: target.cliId,
|
|
485
|
+
cwd: target.cwd,
|
|
486
|
+
paneCols: target.paneCols,
|
|
487
|
+
paneRows: target.paneRows,
|
|
488
|
+
};
|
|
489
|
+
forkAdoptWorker(ds);
|
|
490
|
+
const cliName = getCliDisplayName(target.cliId);
|
|
491
|
+
await sessionReply(ds.session.rootMessageId, `📡 已接入 ${cliName} · ${project} (${target.tmuxTarget})`);
|
|
492
|
+
}
|
|
437
493
|
//# sourceMappingURL=command-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CliId } from '../adapters/cli/types.js';
|
|
2
|
+
export interface AdoptableSession {
|
|
3
|
+
tmuxTarget: string;
|
|
4
|
+
panePid: number;
|
|
5
|
+
cliPid: number;
|
|
6
|
+
cliId: CliId;
|
|
7
|
+
sessionId?: string;
|
|
8
|
+
cwd: string;
|
|
9
|
+
startedAt?: number;
|
|
10
|
+
paneCols: number;
|
|
11
|
+
paneRows: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Scan all tmux panes for running CLI processes that can be adopted by Botmux.
|
|
15
|
+
*
|
|
16
|
+
* Skips `bmx-*` prefixed sessions (already managed by Botmux).
|
|
17
|
+
* For each remaining pane, recursively searches the process tree (up to 3 levels)
|
|
18
|
+
* for known CLI binaries.
|
|
19
|
+
*
|
|
20
|
+
* @param filterCliId - If provided, only return sessions matching this CLI type.
|
|
21
|
+
*/
|
|
22
|
+
export declare function discoverAdoptableSessions(filterCliId?: CliId): AdoptableSession[];
|
|
23
|
+
/**
|
|
24
|
+
* Re-check that a specific pane still has the expected CLI process running.
|
|
25
|
+
* Used to validate an adopt target right before the actual adoption.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateAdoptTarget(tmuxTarget: string, expectedPid: number): boolean;
|
|
28
|
+
//# sourceMappingURL=session-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-discovery.d.ts","sourceRoot":"","sources":["../../src/core/session-discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAItD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgID;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,CAsEjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBpF"}
|