@wecom/wecom-openclaw-plugin 2026.3.20-beta.4 → 2026.3.20-beta.7
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 +8 -0
- package/dist/index.cjs.js +93 -11
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +94 -12
- package/dist/index.esm.js.map +1 -1
- package/dist/src/const.d.ts +4 -2
- package/dist/src/interface.d.ts +2 -0
- package/package.json +2 -2
- package/skills/wecom-msg/SKILL.md +15 -10
- package/skills/wecom-msg/references/api-get-msg-media.md +1 -1
- package/skills/wecom-send-media/SKILL.md +9 -8
package/dist/src/const.d.ts
CHANGED
|
@@ -28,8 +28,10 @@ export declare const REPLY_SEND_TIMEOUT_MS = 15000;
|
|
|
28
28
|
export declare const MESSAGE_PROCESS_TIMEOUT_MS: number;
|
|
29
29
|
/** WebSocket 心跳间隔(毫秒) */
|
|
30
30
|
export declare const WS_HEARTBEAT_INTERVAL_MS = 30000;
|
|
31
|
-
/** WebSocket
|
|
32
|
-
export declare const WS_MAX_RECONNECT_ATTEMPTS =
|
|
31
|
+
/** WebSocket 连接断开时的最大重连次数 */
|
|
32
|
+
export declare const WS_MAX_RECONNECT_ATTEMPTS = 10;
|
|
33
|
+
/** WebSocket 认证失败时的最大重试次数 */
|
|
34
|
+
export declare const WS_MAX_AUTH_FAILURE_ATTEMPTS = 5;
|
|
33
35
|
/** messageStates Map 条目的最大 TTL(毫秒),防止内存泄漏 */
|
|
34
36
|
export declare const MESSAGE_STATE_TTL_MS: number;
|
|
35
37
|
/** messageStates Map 清理间隔(毫秒) */
|
package/dist/src/interface.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wecom/wecom-openclaw-plugin",
|
|
3
|
-
"version": "2026.3.20-beta.
|
|
3
|
+
"version": "2026.3.20-beta.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -57,6 +57,6 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"file-type": "^21.3.0",
|
|
60
|
-
"@wecom/aibot-node-sdk": "^1.0.
|
|
60
|
+
"@wecom/aibot-node-sdk": "^1.0.4"
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -71,6 +71,11 @@ metadata:
|
|
|
71
71
|
- 精确匹配:显示username
|
|
72
72
|
- 无匹配:保持显示userid
|
|
73
73
|
|
|
74
|
+
### 强制交互步骤(不可跳过)
|
|
75
|
+
以下步骤在涉及非文本消息下载时**必须逐一执行**,不得合并、省略或跳过,即使用户未主动询问也必须执行:
|
|
76
|
+
1. **必须主动告知文件位置**:下载完成后必须立即向用户展示所有文件的完整路径和存放目录
|
|
77
|
+
2. **必须询问是否删除**:告知位置后必须立即询问用户是否需要清理临时文件
|
|
78
|
+
|
|
74
79
|
---
|
|
75
80
|
|
|
76
81
|
## 典型工作流
|
|
@@ -113,16 +118,16 @@ metadata:
|
|
|
113
118
|
- 补全或修正后缀后,将文件重命名为正确的文件名
|
|
114
119
|
- 确认文件可正常读取(文件大小 > 0),若文件为空或损坏则告知用户该文件下载异常
|
|
115
120
|
- ⚠️ **不要对下载的文件使用 `MEDIA:` 指令**:这些文件是从聊天记录中下载的历史附件,仅需告知用户本地存放路径即可,**严禁**通过 `MEDIA:` 指令重新发送给用户
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
8. ⚠️ **必须主动告知文件位置**(此步骤不可跳过):所有文件下载并检查完成后,**必须立即、主动**以汇总形式向用户展示文件存放目录和每个文件的完整路径,不要等用户询问。示例:
|
|
122
|
+
> 📁 文件已下载到以下位置:
|
|
123
|
+
> - 图片:`xxx/yyy.png`
|
|
124
|
+
> - 文件:`xxx/yyy.pdf`
|
|
125
|
+
>
|
|
126
|
+
> 你可以在 `xxx/yyy/` 目录下找到所有下载的文件。
|
|
127
|
+
9. ⚠️ **必须询问是否删除**(此步骤不可跳过):告知文件位置后,**必须立即、主动**询问用户是否需要删除已下载的临时文件(如:"如果不再需要这些文件,是否需要我帮你清理?")
|
|
128
|
+
- 用户确认删除后,删除 `local_path` 对应的文件
|
|
129
|
+
- 用户不需要删除则保留文件
|
|
130
|
+
10. 若 `next_cursor` 不为空,告知用户还有更多消息可继续查看
|
|
126
131
|
|
|
127
132
|
### 发送消息
|
|
128
133
|
**用户query示例**:
|
|
@@ -36,16 +36,17 @@ MEDIA: <文件的绝对路径>
|
|
|
36
36
|
|
|
37
37
|
## 文件大小与格式限制
|
|
38
38
|
|
|
39
|
-
| 类型 | 大小上限 | 格式要求 |
|
|
40
|
-
|
|
41
|
-
| 图片 | 10 MB | 常见图片格式均可 |
|
|
42
|
-
| 视频 | 10 MB | 常见视频格式均可 |
|
|
43
|
-
| 语音 | 2 MB | **仅支持 AMR 格式**(`.amr`) |
|
|
44
|
-
| 文件 | 20 MB | 不限 |
|
|
39
|
+
| 类型 | 大小上限 | 格式要求 | 备注 |
|
|
40
|
+
|------|----------|----------|------|
|
|
41
|
+
| 图片 | 10 MB | 常见图片格式均可 | openclaw 默认会对图片进行压缩处理 |
|
|
42
|
+
| 视频 | 10 MB | 常见视频格式均可 | |
|
|
43
|
+
| 语音 | 2 MB | **仅支持 AMR 格式**(`.amr`) | |
|
|
44
|
+
| 文件 | 20 MB | 不限 | |
|
|
45
45
|
|
|
46
|
-
⚠️
|
|
46
|
+
⚠️ 重要:请务必**先检查文件大小和格式**是否满足要求。如果不满足要求,请主动告知用户以下“降级与限制处理”措施:
|
|
47
47
|
|
|
48
|
-
-
|
|
48
|
+
- **图片压缩情况**:openclaw 默认会对图片进行压缩处理。如果本地图片(原图)大小超过上限,经过压缩后不一定会超过上限。因此当你检测到本地图片大小超过上限时,务必要告诉用户这个特殊情况。
|
|
49
|
+
- **自动降级**:视频或语音类型的文件,超过各自的大小限制时,系统会自动将其转为文件消息发送,请主动告诉用户。
|
|
49
50
|
- **硬性上限**:文件大小超过 20 MB 时无法发送。请主动告知用户,并尝试压缩或拆分文件后再发送。
|
|
50
51
|
- **语音格式**:语音消息仅支持 AMR 格式(`.amr`)。非 AMR 格式的音频文件将以文件消息的形式发送。
|
|
51
52
|
- **发送耗时**:文件发送涉及系统处理,可能耗时较长。发送含 `MEDIA:` 指令的消息 30 秒后,请主动检查文件是否已成功发送。如果没有请重试。
|