openclaw-rocketchat 0.3.12 → 0.4.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 +85 -23
- package/README.md +85 -23
- package/dist/gateway/openclaw-internals.d.ts +42 -0
- package/dist/gateway/openclaw-internals.d.ts.map +1 -0
- package/dist/gateway/openclaw-internals.js +70 -0
- package/dist/gateway/openclaw-internals.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/service/bot-manager.d.ts.map +1 -1
- package/dist/service/bot-manager.js +4 -0
- package/dist/service/bot-manager.js.map +1 -1
- package/dist/service/channel.d.ts +1 -0
- package/dist/service/channel.d.ts.map +1 -1
- package/dist/service/channel.js +27 -5
- package/dist/service/channel.js.map +1 -1
- package/dist/service/message-handler.d.ts +37 -6
- package/dist/service/message-handler.d.ts.map +1 -1
- package/dist/service/message-handler.js +148 -70
- package/dist/service/message-handler.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -635,41 +635,103 @@ openclaw rocketchat uninstall
|
|
|
635
635
|
|
|
636
636
|
All commands are **interactive** — no flags to memorize, just follow the prompts.
|
|
637
637
|
|
|
638
|
-
##
|
|
638
|
+
## Configuration Reference
|
|
639
639
|
|
|
640
|
-
All config is written automatically by CLI commands into
|
|
640
|
+
All config is written automatically by CLI commands into `~/.openclaw/openclaw.json`. You normally don't need to edit it manually, but understanding the structure helps with troubleshooting and advanced customization.
|
|
641
|
+
|
|
642
|
+
### channels.rocketchat — Channel Config
|
|
643
|
+
|
|
644
|
+
| Parameter | Type | Description |
|
|
645
|
+
|-----------|------|-------------|
|
|
646
|
+
| `enabled` | `boolean` | Enable/disable the Rocket.Chat channel |
|
|
647
|
+
| `serverUrl` | `string` | Rocket.Chat server URL, e.g. `"https://123-45-67-89.sslip.io"` |
|
|
648
|
+
| `accounts` | `object` | Bot accounts. Key is the account ID |
|
|
649
|
+
| `accounts.<id>.botUsername` | `string` | Bot's username in RC |
|
|
650
|
+
| `accounts.<id>.botDisplayName` | `string` | Bot's display name |
|
|
651
|
+
| `groups` | `object` | Group config (optional). Key is group name |
|
|
652
|
+
| `groups.<name>.bots` | `string[]` | Bots in this group |
|
|
653
|
+
| `groups.<name>.requireMention` | `boolean` | Whether bot requires @mention to respond in groups |
|
|
654
|
+
|
|
655
|
+
### bindings — Agent Bindings
|
|
656
|
+
|
|
657
|
+
The `bindings` array maps bot accounts to Agents:
|
|
658
|
+
|
|
659
|
+
| Parameter | Type | Description |
|
|
660
|
+
|-----------|------|-------------|
|
|
661
|
+
| `agentId` | `string` | The Agent ID to bind to (e.g. `"main"`) |
|
|
662
|
+
| `match.channel` | `string` | Always `"rocketchat"` |
|
|
663
|
+
| `match.accountId` | `string` | Matches a key in `accounts` |
|
|
664
|
+
|
|
665
|
+
### plugins.entries — Plugin State
|
|
666
|
+
|
|
667
|
+
| Parameter | Type | Description |
|
|
668
|
+
|-----------|------|-------------|
|
|
669
|
+
| `openclaw-rocketchat.enabled` | `boolean` | Whether the plugin is enabled |
|
|
670
|
+
|
|
671
|
+
### Full Config Example
|
|
641
672
|
|
|
642
673
|
```json5
|
|
643
674
|
{
|
|
644
|
-
// Agents
|
|
645
|
-
agents: {
|
|
646
|
-
list: [
|
|
647
|
-
{ id: "main", default: true },
|
|
648
|
-
{ id: "work", name: "Work Helper" }
|
|
649
|
-
]
|
|
675
|
+
// Agents managed by openclaw agents add
|
|
676
|
+
"agents": {
|
|
677
|
+
"list": [
|
|
678
|
+
{ "id": "main", "default": true },
|
|
679
|
+
{ "id": "work", "name": "Work Helper" }
|
|
680
|
+
]
|
|
650
681
|
},
|
|
651
682
|
|
|
652
|
-
//
|
|
653
|
-
bindings: [
|
|
654
|
-
{ agentId: "main", match: { channel: "rocketchat", accountId: "molty" } },
|
|
655
|
-
{ agentId: "work", match: { channel: "rocketchat", accountId: "work-claw" } }
|
|
683
|
+
// Bot → Agent bindings (written by add-bot)
|
|
684
|
+
"bindings": [
|
|
685
|
+
{ "agentId": "main", "match": { "channel": "rocketchat", "accountId": "molty" } },
|
|
686
|
+
{ "agentId": "work", "match": { "channel": "rocketchat", "accountId": "work-claw" } }
|
|
656
687
|
],
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
"AI Squad": { requireMention: false, bots: ["molty", "work-claw"] },
|
|
688
|
+
|
|
689
|
+
// Rocket.Chat channel config (written by setup / add-bot)
|
|
690
|
+
"channels": {
|
|
691
|
+
"rocketchat": {
|
|
692
|
+
"enabled": true,
|
|
693
|
+
"serverUrl": "https://123-45-67-89.sslip.io",
|
|
694
|
+
"accounts": {
|
|
695
|
+
"molty": { "botUsername": "molty", "botDisplayName": "Lobster" },
|
|
696
|
+
"work-claw": { "botUsername": "work-claw", "botDisplayName": "Work Helper" }
|
|
667
697
|
},
|
|
668
|
-
|
|
698
|
+
"groups": {
|
|
699
|
+
"AI Squad": { "requireMention": false, "bots": ["molty", "work-claw"] }
|
|
700
|
+
}
|
|
701
|
+
}
|
|
669
702
|
},
|
|
703
|
+
|
|
704
|
+
// Plugin state
|
|
705
|
+
"plugins": {
|
|
706
|
+
"entries": {
|
|
707
|
+
"openclaw-rocketchat": { "enabled": true }
|
|
708
|
+
}
|
|
709
|
+
}
|
|
670
710
|
}
|
|
671
711
|
```
|
|
672
712
|
|
|
713
|
+
### Manual Editing
|
|
714
|
+
|
|
715
|
+
If auto-configuration has issues, edit `~/.openclaw/openclaw.json` directly:
|
|
716
|
+
|
|
717
|
+
```bash
|
|
718
|
+
# Edit config
|
|
719
|
+
vi ~/.openclaw/openclaw.json
|
|
720
|
+
|
|
721
|
+
# Restart gateway to apply changes
|
|
722
|
+
openclaw gateway restart
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
**Common manual edits:**
|
|
726
|
+
|
|
727
|
+
- **Change server URL**: Edit `channels.rocketchat.serverUrl`
|
|
728
|
+
- **Disable/enable channel**: Edit `channels.rocketchat.enabled`
|
|
729
|
+
- **Rebind bot to different Agent**: Edit `bindings` array, change `agentId`
|
|
730
|
+
- **Remove a bot**: Delete entries from both `accounts` and `bindings`
|
|
731
|
+
- **Toggle @mention requirement**: Edit `groups.<name>.requireMention`
|
|
732
|
+
|
|
733
|
+
> **Note**: Bot credentials (passwords, tokens) are stored in `~/.openclaw/credentials/`, separate from `openclaw.json`. If you reinstall a bot, clean up the credentials directory as well.
|
|
734
|
+
|
|
673
735
|
## Architecture
|
|
674
736
|
|
|
675
737
|
### Mode A: Co-located
|
package/README.md
CHANGED
|
@@ -635,41 +635,103 @@ openclaw rocketchat uninstall
|
|
|
635
635
|
|
|
636
636
|
所有命令都是**交互式**的——不需要记参数,按提示输入即可。
|
|
637
637
|
|
|
638
|
-
##
|
|
638
|
+
## 配置参数详解
|
|
639
639
|
|
|
640
|
-
所有配置由 CLI 命令自动写入
|
|
640
|
+
所有配置由 CLI 命令自动写入 `~/.openclaw/openclaw.json`。通常你不需要手动编辑,但了解配置结构有助于排查问题和高级自定义。
|
|
641
|
+
|
|
642
|
+
### channels.rocketchat — 频道配置
|
|
643
|
+
|
|
644
|
+
| 参数 | 类型 | 说明 |
|
|
645
|
+
|------|------|------|
|
|
646
|
+
| `enabled` | `boolean` | 是否启用 Rocket.Chat 频道。`true` 启用,`false` 禁用 |
|
|
647
|
+
| `serverUrl` | `string` | Rocket.Chat 服务器地址,如 `"https://123-45-67-89.sslip.io"`。Gateway 通过此地址连接 RC |
|
|
648
|
+
| `accounts` | `object` | 机器人账号列表,key 为账号 ID |
|
|
649
|
+
| `accounts.<id>.botUsername` | `string` | 机器人在 RC 中的用户名 |
|
|
650
|
+
| `accounts.<id>.botDisplayName` | `string` | 机器人显示昵称 |
|
|
651
|
+
| `groups` | `object` | 群组配置(可选),key 为群组名 |
|
|
652
|
+
| `groups.<name>.bots` | `string[]` | 群组中的机器人列表 |
|
|
653
|
+
| `groups.<name>.requireMention` | `boolean` | 群组中是否需要 @提及 机器人才回复 |
|
|
654
|
+
|
|
655
|
+
### bindings — Agent 绑定
|
|
656
|
+
|
|
657
|
+
`bindings` 数组将机器人账号绑定到 Agent:
|
|
658
|
+
|
|
659
|
+
| 参数 | 类型 | 说明 |
|
|
660
|
+
|------|------|------|
|
|
661
|
+
| `agentId` | `string` | 绑定的 Agent ID(如 `"main"`) |
|
|
662
|
+
| `match.channel` | `string` | 固定为 `"rocketchat"` |
|
|
663
|
+
| `match.accountId` | `string` | 对应 `accounts` 中的 key |
|
|
664
|
+
|
|
665
|
+
### plugins.entries — 插件状态
|
|
666
|
+
|
|
667
|
+
| 参数 | 类型 | 说明 |
|
|
668
|
+
|------|------|------|
|
|
669
|
+
| `openclaw-rocketchat.enabled` | `boolean` | 插件是否启用 |
|
|
670
|
+
|
|
671
|
+
### 完整配置示例
|
|
641
672
|
|
|
642
673
|
```json5
|
|
643
674
|
{
|
|
644
|
-
// Agent 由 openclaw agents add
|
|
645
|
-
agents: {
|
|
646
|
-
list: [
|
|
647
|
-
{ id: "main", default: true },
|
|
648
|
-
{ id: "work", name: "工作助手" }
|
|
649
|
-
]
|
|
675
|
+
// Agent 由 openclaw agents add 管理
|
|
676
|
+
"agents": {
|
|
677
|
+
"list": [
|
|
678
|
+
{ "id": "main", "default": true },
|
|
679
|
+
{ "id": "work", "name": "工作助手" }
|
|
680
|
+
]
|
|
650
681
|
},
|
|
651
682
|
|
|
652
|
-
//
|
|
653
|
-
bindings: [
|
|
654
|
-
{ agentId: "main", match: { channel: "rocketchat", accountId: "molty" } },
|
|
655
|
-
{ agentId: "work", match: { channel: "rocketchat", accountId: "work-claw" } }
|
|
683
|
+
// 机器人 → Agent 绑定(由 add-bot 自动写入)
|
|
684
|
+
"bindings": [
|
|
685
|
+
{ "agentId": "main", "match": { "channel": "rocketchat", "accountId": "molty" } },
|
|
686
|
+
{ "agentId": "work", "match": { "channel": "rocketchat", "accountId": "work-claw" } }
|
|
656
687
|
],
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
"AI全能群": { requireMention: false, bots: ["molty", "work-claw"] },
|
|
688
|
+
|
|
689
|
+
// Rocket.Chat 频道配置(由 setup / add-bot 自动写入)
|
|
690
|
+
"channels": {
|
|
691
|
+
"rocketchat": {
|
|
692
|
+
"enabled": true,
|
|
693
|
+
"serverUrl": "https://123-45-67-89.sslip.io",
|
|
694
|
+
"accounts": {
|
|
695
|
+
"molty": { "botUsername": "molty", "botDisplayName": "小龙虾" },
|
|
696
|
+
"work-claw": { "botUsername": "work-claw", "botDisplayName": "工作助手" }
|
|
667
697
|
},
|
|
668
|
-
|
|
698
|
+
"groups": {
|
|
699
|
+
"AI全能群": { "requireMention": false, "bots": ["molty", "work-claw"] }
|
|
700
|
+
}
|
|
701
|
+
}
|
|
669
702
|
},
|
|
703
|
+
|
|
704
|
+
// 插件状态
|
|
705
|
+
"plugins": {
|
|
706
|
+
"entries": {
|
|
707
|
+
"openclaw-rocketchat": { "enabled": true }
|
|
708
|
+
}
|
|
709
|
+
}
|
|
670
710
|
}
|
|
671
711
|
```
|
|
672
712
|
|
|
713
|
+
### 手动修改配置
|
|
714
|
+
|
|
715
|
+
如果自动配置出现问题,可以直接编辑 `~/.openclaw/openclaw.json`:
|
|
716
|
+
|
|
717
|
+
```bash
|
|
718
|
+
# 编辑配置
|
|
719
|
+
vi ~/.openclaw/openclaw.json
|
|
720
|
+
|
|
721
|
+
# 修改后重启 gateway 生效
|
|
722
|
+
openclaw gateway restart
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
**常见手动修改场景:**
|
|
726
|
+
|
|
727
|
+
- **更换服务器地址**:修改 `channels.rocketchat.serverUrl`
|
|
728
|
+
- **禁用/启用频道**:修改 `channels.rocketchat.enabled`
|
|
729
|
+
- **修改机器人绑定的 Agent**:修改 `bindings` 数组中对应条目的 `agentId`
|
|
730
|
+
- **删除机器人**:从 `accounts` 和 `bindings` 中删除对应条目
|
|
731
|
+
- **修改群组的 @提及 规则**:修改 `groups.<name>.requireMention`
|
|
732
|
+
|
|
733
|
+
> **注意**: 机器人的凭据(密码、token)存储在 `~/.openclaw/credentials/` 目录下,与 `openclaw.json` 分离。如果重装机器人,需要同时清理凭据文件。
|
|
734
|
+
|
|
673
735
|
## 架构
|
|
674
736
|
|
|
675
737
|
### 方式 A:同机部署
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw 内部模块的动态引用
|
|
3
|
+
* 通过 process.argv[1](gateway 入口脚本)推算模块路径
|
|
4
|
+
*/
|
|
5
|
+
export interface OpenClawInternals {
|
|
6
|
+
/** 分发入站消息到 Agent */
|
|
7
|
+
dispatchInboundMessage: (params: {
|
|
8
|
+
ctx: Record<string, unknown>;
|
|
9
|
+
cfg: Record<string, unknown>;
|
|
10
|
+
dispatcher: unknown;
|
|
11
|
+
replyOptions?: Record<string, unknown>;
|
|
12
|
+
}) => Promise<unknown>;
|
|
13
|
+
/** 创建回复分发器 */
|
|
14
|
+
createReplyDispatcher: (options: {
|
|
15
|
+
deliver: (payload: {
|
|
16
|
+
text?: string;
|
|
17
|
+
mediaUrl?: string;
|
|
18
|
+
mediaUrls?: string[];
|
|
19
|
+
}, info: {
|
|
20
|
+
kind: string;
|
|
21
|
+
}) => void | Promise<void>;
|
|
22
|
+
onError?: (err: unknown) => void;
|
|
23
|
+
}) => unknown;
|
|
24
|
+
/** 创建回复前缀选项(可选) */
|
|
25
|
+
createReplyPrefixOptions?: (params: {
|
|
26
|
+
cfg: Record<string, unknown>;
|
|
27
|
+
agentId?: string;
|
|
28
|
+
channel?: string;
|
|
29
|
+
}) => Record<string, unknown>;
|
|
30
|
+
/** 加载配置 */
|
|
31
|
+
loadConfig: () => Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 从 Gateway 进程中动态加载 OpenClaw 核心模块
|
|
35
|
+
*
|
|
36
|
+
* 原理:
|
|
37
|
+
* - Gateway 的入口脚本通常是 dist/cli/index.js(或类似路径)
|
|
38
|
+
* - 从入口脚本路径可以推算 OpenClaw 的 dist/ 根目录
|
|
39
|
+
* - 然后按相对路径导入所需模块
|
|
40
|
+
*/
|
|
41
|
+
export declare function loadOpenClawInternals(): Promise<OpenClawInternals | null>;
|
|
42
|
+
//# sourceMappingURL=openclaw-internals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-internals.d.ts","sourceRoot":"","sources":["../../src/gateway/openclaw-internals.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,sBAAsB,EAAE,CAAC,MAAM,EAAE;QAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvB,cAAc;IACd,qBAAqB,EAAE,CAAC,OAAO,EAAE;QAC/B,OAAO,EAAE,CACP,OAAO,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,EACnE,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;KAClC,KAAK,OAAO,CAAC;IAEd,mBAAmB;IACnB,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B,WAAW;IACX,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAKD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA8D/E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// 动态导入 OpenClaw 核心模块
|
|
3
|
+
// 插件运行在 Gateway 进程内,可以访问 OpenClaw 的内部模块
|
|
4
|
+
// 用于入站消息分发(dispatchInboundMessage)
|
|
5
|
+
// ============================================================
|
|
6
|
+
import { dirname, resolve } from "node:path";
|
|
7
|
+
import { pathToFileURL } from "node:url";
|
|
8
|
+
/** 缓存:加载一次就够了 */
|
|
9
|
+
let cached = null;
|
|
10
|
+
/**
|
|
11
|
+
* 从 Gateway 进程中动态加载 OpenClaw 核心模块
|
|
12
|
+
*
|
|
13
|
+
* 原理:
|
|
14
|
+
* - Gateway 的入口脚本通常是 dist/cli/index.js(或类似路径)
|
|
15
|
+
* - 从入口脚本路径可以推算 OpenClaw 的 dist/ 根目录
|
|
16
|
+
* - 然后按相对路径导入所需模块
|
|
17
|
+
*/
|
|
18
|
+
export async function loadOpenClawInternals() {
|
|
19
|
+
if (cached)
|
|
20
|
+
return cached;
|
|
21
|
+
const mainScript = process.argv[1];
|
|
22
|
+
if (!mainScript)
|
|
23
|
+
return null;
|
|
24
|
+
try {
|
|
25
|
+
// 入口脚本: dist/cli/index.js 或 dist/cli/program/index.js
|
|
26
|
+
// 向上遍历找到 dist/ 目录(包含 auto-reply/、config/ 等子目录)
|
|
27
|
+
let distDir = dirname(mainScript);
|
|
28
|
+
// 最多向上走 5 层来找到包含 auto-reply 的目录
|
|
29
|
+
for (let i = 0; i < 5; i++) {
|
|
30
|
+
const testPath = resolve(distDir, "auto-reply", "dispatch.js");
|
|
31
|
+
try {
|
|
32
|
+
const url = pathToFileURL(testPath).href;
|
|
33
|
+
await import(url);
|
|
34
|
+
// 找到了!
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
distDir = dirname(distDir);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const importModule = async (relativePath) => {
|
|
42
|
+
const fullPath = resolve(distDir, relativePath);
|
|
43
|
+
const url = pathToFileURL(fullPath).href;
|
|
44
|
+
return await import(url);
|
|
45
|
+
};
|
|
46
|
+
const dispatchMod = await importModule("auto-reply/dispatch.js");
|
|
47
|
+
const replyDispatcherMod = await importModule("auto-reply/reply/reply-dispatcher.js");
|
|
48
|
+
const configMod = await importModule("config/config.js");
|
|
49
|
+
let replyPrefixMod = null;
|
|
50
|
+
try {
|
|
51
|
+
replyPrefixMod = (await importModule("channels/reply-prefix.js"));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
// reply-prefix 是可选的
|
|
55
|
+
}
|
|
56
|
+
cached = {
|
|
57
|
+
dispatchInboundMessage: dispatchMod.dispatchInboundMessage,
|
|
58
|
+
createReplyDispatcher: replyDispatcherMod.createReplyDispatcher,
|
|
59
|
+
createReplyPrefixOptions: replyPrefixMod?.createReplyPrefixOptions,
|
|
60
|
+
loadConfig: configMod.loadConfig,
|
|
61
|
+
};
|
|
62
|
+
return cached;
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
// 无法加载内部模块 — 可能是 OpenClaw 版本变化或目录结构不同
|
|
66
|
+
console.error(`[RC] 无法加载 OpenClaw 内部模块: ${err.message}`);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=openclaw-internals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-internals.js","sourceRoot":"","sources":["../../src/gateway/openclaw-internals.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,qBAAqB;AACrB,wCAAwC;AACxC,mCAAmC;AACnC,+DAA+D;AAE/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAmCzC,iBAAiB;AACjB,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,IAAI,CAAC;QACH,sDAAsD;QACtD,+CAA+C;QAC/C,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAElC,gCAAgC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;gBACzC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO;gBACP,MAAM;YACR,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,EAAE,YAAoB,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACzC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAC3C,sCAAsC,CACvC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAEzD,IAAI,cAAc,GAAmC,IAAI,CAAC;QAC1D,IAAI,CAAC;YACH,cAAc,GAAG,CAAC,MAAM,YAAY,CAClC,0BAA0B,CAC3B,CAA4B,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QAED,MAAM,GAAG;YACP,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;YAC1D,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB;YAC/D,wBAAwB,EAAE,cAAc,EAAE,wBAE7B;YACb,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,4BAA6B,GAAa,CAAC,OAAO,EAAE,CACrD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0CA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0CA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAqO/C"}
|
package/dist/index.js
CHANGED
|
@@ -79,8 +79,33 @@ export default function register(api) {
|
|
|
79
79
|
return cfg?.accounts?.[accountId] || null;
|
|
80
80
|
},
|
|
81
81
|
},
|
|
82
|
+
messaging: {
|
|
83
|
+
targetResolver: {
|
|
84
|
+
hint: "Use a Rocket.Chat room ID (24-char hex), or prefix with # for channels, @ for users.",
|
|
85
|
+
/**
|
|
86
|
+
* Rocket.Chat 的 target 是 MongoDB ObjectId(24 位十六进制字符串)
|
|
87
|
+
* 默认的 looksLikeTargetId 无法识别这种格式,导致 "Unknown target" 错误
|
|
88
|
+
*/
|
|
89
|
+
looksLikeId: (raw, _normalized) => {
|
|
90
|
+
const trimmed = raw.trim();
|
|
91
|
+
// MongoDB ObjectId: 24-char hex string
|
|
92
|
+
if (/^[a-f0-9]{17,24}$/i.test(trimmed)) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
// Prefixed forms: channel:xxx, group:xxx, user:xxx
|
|
96
|
+
if (/^(channel|group|user):/i.test(trimmed)) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
// @username or #channel
|
|
100
|
+
if (/^[@#]/.test(trimmed)) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
82
107
|
outbound: {
|
|
83
|
-
deliveryMode: "
|
|
108
|
+
deliveryMode: "gateway",
|
|
84
109
|
/**
|
|
85
110
|
* Agent 回复 → 发送到 Rocket.Chat
|
|
86
111
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,2BAA2B;AAC3B,mBAAmB;AACnB,+DAA+D;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,yBAAyB;AACzB,IAAI,cAAc,GAAG,EAAE,CAAC;AAExB,aAAa;AACb,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD;;;GAGG;AACH,SAAS,aAAa;IACpB,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC;IAE1C,gDAAgD;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,cAAc,GAAG,UAAU,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAY;IACZ,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAQ;IACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI;QAC3B,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QACjD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEjC,6DAA6D;IAC7D,UAAU;IACV,6DAA6D;IAC7D,GAAG,CAAC,eAAe,CAAC;QAClB,MAAM,EAAE;YACN,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,aAAa;gBACpB,cAAc,EAAE,mBAAmB;gBACnC,QAAQ,EAAE,sBAAsB;gBAChC,KAAK,EACH,qDAAqD;gBACvD,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;aAC1B;YACD,YAAY,EAAE;gBACZ,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;aAC/B;YACD,MAAM,EAAE;gBACN;;mBAEG;gBACH,cAAc,EAAE,CAAC,GAAQ,EAAY,EAAE;oBACrC,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;oBACrC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD;;mBAEG;gBACH,cAAc,EAAE,CAAC,GAAQ,EAAE,SAAkB,EAAO,EAAE;oBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;wBAC7C,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,CAAC;oBACD,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;gBAC5C,CAAC;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,IAAI,EAAE,sFAAsF;oBAC5F;;;uBAGG;oBACH,WAAW,EAAE,CAAC,GAAW,EAAE,WAAmB,EAAW,EAAE;wBACzD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC3B,uCAAuC;wBACvC,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;4BACvC,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,mDAAmD;wBACnD,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC5C,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,wBAAwB;wBACxB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC1B,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,YAAY,EAAE,SAAkB;gBAChC;;mBAEG;gBACH,QAAQ,EAAE,KAAK,EAAE,MAIhB,EAA4B,EAAE;oBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;oBACvB,CAAC;oBAED,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC;oBACnD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;oBACvB,CAAC;oBAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;oBAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;oBAEnC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC5B,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;oBACvB,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;wBAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBACtB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CACV,SAAU,GAAa,CAAC,OAAO,EAAE,CAClC,CAAC;wBACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;aACF;SACF;KACF,CAAC,CAAC;IAEH,6DAA6D;IAC7D,eAAe;IACf,6DAA6D;IAC7D,GAAG,CAAC,WAAW,CACb,CAAC,EAAE,OAAO,EAAoB,EAAE,EAAE;QAChC,MAAM,EAAE,GAAG,OAAO;aACf,OAAO,CAAC,YAAY,CAAC;aACrB,KAAK,CAAC,IAAI,CAAC;aACX,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAEnC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CACV,uCAAuC,CACxC;aACA,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;aAClB,WAAW,CAAC,8BAA8B,CAAC;aAC3C,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;aACpB,WAAW,CAAC,gBAAgB,CAAC;aAC7B,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;aACnB,WAAW,CAAC,UAAU,CAAC;aACvB,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;aACtB,WAAW,CAAC,UAAU,CAAC;aACvB,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;aACjB,WAAW,CAAC,yBAAyB,CAAC;aACtC,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;aACjB,WAAW,CAAC,qBAAqB,CAAC;aAClC,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;aACpB,WAAW,CAAC,2BAA2B,CAAC;aACxC,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,EACD;QACE,QAAQ,EAAE;YACR,YAAY;YACZ,kBAAkB;YAClB,oBAAoB;YACpB,sBAAsB;YACtB,qBAAqB;YACrB,wBAAwB;YACxB,mBAAmB;YACnB,mBAAmB;YACnB,sBAAsB;SACvB;KACF,CACF,CAAC;IAEF,6DAA6D;IAC7D,YAAY;IACZ,6DAA6D;IAC7D,GAAG,CAAC,eAAe,CAAC;QAClB,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,qDAAqD;YACrD,qDAAqD;YACrD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;YAE1C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;YAE5C,cAAc,GAAG,IAAI,cAAc,CAAC;gBAClC,MAAM,EAAE,QAAQ;gBAChB,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV,aAAc,GAAa,CAAC,OAAO,EAAE,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,cAAc,EAAE,IAAI,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/service/bot-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,oBAAoB,CAAC;AAapE,KAAK,sBAAsB,GAAG,CAC5B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAoC;IAChD,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,MAAM,CAAgE;gBAG5E,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE;IASxE,aAAa;IACb,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAQhD,iBAAiB;IACX,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAuDhB,aAAa;IACP,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvE,gBAAgB;IACV,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAShB,gBAAgB;IACV,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAShB,sBAAsB;IACtB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIpE,mBAAmB;IACnB,gBAAgB,IAAI,MAAM,EAAE;IAM5B,wBAAwB;IACxB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,cAAc;IACd,aAAa,IAAI,IAAI;IAgBrB,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"bot-manager.d.ts","sourceRoot":"","sources":["../../src/service/bot-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,oBAAoB,CAAC;AAapE,KAAK,sBAAsB,GAAG,CAC5B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAoC;IAChD,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,MAAM,CAAgE;gBAG5E,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE;IASxE,aAAa;IACb,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAQhD,iBAAiB;IACX,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAuDhB,aAAa;IACP,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBvE,gBAAgB;IACV,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAShB,gBAAgB;IACV,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAShB,sBAAsB;IACtB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIpE,mBAAmB;IACnB,gBAAgB,IAAI,MAAM,EAAE;IAM5B,wBAAwB;IACxB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD,cAAc;IACd,aAAa,IAAI,IAAI;IAgBrB,OAAO,CAAC,qBAAqB;CA+B9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/service/bot-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot-manager.js","sourceRoot":"","sources":["../../src/service/bot-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/service/channel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/service/channel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEnF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACxE;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,MAAM,CAAgE;IAC9E,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,qBAAqB;IAa1C,WAAW;IACL,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6E5B,WAAW;IACX,IAAI,IAAI,IAAI;IAQZ,gCAAgC;IAChC,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAI1C,oBAAoB;IACpB,aAAa,IAAI,UAAU,GAAG,IAAI;YAQpB,WAAW;IAsCzB,kBAAkB;YACJ,eAAe;YAoBf,YAAY;CAmC3B"}
|
package/dist/service/channel.js
CHANGED
|
@@ -6,12 +6,14 @@ import { RocketChatRestClient } from "../rc-api/rest-client.js";
|
|
|
6
6
|
import { BotManager } from "./bot-manager.js";
|
|
7
7
|
import { MessageHandler } from "./message-handler.js";
|
|
8
8
|
import { loadAdminCredentials, loadBotCredentials, } from "../config/credentials.js";
|
|
9
|
+
import { loadOpenClawInternals } from "../gateway/openclaw-internals.js";
|
|
9
10
|
export class ChannelService {
|
|
10
11
|
config;
|
|
11
12
|
bindings;
|
|
12
13
|
botManager = null;
|
|
13
14
|
messageHandler = null;
|
|
14
15
|
adminClient = null;
|
|
16
|
+
internals = null;
|
|
15
17
|
logger;
|
|
16
18
|
running = false;
|
|
17
19
|
constructor(options) {
|
|
@@ -54,21 +56,35 @@ export class ChannelService {
|
|
|
54
56
|
this.logger.error(`无法连接 Rocket.Chat: ${err.message}`);
|
|
55
57
|
return;
|
|
56
58
|
}
|
|
57
|
-
// 2.
|
|
59
|
+
// 2. 加载 OpenClaw 内部模块(用于入站消息分发)
|
|
60
|
+
try {
|
|
61
|
+
this.internals = await loadOpenClawInternals();
|
|
62
|
+
if (this.internals) {
|
|
63
|
+
this.logger.info("OpenClaw 内部模块已加载(进程内直连模式)");
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.logger.error("无法加载 OpenClaw 内部模块,入站消息将无法路由到 Agent");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
this.logger.error(`加载 OpenClaw 内部模块失败: ${err.message}`);
|
|
71
|
+
}
|
|
72
|
+
// 3. 初始化 BotManager
|
|
58
73
|
this.botManager = new BotManager(this.config.serverUrl, this.logger);
|
|
59
|
-
//
|
|
74
|
+
// 4. 初始化 MessageHandler
|
|
60
75
|
this.messageHandler = new MessageHandler({
|
|
61
76
|
botManager: this.botManager,
|
|
62
77
|
config: this.config,
|
|
63
78
|
logger: this.logger,
|
|
79
|
+
internals: this.internals,
|
|
64
80
|
});
|
|
65
|
-
//
|
|
81
|
+
// 5. 设置消息回调
|
|
66
82
|
this.botManager.onMessage((msg, roomId, botUsername, agentId) => {
|
|
67
83
|
this.messageHandler.handleInbound(msg, roomId, botUsername, agentId);
|
|
68
84
|
});
|
|
69
|
-
//
|
|
85
|
+
// 6. 连接所有机器人
|
|
70
86
|
await this.connectBots();
|
|
71
|
-
//
|
|
87
|
+
// 7. 确保所有群组存在并订阅
|
|
72
88
|
await this.ensureGroups();
|
|
73
89
|
this.running = true;
|
|
74
90
|
this.logger.info("Rocket.Chat 频道服务已启动");
|
|
@@ -139,6 +155,12 @@ export class ChannelService {
|
|
|
139
155
|
// 检查群组是否存在
|
|
140
156
|
const groupInfo = await this.adminClient.getGroupInfo(undefined, groupName);
|
|
141
157
|
if (groupInfo) {
|
|
158
|
+
// 注册群组房间信息到 MessageHandler(用于区分 DM/群组 + @提及过滤)
|
|
159
|
+
this.messageHandler?.registerGroupRoom(groupInfo._id, {
|
|
160
|
+
groupName,
|
|
161
|
+
requireMention: groupConfig.requireMention ?? false,
|
|
162
|
+
bots: groupConfig.bots || [],
|
|
163
|
+
});
|
|
142
164
|
// 群组存在,为其中的每个机器人订阅消息
|
|
143
165
|
for (const botUsername of groupConfig.bots || []) {
|
|
144
166
|
await this.botManager.subscribeRoom(botUsername, groupInfo._id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/service/channel.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,YAAY;AACZ,mCAAmC;AACnC,+DAA+D;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/service/channel.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,YAAY;AACZ,mCAAmC;AACnC,+DAA+D;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAUzE,MAAM,OAAO,cAAc;IACjB,MAAM,CAAmC;IACzC,QAAQ,CAAoB;IAC5B,UAAU,GAAsB,IAAI,CAAC;IACrC,cAAc,GAA0B,IAAI,CAAC;IAC7C,WAAW,GAAgC,IAAI,CAAC;IAChD,SAAS,GAA6B,IAAI,CAAC;IAC3C,MAAM,CAAgE;IACtE,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,OAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI;YAC9B,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAChE,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO;IACP,6DAA6D;IAE7D,WAAW;IACX,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAE/D,aAAa;QACb,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAC9C,CAAC;YACF,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAChD,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAErE,wBAAwB;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,YAAY;QACZ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;YAC9D,IAAI,CAAC,cAAe,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,iBAAiB;QACjB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;IACX,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED,gCAAgC;IAChC,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,oBAAoB;IACpB,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,6DAA6D;IAC7D,WAAW;IACX,6DAA6D;IAErD,KAAK,CAAC,WAAW;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,OAAO,OAAO,CAAC,WAAW,SAAS,CACpC,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,sCAAsC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAC7E,CAAC;gBACF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC;gBAE9C,MAAM,IAAI,CAAC,UAAW,CAAC,MAAM,CAC3B,OAAO,CAAC,WAAW,EACnB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,OAAO,EACP,OAAO,CAAC,cAAc,CACvB,CAAC;gBAEF,iBAAiB;gBACjB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,OAAO,OAAO,CAAC,WAAW,UAAW,GAAa,CAAC,OAAO,EAAE,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IACV,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,WAAW,iBAAkB,GAAa,CAAC,OAAO,EAAE,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,YAAY;IACZ,6DAA6D;IAErD,KAAK,CAAC,YAAY;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAExC,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,WAAW;gBACX,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAY,CAAC,YAAY,CACpD,SAAS,EACT,SAAS,CACV,CAAC;gBAEF,IAAI,SAAS,EAAE,CAAC;oBACd,+CAA+C;oBAC/C,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE;wBACpD,SAAS;wBACT,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,KAAK;wBACnD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;qBAC7B,CAAC,CAAC;oBAEH,qBAAqB;oBACrB,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;wBACjD,MAAM,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,SAAS,yCAAyC,CACzD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,QAAQ,SAAS,QAAS,GAAa,CAAC,OAAO,EAAE,CAClD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { RcMessage, RocketchatChannelConfig } from "../rc-api/types.js";
|
|
2
2
|
import type { BotManager } from "./bot-manager.js";
|
|
3
|
+
import type { OpenClawInternals } from "../gateway/openclaw-internals.js";
|
|
4
|
+
/** 群组房间信息(由 ChannelService 注册) */
|
|
5
|
+
interface GroupRoomInfo {
|
|
6
|
+
groupName: string;
|
|
7
|
+
requireMention: boolean;
|
|
8
|
+
bots: string[];
|
|
9
|
+
}
|
|
3
10
|
interface MessageHandlerOptions {
|
|
4
11
|
botManager: BotManager;
|
|
5
12
|
config: Partial<RocketchatChannelConfig>;
|
|
@@ -7,13 +14,18 @@ interface MessageHandlerOptions {
|
|
|
7
14
|
info: (msg: string) => void;
|
|
8
15
|
error: (msg: string) => void;
|
|
9
16
|
};
|
|
17
|
+
/** OpenClaw 内部模块引用(用于入站消息分发) */
|
|
18
|
+
internals?: OpenClawInternals | null;
|
|
10
19
|
}
|
|
11
20
|
export declare class MessageHandler {
|
|
12
21
|
private botManager;
|
|
13
22
|
private config;
|
|
14
23
|
private logger;
|
|
24
|
+
private internals;
|
|
15
25
|
/** 正在处理中的消息 ID 集合(防止并发重复处理) */
|
|
16
26
|
private processingMessages;
|
|
27
|
+
/** 群组房间映射:roomId → GroupRoomInfo(用于区分 DM 和群组) */
|
|
28
|
+
private groupRooms;
|
|
17
29
|
constructor(options: MessageHandlerOptions);
|
|
18
30
|
/**
|
|
19
31
|
* 处理入站消息
|
|
@@ -26,15 +38,34 @@ export declare class MessageHandler {
|
|
|
26
38
|
*/
|
|
27
39
|
handleOutbound(text: string, botUsername: string, roomId: string): Promise<void>;
|
|
28
40
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
41
|
+
* 将消息分发到 OpenClaw Agent
|
|
42
|
+
*
|
|
43
|
+
* 使用 dispatchInboundMessage(进程内直接调用)
|
|
44
|
+
* 需要 OpenClaw 内部模块可用(在 Gateway 进程内运行时自动加载)
|
|
32
45
|
*/
|
|
33
|
-
private
|
|
46
|
+
private dispatchToAgent;
|
|
47
|
+
/**
|
|
48
|
+
* 通过 OpenClaw 内部 API 分发入站消息(首选方式)
|
|
49
|
+
*
|
|
50
|
+
* 构造 MsgContext → dispatchInboundMessage → Agent 处理
|
|
51
|
+
* Agent 回复通过 dispatcher 的 deliver 回调直接发送到 RC
|
|
52
|
+
*/
|
|
53
|
+
private dispatchViaInternals;
|
|
34
54
|
/**
|
|
35
|
-
*
|
|
55
|
+
* 注册群组房间(由 ChannelService.ensureGroups 调用)
|
|
56
|
+
* 用于区分 DM 和群组,以及获取群组的 requireMention 配置
|
|
36
57
|
*/
|
|
37
|
-
|
|
58
|
+
registerGroupRoom(roomId: string, info: GroupRoomInfo): void;
|
|
59
|
+
/**
|
|
60
|
+
* 判断机器人是否应该响应该消息
|
|
61
|
+
*
|
|
62
|
+
* DM 消息:始终响应(roomId 不在 groupRooms 中)
|
|
63
|
+
* 群组消息:
|
|
64
|
+
* 1. 过滤广播提及(@here / @all / @everyone)—— 仅广播提及时不响应
|
|
65
|
+
* 2. 如果群组配置了 requireMention,只有直接 @机器人 才响应
|
|
66
|
+
* 3. 如果未配置 requireMention,除了广播提及外都响应
|
|
67
|
+
*/
|
|
68
|
+
private shouldRespond;
|
|
38
69
|
/**
|
|
39
70
|
* 将长文本分块
|
|
40
71
|
* 尽量按段落或代码块边界分割
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../src/service/message-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../src/service/message-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAQ1E,kCAAkC;AAClC,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,qBAAqB;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IACvE,gCAAgC;IAChC,SAAS,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,MAAM,CAAgE;IAC9E,OAAO,CAAC,SAAS,CAA2B;IAC5C,+BAA+B;IAC/B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,iDAAiD;IACjD,OAAO,CAAC,UAAU,CAAoC;gBAE1C,OAAO,EAAE,qBAAqB;IAc1C;;;OAGG;IACG,aAAa,CACjB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA4EhB;;;OAGG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;OAKG;YACW,eAAe;IAwB7B;;;;;OAKG;YACW,oBAAoB;IA4GlC;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IAQ5D;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IA2CrB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAyClB"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
// ============================================================
|
|
2
2
|
// 消息桥接:RC 消息 <-> OpenClaw Agent
|
|
3
|
-
// 入站:接收 RC 消息 →
|
|
3
|
+
// 入站:接收 RC 消息 → dispatchInboundMessage → Agent 处理 → 回调回复
|
|
4
4
|
// 出站:Agent 回复 → 格式化 → 发回 RC
|
|
5
5
|
// ============================================================
|
|
6
|
-
import { execFile } from "node:child_process";
|
|
7
|
-
import { promisify } from "node:util";
|
|
8
|
-
const execFileAsync = promisify(execFile);
|
|
9
6
|
/** 长文本分块大小(Rocket.Chat 单条消息建议不超过 4000 字符) */
|
|
10
7
|
const MAX_MESSAGE_LENGTH = 4000;
|
|
8
|
+
/** Rocket.Chat 广播提及用户名:@here / @all / @everyone 不应触发机器人响应 */
|
|
9
|
+
const BROADCAST_MENTION_USERNAMES = new Set(["here", "all", "everyone"]);
|
|
11
10
|
export class MessageHandler {
|
|
12
11
|
botManager;
|
|
13
12
|
config;
|
|
14
13
|
logger;
|
|
14
|
+
internals;
|
|
15
15
|
/** 正在处理中的消息 ID 集合(防止并发重复处理) */
|
|
16
16
|
processingMessages = new Set();
|
|
17
|
+
/** 群组房间映射:roomId → GroupRoomInfo(用于区分 DM 和群组) */
|
|
18
|
+
groupRooms = new Map();
|
|
17
19
|
constructor(options) {
|
|
18
20
|
this.botManager = options.botManager;
|
|
19
21
|
this.config = options.config;
|
|
22
|
+
this.internals = options.internals || null;
|
|
20
23
|
this.logger = options.logger || {
|
|
21
24
|
info: (msg) => console.log(`[RC MessageHandler] ${msg}`),
|
|
22
25
|
error: (msg) => console.error(`[RC MessageHandler] ${msg}`),
|
|
@@ -35,9 +38,9 @@ export class MessageHandler {
|
|
|
35
38
|
if (this.processingMessages.has(msgKey))
|
|
36
39
|
return;
|
|
37
40
|
this.processingMessages.add(msgKey);
|
|
38
|
-
// 处理完成后清理(
|
|
41
|
+
// 处理完成后清理(60 秒超时兜底)
|
|
39
42
|
const cleanup = () => this.processingMessages.delete(msgKey);
|
|
40
|
-
setTimeout(cleanup,
|
|
43
|
+
setTimeout(cleanup, 60000);
|
|
41
44
|
// 检查 @提及 规则(群组消息)
|
|
42
45
|
if (!this.shouldRespond(msg, botUsername, roomId)) {
|
|
43
46
|
cleanup();
|
|
@@ -62,14 +65,13 @@ export class MessageHandler {
|
|
|
62
65
|
if (!text.trim()) {
|
|
63
66
|
return;
|
|
64
67
|
}
|
|
65
|
-
// 通过 openclaw message send CLI 发送给 Agent
|
|
66
68
|
this.logger.info(`入站: ${msg.u.username} -> ${botUsername} (Agent: ${agentId}): ${text.slice(0, 100)}...`);
|
|
67
69
|
try {
|
|
68
|
-
await this.
|
|
70
|
+
await this.dispatchToAgent(text, botUsername, msg.u.username, roomId, agentId, msg._id);
|
|
69
71
|
}
|
|
70
72
|
catch (err) {
|
|
71
73
|
const errMsg = err.message || "";
|
|
72
|
-
this.logger.error(
|
|
74
|
+
this.logger.error(`分发到 Agent 失败: ${errMsg}`);
|
|
73
75
|
// 如果 Agent 不存在或绑定丢失,回复用户一条友好提示
|
|
74
76
|
if (errMsg.includes("agent") ||
|
|
75
77
|
errMsg.includes("not found") ||
|
|
@@ -105,80 +107,156 @@ export class MessageHandler {
|
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
// ----------------------------------------------------------
|
|
108
|
-
//
|
|
110
|
+
// 内部:入站消息分发
|
|
109
111
|
// ----------------------------------------------------------
|
|
110
112
|
/**
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
113
|
+
* 将消息分发到 OpenClaw Agent
|
|
114
|
+
*
|
|
115
|
+
* 使用 dispatchInboundMessage(进程内直接调用)
|
|
116
|
+
* 需要 OpenClaw 内部模块可用(在 Gateway 进程内运行时自动加载)
|
|
114
117
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const isMentioned = msg.mentions?.some((m) => m.username === botUsername);
|
|
122
|
-
if (!isMentioned) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
118
|
+
async dispatchToAgent(text, botUsername, senderId, roomId, agentId, messageId) {
|
|
119
|
+
if (this.internals) {
|
|
120
|
+
await this.dispatchViaInternals(text, botUsername, senderId, roomId, agentId, messageId);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this.logger.error("OpenClaw 内部模块不可用,入站消息无法分发到 Agent");
|
|
126
124
|
}
|
|
127
|
-
return true;
|
|
128
125
|
}
|
|
129
126
|
/**
|
|
130
|
-
* 通过
|
|
127
|
+
* 通过 OpenClaw 内部 API 分发入站消息(首选方式)
|
|
128
|
+
*
|
|
129
|
+
* 构造 MsgContext → dispatchInboundMessage → Agent 处理
|
|
130
|
+
* Agent 回复通过 dispatcher 的 deliver 回调直接发送到 RC
|
|
131
131
|
*/
|
|
132
|
-
async
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
132
|
+
async dispatchViaInternals(text, botUsername, senderId, roomId, agentId, messageId) {
|
|
133
|
+
const internals = this.internals;
|
|
134
|
+
// 加载最新配置
|
|
135
|
+
let cfg;
|
|
136
|
+
try {
|
|
137
|
+
cfg = internals.loadConfig();
|
|
137
138
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
"send",
|
|
142
|
-
"--channel",
|
|
143
|
-
"rocketchat",
|
|
144
|
-
"--account",
|
|
145
|
-
accountId,
|
|
146
|
-
"--target",
|
|
147
|
-
roomId,
|
|
148
|
-
"-m",
|
|
149
|
-
text,
|
|
150
|
-
];
|
|
151
|
-
// 尝试传递 sender 信息(如果 CLI 版本不支持 --from,忽略即可)
|
|
152
|
-
if (senderId) {
|
|
153
|
-
args.push("--from", senderId);
|
|
139
|
+
catch {
|
|
140
|
+
// 如果 loadConfig 失败,尝试用空配置
|
|
141
|
+
cfg = {};
|
|
154
142
|
}
|
|
155
|
-
|
|
156
|
-
|
|
143
|
+
// 判断是 DM 还是群组
|
|
144
|
+
const groupInfo = this.groupRooms.get(roomId);
|
|
145
|
+
const isGroup = !!groupInfo;
|
|
146
|
+
const chatType = isGroup ? "group" : "direct";
|
|
147
|
+
// 构造 session key(格式参考 Telegram/Discord 等核心频道)
|
|
148
|
+
const sessionKey = isGroup
|
|
149
|
+
? `agent:${agentId}:rocketchat:group:${botUsername}:${roomId}`
|
|
150
|
+
: `agent:${agentId}:rocketchat:dm:${botUsername}:${roomId}`;
|
|
151
|
+
// 构造 MsgContext(OpenClaw 入站消息上下文)
|
|
152
|
+
const ctx = {
|
|
153
|
+
Body: text,
|
|
154
|
+
BodyForAgent: text,
|
|
155
|
+
RawBody: text,
|
|
156
|
+
CommandBody: text,
|
|
157
|
+
BodyForCommands: text,
|
|
158
|
+
From: isGroup
|
|
159
|
+
? `rocketchat:group:${roomId}:${senderId}`
|
|
160
|
+
: `rocketchat:${senderId}`,
|
|
161
|
+
To: isGroup
|
|
162
|
+
? `rocketchat:group:${roomId}`
|
|
163
|
+
: `rocketchat:dm:${botUsername}`,
|
|
164
|
+
SessionKey: sessionKey,
|
|
165
|
+
AccountId: botUsername,
|
|
166
|
+
Provider: "rocketchat",
|
|
167
|
+
Surface: "rocketchat",
|
|
168
|
+
OriginatingChannel: "rocketchat",
|
|
169
|
+
OriginatingTo: roomId,
|
|
170
|
+
ChatType: chatType,
|
|
171
|
+
CommandAuthorized: true,
|
|
172
|
+
MessageSid: messageId,
|
|
173
|
+
SenderId: senderId,
|
|
174
|
+
SenderName: senderId,
|
|
175
|
+
SenderUsername: senderId,
|
|
176
|
+
};
|
|
177
|
+
// 群组消息额外字段
|
|
178
|
+
if (isGroup && groupInfo) {
|
|
179
|
+
ctx.GroupSubject = groupInfo.groupName;
|
|
157
180
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
181
|
+
// 创建 reply dispatcher —— Agent 回复通过 deliver 回调直接发到 RC
|
|
182
|
+
const replyParts = [];
|
|
183
|
+
const dispatcher = internals.createReplyDispatcher({
|
|
184
|
+
deliver: async (payload, info) => {
|
|
185
|
+
const replyText = payload.text?.trim() ?? "";
|
|
186
|
+
if (!replyText)
|
|
187
|
+
return;
|
|
188
|
+
replyParts.push(replyText);
|
|
189
|
+
// 实时发送每个回复块到 RC(而不是等全部完成再发)
|
|
190
|
+
if (info.kind === "final" || info.kind === "block") {
|
|
191
|
+
try {
|
|
192
|
+
await this.handleOutbound(replyText, botUsername, roomId);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
this.logger.error(`回复发送失败: ${err.message}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
onError: (err) => {
|
|
200
|
+
this.logger.error(`Agent 处理错误: ${err instanceof Error ? err.message : String(err)}`);
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
// 分发入站消息 → Agent 处理 → 回复通过 deliver 回调发送
|
|
204
|
+
await internals.dispatchInboundMessage({
|
|
205
|
+
ctx,
|
|
206
|
+
cfg,
|
|
207
|
+
dispatcher,
|
|
208
|
+
});
|
|
209
|
+
// 如果 Agent 没有通过 dispatcher 回复(例如命令处理后无输出),
|
|
210
|
+
// replyParts 为空也是正常的
|
|
211
|
+
if (replyParts.length === 0) {
|
|
212
|
+
this.logger.info(`Agent 处理完成,无回复内容(可能是命令或空响应)`);
|
|
179
213
|
}
|
|
180
214
|
}
|
|
181
215
|
// ----------------------------------------------------------
|
|
216
|
+
// 群组房间注册
|
|
217
|
+
// ----------------------------------------------------------
|
|
218
|
+
/**
|
|
219
|
+
* 注册群组房间(由 ChannelService.ensureGroups 调用)
|
|
220
|
+
* 用于区分 DM 和群组,以及获取群组的 requireMention 配置
|
|
221
|
+
*/
|
|
222
|
+
registerGroupRoom(roomId, info) {
|
|
223
|
+
this.groupRooms.set(roomId, info);
|
|
224
|
+
}
|
|
225
|
+
// ----------------------------------------------------------
|
|
226
|
+
// 内部:@提及 判断
|
|
227
|
+
// ----------------------------------------------------------
|
|
228
|
+
/**
|
|
229
|
+
* 判断机器人是否应该响应该消息
|
|
230
|
+
*
|
|
231
|
+
* DM 消息:始终响应(roomId 不在 groupRooms 中)
|
|
232
|
+
* 群组消息:
|
|
233
|
+
* 1. 过滤广播提及(@here / @all / @everyone)—— 仅广播提及时不响应
|
|
234
|
+
* 2. 如果群组配置了 requireMention,只有直接 @机器人 才响应
|
|
235
|
+
* 3. 如果未配置 requireMention,除了广播提及外都响应
|
|
236
|
+
*/
|
|
237
|
+
shouldRespond(msg, botUsername, roomId) {
|
|
238
|
+
const groupInfo = this.groupRooms.get(roomId);
|
|
239
|
+
// DM 消息:始终响应
|
|
240
|
+
if (!groupInfo) {
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
// ---- 群组消息逻辑 ----
|
|
244
|
+
const mentions = msg.mentions || [];
|
|
245
|
+
// 检查机器人是否被直接 @提及(排除广播提及)
|
|
246
|
+
const isBotMentioned = mentions.some((m) => m.username === botUsername);
|
|
247
|
+
// 检查消息是否包含广播提及(@here / @all / @everyone)
|
|
248
|
+
const hasBroadcastMention = mentions.some((m) => BROADCAST_MENTION_USERNAMES.has(m.username));
|
|
249
|
+
// 如果消息只有广播提及、没有直接 @机器人 → 不响应
|
|
250
|
+
if (hasBroadcastMention && !isBotMentioned) {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
// 如果群组要求 @提及 才响应
|
|
254
|
+
if (groupInfo.requireMention && !isBotMentioned) {
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
// ----------------------------------------------------------
|
|
182
260
|
// 工具
|
|
183
261
|
// ----------------------------------------------------------
|
|
184
262
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../src/service/message-handler.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gCAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../src/service/message-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED