这是一个独立运行的企业微信智能机器人扩展(PackingProof external-adapter)。它通过 PackingProof 扩展 API v1 查询和下载录像,不读取数据库、录像目录或 NAS 凭据。
本仓库是遵循 PackingProof 扩展市场协议 v1 的扩展项目:payload/ 是可运行的独立机器人,manifest.json 描述安装包。
- 群内 @机器人并发送快递单号 → 查询 PackingProof 录像
- 未超限录像直接下载原片;超过企业微信上限(默认 45 MB)时请求 PackingProof 生成受控转码副本
- 逐段上传并回复到原群聊,带标题“单号 打包录像 N/M”
- 在 GitHub Release 下载
369431.wecom-recording-bot-1.0.0.ppext,或从 PackingProof 扩展市场 安装 - 在 PackingProof 的“设置 → 扩展与联动”中开启“启用扩展 API”
- 导入并安装扩展;外部适配器需要手动启动(
payload/start.cmd) - 首次启动时在 PackingProof 弹窗中批准录像查询、下载和交付副本权限
要求 Node.js 20 或更高版本,以及支持扩展 API v1 的 PackingProof Desktop。
- 在企业微信智能机器人后台选择“API 模式 → 长连接”
- 进入
payload/,复制.env.example为.env,填写WECOM_BOT_ID和WECOM_SECRET - 在 PackingProof 的“设置 → 扩展与联动”中开启“启用扩展 API”
- 在
payload/目录执行npm install和npm start - 首次启动时在 PackingProof 弹窗中批准录像查询、下载和交付副本权限
- 在企业微信群中 @机器人并发送快递单号
机器人核心(payload/src/bot-core.js)与聊天平台解耦,通过 Channel 契约接入不同平台。
新增平台时在 payload/src/channels/ 实现频道适配器即可复用查询、下载、转码和回传逻辑。
- 不使用个人微信 Hook、桌面注入或非官方协议
- 密钥、授权凭据和运行状态均被 Git 忽略(
.env、.state/、node_modules/) - 不把企业微信密钥、PackingProof 凭据或录像真实路径写入源码、日志和消息
- 对群消息限流,并限制单号长度和字符集(6–64 位字母数字)
cd payload
npm test接入背景和架构说明见 DESIGN.md。