@dingtalk-real-ai/dingtalk-connector 0.8.5 → 0.8.6
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 +12 -0
- package/index.ts +0 -55
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,8 +5,20 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.8.6] - 2026-03-24
|
|
9
|
+
|
|
10
|
+
### 改进 / Improvements
|
|
11
|
+
- ✅ **移除版本校验逻辑** - 删除插件入口 `index.ts` 中的 OpenClaw SDK 版本兼容性检查代码,简化插件启动流程,提升加载性能
|
|
12
|
+
**Removed version check logic** - Removed OpenClaw SDK version compatibility check code from plugin entry `index.ts`, simplifying plugin startup process and improving load performance
|
|
13
|
+
|
|
8
14
|
## [0.8.5] - 2026-03-24
|
|
9
15
|
|
|
16
|
+
### 改进 / Improvements
|
|
17
|
+
- ✅ **移除 SDK 版本兼容性检查** - 移除插件启动时的 OpenClaw SDK 版本检查逻辑,简化插件入口代码,提升加载性能
|
|
18
|
+
**Removed SDK version compatibility check** - Removed OpenClaw SDK version check logic at plugin startup, simplifying entry code and improving load performance
|
|
19
|
+
|
|
20
|
+
## [0.8.4] - 2026-03-24
|
|
21
|
+
|
|
10
22
|
### 修复 / Fixes
|
|
11
23
|
- 🐛 **群聊消息处理崩溃** - 修复群聊时报错 `TypeError: Cannot read properties of undefined (reading 'config')` 导致 Agent 无法回复的问题。根因是 `src/policy.ts` 中 `resolveDingtalkGroupToolPolicy` 函数的参数签名与 OpenClaw SDK 的 `ChannelGroupContext` 接口不匹配,函数期望接收 `account: ResolvedDingtalkAccount`,但框架实际传入 `{ cfg, groupId, accountId, ... }`,导致 `account` 为 `undefined`。现已修正参数签名,内部通过 `resolveDingtalkAccount()` 正确获取账号信息。单聊不受影响。
|
|
12
24
|
**Group chat message processing crash** - Fixed `TypeError: Cannot read properties of undefined (reading 'config')` crash in group chats. Root cause: `resolveDingtalkGroupToolPolicy` in `src/policy.ts` had a parameter signature mismatch with the OpenClaw SDK's `ChannelGroupContext` interface. Fixed by correcting the parameter signature and resolving the account internally via `resolveDingtalkAccount()`. Direct messages were unaffected.
|
package/index.ts
CHANGED
|
@@ -19,65 +19,10 @@ import { dingtalkPlugin } from "./src/channel.ts";
|
|
|
19
19
|
import { setDingtalkRuntime } from "./src/runtime.ts";
|
|
20
20
|
import { registerGatewayMethods } from "./src/gateway-methods.ts";
|
|
21
21
|
|
|
22
|
-
/**
|
|
23
|
-
* 检查 OpenClaw SDK 版本兼容性
|
|
24
|
-
* @param api OpenClaw Plugin API
|
|
25
|
-
* @returns true 表示版本兼容,false 表示版本过低
|
|
26
|
-
*/
|
|
27
|
-
function checkSdkVersion(api: OpenClawPluginApi): boolean {
|
|
28
|
-
try {
|
|
29
|
-
// 检查是否存在新版 SDK 的关键 API
|
|
30
|
-
// v0.8.4+ 需要 core.channel.routing.buildAgentSessionKey 方法
|
|
31
|
-
const hasNewRoutingApi = !!(api.runtime?.core?.channel?.routing?.buildAgentSessionKey);
|
|
32
|
-
|
|
33
|
-
if (!hasNewRoutingApi) {
|
|
34
|
-
console.error('\n' + '='.repeat(80));
|
|
35
|
-
console.error('❌ OpenClaw SDK 版本过低');
|
|
36
|
-
console.error('='.repeat(80));
|
|
37
|
-
console.error('');
|
|
38
|
-
console.error('dingtalk-connector v0.8.4+ 需要 OpenClaw SDK v2026.3.22 或更高版本。');
|
|
39
|
-
console.error('');
|
|
40
|
-
console.error('当前 OpenClaw SDK 版本过低,缺少必要的 API:');
|
|
41
|
-
console.error(' - core.channel.routing.buildAgentSessionKey');
|
|
42
|
-
console.error('');
|
|
43
|
-
console.error('请升级 OpenClaw 到最新版本:');
|
|
44
|
-
console.error('');
|
|
45
|
-
console.error(' npm install -g openclaw@latest');
|
|
46
|
-
console.error(' # 或');
|
|
47
|
-
console.error(' yarn global add openclaw@latest');
|
|
48
|
-
console.error('');
|
|
49
|
-
console.error('升级后重启 OpenClaw Gateway 即可。');
|
|
50
|
-
console.error('');
|
|
51
|
-
console.error('如果需要使用旧版 OpenClaw,请降级 dingtalk-connector:');
|
|
52
|
-
console.error('');
|
|
53
|
-
console.error(' npm install @dingtalk-real-ai/dingtalk-connector@0.8.3');
|
|
54
|
-
console.error('');
|
|
55
|
-
console.error('='.repeat(80));
|
|
56
|
-
console.error('');
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return true;
|
|
61
|
-
} catch (err) {
|
|
62
|
-
console.error('检查 OpenClaw SDK 版本时出错:', err);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
22
|
export default function register(api: OpenClawPluginApi) {
|
|
68
|
-
// 版本兼容性检查
|
|
69
|
-
if (!checkSdkVersion(api)) {
|
|
70
|
-
console.error('[dingtalk-connector] 插件加载失败:OpenClaw SDK 版本不兼容');
|
|
71
|
-
console.error('[dingtalk-connector] 请按照上述提示升级 OpenClaw 或降级 dingtalk-connector');
|
|
72
|
-
// 不抛出异常,避免影响其他插件加载,但不注册任何功能
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
23
|
setDingtalkRuntime(api.runtime);
|
|
77
24
|
api.registerChannel({ plugin: dingtalkPlugin });
|
|
78
25
|
|
|
79
26
|
// 注册 Gateway Methods
|
|
80
27
|
registerGatewayMethods(api);
|
|
81
|
-
|
|
82
|
-
console.log('[dingtalk-connector] v0.8.4 已成功加载(需要 OpenClaw SDK v2026.3.22+)');
|
|
83
28
|
}
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dingtalk-real-ai/dingtalk-connector",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.6",
|
|
4
4
|
"description": "DingTalk (钉钉) channel connector — Stream mode with AI Card streaming",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -51,14 +51,11 @@
|
|
|
51
51
|
"fluent-ffmpeg": "^2.1.3",
|
|
52
52
|
"form-data": "^4.0.0",
|
|
53
53
|
"mammoth": "^1.8.0",
|
|
54
|
-
"openclaw": "^2026.3.
|
|
54
|
+
"openclaw": "^2026.3.23-2",
|
|
55
55
|
"pako": "^2.1.0",
|
|
56
56
|
"pdf-parse": "^1.1.1",
|
|
57
57
|
"zod": "^3.22.0"
|
|
58
58
|
},
|
|
59
|
-
"peerDependencies": {
|
|
60
|
-
"openclaw": ">=2026.3.22"
|
|
61
|
-
},
|
|
62
59
|
"devDependencies": {
|
|
63
60
|
"@types/node": "^20.19.37",
|
|
64
61
|
"@vitest/coverage-v8": "^2.0.0",
|