openclaw-weixin 3.1.5 → 3.2.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/CHANGELOG.md +36 -0
- package/CHANGELOG_EN.md +46 -0
- package/NOTICE +2 -1
- package/README.md +16 -21
- package/README_EN.md +21 -27
- package/assets/icon.png +0 -0
- package/dist/src/api/api.js +40 -35
- package/dist/src/api/api.js.map +1 -1
- package/dist/src/api/config-cache.js +3 -2
- package/dist/src/api/config-cache.js.map +1 -1
- package/dist/src/api/session-guard.js +3 -2
- package/dist/src/api/session-guard.js.map +1 -1
- package/dist/src/auth/accounts.js +14 -16
- package/dist/src/auth/accounts.js.map +1 -1
- package/dist/src/auth/login-qr.js +20 -21
- package/dist/src/auth/login-qr.js.map +1 -1
- package/dist/src/auth/pairing.js +2 -1
- package/dist/src/auth/pairing.js.map +1 -1
- package/dist/src/cdn/cdn-upload.js +17 -10
- package/dist/src/cdn/cdn-upload.js.map +1 -1
- package/dist/src/cdn/pic-decrypt.js +15 -7
- package/dist/src/cdn/pic-decrypt.js.map +1 -1
- package/dist/src/cdn/upload.js +7 -7
- package/dist/src/cdn/upload.js.map +1 -1
- package/dist/src/channel.js +57 -135
- package/dist/src/channel.js.map +1 -1
- package/dist/src/config/block-streaming.js +8 -0
- package/dist/src/config/block-streaming.js.map +1 -0
- package/dist/src/config/config-schema.js +10 -0
- package/dist/src/config/config-schema.js.map +1 -1
- package/dist/src/media/media-download.js +15 -14
- package/dist/src/media/media-download.js.map +1 -1
- package/dist/src/media/silk-transcode.js +2 -1
- package/dist/src/media/silk-transcode.js.map +1 -1
- package/dist/src/messaging/debug-mode.js +2 -1
- package/dist/src/messaging/debug-mode.js.map +1 -1
- package/dist/src/messaging/error-notice.js +3 -3
- package/dist/src/messaging/error-notice.js.map +1 -1
- package/dist/src/messaging/inbound-dedupe.js +2 -1
- package/dist/src/messaging/inbound-dedupe.js.map +1 -1
- package/dist/src/messaging/inbound-turn.js +102 -0
- package/dist/src/messaging/inbound-turn.js.map +1 -0
- package/dist/src/messaging/inbound.js +6 -5
- package/dist/src/messaging/inbound.js.map +1 -1
- package/dist/src/messaging/outbound-hooks.js +36 -3
- package/dist/src/messaging/outbound-hooks.js.map +1 -1
- package/dist/src/messaging/process-message.js +124 -193
- package/dist/src/messaging/process-message.js.map +1 -1
- package/dist/src/messaging/reply-progress-sender.js +3 -2
- package/dist/src/messaging/reply-progress-sender.js.map +1 -1
- package/dist/src/messaging/send-media.js +7 -6
- package/dist/src/messaging/send-media.js.map +1 -1
- package/dist/src/messaging/send.js +5 -5
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/messaging/slash-commands.js +5 -3
- package/dist/src/messaging/slash-commands.js.map +1 -1
- package/dist/src/monitor/monitor.js +16 -16
- package/dist/src/monitor/monitor.js.map +1 -1
- package/dist/src/util/logger.js +3 -2
- package/dist/src/util/logger.js.map +1 -1
- package/dist/src/util/redact.js +64 -17
- package/dist/src/util/redact.js.map +1 -1
- package/docs/en/architecture.md +22 -8
- package/docs/en/guide.md +77 -15
- package/docs/zh-CN/architecture.md +18 -8
- package/docs/zh-CN/guide.md +72 -13
- package/openclaw.plugin.json +6 -2
- package/package.json +8 -14
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,42 @@
|
|
|
6
6
|
|
|
7
7
|
## [未发布]
|
|
8
8
|
|
|
9
|
+
## [3.2.0] - 2026-09-16
|
|
10
|
+
|
|
11
|
+
### 新增
|
|
12
|
+
|
|
13
|
+
- **维护报告预览:** 新增手动触发的 gh-aw 维护摘要,仅以 staged 模式预览结果,并分别
|
|
14
|
+
限制主任务和威胁检测的推理额度;不自动创建 issue、PR 或执行发布。
|
|
15
|
+
|
|
16
|
+
### 变更
|
|
17
|
+
|
|
18
|
+
- **入站宿主编排:** 使用共用公开上下文 builder,按运行时能力选择路由型或旧版公开分派,
|
|
19
|
+
同时保留 OpenClaw `2026.6.1` 下限、账号隔离和独立审批通道。分派失败不会改走另一
|
|
20
|
+
契约重试。
|
|
21
|
+
- **发布包来源优先级:** 仓库、官网和 ClawHub 包改为 ClawHub-first;npm 与
|
|
22
|
+
GitHub Packages 从同一源包生成 npm-first README,不再转换官网内容;各发布 job
|
|
23
|
+
复用验证阶段生成的相同 tarball。
|
|
24
|
+
|
|
25
|
+
### 修复
|
|
26
|
+
|
|
27
|
+
- **插件图标元数据:** 移除 ClawHub 针对 OpenClaw `2026.9.4` 校验时报告的顶层
|
|
28
|
+
manifest `icon` URL,将现有品牌图案作为 `assets/icon.png` 打包到所有 registry
|
|
29
|
+
产物中。插件/频道 ID 和最低宿主版本保持不变;图标显示取决于宿主是否支持包内图标。
|
|
30
|
+
- **回复 Hook:** 现代入站回复和宿主管理的直接文本/媒体发送由宿主统一执行 hook,避免
|
|
31
|
+
重复修改内容或重复观察发送结果。旧版入站回复与独立调试消息保留本地 hook;成功回复
|
|
32
|
+
返回既有客户端传输 ID。
|
|
33
|
+
- **登录重载:** 改为在宿主的当前源配置上只更新频道时间戳,并显式采用宿主的自动重载
|
|
34
|
+
策略,避免旧运行时快照覆盖其他配置。配置写入失败不会回滚已保存的登录凭据。
|
|
35
|
+
- **分块回复:** 默认恢复按顺序发送工具调用之间完成的文本块,并支持通过频道级或账号级
|
|
36
|
+
`blockStreaming: false` 仅发送最终回复。
|
|
37
|
+
|
|
38
|
+
## [3.1.6] - 2026-08-22
|
|
39
|
+
|
|
40
|
+
### 修复
|
|
41
|
+
|
|
42
|
+
- **诊断隐私:** 普通日志现在会完全遮盖标识符和令牌;显式启用的 DEBUG 日志最多显示脱敏
|
|
43
|
+
短前缀;诊断信息不再持久化消息正文、URL 查询参数、二维码 URL 或原始文件系统路径。
|
|
44
|
+
|
|
9
45
|
## [3.1.5] - 2026-08-16
|
|
10
46
|
|
|
11
47
|
### 变更
|
package/CHANGELOG_EN.md
CHANGED
|
@@ -6,6 +6,52 @@ This project follows the [Keep a Changelog](https://keepachangelog.com/) format.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [3.2.0] - 2026-09-16
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Maintenance report preview:** Added a manually triggered gh-aw maintenance
|
|
14
|
+
summary with staged-only outputs and separate agent and threat-detection
|
|
15
|
+
inference budgets; it does not automatically create issues, PRs, or releases.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **Inbound host orchestration:** Use the shared public context builder and
|
|
20
|
+
select routed or legacy public dispatch by runtime capability, while retaining
|
|
21
|
+
the OpenClaw `2026.6.1` minimum, account isolation and independent approval lane.
|
|
22
|
+
Failed dispatches are never retried through another contract.
|
|
23
|
+
- **Package source priority:** The repository, website, and ClawHub package are
|
|
24
|
+
now ClawHub-first. npm and GitHub Packages generate npm-first READMEs from the
|
|
25
|
+
same source package, removing the website-only transformation; publishing
|
|
26
|
+
jobs reuse the exact tarballs created during validation.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- **Plugin icon metadata:** Removed the top-level manifest `icon` URL flagged by
|
|
31
|
+
ClawHub validation against OpenClaw `2026.9.4` and bundled the existing brand
|
|
32
|
+
artwork as `assets/icon.png` in every registry package. Plugin/channel IDs and
|
|
33
|
+
the minimum supported host remain unchanged; icon display follows the host's
|
|
34
|
+
packaged-icon support.
|
|
35
|
+
- **Reply hooks:** Modern inbound replies and host-managed direct text/media
|
|
36
|
+
sends use one host hook owner, avoiding duplicate content changes and sent
|
|
37
|
+
observations. Legacy inbound replies and independent debug sends retain local
|
|
38
|
+
hooks; successful replies expose their existing client transport IDs.
|
|
39
|
+
- **Login reload:** Update only the channel timestamp in the host's current
|
|
40
|
+
source config with an explicit automatic reload policy, avoiding stale runtime
|
|
41
|
+
snapshots overwriting unrelated settings. Failed config writes leave saved
|
|
42
|
+
login credentials intact.
|
|
43
|
+
- **Block replies:** Restored ordered delivery of completed text blocks between
|
|
44
|
+
tool calls by default, with channel-level and per-account
|
|
45
|
+
`blockStreaming: false` opt-outs for final-only replies.
|
|
46
|
+
|
|
47
|
+
## [3.1.6] - 2026-08-22
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- **Diagnostic privacy:** normal logs now fully mask identifiers and tokens,
|
|
52
|
+
opt-in DEBUG logs expose at most short redacted prefixes, and diagnostics no
|
|
53
|
+
longer persist message text, URL queries, QR URLs, or raw filesystem paths.
|
|
54
|
+
|
|
9
55
|
## [3.1.5] - 2026-08-16
|
|
10
56
|
|
|
11
57
|
### Changed
|
package/NOTICE
CHANGED
|
@@ -10,6 +10,7 @@ openclaw-weixin is licensed under the MIT.
|
|
|
10
10
|
|
|
11
11
|
Modifications Copyright (C) 2026 Contributors to NewFuture/openclaw-weixin.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
assets/icon.png is a 512x512 PNG rendering of docs/site/logo.svg.
|
|
14
|
+
The OpenClaw lobster artwork in both images is adapted from
|
|
14
15
|
openclaw/openclaw ui/public/favicon.svg.
|
|
15
16
|
Copyright (C) 2026 OpenClaw Foundation. Licensed under the MIT License.
|
package/README.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
社区维护的 OpenClaw 微信渠道插件,提供 npm 与 ClawHub 两个安装源。
|
|
10
10
|
本插件需要 OpenClaw `>=2026.6.1`。
|
|
11
|
+
OpenClaw `2026.9.1` / `2026.9.2` 的固定版本及运行环境 CI 覆盖见
|
|
12
|
+
[兼容矩阵](https://openclaw-weixin.newfuture.cc/contributing.html#openclaw-兼容矩阵)。
|
|
11
13
|
|
|
12
14
|
<a id="connect-wechat"></a>
|
|
13
15
|
|
|
@@ -23,8 +25,8 @@
|
|
|
23
25
|
把下面这段话粘贴到 OpenClaw 聊天框并发送:
|
|
24
26
|
|
|
25
27
|
```text
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
请安装或更新当前 OpenClaw 的微信插件。优先使用 `npm:openclaw-weixin`;不可用时使用 `clawhub:openclaw-wechat`,二选一。npm 安装或替换安装时加 `--force`。
|
|
29
|
+
不要先卸载,保留现有配置和登录状态。按提示确认插件能力;使用 OpenClaw 插件流程,不要直接运行 `npm install`。
|
|
28
30
|
```
|
|
29
31
|
<!-- registry-prompt:end -->
|
|
30
32
|
|
|
@@ -32,47 +34,38 @@
|
|
|
32
34
|
|
|
33
35
|
### 直接运行命令
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
> 登录状态。`--force` 不会绕过 OpenClaw 的安装策略或内置依赖拒绝列表;OpenClaw
|
|
38
|
-
> 会自动轮换配置备份。
|
|
37
|
+
**之前使用下方 ClawHub 或 npm 命令安装社区版:** 运行
|
|
38
|
+
`openclaw plugins update openclaw-weixin`。
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
| 安装来源 | 包名 |
|
|
43
|
-
| --- | --- |
|
|
44
|
-
| npm | [`openclaw-weixin`](https://www.npmjs.com/package/openclaw-weixin) |
|
|
45
|
-
| ClawHub | [`openclaw-wechat`](https://clawhub.ai/newfuture/plugins/openclaw-wechat) |
|
|
40
|
+
**首次安装、替换腾讯官方包,或现有插件通过其他来源安装:** 从下面任选一个安装命令,无需先卸载。
|
|
41
|
+
替换现有插件时,在所选安装命令末尾加 `--force`。配置和登录状态会保留。
|
|
46
42
|
|
|
47
43
|
<!-- registry-source:npm:start -->
|
|
48
44
|
<a id="npm-source"></a>
|
|
49
45
|
|
|
50
|
-
#### npm
|
|
46
|
+
#### npm:[`openclaw-weixin`](https://www.npmjs.com/package/openclaw-weixin)
|
|
51
47
|
|
|
52
48
|
<a id="npm-cli-install"></a>
|
|
53
49
|
|
|
54
50
|
```bash
|
|
55
|
-
openclaw plugins install npm:openclaw-weixin
|
|
51
|
+
openclaw plugins install npm:openclaw-weixin
|
|
56
52
|
```
|
|
57
53
|
<!-- registry-source:npm:end -->
|
|
58
54
|
|
|
59
55
|
<!-- registry-source:clawhub:start -->
|
|
60
56
|
<a id="clawhub-source"></a>
|
|
61
57
|
|
|
62
|
-
#### ClawHub
|
|
63
|
-
|
|
64
|
-
下面的命令也可原位替换占用 `openclaw-weixin` 插件 ID 的腾讯版或 npm 版。
|
|
58
|
+
#### ClawHub:[`openclaw-wechat`](https://clawhub.ai/newfuture/plugins/openclaw-wechat)
|
|
65
59
|
|
|
66
60
|
<a id="clawhub-cli-install"></a>
|
|
67
61
|
|
|
68
62
|
```bash
|
|
69
|
-
openclaw plugins install clawhub:openclaw-wechat
|
|
63
|
+
openclaw plugins install clawhub:openclaw-wechat
|
|
70
64
|
```
|
|
71
65
|
<!-- registry-source:clawhub:end -->
|
|
72
66
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
> 展开完整检查并扫码绑定;安装报错、未自动恢复连接或需要确认目标账号时,也在此检查。
|
|
67
|
+
**如果当前 OpenClaw 已有微信登录状态,安装后通常只需确认连接。** 全新安装需要
|
|
68
|
+
展开完整检查并扫码绑定;安装报错、未自动恢复连接或需要确认目标账号时,也在此检查。
|
|
76
69
|
|
|
77
70
|
<details id="verify-connection" class="full-check">
|
|
78
71
|
<summary>完整检查、扫码与恢复</summary>
|
|
@@ -186,6 +179,8 @@ context token 属于敏感数据,不要跨账号复制或写入任务配置。
|
|
|
186
179
|
- [社区版与腾讯版](https://openclaw-weixin.newfuture.cc/distributions.html)
|
|
187
180
|
- [后端 API 协议](https://openclaw-weixin.newfuture.cc/backend-api.html)
|
|
188
181
|
- [架构说明](https://openclaw-weixin.newfuture.cc/architecture.html)
|
|
182
|
+
- [参与贡献与 Agent 工作流](https://openclaw-weixin.newfuture.cc/contributing.html):开 Issue、修复 Bug 和开发新功能
|
|
183
|
+
- [Coding Agent 指引](https://github.com/NewFuture/openclaw-weixin/blob/main/AGENTS.md)
|
|
189
184
|
- [变更日志](https://openclaw-weixin.newfuture.cc/changelog.html)
|
|
190
185
|
- [安全策略](https://openclaw-weixin.newfuture.cc/security.html)
|
|
191
186
|
- [问题反馈](https://github.com/NewFuture/openclaw-weixin/issues)
|
package/README_EN.md
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
A community-maintained OpenClaw WeChat channel plugin available from npm and
|
|
10
10
|
ClawHub.
|
|
11
11
|
This plugin requires OpenClaw `>=2026.6.1`.
|
|
12
|
+
See the [compatibility matrix](https://openclaw-weixin.newfuture.cc/en/contributing.html#openclaw-compatibility-matrix)
|
|
13
|
+
for pinned OpenClaw `2026.9.1` / `2026.9.2` coverage and runtime/platform CI targets.
|
|
12
14
|
|
|
13
15
|
<a id="connect-wechat"></a>
|
|
14
16
|
|
|
@@ -24,8 +26,8 @@ This plugin requires OpenClaw `>=2026.6.1`.
|
|
|
24
26
|
Paste this prompt into an OpenClaw chat and send it:
|
|
25
27
|
|
|
26
28
|
```text
|
|
27
|
-
Install or
|
|
28
|
-
|
|
29
|
+
Install or update the WeChat plugin for this OpenClaw instance. Prefer `npm:openclaw-weixin`; if it is unavailable, use `clawhub:openclaw-wechat`. Choose one source. For npm or replacement installations, add `--force`.
|
|
30
|
+
Do not uninstall first; preserve existing configuration and login state. Confirm plugin capabilities when prompted, and use the OpenClaw plugin flow rather than plain `npm install`.
|
|
29
31
|
```
|
|
30
32
|
<!-- registry-prompt:end -->
|
|
31
33
|
|
|
@@ -33,53 +35,43 @@ Follow OpenClaw's install policy and use in-place replacement for an existing in
|
|
|
33
35
|
|
|
34
36
|
### Run a command directly
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
> sources preserve the plugin id, channel id, configuration, and login state.
|
|
39
|
-
> `--force` does not bypass OpenClaw's install policy or built-in dependency
|
|
40
|
-
> denylist. OpenClaw rotates configuration backups automatically.
|
|
38
|
+
**Community plugin previously installed with one of the ClawHub or npm commands below:** run
|
|
39
|
+
`openclaw plugins update openclaw-weixin`.
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
| --- | --- |
|
|
47
|
-
| npm | [`openclaw-weixin`](https://www.npmjs.com/package/openclaw-weixin) |
|
|
48
|
-
| ClawHub | [`openclaw-wechat`](https://clawhub.ai/newfuture/plugins/openclaw-wechat) |
|
|
41
|
+
**First installation, replacing Tencent's official package, or an existing
|
|
42
|
+
plugin installed from another source:** choose one installation command below;
|
|
43
|
+
do not uninstall first. When replacing an existing plugin, add `--force` to the
|
|
44
|
+
chosen installation command. Configuration and login state are preserved.
|
|
49
45
|
|
|
50
46
|
<!-- registry-source:npm:start -->
|
|
51
47
|
<a id="npm-source"></a>
|
|
52
48
|
|
|
53
|
-
#### npm: `openclaw-weixin`
|
|
49
|
+
#### npm: [`openclaw-weixin`](https://www.npmjs.com/package/openclaw-weixin)
|
|
54
50
|
|
|
55
51
|
<a id="npm-cli-install"></a>
|
|
56
52
|
|
|
57
53
|
```bash
|
|
58
|
-
openclaw plugins install npm:openclaw-weixin
|
|
54
|
+
openclaw plugins install npm:openclaw-weixin
|
|
59
55
|
```
|
|
60
56
|
<!-- registry-source:npm:end -->
|
|
61
57
|
|
|
62
58
|
<!-- registry-source:clawhub:start -->
|
|
63
59
|
<a id="clawhub-source"></a>
|
|
64
60
|
|
|
65
|
-
#### ClawHub: `openclaw-wechat`
|
|
66
|
-
|
|
67
|
-
The command can also replace a Tencent or npm installation that owns the
|
|
68
|
-
`openclaw-weixin` plugin id.
|
|
61
|
+
#### ClawHub: [`openclaw-wechat`](https://clawhub.ai/newfuture/plugins/openclaw-wechat)
|
|
69
62
|
|
|
70
63
|
<a id="clawhub-cli-install"></a>
|
|
71
64
|
|
|
72
65
|
```bash
|
|
73
|
-
openclaw plugins install clawhub:openclaw-wechat
|
|
66
|
+
openclaw plugins install clawhub:openclaw-wechat
|
|
74
67
|
```
|
|
75
68
|
<!-- registry-source:clawhub:end -->
|
|
76
69
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
> intended account.
|
|
70
|
+
**If this OpenClaw instance already has a WeChat login, you usually only need
|
|
71
|
+
to confirm the connection after installation.** For a new installation, open
|
|
72
|
+
the full check and scan the QR code. Use it as well when installation fails,
|
|
73
|
+
the connection does not return automatically, or you need to confirm the
|
|
74
|
+
intended account.
|
|
83
75
|
|
|
84
76
|
<details id="verify-connection" class="full-check">
|
|
85
77
|
<summary>Full check, QR login, and recovery</summary>
|
|
@@ -205,6 +197,8 @@ accounts or put them in job configuration.
|
|
|
205
197
|
- [Community and Tencent distributions](https://openclaw-weixin.newfuture.cc/en/distributions.html)
|
|
206
198
|
- [Backend API protocol](https://openclaw-weixin.newfuture.cc/en/backend-api.html)
|
|
207
199
|
- [Architecture](https://openclaw-weixin.newfuture.cc/en/architecture.html)
|
|
200
|
+
- [Contributing and agent workflows](https://openclaw-weixin.newfuture.cc/en/contributing.html): open issues, fix bugs, and develop features
|
|
201
|
+
- [Coding agent guide](https://github.com/NewFuture/openclaw-weixin/blob/main/AGENTS.md)
|
|
208
202
|
- [Changelog](https://openclaw-weixin.newfuture.cc/en/changelog.html)
|
|
209
203
|
- [Security policy](https://openclaw-weixin.newfuture.cc/en/security.html)
|
|
210
204
|
- [Issue tracker](https://github.com/NewFuture/openclaw-weixin/issues)
|
package/assets/icon.png
ADDED
|
Binary file
|
package/dist/src/api/api.js
CHANGED
|
@@ -4,7 +4,7 @@ import path from "node:path";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { loadConfigBotAgent, loadConfigRouteTag } from "../auth/accounts.js";
|
|
6
6
|
import { logger } from "../util/logger.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getSafeErrorCode, redactError, redactUrl } from "../util/redact.js";
|
|
8
8
|
/**
|
|
9
9
|
* Identify whether a parsed package.json belongs to this plugin.
|
|
10
10
|
*
|
|
@@ -210,34 +210,39 @@ function buildHeaders(opts) {
|
|
|
210
210
|
* This does NOT cover HTTP-level errors (4xx/5xx) — those are thrown separately.
|
|
211
211
|
*/
|
|
212
212
|
export function classifyFetchError(err) {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
213
|
+
try {
|
|
214
|
+
if (err instanceof Error && err.name === "AbortError") {
|
|
215
|
+
return { type: "timeout", description: "request timeout" };
|
|
216
|
+
}
|
|
217
|
+
const cause = err?.cause;
|
|
218
|
+
const causeCode = typeof cause === "object" && cause !== null && "code" in cause
|
|
219
|
+
? String(cause.code ?? "")
|
|
220
|
+
: "";
|
|
221
|
+
const causeStr = `${String(cause ?? err ?? "")} ${String(causeCode)}`;
|
|
222
|
+
const matchedCode = getSafeErrorCode(causeCode) ?? getSafeErrorCode(cause);
|
|
223
|
+
if (/ENOTFOUND|EAI_AGAIN|getaddrinfo/i.test(causeStr)) {
|
|
224
|
+
return {
|
|
225
|
+
type: "dns",
|
|
226
|
+
description: "DNS resolution failed, check DNS configuration",
|
|
227
|
+
...(matchedCode ? { code: matchedCode } : {}),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
if (/ECONNREFUSED/i.test(causeStr)) {
|
|
231
|
+
return { type: "tcp", description: "TCP connection refused", ...(matchedCode ? { code: matchedCode } : {}) };
|
|
232
|
+
}
|
|
233
|
+
if (/UND_ERR_CONNECT_TIMEOUT|ETIMEDOUT|ENETUNREACH|EHOSTUNREACH/i.test(causeStr)) {
|
|
234
|
+
return {
|
|
235
|
+
type: "tcp",
|
|
236
|
+
description: "TCP connection timeout or unreachable",
|
|
237
|
+
...(matchedCode ? { code: matchedCode } : {}),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
if (/UND_ERR_SOCKET|SSL|TLS|CERT|UNABLE_TO_VERIFY|DEPTH_ZERO/i.test(causeStr)) {
|
|
241
|
+
return { type: "tls", description: "TLS handshake error", ...(matchedCode ? { code: matchedCode } : {}) };
|
|
242
|
+
}
|
|
238
243
|
}
|
|
239
|
-
|
|
240
|
-
return { type: "
|
|
244
|
+
catch {
|
|
245
|
+
return { type: "unknown", description: "network request failed" };
|
|
241
246
|
}
|
|
242
247
|
return { type: "unknown", description: "network request failed" };
|
|
243
248
|
}
|
|
@@ -264,9 +269,9 @@ export async function apiGetFetch(params) {
|
|
|
264
269
|
if (t !== undefined)
|
|
265
270
|
clearTimeout(t);
|
|
266
271
|
const rawText = await res.text();
|
|
267
|
-
logger.debug(`${params.label} status=${res.status}
|
|
272
|
+
logger.debug(`${params.label} status=${res.status} bodyBytes=${Buffer.byteLength(rawText)}`);
|
|
268
273
|
if (!res.ok) {
|
|
269
|
-
throw new Error(`${params.label} ${res.status}
|
|
274
|
+
throw new Error(`${params.label} ${res.status}`);
|
|
270
275
|
}
|
|
271
276
|
return rawText;
|
|
272
277
|
}
|
|
@@ -274,7 +279,7 @@ export async function apiGetFetch(params) {
|
|
|
274
279
|
if (t !== undefined)
|
|
275
280
|
clearTimeout(t);
|
|
276
281
|
const classified = classifyFetchError(err);
|
|
277
|
-
logger.error(`${params.label}: GET fetch failed url=${redactUrl(url.toString())} timeoutMs=${timeoutMs ?? "none"} type=${classified.type} description=${classified.description}${classified.code ? ` code=${classified.code}` : ""} error=${
|
|
282
|
+
logger.error(`${params.label}: GET fetch failed url=${redactUrl(url.toString())} timeoutMs=${timeoutMs ?? "none"} type=${classified.type} description=${classified.description}${classified.code ? ` code=${classified.code}` : ""} error=${redactError(err)}`);
|
|
278
283
|
throw err;
|
|
279
284
|
}
|
|
280
285
|
}
|
|
@@ -315,7 +320,7 @@ export async function apiPostFetch(params) {
|
|
|
315
320
|
const base = ensureTrailingSlash(params.baseUrl);
|
|
316
321
|
const url = new URL(params.endpoint, base);
|
|
317
322
|
const hdrs = buildHeaders({ token: params.token });
|
|
318
|
-
logger.debug(`POST ${redactUrl(url.toString())}
|
|
323
|
+
logger.debug(`POST ${redactUrl(url.toString())} bodyBytes=${Buffer.byteLength(params.body)}`);
|
|
319
324
|
const controller = params.timeoutMs !== undefined ? new AbortController() : undefined;
|
|
320
325
|
const t = controller != null && params.timeoutMs !== undefined
|
|
321
326
|
? setTimeout(() => controller.abort(), params.timeoutMs)
|
|
@@ -334,9 +339,9 @@ export async function apiPostFetch(params) {
|
|
|
334
339
|
if (t !== undefined)
|
|
335
340
|
clearTimeout(t);
|
|
336
341
|
const rawText = await res.text();
|
|
337
|
-
logger.debug(`${params.label} status=${res.status}
|
|
342
|
+
logger.debug(`${params.label} status=${res.status} bodyBytes=${Buffer.byteLength(rawText)}`);
|
|
338
343
|
if (!res.ok) {
|
|
339
|
-
throw new Error(`${params.label} ${res.status}
|
|
344
|
+
throw new Error(`${params.label} ${res.status}`);
|
|
340
345
|
}
|
|
341
346
|
return rawText;
|
|
342
347
|
}
|
|
@@ -344,7 +349,7 @@ export async function apiPostFetch(params) {
|
|
|
344
349
|
if (t !== undefined)
|
|
345
350
|
clearTimeout(t);
|
|
346
351
|
const classified = classifyFetchError(err);
|
|
347
|
-
logger.error(`${params.label}: POST fetch failed url=${redactUrl(url.toString())} timeoutMs=${params.timeoutMs ?? "none"} type=${classified.type} description=${classified.description}${classified.code ? ` code=${classified.code}` : ""} error=${
|
|
352
|
+
logger.error(`${params.label}: POST fetch failed url=${redactUrl(url.toString())} timeoutMs=${params.timeoutMs ?? "none"} type=${classified.type} description=${classified.description}${classified.code ? ` code=${classified.code}` : ""} error=${redactError(err)}`);
|
|
348
353
|
throw err;
|
|
349
354
|
}
|
|
350
355
|
finally {
|
package/dist/src/api/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { redactError, redactToken } from "../util/redact.js";
|
|
1
2
|
import { getConfig } from "./api.js";
|
|
2
3
|
const CONFIG_CACHE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
3
4
|
const CONFIG_CACHE_INITIAL_RETRY_MS = 2_000;
|
|
@@ -34,12 +35,12 @@ export class WeixinConfigManager {
|
|
|
34
35
|
nextFetchAt: now + Math.random() * CONFIG_CACHE_TTL_MS,
|
|
35
36
|
retryDelayMs: CONFIG_CACHE_INITIAL_RETRY_MS,
|
|
36
37
|
});
|
|
37
|
-
this.log(`[weixin] config ${entry?.everSucceeded ? "refreshed" : "cached"} for ${userId}`);
|
|
38
|
+
this.log(`[weixin] config ${entry?.everSucceeded ? "refreshed" : "cached"} for ${redactToken(userId)}`);
|
|
38
39
|
fetchOk = true;
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
catch (err) {
|
|
42
|
-
this.log(`[weixin] getConfig failed for ${userId} (ignored): ${
|
|
43
|
+
this.log(`[weixin] getConfig failed for ${redactToken(userId)} (ignored): ${redactError(err)}`);
|
|
43
44
|
}
|
|
44
45
|
if (!fetchOk) {
|
|
45
46
|
const prevDelay = entry?.retryDelayMs ?? CONFIG_CACHE_INITIAL_RETRY_MS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-cache.js","sourceRoot":"","sources":["../../../src/api/config-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOrC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAChD,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAC5C,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AASjD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAIpB,OAAO;IACP,GAAG;IAJL,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD,YACU,OAA4C,EAC5C,GAA0B;uBAD1B,OAAO;mBACP,GAAG;IACV,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,YAAqB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC;QAEvD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC;oBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;oBACzB,WAAW,EAAE,MAAM;oBACnB,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;wBACrB,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE;wBAClD,aAAa,EAAE,IAAI;wBACnB,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAmB;wBACtD,YAAY,EAAE,6BAA6B;qBAC5C,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,QAAQ,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config-cache.js","sourceRoot":"","sources":["../../../src/api/config-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { logger } from "../util/logger.js";
|
|
2
|
+
import { redactToken } from "../util/redact.js";
|
|
2
3
|
const SESSION_PAUSE_DURATION_MS = 60 * 60 * 1000;
|
|
3
4
|
/** Error code returned by the server when the bot token is stale / expired. */
|
|
4
5
|
export const STALE_TOKEN_ERRCODE = -14;
|
|
@@ -7,7 +8,7 @@ const pauseUntilMap = new Map();
|
|
|
7
8
|
export function pauseSession(accountId) {
|
|
8
9
|
const until = Date.now() + SESSION_PAUSE_DURATION_MS;
|
|
9
10
|
pauseUntilMap.set(accountId, until);
|
|
10
|
-
logger.info(`session-guard: paused
|
|
11
|
+
logger.info(`session-guard: paused account=${redactToken(accountId)} until=${new Date(until).toISOString()} (${SESSION_PAUSE_DURATION_MS / 1000}s)`);
|
|
11
12
|
}
|
|
12
13
|
/** Returns `true` when the bot is still within its one-hour cooldown window. */
|
|
13
14
|
export function isSessionPaused(accountId) {
|
|
@@ -36,7 +37,7 @@ export function getRemainingPauseMs(accountId) {
|
|
|
36
37
|
export function assertSessionActive(accountId) {
|
|
37
38
|
if (isSessionPaused(accountId)) {
|
|
38
39
|
const remainingMin = Math.ceil(getRemainingPauseMs(accountId) / 60_000);
|
|
39
|
-
throw new Error(`session paused for
|
|
40
|
+
throw new Error(`session paused for account, ${remainingMin} min remaining (errcode ${STALE_TOKEN_ERRCODE})`);
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-guard.js","sourceRoot":"","sources":["../../../src/api/session-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-guard.js","sourceRoot":"","sources":["../../../src/api/session-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,CAAC;AAEvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEhD,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC;IACrD,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CACT,iCAAiC,WAAW,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,yBAAyB,GAAG,IAAI,IAAI,CACxI,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;QACxB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,2BAA2B,mBAAmB,GAAG,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
4
4
|
import { resolveStateDir } from "../storage/state-dir.js";
|
|
5
5
|
import { logger } from "../util/logger.js";
|
|
6
|
+
import { redactError } from "../util/redact.js";
|
|
6
7
|
import { resolveFrameworkAllowFromPath } from "./pairing.js";
|
|
7
8
|
export const DEFAULT_BASE_URL = "https://ilinkai.weixin.qq.com";
|
|
8
9
|
export const CDN_BASE_URL = "https://novac2c.cdn.weixin.qq.com/c2c";
|
|
@@ -541,30 +542,27 @@ export function loadConfigBotAgent() {
|
|
|
541
542
|
return typeof value === "string" && value.trim() ? value : undefined;
|
|
542
543
|
}
|
|
543
544
|
/**
|
|
544
|
-
* Bump
|
|
545
|
-
*
|
|
545
|
+
* Bump the channel timestamp in the current source config after login.
|
|
546
|
+
* The host owns the write and automatic reload policy.
|
|
546
547
|
*/
|
|
547
548
|
export async function triggerWeixinChannelReload() {
|
|
548
549
|
try {
|
|
549
|
-
const {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
"openclaw-weixin": {
|
|
558
|
-
...existing,
|
|
550
|
+
const { mutateConfigFile } = await import("openclaw/plugin-sdk/config-mutation");
|
|
551
|
+
await mutateConfigFile({
|
|
552
|
+
base: "source",
|
|
553
|
+
afterWrite: { mode: "auto" },
|
|
554
|
+
mutate(draft) {
|
|
555
|
+
draft.channels ??= {};
|
|
556
|
+
draft.channels["openclaw-weixin"] = {
|
|
557
|
+
...draft.channels["openclaw-weixin"],
|
|
559
558
|
channelConfigUpdatedAt: new Date().toISOString(),
|
|
560
|
-
}
|
|
559
|
+
};
|
|
561
560
|
},
|
|
562
|
-
};
|
|
563
|
-
await writeConfigFile(updated);
|
|
561
|
+
});
|
|
564
562
|
logger.info("triggerWeixinChannelReload: wrote channel config to openclaw.json");
|
|
565
563
|
}
|
|
566
564
|
catch (err) {
|
|
567
|
-
logger.warn(`triggerWeixinChannelReload: failed to update config: ${
|
|
565
|
+
logger.warn(`triggerWeixinChannelReload: failed to update config: ${redactError(err)}`);
|
|
568
566
|
}
|
|
569
567
|
}
|
|
570
568
|
/**
|