@vrs-soft/wecom-aibot-mcp 2.4.16 → 2.4.17
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/channel-server.js +8 -1
- package/package.json +1 -1
package/dist/channel-server.js
CHANGED
|
@@ -50,6 +50,9 @@ let sseConnected = false;
|
|
|
50
50
|
let sseAbortController = null;
|
|
51
51
|
let mcpServer = null;
|
|
52
52
|
let sseCurrentCcId = undefined;
|
|
53
|
+
// 保存首次 enter_headless_mode 的参数,重连时原样复用
|
|
54
|
+
let sseRobotId = undefined;
|
|
55
|
+
let sseProjectDir = undefined;
|
|
53
56
|
// HTTP MCP session ID(需要在转发请求前初始化)
|
|
54
57
|
let httpSessionId = null;
|
|
55
58
|
/**
|
|
@@ -215,8 +218,9 @@ function connectSSE(ccId) {
|
|
|
215
218
|
// 重新调 enter_headless_mode 恢复 server 端 ccId 注册
|
|
216
219
|
await forwardToHttpMcp('enter_headless_mode', {
|
|
217
220
|
cc_id: ccId,
|
|
221
|
+
robot_id: sseRobotId,
|
|
218
222
|
mode: 'channel',
|
|
219
|
-
project_dir: process.cwd(),
|
|
223
|
+
project_dir: sseProjectDir || process.cwd(),
|
|
220
224
|
}).catch((e) => logChannel('重注册 ccId 失败', { error: String(e) }));
|
|
221
225
|
}
|
|
222
226
|
connectSSE(ccId);
|
|
@@ -435,6 +439,9 @@ function registerChannelTools(server) {
|
|
|
435
439
|
const parsed = JSON.parse(content[0].text);
|
|
436
440
|
if (parsed.ccId) {
|
|
437
441
|
logChannel('Got ccId, connecting SSE', { ccId: parsed.ccId, mode });
|
|
442
|
+
// 保存连接参数供重连复用
|
|
443
|
+
sseRobotId = robot_id || parsed.robotName;
|
|
444
|
+
sseProjectDir = project_dir || process.cwd();
|
|
438
445
|
connectSSE(parsed.ccId);
|
|
439
446
|
// Channel 模式:在本地项目写入 PermissionRequest hook
|
|
440
447
|
const localProjectDir = project_dir || process.cwd();
|