@vrs-soft/wecom-aibot-mcp 1.0.6 → 1.0.8
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 +172 -191
- package/dist/bin.d.ts +14 -0
- package/dist/bin.js +123 -107
- package/dist/client-pool.d.ts +84 -0
- package/dist/client-pool.js +128 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.js +111 -8
- package/dist/config-wizard.d.ts +14 -2
- package/dist/config-wizard.js +371 -225
- package/dist/connection-log.d.ts +36 -0
- package/dist/connection-log.js +210 -0
- package/dist/connection-manager.d.ts +62 -0
- package/dist/connection-manager.js +245 -0
- package/dist/headless-state.d.ts +80 -0
- package/dist/headless-state.js +300 -0
- package/dist/http-server.d.ts +16 -17
- package/dist/http-server.js +387 -195
- package/dist/index.d.ts +12 -16
- package/dist/index.js +14 -27
- package/dist/keepalive-monitor.d.ts +19 -0
- package/dist/keepalive-monitor.js +98 -0
- package/dist/project-config.d.ts +89 -0
- package/dist/project-config.js +192 -0
- package/dist/tools/index.d.ts +15 -2
- package/dist/tools/index.js +390 -314
- package/package.json +2 -2
- package/skills/headless-mode/SKILL.md +104 -103
package/README.md
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
- 🔐 **远程审批**:敏感操作通过微信卡片审批,支持"允许一次/永久允许/拒绝"
|
|
10
10
|
- 💬 **消息推送**:任务进度、完成通知实时推送到微信
|
|
11
11
|
- 📱 **Headless 模式**:离开电脑时切换到微信交互
|
|
12
|
-
- 🔄
|
|
13
|
-
-
|
|
12
|
+
- 🔄 **智能代批**:超时自动审批,项目内操作允许,删除操作拒绝
|
|
13
|
+
- 🔄 **多机器人支持**:支持配置多个机器人,适用于团队场景
|
|
14
14
|
|
|
15
15
|
## 架构
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
┌─────────────────┐ MCP (
|
|
18
|
+
┌─────────────────┐ MCP (HTTP) ┌──────────────────┐
|
|
19
19
|
│ Claude Code │ ──────────────────▶ │ wecom-aibot-mcp │
|
|
20
20
|
│ (MCP Client) │ │ MCP Server │
|
|
21
21
|
└─────────────────┘ └──────────────────┘
|
|
@@ -58,11 +58,17 @@ PermissionRequest Hook 拦截
|
|
|
58
58
|
执行或拒绝操作
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
###
|
|
61
|
+
### 智能代批
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
开启「自动审批」后,审批请求超时(10分钟)会自动决策:
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
| 操作类型 | 条件 | 自动决策 |
|
|
66
|
+
|---------|------|---------|
|
|
67
|
+
| Bash | 包含 rm/rmdir/unlink | ❌ 拒绝 |
|
|
68
|
+
| Bash | 项目内操作或常见命令 | ✅ 允许 |
|
|
69
|
+
| Bash | 无法判断范围 | ❌ 拒绝 |
|
|
70
|
+
| Write/Edit | 项目内文件 | ✅ 允许 |
|
|
71
|
+
| Write/Edit | 项目外文件 | ❌ 拒绝 |
|
|
66
72
|
|
|
67
73
|
## 安装
|
|
68
74
|
|
|
@@ -113,31 +119,6 @@ nvm install 18
|
|
|
113
119
|
nvm use 18
|
|
114
120
|
```
|
|
115
121
|
|
|
116
|
-
### 方式一:npx 直接运行(推荐)
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
npx @vrs-soft/wecom-aibot-mcp
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
运行后会自动启动配置向导,配置完成后自动退出。
|
|
123
|
-
|
|
124
|
-
### 方式二:全局安装
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
npm install -g @vrs-soft/wecom-aibot-mcp
|
|
128
|
-
wecom-aibot-mcp
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### 方式三:从源码安装
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
git clone https://github.com/eric2877/wecom-aibot-mcp.git
|
|
135
|
-
cd wecom-aibot-mcp
|
|
136
|
-
npm install
|
|
137
|
-
npm run build
|
|
138
|
-
npm link
|
|
139
|
-
```
|
|
140
|
-
|
|
141
122
|
## 快速开始
|
|
142
123
|
|
|
143
124
|
### 第一步:创建企业微信机器人
|
|
@@ -169,6 +150,68 @@ npx @vrs-soft/wecom-aibot-mcp
|
|
|
169
150
|
|
|
170
151
|
> ✅ 无需手动查找用户 ID,系统会自动识别并回复确认消息
|
|
171
152
|
|
|
153
|
+
### 常用命令
|
|
154
|
+
|
|
155
|
+
| 命令 | 说明 |
|
|
156
|
+
|------|------|
|
|
157
|
+
| `npx @vrs-soft/wecom-aibot-mcp` | 首次配置向导 |
|
|
158
|
+
| `npx @vrs-soft/wecom-aibot-mcp --config` | 修改现有配置 |
|
|
159
|
+
| `npx @vrs-soft/wecom-aibot-mcp --add` | 添加新机器人 |
|
|
160
|
+
| `npx @vrs-soft/wecom-aibot-mcp --delete` | 删除机器人配置 |
|
|
161
|
+
| `npx @vrs-soft/wecom-aibot-mcp --uninstall` | 完全卸载 |
|
|
162
|
+
| `npx @vrs-soft/wecom-aibot-mcp --server` | 启动 HTTP 服务模式 |
|
|
163
|
+
| `npx @vrs-soft/wecom-aibot-mcp --status` | 查看当前状态 |
|
|
164
|
+
|
|
165
|
+
### 添加新机器人(--add)
|
|
166
|
+
|
|
167
|
+
适用于多用户场景,每个用户使用独立机器人:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npx @vrs-soft/wecom-aibot-mcp --add
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
交互流程:
|
|
174
|
+
1. 输入机器人名称(如"张三的审批助手")
|
|
175
|
+
2. 输入 Bot ID
|
|
176
|
+
3. 输入 Secret
|
|
177
|
+
4. 发送消息识别用户 ID
|
|
178
|
+
5. 选择添加到 MCP 配置的位置
|
|
179
|
+
|
|
180
|
+
### 删除机器人配置(--delete)
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npx @vrs-soft/wecom-aibot-mcp --delete
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
交互流程:
|
|
187
|
+
1. 显示已配置的机器人列表
|
|
188
|
+
2. 选择要删除的机器人
|
|
189
|
+
3. 确认删除
|
|
190
|
+
|
|
191
|
+
也可以直接指定机器人名称:
|
|
192
|
+
```bash
|
|
193
|
+
npx @vrs-soft/wecom-aibot-mcp --delete "张三的审批助手"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 完全卸载(--uninstall)
|
|
197
|
+
|
|
198
|
+
删除所有配置和文件:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
npx @vrs-soft/wecom-aibot-mcp --uninstall
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
这会删除:
|
|
205
|
+
- 配置目录:`~/.wecom-aibot-mcp/`
|
|
206
|
+
- MCP 配置:`~/.claude.json` 中的所有 `wecom-aibot-*` 条目
|
|
207
|
+
- 全局 Hook 配置:`~/.claude/settings.local.json` 中的 PermissionRequest hook
|
|
208
|
+
- Skill 文件:`~/.claude/skills/headless-mode/`
|
|
209
|
+
|
|
210
|
+
卸载后如需重新安装:
|
|
211
|
+
```bash
|
|
212
|
+
npx @vrs-soft/wecom-aibot-mcp --config
|
|
213
|
+
```
|
|
214
|
+
|
|
172
215
|
### 第三步:配置 Claude Code
|
|
173
216
|
|
|
174
217
|
编辑 `~/.claude.json`(不存在则创建):
|
|
@@ -177,29 +220,39 @@ npx @vrs-soft/wecom-aibot-mcp
|
|
|
177
220
|
{
|
|
178
221
|
"mcpServers": {
|
|
179
222
|
"wecom-aibot": {
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
"env": {
|
|
183
|
-
"WECOM_BOT_ID": "你的Bot ID",
|
|
184
|
-
"WECOM_SECRET": "你的Secret",
|
|
185
|
-
"WECOM_TARGET_USER": "目标用户ID"
|
|
186
|
-
}
|
|
223
|
+
"type": "http",
|
|
224
|
+
"url": "http://127.0.0.1:18963/mcp"
|
|
187
225
|
}
|
|
188
226
|
}
|
|
189
227
|
}
|
|
190
228
|
```
|
|
191
229
|
|
|
192
|
-
|
|
230
|
+
> 使用 HTTP Transport,无需在配置中传递环境变量,配置向导会自动管理。
|
|
231
|
+
|
|
232
|
+
### 第四步:启动 MCP 服务
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
npx @vrs-soft/wecom-aibot-mcp --server
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
服务启动后会显示:
|
|
239
|
+
```
|
|
240
|
+
╔════════════════════════════════════════════════════════╗
|
|
241
|
+
║ 企业微信智能机器人 MCP 服务 v1.0.6 ║
|
|
242
|
+
║ Claude Code 审批通道 ║
|
|
243
|
+
╚════════════════════════════════════════════════════════╝
|
|
244
|
+
|
|
245
|
+
[mcp] MCP Server 已启动: http://127.0.0.1:18963
|
|
246
|
+
[mcp] MCP endpoint: http://127.0.0.1:18963/mcp
|
|
247
|
+
[mcp] 健康检查: http://127.0.0.1:18963/health
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 第五步:重启 Claude Code
|
|
193
251
|
|
|
194
252
|
1. 运行 `/mcp` 命令
|
|
195
253
|
2. 选择「Reconnect」重新连接 MCP 服务
|
|
196
|
-
3. 首次连接时会自动:
|
|
197
|
-
- 检查配置完整性
|
|
198
|
-
- 注册权限预授权
|
|
199
|
-
- 生成审批 Hook 脚本
|
|
200
|
-
- 安装 headless-mode skill 文件
|
|
201
254
|
|
|
202
|
-
###
|
|
255
|
+
### 第六步:验证连接
|
|
203
256
|
|
|
204
257
|
```
|
|
205
258
|
你:检查微信连接状态
|
|
@@ -255,59 +308,44 @@ Claude:(调用 exit_headless_mode)
|
|
|
255
308
|
微信收到:【进度】已退出微信模式,恢复终端交互。
|
|
256
309
|
```
|
|
257
310
|
|
|
258
|
-
### 场景 3
|
|
259
|
-
|
|
260
|
-
将机器人拉入群聊,@机器人 即可触发:
|
|
311
|
+
### 场景 3:开启智能代批
|
|
261
312
|
|
|
262
313
|
```
|
|
263
|
-
|
|
264
|
-
张三:@Claude助手 帮我查看服务器日志
|
|
314
|
+
你:开启自动审批
|
|
265
315
|
|
|
266
|
-
Claude
|
|
267
|
-
|
|
268
|
-
┌─────────────────────────┐
|
|
269
|
-
│ 📋 服务器日志摘要 │
|
|
270
|
-
│ │
|
|
271
|
-
│ 最近 10 条错误日志... │
|
|
272
|
-
└─────────────────────────┘
|
|
273
|
-
```
|
|
316
|
+
Claude:(调用 set_auto_approve)
|
|
317
|
+
微信收到:【系统】自动审批已开启,超时 10 分钟后将自动处理审批请求。
|
|
274
318
|
|
|
275
|
-
|
|
319
|
+
[你离开电脑去开会,超过 10 分钟未响应]
|
|
276
320
|
|
|
277
|
-
|
|
278
|
-
你:帮我跑一遍测试套件,有失败的通知我
|
|
279
|
-
|
|
280
|
-
Claude:(调用 send_message)
|
|
281
|
-
微信收到:【进度】开始运行测试套件,共 128 个用例...
|
|
282
|
-
|
|
283
|
-
[测试运行中...]
|
|
284
|
-
|
|
285
|
-
Claude:(调用 send_message)
|
|
321
|
+
Claude:(自动审批,项目内操作允许)
|
|
286
322
|
微信收到:
|
|
287
323
|
┌─────────────────────────┐
|
|
288
|
-
│
|
|
324
|
+
│ 【自动审批简报】 │
|
|
289
325
|
│ │
|
|
290
|
-
│
|
|
291
|
-
│
|
|
326
|
+
│ 由于您长时间未响应,系统 │
|
|
327
|
+
│ 已代为处理: │
|
|
292
328
|
│ │
|
|
293
|
-
│
|
|
329
|
+
│ ✅ npm run build │
|
|
330
|
+
│ ✅ 修改 src/index.ts │
|
|
331
|
+
│ ❌ rm -rf dist (删除操作)│
|
|
294
332
|
└─────────────────────────┘
|
|
295
333
|
```
|
|
296
334
|
|
|
297
|
-
### 场景
|
|
335
|
+
### 场景 4:群聊机器人
|
|
298
336
|
|
|
299
|
-
|
|
337
|
+
将机器人拉入群聊,@机器人 即可触发:
|
|
300
338
|
|
|
301
339
|
```
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
Claude:(设置定时任务)
|
|
340
|
+
群聊中:
|
|
341
|
+
张三:@Claude助手 帮我查看服务器日志
|
|
305
342
|
|
|
306
|
-
|
|
343
|
+
Claude:(执行命令,通过 send_message 发送结果到群聊)
|
|
344
|
+
微信收到:
|
|
307
345
|
┌─────────────────────────┐
|
|
308
|
-
│
|
|
346
|
+
│ 📋 服务器日志摘要 │
|
|
309
347
|
│ │
|
|
310
|
-
│
|
|
348
|
+
│ 最近 10 条错误日志... │
|
|
311
349
|
└─────────────────────────┘
|
|
312
350
|
```
|
|
313
351
|
|
|
@@ -326,6 +364,7 @@ Claude:(设置定时任务)
|
|
|
326
364
|
|------|------|------|
|
|
327
365
|
| `send_approval_request` | 发送审批卡片 | `title`, `description`, `request_id` |
|
|
328
366
|
| `get_approval_result` | 获取审批结果 | `task_id` |
|
|
367
|
+
| `set_auto_approve` | 设置自动审批开关 | `enabled`(布尔值) |
|
|
329
368
|
|
|
330
369
|
### 模式控制
|
|
331
370
|
|
|
@@ -340,57 +379,65 @@ Claude:(设置定时任务)
|
|
|
340
379
|
| 工具 | 说明 |
|
|
341
380
|
|------|------|
|
|
342
381
|
| `get_setup_guide` | 获取安装指南 |
|
|
343
|
-
| `
|
|
382
|
+
| `list_robots` | 列出所有机器人及状态 |
|
|
383
|
+
| `get_robot_status` | 查看机器人详细状态 |
|
|
344
384
|
|
|
345
|
-
##
|
|
385
|
+
## 多机器人配置
|
|
346
386
|
|
|
347
387
|
### 场景:团队共享
|
|
348
388
|
|
|
349
|
-
|
|
389
|
+
使用 `--add` 命令添加多个机器人:
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
# 添加张三的机器人
|
|
393
|
+
npx @vrs-soft/wecom-aibot-mcp --add
|
|
394
|
+
# 输入名称:张三的审批助手
|
|
395
|
+
# 输入 Bot ID 和 Secret
|
|
396
|
+
# 发送消息识别用户
|
|
397
|
+
|
|
398
|
+
# 添加李四的机器人
|
|
399
|
+
npx @vrs-soft/wecom-aibot-mcp --add
|
|
400
|
+
# 输入名称:李四的审批助手
|
|
401
|
+
# ...
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
配置完成后,`~/.claude.json` 会包含多个实例:
|
|
350
405
|
|
|
351
406
|
```json
|
|
352
407
|
{
|
|
353
408
|
"mcpServers": {
|
|
354
409
|
"wecom-aibot-zhangsan": {
|
|
355
|
-
"
|
|
356
|
-
"
|
|
357
|
-
"env": {
|
|
358
|
-
"WECOM_BOT_ID": "bot_zhangsan",
|
|
359
|
-
"WECOM_SECRET": "secret_zhangsan",
|
|
360
|
-
"WECOM_TARGET_USER": "zhangsan"
|
|
361
|
-
}
|
|
410
|
+
"type": "http",
|
|
411
|
+
"url": "http://127.0.0.1:18963/mcp"
|
|
362
412
|
},
|
|
363
413
|
"wecom-aibot-lisi": {
|
|
364
|
-
"
|
|
365
|
-
"
|
|
366
|
-
"env": {
|
|
367
|
-
"WECOM_BOT_ID": "bot_lisi",
|
|
368
|
-
"WECOM_SECRET": "secret_lisi",
|
|
369
|
-
"WECOM_TARGET_USER": "lisi"
|
|
370
|
-
}
|
|
414
|
+
"type": "http",
|
|
415
|
+
"url": "http://127.0.0.1:18963/mcp"
|
|
371
416
|
}
|
|
372
417
|
}
|
|
373
418
|
}
|
|
374
419
|
```
|
|
375
420
|
|
|
376
|
-
###
|
|
377
|
-
|
|
378
|
-
当多个 Claude Code 实例同时运行时,HTTP 服务端口自动递增:
|
|
421
|
+
### 查看机器人列表
|
|
379
422
|
|
|
380
|
-
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
- ...
|
|
384
|
-
|
|
385
|
-
端口文件存储在 `~/.wecom-aibot-mcp/port-{PID}`,进程退出后自动清理。
|
|
386
|
-
|
|
387
|
-
## 环境变量
|
|
423
|
+
```bash
|
|
424
|
+
npx @vrs-soft/wecom-aibot-mcp --status
|
|
425
|
+
```
|
|
388
426
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
427
|
+
或在 Claude Code 中:
|
|
428
|
+
```
|
|
429
|
+
你:列出所有机器人
|
|
430
|
+
Claude:(调用 list_robots)
|
|
431
|
+
返回:
|
|
432
|
+
{
|
|
433
|
+
"robots": [
|
|
434
|
+
{"projectDir": "...", "status": "connected", "defaultUser": "zhangsan"},
|
|
435
|
+
{"projectDir": "...", "status": "connected", "defaultUser": "lisi"}
|
|
436
|
+
],
|
|
437
|
+
"total": 2,
|
|
438
|
+
"available": 2
|
|
439
|
+
}
|
|
440
|
+
```
|
|
394
441
|
|
|
395
442
|
## 故障排查
|
|
396
443
|
|
|
@@ -438,11 +485,11 @@ Claude:(设置定时任务)
|
|
|
438
485
|
# 1. 检查网络连通性
|
|
439
486
|
curl -v wss://openws.work.weixin.qq.com
|
|
440
487
|
|
|
441
|
-
# 2.
|
|
442
|
-
|
|
488
|
+
# 2. 检查 HTTP 服务状态
|
|
489
|
+
curl http://127.0.0.1:18963/health
|
|
443
490
|
|
|
444
491
|
# 3. 查看进程日志
|
|
445
|
-
# 重启
|
|
492
|
+
# 重启 MCP 服务,观察启动日志
|
|
446
493
|
```
|
|
447
494
|
|
|
448
495
|
### 审批没发到微信
|
|
@@ -456,89 +503,23 @@ ls ~/.wecom-aibot-mcp/headless-*
|
|
|
456
503
|
# 需要告诉 Claude:「现在开始通过微信联系」
|
|
457
504
|
```
|
|
458
505
|
|
|
459
|
-
###
|
|
506
|
+
### 残留文件清理
|
|
460
507
|
|
|
461
508
|
```bash
|
|
462
509
|
# 查看残留文件
|
|
463
|
-
ls ~/.wecom-aibot-mcp/
|
|
464
|
-
|
|
465
|
-
# 重启 MCP 服务会自动清理孤儿文件
|
|
466
|
-
# 或手动清理
|
|
467
|
-
rm ~/.wecom-aibot-mcp/port-*
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
## 卸载
|
|
471
|
-
|
|
472
|
-
如需完全卸载,运行:
|
|
510
|
+
ls ~/.wecom-aibot-mcp/
|
|
473
511
|
|
|
474
|
-
|
|
512
|
+
# MCP 服务重启会自动清理孤儿文件
|
|
513
|
+
# 或使用卸载命令彻底清理
|
|
475
514
|
npx @vrs-soft/wecom-aibot-mcp --uninstall
|
|
476
515
|
```
|
|
477
516
|
|
|
478
|
-
这会删除:
|
|
479
|
-
- 配置文件:`~/.wecom-aibot-mcp/config.json`
|
|
480
|
-
- MCP 配置:`~/.claude.json` 中的 `wecom-aibot` 条目
|
|
481
|
-
- Hook 脚本:`~/.wecom-aibot-mcp/permission-hook.sh`
|
|
482
|
-
- Hook 配置:`~/.claude/settings.local.json` 中的 PermissionRequest hook
|
|
483
|
-
- Skill 文件:`~/.claude/skills/headless-mode/`
|
|
484
|
-
|
|
485
|
-
卸载后如需重新安装:
|
|
486
|
-
|
|
487
|
-
```bash
|
|
488
|
-
npx @vrs-soft/wecom-aibot-mcp --config
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
## 修改和增加 Bot
|
|
492
|
-
|
|
493
|
-
### 修改现有 Bot 配置
|
|
494
|
-
|
|
495
|
-
如果需要更换机器人或修改目标用户:
|
|
496
|
-
|
|
497
|
-
```bash
|
|
498
|
-
npx @vrs-soft/wecom-aibot-mcp --config
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
这会重新启动配置向导,让你输入新的 Bot ID、Secret 和目标用户 ID。
|
|
502
|
-
|
|
503
|
-
### 增加多个 Bot(多用户场景)
|
|
504
|
-
|
|
505
|
-
每个用户可以使用独立的机器人,在 `~/.claude.json` 中配置多个 MCP Server 实例:
|
|
506
|
-
|
|
507
|
-
```json
|
|
508
|
-
{
|
|
509
|
-
"mcpServers": {
|
|
510
|
-
"wecom-aibot-zhangsan": {
|
|
511
|
-
"command": "npx",
|
|
512
|
-
"args": ["@vrs-soft/wecom-aibot-mcp"],
|
|
513
|
-
"env": {
|
|
514
|
-
"WECOM_BOT_ID": "bot_zhangsan",
|
|
515
|
-
"WECOM_SECRET": "secret_zhangsan",
|
|
516
|
-
"WECOM_TARGET_USER": "zhangsan"
|
|
517
|
-
}
|
|
518
|
-
},
|
|
519
|
-
"wecom-aibot-lisi": {
|
|
520
|
-
"command": "npx",
|
|
521
|
-
"args": ["@vrs-soft/wecom-aibot-mcp"],
|
|
522
|
-
"env": {
|
|
523
|
-
"WECOM_BOT_ID": "bot_lisi",
|
|
524
|
-
"WECOM_SECRET": "secret_lisi",
|
|
525
|
-
"WECOM_TARGET_USER": "lisi"
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
使用环境变量配置时,每个实例自动独立运行,无需额外的配置文件。
|
|
533
|
-
|
|
534
|
-
> ⚠️ 注意:同一个机器人同时只能保持一个 WebSocket 长连接,不要在多个实例中使用相同的 Bot ID。
|
|
535
|
-
|
|
536
517
|
## 安全建议
|
|
537
518
|
|
|
538
519
|
1. **保护凭证**:Bot ID 和 Secret 不要提交到代码仓库
|
|
539
|
-
2.
|
|
540
|
-
3.
|
|
541
|
-
4.
|
|
520
|
+
2. **定期轮换**:建议每 3 个月更换一次 Secret
|
|
521
|
+
3. **权限最小化**:机器人的可见范围设置为需要的用户/部门即可
|
|
522
|
+
4. **谨慎使用自动审批**:仅在信任的环境下开启
|
|
542
523
|
|
|
543
524
|
## 开发
|
|
544
525
|
|
|
@@ -556,8 +537,8 @@ npm run dev
|
|
|
556
537
|
# 构建
|
|
557
538
|
npm run build
|
|
558
539
|
|
|
559
|
-
#
|
|
560
|
-
|
|
540
|
+
# 运行服务
|
|
541
|
+
node dist/bin.js --server
|
|
561
542
|
```
|
|
562
543
|
|
|
563
544
|
## License
|
package/dist/bin.d.ts
CHANGED
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* wecom-aibot-mcp - 企业微信智能机器人 MCP 服务
|
|
4
|
+
*
|
|
5
|
+
* npx 运行入口
|
|
6
|
+
*
|
|
7
|
+
* 支持 HTTP Transport 模式:
|
|
8
|
+
* - 固定端口 18963
|
|
9
|
+
* - 支持多 Claude Code 同时连接
|
|
10
|
+
*
|
|
11
|
+
* 连接管理:
|
|
12
|
+
* - 启动时不建立 WebSocket 连接
|
|
13
|
+
* - enter_headless_mode 时按需建立连接
|
|
14
|
+
* - exit_headless_mode 时断开连接
|
|
15
|
+
*/
|
|
2
16
|
export {};
|