Release Notes - v0.8.8
🎉 新版本亮点 / Highlights
本次更新专注于流式响应稳定性、Web UI 状态显示和媒体发送正确性三大核心问题的修复。重构了 AI Card 并发创建逻辑,彻底解决多 block 响应产生多条独立气泡的问题;修复了 Web UI 中 Connected / Last inbound 字段始终显示 n/a 的问题;同时修正了文件发送时参数传递错误导致发送失败的 bug。
This release focuses on three core fixes: streaming response stability, Web UI status display, and media sending correctness. It refactors the AI Card concurrent creation logic to eliminate the multi-bubble issue in multi-block responses, fixes the Web UI showing n/a for Connected/Last inbound fields, and corrects a parameter error that caused file sending to fail.
🐛 修复 / Fixes
-
多 block 流式响应产生多条独立气泡 / Multi-block streaming response creates multiple bubbles (#369)
重构startStreaming的并发控制逻辑,从isCreatingCard布尔标志改为cardCreationPromise,await startStreaming()天然等待创建完成,彻底消除多 block 响应场景下每个 block 新建独立 AI Card 气泡的问题。
RefactoredstartStreamingconcurrency control from a booleanisCreatingCardflag to acardCreationPromise.await startStreaming()naturally waits for creation to complete, eliminating the issue where each block in a multi-block response created an independent AI Card bubble. -
Web UI Connected / Last inbound 显示 n/a / Web UI shows n/a for Connected and Last inbound
在src/core/connection.ts中新增onStatusChange回调,在连接建立、断开、收到消息时分别上报connected、lastConnectedAt、lastInboundAt字段;同时补全buildSessionContext在separateSessionByConversation: false分支中conversationId和groupSubject字段的透传。
AddedonStatusChangecallback insrc/core/connection.tsto reportconnected,lastConnectedAt, andlastInboundAtfields on connection established, disconnected, and message received events. Also fixedbuildSessionContextto correctly pass throughconversationIdandgroupSubjectfields in theseparateSessionByConversation: falsebranch. -
AI Card 函数调用参数错误 / AI Card function call parameter error
修复src/reply-dispatcher.ts中createAICardForTarget、streamAICard、finishAICard的第三个参数从params.runtime改为account.config as DingtalkConfig,第四个参数补充log,确保函数签名与实现一致。
Fixed the third parameter ofcreateAICardForTarget,streamAICard, andfinishAICardinsrc/reply-dispatcher.tsfromparams.runtimetoaccount.config as DingtalkConfig, and addedlogas the fourth parameter to match the function signatures. -
sendFileProactive 参数错误导致文件发送失败 / File sending failure due to wrong sendFileProactive parameter
修复src/services/media.ts中processFileMarkers和processRawMediaPaths调用sendFileProactive时错误地传入uploadResult.downloadUrl,现已改为正确的uploadResult.cleanMediaId,确保主动 API 模式下文件消息能正常发送。
FixedprocessFileMarkersandprocessRawMediaPathsinsrc/services/media.tsincorrectly passinguploadResult.downloadUrltosendFileProactive; now correctly usesuploadResult.cleanMediaIdto ensure file messages are sent successfully in proactive API mode. -
纯多账号配置下 probe 被跳过 / Probe skipped in pure multi-account config (#381)
修复src/onboarding.ts的getStatus()中,纯多账号配置(credentials 仅在accounts.*下)时 probe 被静默跳过,状态永远显示 "configured (connection not verified)" 的问题。现已改用resolveDingtalkAccount()统一获取账号信息。
FixedgetStatus()insrc/onboarding.tssilently skipping probe in pure multi-account configs (credentials only underaccounts.*), causing status to always show "configured (connection not verified)". Now usesresolveDingtalkAccount()for unified account resolution.
✨ 改进 / Improvements
-
音频时长提取安全性改进 / Audio duration extraction security improvement (#134)
将extractAudioDuration从直接调用child_process.exec改为使用fluent-ffmpeg的ffprobeAPI,与extractVideoMetadata保持一致,消除安全扫描误报。
ChangedextractAudioDurationfrom directly callingchild_process.execto usingfluent-ffmpeg'sffprobeAPI, consistent withextractVideoMetadata, eliminating false positives in security scans. -
SDK 接口迁移 / SDK interface migration
将src/onboarding.ts中的类型引用从旧版ChannelOnboardingAdapter迁移到新版ChannelSetupWizardAdapter,并将promptSingleChannelSecretInput的导入路径从openclaw/plugin-sdk更新为openclaw/plugin-sdk/setup,适配最新 SDK 接口。
Migrated type references insrc/onboarding.tsfrom the legacyChannelOnboardingAdapterto the newChannelSetupWizardAdapter, and updated the import path ofpromptSingleChannelSecretInputfromopenclaw/plugin-sdktoopenclaw/plugin-sdk/setupto align with the latest SDK interface.
📥 安装升级 / Installation & Upgrade
# 通过 npm 安装最新版本 / Install latest version via npm
openclaw plugins install @dingtalk-real-ai/dingtalk-connector
# 或升级现有版本 / Or upgrade existing version
openclaw plugins update dingtalk-connector
# 通过 Git 安装 / Install via Git
openclaw plugins install https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector.git🔗 相关链接 / Related Links
发布日期 / Release Date:2026-03-29
版本号 / Version:v0.8.8
兼容性 / Compatibility:OpenClaw Gateway 0.4.0+