{"_id":"@claw-manager/openclaw-weixin","_rev":"11-efbc7a061a11934010881a082734a03f","name":"@claw-manager/openclaw-weixin","dist-tags":{"latest":"2026.8.4"},"versions":{"2026.6.25":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.25","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.25","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"3cb96cb137f18c36ca887fd38a4898693bf57780","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.25.tgz","fileCount":116,"integrity":"sha512-WHuarsvn7XutoM+UBIBhCXnlL9Pi6qCVXE2rIfFy1V4J+548n9836jagbh3AaeYyblIP6GShJo4kud9kJh/vKg==","signatures":[{"sig":"MEYCIQDmPD6FuDyeyCdsft08CpYMTZYo6FUiJDR4RVxUAYObIAIhAKBpgR4zbC21ZpV7+5QOZ2cfnmJwy63NLBOc4u6yQNBk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589247},"type":"module","engines":{"node":">=22"},"gitHead":"af90119e3e124cf8d61e46e29c09b97996a9f9bf","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.25_1782316754371_0.004054636358267638","host":"s3://npm-registry-packages-npm-production"}},"2026.6.26":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.26","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.26","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"a042127b45564ca911356ea95bc224ab3c93dc32","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.26.tgz","fileCount":119,"integrity":"sha512-rprp9cgrW9KK89m1szOrTHpPNBRGxyxi7X2HaIa2+wPckuZNKUID0zOs73+xXN7N4ICPunJRbYNkI3X490m2rg==","signatures":[{"sig":"MEUCIQDss0pOK1a1buSWfgq76QPeszPRQqomM/654XphFAnk0QIgTSRyrJRIc0oiryi3Ov3dQzdTFXeeAsjzx+3+1vRoVmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602564},"type":"module","engines":{"node":">=22"},"gitHead":"af90119e3e124cf8d61e46e29c09b97996a9f9bf","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.26_1782320093777_0.4923089023683813","host":"s3://npm-registry-packages-npm-production"}},"2026.6.27":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.27","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.27","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"64baa308839c954a53955ebf64132f68baa77fb9","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.27.tgz","fileCount":119,"integrity":"sha512-c1eWLQXthPu9sX6LMdC2acgbR4mQXhUk9TaJ/F9Qm0D9mxzhz1GqE/NCDqaK75SBC5tf+FFvawiCwdJrEI5lOQ==","signatures":[{"sig":"MEQCICZghTJJxYSuLSpgltEZZIp5E0Zq+lxhQFDh17FIZnsUAiB7YzHQOyMWuP2ZokC4u+BomIu7it72G1x3mazmiUlN2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":613594},"type":"module","engines":{"node":">=22"},"gitHead":"24f47d824f33e6628f625e794a6d27b00481e719","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.27_1784164272608_0.015149633026383169","host":"s3://npm-registry-packages-npm-production"}},"2026.6.28":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.28","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.28","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"0f682981a3f5fc822096bb83a07d585882dbdee0","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.28.tgz","fileCount":125,"integrity":"sha512-JB29xTmICuGdzadDXmhheykDp3tX7r14q7rjskRPXPXHq7Ny7LGUP4inYGfIpxnh6xv8YEc1zCQWQfHR+w8S+w==","signatures":[{"sig":"MEUCIQDQWkdb0f49pY/gxmCpuWOeIlfKs02Ki44TrLXAmnzwZgIgYOry7hWkw9m8e8vkWRGPOIPIyi9QWCUSFHCbdZp4Waw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643707},"type":"module","engines":{"node":">=22"},"gitHead":"49bcc425ec37c5fbabdb97175962a2c013aa45b0","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.28_1784398314481_0.31608683567564233","host":"s3://npm-registry-packages-npm-production"}},"2026.6.29":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.29","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.29","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"0a0cc59116ce02f5105006f1d19a4a0555ddc8b9","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.29.tgz","fileCount":128,"integrity":"sha512-5xSUOBky+eJP4Sh8TXtXQx2gHaM+vPh3Lu4LoMK6RzSlAAiloKK96iJqmtQDN+F0P75VQn6aj8QxMx8Hh5n42A==","signatures":[{"sig":"MEUCIEdj7IiBq0Oe8xhr+QyNVIWsU4RmhNiQaFoYnr1DCJo6AiEAgTSREOJjSLVenpe60zJqAN2YXrzi/JnAQIC15+JIbeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661561},"type":"module","engines":{"node":">=22"},"gitHead":"0fecb410f8a22221611e93b6a9e9fd07d3dc03a4","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.29_1784439751402_0.8644631947848835","host":"s3://npm-registry-packages-npm-production"}},"2026.6.30":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.30","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.30","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"e0119db69f6d62459554a21e67823667d221133c","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.30.tgz","fileCount":128,"integrity":"sha512-5fLdZS+dScEzvb4oFBCSm+jIYOg3oHadweqWAHRs6jQZHb/quJV5RH3aZjjkg8PUPYs/cPqE/Q5kcZsXXmdfWA==","signatures":[{"sig":"MEUCIQDGEr1D7NcRr079MC/CsD+7S6qTF57DZ0Q1ZcEk//3udgIgGMoh5xVCCAKtkds/PJF+NH/fLlbkdp8+HNlF3XVayEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":662195},"type":"module","engines":{"node":">=22"},"gitHead":"0fecb410f8a22221611e93b6a9e9fd07d3dc03a4","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"22.16.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.30_1784463780218_0.27380150853130125","host":"s3://npm-registry-packages-npm-production"}},"2026.6.31":{"name":"@claw-manager/openclaw-weixin","version":"2026.6.31","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.6.31","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"374d4561c27ea3234dd7957c38a4280eaec59830","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.6.31.tgz","fileCount":131,"integrity":"sha512-GQSBQJfZvCtXZj670M10ZFDK3B5XPBr66nIbbT9zmszqjXSxobphkD23Kztx6hjIFqHfCpdppxGwcAQRbBqNeA==","signatures":[{"sig":"MEYCIQD7b2KLsJK7cAk76BjZWOdge0P8MxLpe4ArXStSKid9CAIhAJa3DkUbPkZjOGsVmhI90C7Z7WlkFTcNk2imSqsMRoBB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674802},"type":"module","engines":{"node":">=22"},"gitHead":"a2bc0a50bbbc77e49ae194b1627e7ebf17451a5d","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"24.19.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.6.31_1786469811343_0.5902778691708208","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1":{"name":"@claw-manager/openclaw-weixin","version":"2026.8.1","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.8.1","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"07026c95b16e325b6107768e0a680e0db2c131e3","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.8.1.tgz","fileCount":134,"integrity":"sha512-KI76dGIHo3JmQHYIE8xEpNzm3RhtKz8D05k4iuaf01NboR+87QS4HxpkZkPbByIb88TBxKELJZJ0Doa7OCJHqg==","signatures":[{"sig":"MEQCIGe5SolOcMqM/qwS1Gw1p4DVos+PnQl4APO9PpomVMOTAiBliZSwVuNpoub4OlEroIwzn47cNdBfTPNCmMi+B6bWlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705754},"type":"module","engines":{"node":">=22"},"gitHead":"3451be165f8881d92d7491dee200602c893943e6","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"24.19.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0","@claw-manager/document-parser":"2026.8.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.8.1_1786561290725_0.5858290384965334","host":"s3://npm-registry-packages-npm-production"}},"2026.8.2":{"name":"@claw-manager/openclaw-weixin","version":"2026.8.2","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.8.2","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"7284a9695c2339a52599c87c858707aebea069b8","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.8.2.tgz","fileCount":134,"integrity":"sha512-NoL+lqn9kv/MCvuztx61VbPhs2ejLPVBkplyfSMfI0K5sTsL+PXXr2XirSnGy1qj3SWY3F1hEuAuQvWmdvhjlQ==","signatures":[{"sig":"MEUCIDzpEtdopptwztok65zUB/dcBvLoy1AY2bGJyCFGLi6pAiEAiGhrKsFnKrMZlG9X1q06LzcdVx44HyETJT0itaTjoqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707297},"type":"module","engines":{"node":">=22"},"gitHead":"22acde391766256ad31a8f53b769dd85fbbed64e","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"24.19.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0","@claw-manager/document-parser":"2026.8.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.8.2_1786635322099_0.024293620504793","host":"s3://npm-registry-packages-npm-production"}},"2026.8.3":{"name":"@claw-manager/openclaw-weixin","version":"2026.8.3","author":{"name":"Tencent"},"license":"MIT","_id":"@claw-manager/openclaw-weixin@2026.8.3","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"dist":{"shasum":"3951b8e7b9188e1b6256633ddfb2af2245e6ee37","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.8.3.tgz","fileCount":134,"integrity":"sha512-G5Py5DsDjhFZNQQSsnXXDQ4dv7ZqoTXss0KWWs3keRjigoGOVHt9Wz3jnxlCgcgsGaekJwgXfFWxVCHUyIBw4Q==","signatures":[{"sig":"MEQCIEHq1RgEkMkgPgbRq9vTIehSPE4LbStS88xkBGpdil4QAiAA5+QvrAj5C66xsxB4O75gwt1XHMRc1hYNyomV+SQ93g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708851},"type":"module","engines":{"node":">=22"},"gitHead":"be14084f4d42efe37fdbaba80512816c19936187","scripts":{"test":"vitest run","build":"npm run clean && tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"openclaw":{"channel":{"id":"openclaw-weixin","blurb":"Weixin channel","label":"openclaw-weixin","order":75,"docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","selectionLabel":"openclaw-weixin"},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"},"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"]},"repository":{"url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","type":"git","directory":"plugins/openclaw-weixin-plugin"},"_npmVersion":"11.7.0","description":"OpenClaw Weixin channel","directories":{},"ilink_appid":"bot","_nodeVersion":"24.19.0","dependencies":{"zod":"^4.3.6","qrcode-terminal":"0.12.0","@claw-manager/document-parser":"2026.8.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"openclaw":">=2026.5.12"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-weixin_2026.8.3_1786640789974_0.43109975868376904","host":"s3://npm-registry-packages-npm-production"}},"2026.8.4":{"name":"@claw-manager/openclaw-weixin","version":"2026.8.4","description":"OpenClaw Weixin channel","license":"MIT","author":{"name":"Tencent"},"type":"module","scripts":{"test":"vitest run","typecheck":"tsc --noEmit","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","build":"npm run clean && tsc","prepublishOnly":"npm run typecheck && npm run build"},"engines":{"node":">=22"},"dependencies":{"@claw-manager/document-parser":"2026.8.2","qrcode-terminal":"0.12.0","zod":"^4.3.6"},"peerDependencies":{"openclaw":">=2026.5.12"},"repository":{"type":"git","url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","directory":"plugins/openclaw-weixin-plugin"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@vitest/coverage-v8":"^3.1.0","openclaw":"2026.5.12","silk-wasm":"^3.7.1","typescript":"^5.8.0","vitest":"^3.1.0"},"openclaw":{"extensions":["./index.ts"],"runtimeExtensions":["./dist/index.js"],"channel":{"id":"openclaw-weixin","label":"openclaw-weixin","selectionLabel":"openclaw-weixin","docsPath":"/channels/openclaw-weixin","docsLabel":"openclaw-weixin","blurb":"Weixin channel","order":75},"install":{"npmSpec":"@claw-manager/openclaw-weixin","defaultChoice":"npm","minHostVersion":">=2026.5.12"}},"ilink_appid":"bot","gitHead":"9cabc005bfea5e6a9edb733af130ca97396656e1","_id":"@claw-manager/openclaw-weixin@2026.8.4","bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"homepage":"https://github.com/zhangsen540445123/claw-manager#readme","_nodeVersion":"24.19.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-fNLn1qnwHxjJo/3Nc2z62HZ9zZuVu9GZs4eneqOp7fnPY044m88GbKAxFrpbImvC2joZSaRHSul92Wu6VDGC1w==","shasum":"e343e7a3d9532ca91141fe2fae122db38f6c28db","tarball":"https://registry.npmjs.org/@claw-manager/openclaw-weixin/-/openclaw-weixin-2026.8.4.tgz","fileCount":137,"unpackedSize":719978,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDkPFZas8Sj5ymLIYOTMJlxG6xTFw0XzAE9LEe205dtaAIhALyqnAsu9XiNvTmf/fhaxyAUeQqzMQGQH44GoVLGP96g"}]},"_npmUser":{"name":"zhangsen0819","email":"caoxf72@gmail.com"},"directories":{},"maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-weixin_2026.8.4_1788187933988_0.9405935878312286"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-24T15:59:14.251Z","modified":"2026-08-31T14:52:14.373Z","2026.6.25":"2026-06-24T15:59:14.702Z","2026.6.26":"2026-06-24T16:54:53.951Z","2026.6.27":"2026-07-16T01:11:12.747Z","2026.6.28":"2026-07-18T18:11:54.643Z","2026.6.29":"2026-07-19T05:42:31.558Z","2026.6.30":"2026-07-19T12:23:00.406Z","2026.6.31":"2026-08-11T17:36:51.510Z","2026.8.1":"2026-08-12T19:01:30.903Z","2026.8.2":"2026-08-13T15:35:22.301Z","2026.8.3":"2026-08-13T17:06:30.233Z","2026.8.4":"2026-08-31T14:52:14.160Z"},"bugs":{"url":"https://github.com/zhangsen540445123/claw-manager/issues"},"author":{"name":"Tencent"},"license":"MIT","homepage":"https://github.com/zhangsen540445123/claw-manager#readme","repository":{"type":"git","url":"git+ssh://git@github.com/zhangsen540445123/claw-manager.git","directory":"plugins/openclaw-weixin-plugin"},"description":"OpenClaw Weixin channel","maintainers":[{"name":"zhangsen0819","email":"caoxf72@gmail.com"}],"readme":"# 微信\r\n\r\n[English](./README.md)\r\n\r\nOpenClaw 的微信渠道插件，支持通过扫码完成登录授权。\r\n\r\n## 兼容性\r\n\r\n| 插件版本 | OpenClaw 版本            | npm dist-tag | 状态   |\r\n|---------|--------------------------|--------------|--------|\r\n| 2.0.x   | >=2026.3.22              | `latest`     | 活跃   |\r\n| 1.0.x   | >=2026.1.0 <2026.3.22    | `legacy`     | 维护中 |\r\n\r\n> 插件在启动时会检查宿主版本，如果运行的 OpenClaw 版本超出支持范围，插件将拒绝加载。\r\n\r\n## 前提条件\r\n\r\n已安装 [OpenClaw](https://docs.openclaw.ai/install)（需要 `openclaw` CLI 可用）。\r\n\r\n查看版本：`openclaw --version`\r\n\r\n## 一键安装\r\n\r\n```bash\r\nnpx -y @tencent-weixin/openclaw-weixin-cli install\r\n```\r\n\r\n## 手动安装\r\n\r\n如果一键安装不适用，可以按以下步骤手动操作：\r\n\r\n### 1. 安装插件\r\n\r\n```bash\r\nopenclaw plugins install \"@tencent-weixin/openclaw-weixin\"\r\n```\r\n\r\n### 2. 启用插件\r\n\r\n```bash\r\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\r\n```\r\n\r\n### 3. 扫码登录\r\n\r\n```bash\r\nopenclaw channels login --channel openclaw-weixin\r\n```\r\n\r\n终端会显示一个二维码，用手机扫码并在手机上确认授权。确认后，登录凭证会自动保存到本地，无需额外操作。\r\n\r\n### 4. 重启 gateway\r\n\r\n```bash\r\nopenclaw gateway restart\r\n```\r\n\r\n## 添加更多微信账号\r\n\r\n```bash\r\nopenclaw channels login --channel openclaw-weixin\r\n```\r\n\r\n每次扫码登录都会创建一个新的账号条目，支持多个微信号同时在线。\r\n\r\n## 多账号上下文隔离\r\n\r\n默认情况下，私聊可能共用同一会话桶。**多个微信号同时登录**时，建议按「账号 + 渠道 + 对端」隔离：\r\n\r\n```bash\r\nopenclaw config set session.dmScope per-account-channel-peer\r\n```\r\n\r\n## 自定义 BotAgent（可选）\r\n\r\n每条出站请求会带一个自我声明的 `bot_agent` 字段——类似 HTTP `User-Agent`——用于\r\n后台日志归因和监控聚合。**默认值为 `OpenClaw`**。声明自己的应用名能让你的流量\r\n在后台日志中更容易识别。\r\n\r\n在 `openclaw.json` 中加一行即可：\r\n\r\n```json\r\n{\r\n  \"channels\": {\r\n    \"openclaw-weixin\": {\r\n      \"botAgent\": \"MyBot/1.2.0\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**格式规范**（UA 风格）：\r\n\r\n- 一个或多个 `Name/Version` token，空格分隔\r\n- 每个 token 可选地跟一个 ` (comment)`\r\n- 仅允许 ASCII 字符；总长 ≤ 256 字节\r\n- 不合规的 token 在清洗时静默丢弃；如果最终为空，回退到 `OpenClaw`\r\n\r\n可直接使用的示例：\r\n\r\n- `MyBot/1.2.0`\r\n- `MyBot/1.2.0 (region=cn;env=prod)`\r\n- `MyBot/1.2.0 LangChain/0.3.5`\r\n- `MyBot/1.2.0-rc.1+build.5`\r\n\r\n**注意**：`bot_agent` 仅用于观测，**不参与鉴权或路由**。当前本插件实例下所有\r\n已注册的 agent 共享同一个 `botAgent` 声明；如有需要按 agent 单独标识的场景，\r\n可在后续版本扩展配置。\r\n\r\n\r\n## 微信文件与办公文档解析\r\n\r\n当用户在微信私聊中发送文件时，插件会先下载临时文件，然后在消息路由确定后归档到对应 Agent 的独立工作区：\r\n\r\n```text\r\n<agent workspace>/.openclaw-inbox/weixin/<yyyyMMdd>/<messageId>/\r\n├── original/  # 原始微信文件\r\n└── parsed/    # 提取文字、metadata.json、Office 内嵌图片\r\n```\r\n\r\n这意味着每个微信用户对应的 Agent workspace 是隔离的；A 用户的 Agent 不会把文件保存到 B 用户的 workspace。\r\n\r\n支持解析：文本、Markdown/JSON/XML/YAML/log、CSV、Excel（`.xlsx` / `.xls`）、Word（`.docx`）、PowerPoint（`.pptx`）和 PDF 文本。Word/PPT 内嵌图片会提取出来；如果当前模型声明支持 `image` 输入，图片会作为视觉输入传给模型，否则会在提示中明确说明“当前模型不支持图片理解，已仅使用文字内容”。\r\n\r\n默认限制：文件 20MB、提取文字 80,000 字、Office 图片 10 张、PDF 文本 10 页。文件超限、文字截断、图片截断、PDF 页数截断、格式不支持或解析失败都会写入发给 Agent 的“文件处理提示”，避免静默丢内容。\r\n\r\n注意：PDF 当前主要做文本提取，扫描版 PDF 或页面图片 OCR 仍会以限制提示告知用户。\r\n\r\n## 后端 API 协议\r\n\r\n本插件通过 HTTP JSON API 与后端网关通信。二次开发者若需对接自有后端，需实现以下接口。\r\n\r\n所有接口均为 `POST`，请求和响应均为 JSON。通用请求头：\r\n\r\n| Header | 说明 |\r\n|--------|------|\r\n| `Content-Type` | `application/json` |\r\n| `AuthorizationType` | 固定值 `ilink_bot_token` |\r\n| `Authorization` | `Bearer <token>`（登录后获取） |\r\n| `X-WECHAT-UIN` | 随机 uint32 的 base64 编码 |\r\n\r\n### 接口列表\r\n\r\n| 接口 | 路径 | 说明 |\r\n|------|------|------|\r\n| getUpdates | `getupdates` | 长轮询获取新消息 |\r\n| sendMessage | `sendmessage` | 发送消息（文本/图片/视频/文件） |\r\n| getUploadUrl | `getuploadurl` | 获取 CDN 上传预签名 URL |\r\n| getConfig | `getconfig` | 获取账号配置（typing ticket 等） |\r\n| sendTyping | `sendtyping` | 发送/取消输入状态指示 |\r\n\r\n### getUpdates\r\n\r\n长轮询接口。服务端在有新消息或超时后返回。\r\n\r\n**请求体：**\r\n\r\n```json\r\n{\r\n  \"get_updates_buf\": \"\"\r\n}\r\n```\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `get_updates_buf` | `string` | 上次响应返回的同步游标，首次请求传空字符串 |\r\n\r\n**响应体：**\r\n\r\n```json\r\n{\r\n  \"ret\": 0,\r\n  \"msgs\": [...],\r\n  \"get_updates_buf\": \"<新游标>\",\r\n  \"longpolling_timeout_ms\": 35000\r\n}\r\n```\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `ret` | `number` | 返回码，`0` = 成功 |\r\n| `errcode` | `number?` | 错误码（如 `-14` = 会话超时） |\r\n| `errmsg` | `string?` | 错误描述 |\r\n| `msgs` | `WeixinMessage[]` | 消息列表（结构见下方） |\r\n| `get_updates_buf` | `string` | 新的同步游标，下次请求时回传 |\r\n| `longpolling_timeout_ms` | `number?` | 服务端建议的下次长轮询超时（ms） |\r\n\r\n### sendMessage\r\n\r\n发送一条消息给用户。\r\n\r\n**请求体：**\r\n\r\n```json\r\n{\r\n  \"msg\": {\r\n    \"to_user_id\": \"<目标用户 ID>\",\r\n    \"context_token\": \"<会话上下文令牌>\",\r\n    \"item_list\": [\r\n      {\r\n        \"type\": 1,\r\n        \"text_item\": { \"text\": \"你好\" }\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n### getUploadUrl\r\n\r\n获取 CDN 上传预签名参数。上传文件前需先调用此接口获取 `upload_param` 和 `thumb_upload_param`。\r\n\r\n**请求体：**\r\n\r\n```json\r\n{\r\n  \"filekey\": \"<文件标识>\",\r\n  \"media_type\": 1,\r\n  \"to_user_id\": \"<目标用户 ID>\",\r\n  \"rawsize\": 12345,\r\n  \"rawfilemd5\": \"<明文 MD5>\",\r\n  \"filesize\": 12352,\r\n  \"thumb_rawsize\": 1024,\r\n  \"thumb_rawfilemd5\": \"<缩略图明文 MD5>\",\r\n  \"thumb_filesize\": 1040\r\n}\r\n```\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `media_type` | `number` | `1` = IMAGE, `2` = VIDEO, `3` = FILE |\r\n| `rawsize` | `number` | 原文件明文大小 |\r\n| `rawfilemd5` | `string` | 原文件明文 MD5 |\r\n| `filesize` | `number` | AES-128-ECB 加密后的密文大小 |\r\n| `thumb_rawsize` | `number?` | 缩略图明文大小（IMAGE/VIDEO 时必填） |\r\n| `thumb_rawfilemd5` | `string?` | 缩略图明文 MD5（IMAGE/VIDEO 时必填） |\r\n| `thumb_filesize` | `number?` | 缩略图密文大小（IMAGE/VIDEO 时必填） |\r\n\r\n**响应体：**\r\n\r\n```json\r\n{\r\n  \"upload_param\": \"<原图上传加密参数>\",\r\n  \"thumb_upload_param\": \"<缩略图上传加密参数>\"\r\n}\r\n```\r\n\r\n### getConfig\r\n\r\n获取账号配置，包括 typing ticket。\r\n\r\n**请求体：**\r\n\r\n```json\r\n{\r\n  \"ilink_user_id\": \"<用户 ID>\",\r\n  \"context_token\": \"<可选，会话上下文令牌>\"\r\n}\r\n```\r\n\r\n**响应体：**\r\n\r\n```json\r\n{\r\n  \"ret\": 0,\r\n  \"typing_ticket\": \"<base64 编码的 typing ticket>\"\r\n}\r\n```\r\n\r\n### sendTyping\r\n\r\n发送或取消输入状态指示。\r\n\r\n**请求体：**\r\n\r\n```json\r\n{\r\n  \"ilink_user_id\": \"<用户 ID>\",\r\n  \"typing_ticket\": \"<从 getConfig 获取>\",\r\n  \"status\": 1\r\n}\r\n```\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `status` | `number` | `1` = 正在输入，`2` = 取消输入 |\r\n\r\n### 消息结构\r\n\r\n#### WeixinMessage\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `seq` | `number?` | 消息序列号 |\r\n| `message_id` | `number?` | 消息唯一 ID |\r\n| `from_user_id` | `string?` | 发送者 ID |\r\n| `to_user_id` | `string?` | 接收者 ID |\r\n| `create_time_ms` | `number?` | 创建时间戳（ms） |\r\n| `session_id` | `string?` | 会话 ID |\r\n| `message_type` | `number?` | `1` = USER, `2` = BOT |\r\n| `message_state` | `number?` | `0` = NEW, `1` = GENERATING, `2` = FINISH |\r\n| `item_list` | `MessageItem[]?` | 消息内容列表 |\r\n| `context_token` | `string?` | 会话上下文令牌，回复时需回传 |\r\n\r\n#### MessageItem\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `type` | `number` | `1` TEXT, `2` IMAGE, `3` VOICE, `4` FILE, `5` VIDEO |\r\n| `text_item` | `{ text: string }?` | 文本内容 |\r\n| `image_item` | `ImageItem?` | 图片（含 CDN 引用和 AES 密钥） |\r\n| `voice_item` | `VoiceItem?` | 语音（SILK 编码） |\r\n| `file_item` | `FileItem?` | 文件附件 |\r\n| `video_item` | `VideoItem?` | 视频 |\r\n| `ref_msg` | `RefMessage?` | 引用消息 |\r\n\r\n#### CDN 媒体引用 (CDNMedia)\r\n\r\n所有媒体类型（图片/语音/文件/视频）通过 CDN 传输，使用 AES-128-ECB 加密：\r\n\r\n| 字段 | 类型 | 说明 |\r\n|------|------|------|\r\n| `encrypt_query_param` | `string?` | CDN 下载/上传的加密参数 |\r\n| `aes_key` | `string?` | base64 编码的 AES-128 密钥 |\r\n\r\n### CDN 上传流程\r\n\r\n1. 计算文件明文大小、MD5，以及 AES-128-ECB 加密后的密文大小\r\n2. 如需缩略图（图片/视频），同样计算缩略图的明文和密文参数\r\n3. 调用 `getUploadUrl` 获取 `upload_param`（和 `thumb_upload_param`）\r\n4. 使用 AES-128-ECB 加密文件内容，PUT 上传到 CDN URL\r\n5. 缩略图同理加密并上传\r\n6. 使用返回的 `encrypt_query_param` 构造 `CDNMedia` 引用，放入 `MessageItem` 发送\r\n\r\n> 完整的类型定义见 [`src/api/types.ts`](src/api/types.ts)，API 调用实现见 [`src/api/api.ts`](src/api/api.ts)。\r\n\r\n## 卸载\r\n\r\n```bash\r\nopenclaw plugins uninstall @tencent-weixin/openclaw-weixin\r\n```\r\n\r\n## 故障排查\r\n\r\n### \"requires OpenClaw >=2026.3.22\" 报错\r\n\r\n你的 OpenClaw 版本太旧，不兼容当前插件版本。检查版本：\r\n\r\n```bash\r\nopenclaw --version\r\n```\r\n\r\n安装旧版插件线：\r\n\r\n```bash\r\nopenclaw plugins install @tencent-weixin/openclaw-weixin@legacy\r\n```\r\n\r\n### Channel 显示 \"OK\" 但未连接\r\n\r\n确保 `~/.openclaw/openclaw.json` 中 `plugins.entries.openclaw-weixin.enabled` 为 `true`：\r\n\r\n```bash\r\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\r\nopenclaw gateway restart\r\n```\r\n","readmeFilename":"README.zh_CN.md"}