{"_id":"@angli/openclaw-message-attachments","_rev":"2-8ab5af80359cc131ffc5ee0e08cba301","name":"@angli/openclaw-message-attachments","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@angli/openclaw-message-attachments","version":"0.1.0","keywords":["openclaw","plugin","feishu","attachments"],"license":"MIT","_id":"@angli/openclaw-message-attachments@0.1.0","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"homepage":"https://github.com/lastarla/openclaw-message-attachments","bugs":{"url":"https://github.com/lastarla/openclaw-message-attachments/issues"},"dist":{"shasum":"29630f6aa75519e36b414642775a0e5b1412fb90","tarball":"https://registry.npmjs.org/@angli/openclaw-message-attachments/-/openclaw-message-attachments-0.1.0.tgz","fileCount":10,"integrity":"sha512-RaqMCxL+bsVepc5T19FTOj/P7KN9EklRBqgsAXvP9NsD1irSXqWwkO+Pq4eJgtJK07vbYO8uyEOBL8chCCBEdQ==","signatures":[{"sig":"MEQCIEWDlC2UTQxSzrmTQZGMd+hADN4q8L+dqRfBi/XYzu+uAiBxlaD7cvR7HwHajmSq0WCHSBcdzI06JcCbgIRdmf6pyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22844},"type":"module","gitHead":"794e36cb94b31317d9dda7439fca58ee5e78fb79","scripts":{"test":"node --test dist/tests/**/*.test.js","build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"openclaw":{"extensions":["./index.ts"]},"repository":{"url":"git+https://github.com/lastarla/openclaw-message-attachments.git","type":"git"},"_npmVersion":"10.9.3","description":"OpenClaw plugin for downloading message attachments to local files.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3.24.2","@modelcontextprotocol/sdk":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.2","@types/node":"^22.13.10"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-message-attachments_0.1.0_1774788052432_0.5637863545030075","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@angli/openclaw-message-attachments","version":"0.1.1","type":"module","description":"OpenClaw plugin for downloading message attachments to local files.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/lastarla/openclaw-message-attachments.git"},"homepage":"https://github.com/lastarla/openclaw-message-attachments","bugs":{"url":"https://github.com/lastarla/openclaw-message-attachments/issues"},"keywords":["openclaw","plugin","feishu","attachments"],"publishConfig":{"access":"public"},"openclaw":{"extensions":["./index.ts"]},"scripts":{"build":"tsc -p tsconfig.json","check":"tsc --noEmit -p tsconfig.json","test":"node --test dist/tests/**/*.test.js"},"dependencies":{"@modelcontextprotocol/sdk":"^1.11.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","typescript":"^5.8.2"},"_id":"@angli/openclaw-message-attachments@0.1.1","gitHead":"6d33b81eec89f18f88640a4216ba5c5c2efb0c58","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-T3GAz62SKtEHX7WMsw96xI1mRKM6SA0hLoJ8bZmPOyfe2moK1Jf5N/P4tSneD67rLjs1frtGJiV12suRVe3OIQ==","shasum":"bfa442978d4eb068c99f9cb9ef7b8468d66fc07b","tarball":"https://registry.npmjs.org/@angli/openclaw-message-attachments/-/openclaw-message-attachments-0.1.1.tgz","fileCount":10,"unpackedSize":22962,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC3SI5rDZQPnzUevTiKuN9zok+DqZ/nxr81S4yyJyXW3AiEA+oWrVbheiZzmR/nRLhwacTOc0FuhAg8d+pcSi/hvN1A="}]},"_npmUser":{"name":"angli","email":"lastarla@sina.com"},"directories":{},"maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-message-attachments_0.1.1_1774828534327_0.8268002669424994"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-29T12:40:52.348Z","modified":"2026-03-29T23:55:34.558Z","0.1.0":"2026-03-29T12:40:52.563Z","0.1.1":"2026-03-29T23:55:34.455Z"},"bugs":{"url":"https://github.com/lastarla/openclaw-message-attachments/issues"},"license":"MIT","homepage":"https://github.com/lastarla/openclaw-message-attachments","keywords":["openclaw","plugin","feishu","attachments"],"repository":{"type":"git","url":"git+https://github.com/lastarla/openclaw-message-attachments.git"},"description":"OpenClaw plugin for downloading message attachments to local files.","maintainers":[{"name":"angli","email":"lastarla@sina.com"}],"readme":"# openclaw-message-attachments\n\n`openclaw-message-attachments` 是一个 OpenClaw 插件。\n\n它的作用很简单：\n- 从消息中下载附件\n- 保存到本地文件\n- 把本地路径交给后续 agent / tool 继续处理\n\n适合这类场景：\n- 你已经在 OpenClaw 里接入了飞书消息\n- 你的 agent 需要处理消息里的文件附件\n- 你希望先把附件落到本地，再交给别的工具使用\n\n例如：\n- 用户在飞书里发来一个账单附件\n- 插件把附件下载到本地\n- 下游 agent 再用这个本地文件继续导入或处理\n\n## 当前支持\n\n目前 v1 只支持：\n- 飞书消息附件下载\n- 统一下载 tool：`message_attachment_download`\n- 本地落盘\n- 返回结构化成功 / 失败结果\n\n暂不支持：\n- 批量下载多个附件\n- 上传回平台\n- 文件内容解析\n- 飞书之外的平台\n\n## 安装\n\n### 1. 安装插件\nOpenClaw 插件安装命令不支持直接使用 GitHub URL。\n\n如果这个插件已经发布到 npm，可以直接安装包名：\n\n```bash\nopenclaw plugins install @angli/openclaw-message-attachments\n```\n\n如果还没有发布到 npm，请先 clone 仓库，再从本地目录安装：\n\n```bash\ngit clone https://github.com/lastarla/openclaw-message-attachments.git\nopenclaw plugins install ./openclaw-message-attachments\n```\n\n如果你在本地开发，也可以使用：\n\n```bash\nopenclaw plugins install --link ./openclaw-message-attachments\n```\n\n### 2. 在 `openclaw.json` 中启用插件\n如果安装后还没启用，可以确认 `openclaw.json` 中存在：\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"@angli/openclaw-message-attachments\": {\n        \"enabled\": true\n      }\n    }\n  }\n}\n```\n\n### 3. 配置 Feishu 凭证\n安装并启用后，再继续配置插件参数。\n\n## 使用前需要准备\n\n### OpenClaw\n这是一个 OpenClaw 插件，需要运行在 OpenClaw 的插件环境里。\n\n### 插件配置\n安装后，推荐直接在插件配置里填写 Feishu 凭证。\n\n插件配置挂在：\n\n```text\nplugins.entries.@angli/openclaw-message-attachments.config\n```\n\n最小 `openclaw.json` 示例：\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"@angli/openclaw-message-attachments\": {\n        \"enabled\": true,\n        \"config\": {\n          \"sources\": {\n            \"feishu\": {\n              \"appToken\": \"your-feishu-app-token\"\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n完整示例：\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"@angli/openclaw-message-attachments\": {\n        \"enabled\": true,\n        \"config\": {\n          \"sources\": {\n            \"feishu\": {\n              \"appToken\": \"your-feishu-app-token\",\n              \"openApiBase\": \"https://open.feishu.cn/open-apis\"\n            }\n          },\n          \"download\": {\n            \"maxBytes\": 20971520\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n其中：\n- `sources.feishu.appToken`：飞书应用访问令牌，用于下载附件\n- `sources.feishu.openApiBase`：可选，自定义飞书 Open API 地址\n- `download.maxBytes`：可选，最大附件大小限制，默认 20MB\n\n修改配置后，建议重启 OpenClaw 让配置生效。\n\n### 环境变量兼容\n旧的环境变量方式仍然支持，但只是兼容 fallback：\n- `FEISHU_APP_TOKEN`\n- `FEISHU_OPEN_API_BASE`\n- `OPENCLAW_ATTACHMENT_MAX_BYTES`\n\n如果插件配置和环境变量同时存在，以插件配置为准。\n\n## 插件提供的 tool\n\n安装并加载后，插件会提供：\n\n- `message_attachment_download`\n\n它会：\n1. 接收一个消息附件引用\n2. 下载附件到本地\n3. 返回本地文件路径\n\n## 文件保存位置\n\n默认保存到：\n\n```text\n/root/.openclaw/files/attachments/YYYY-MM-DD/\n```\n\n如果你想自定义目录，可以继续设置：\n\n- `OPENCLAW_ATTACHMENTS_ROOT`\n\n## 开发\n\n```bash\nnpm install\nnpm run check\nnpm run build\nnpm run test\n```\n","readmeFilename":"README.md"}