一、【BUG】现象

Openclaw 2026.3.22版本 个人微信插件不回复

这部分不是微信账号失效,也不是单纯配置脏了,而是插件加载链路在升级后断了。

解析:

两个问题:

1.模块解析断了openclaw-weixin 本地没有自己的 openclaw 依赖,升级后直接报:

  • Cannot find module 'openclaw/plugin-sdk'

2.SDK API 断了
openclaw-weixin 1.0.2 还在从 openclaw/plugin-sdk 根模块取很多运行时函数;但 OpenClaw 2026.3.22 已经把这些函数拆到子模块里了,所以继续报:

    resolvePreferredOpenClawTmpDir is not a function

二、处理方式

1.做一个兼容层 openclaw-sdk-compat.ts

export { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
export { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
export {
  resolveDirectDmAuthorizationOutcome,
  resolveSenderCommandAuthorizationWithRuntime,
} from "openclaw/plugin-sdk/command-auth";
export { createTypingCallbacks } from "openclaw/plugin-sdk/channel-runtime";
export { resolvePreferredOpenClawTmpDir, withFileLock } from "openclaw/plugin-sdk/infra-runtime";
export type { ReplyPayload } from "openclaw/plugin-sdk/reply-payload";
export { stripMarkdown } from "openclaw/plugin-sdk/text-runtime";

2.把微信插件里旧的根导入改成新版子模块导入

index.ts

import { buildChannelConfigSchema } from "./src/openclaw-sdk-compat.js";

channel.ts

import { normalizeAccountId } from "./openclaw-sdk-compat.js";

accounts.ts

import { normalizeAccountId } from "../openclaw-sdk-compat.js";

pairing.ts

import { withFileLock } from "../openclaw-sdk-compat.js";

process-message.ts

import {
  createTypingCallbacks,
  resolveSenderCommandAuthorizationWithRuntime,
  resolveDirectDmAuthorizationOutcome,
  resolvePreferredOpenClawTmpDir,
} from "../openclaw-sdk-compat.js";

send.ts

import type { ReplyPayload } from "../openclaw-sdk-compat.js";
import { stripMarkdown } from "../openclaw-sdk-compat.js";

还要注意的一点
这次对 openclaw-weixin 的修复是“本地兼容补丁”。
也就是说,如果你后面重新安装、覆盖安装、或者升级这个插件,这层兼容修改可能会被冲掉。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐