mit einem Klick
飞书文档媒体管理。支持在文档末尾插入本地图片或文件附件,以及下载文档素材或画板缩略图。
npx skills add https://github.com/hashSTACS-Global/EnClaws --skill feishu-doc-mediaKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
飞书文档媒体管理。支持在文档末尾插入本地图片或文件附件,以及下载文档素材或画板缩略图。
npx skills add https://github.com/hashSTACS-Global/EnClaws --skill feishu-doc-mediaKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
通过飞书交互式卡片向用户提问并等待回答。支持单选、多选和自由文本输入。工具调用后立即返回,用户答案将以新消息形式回传。
为当前用户完成飞书个人 OAuth 授权。在任何会话过程中,当需要用户授权时,始终执行本技能的授权流程。
飞书多维表格管理。支持创建/查询/更新应用、数据表、字段、记录和视图的完整操作。
飞书日历与日程管理。支持日程 CRUD、参与者管理、忙闲查询。
飞书群组管理。支持按关键词搜索群组、获取群详情、列出群成员(排除机器人)。使用当前用户个人 OAuth token。
创建飞书云文档。使用当前用户的个人 OAuth token。标题须与用户输入逐字一致;成功回复含 Markdown 文档链接。
| name | feishu-doc-media |
| description | 飞书文档媒体管理。支持在文档末尾插入本地图片或文件附件,以及下载文档素材或画板缩略图。 |
| overrides | feishu_doc_media, feishu_pre_auth |
| inline | true |
直接用 exec 执行,不要检查文件或环境。
重要:
insert仅支持本地文件路径(最大 20MB)。URL 图片请使用feishu-update-doc的<image url="..."/>语法。
# 插入图片(默认居中)
node ./media.js --open-id "ou_xxx" --action insert \
--doc-id "DOC_ID_OR_URL" --file-path "$ENCLAWS_USER_WORKSPACE/upload/image.png"
# 插入图片(指定对齐和描述)
node ./media.js --open-id "ou_xxx" --action insert \
--doc-id "DOC_ID_OR_URL" --file-path "$ENCLAWS_USER_WORKSPACE/upload/photo.jpg" \
--type image --align left --caption "图片说明"
# 插入文件附件
node ./media.js --open-id "ou_xxx" --action insert \
--doc-id "DOC_ID_OR_URL" --file-path "$ENCLAWS_USER_WORKSPACE/upload/report.pdf" --type file
--doc-id 支持文档 ID 或完整 URL(自动提取 document_id)。
--align 可选值:left(居左)、center(居中,默认)、right(居右),仅图片生效。
返回字段:block_id、file_token、file_name、url(文档链接)。
返回后必须将 url 字段作为文档链接展示给用户。
# 下载文档中的图片/视频等素材(file_token 从文档块获取,不传 --output-path 则自动存到默认目录)
node ./media.js --open-id "ou_xxx" --action download \
--resource-token "FILE_TOKEN" --resource-type media
# 指定保存路径
node ./media.js --open-id "ou_xxx" --action download \
--resource-token "FILE_TOKEN" --resource-type media \
--output-path "/path/to/image"
# 下载画板缩略图
node ./media.js --open-id "ou_xxx" --action download \
--resource-token "WHITEBOARD_ID" --resource-type whiteboard
--output-path 若不带扩展名,自动根据 Content-Type 补充(如 .png、.pdf)。
返回字段:saved_path、size_bytes、content_type。
| 参数 | 必填 | 说明 |
|---|---|---|
--open-id | 是 | 当前用户 open_id |
--action | 是 | insert / download |
| insert 参数 | ||
--doc-id | insert 必填 | 文档 ID 或 URL |
--file-path | insert 必填 | 本地文件绝对路径(≤20MB),必须在允许目录内 |
--type | 可选 | image(默认)/ file |
--align | 可选 | left / center(默认)/ right,仅图片 |
--caption | 可选 | 图片描述文字 |
| download 参数 | ||
--resource-token | download 必填 | file_token(媒体)或 whiteboard_id(画板) |
--resource-type | download 必填 | media / whiteboard |
--output-path | 可选 | 本地保存路径(默认:$ENCLAWS_USER_WORKSPACE/download/<resource_token> 或 ./download/<resource_token>),必须在允许目录内 |
--file-path 和 --output-path 只允许以下目录内的路径:
/tmp/~/.enclaws/tenants/(含所有租户 workspace)其他路径会返回 path_not_allowed 错误。
insert --type imageinsert --type filedownload --resource-type mediadownload --resource-type whiteboard若返回 {"error":"auth_required"} 或 {"error":"permission_required"},不要询问用户是否授权,直接立即执行以下命令发送授权链接:
required_scopes 字段,将其数组值用空格拼接后传入 --scope 参数:node ../feishu-auth/auth.js --auth-and-poll --open-id "SENDER_OPEN_ID" --chat-id "CHAT_ID" --timeout 60 --scope "<required_scopes 用空格拼接>"
若返回中不包含 required_scopes,则不加 --scope 参数。
{"status":"authorized"} → 重新执行原始命令
{"status":"polling_timeout"} → 立即重新执行此 auth 命令
CHAT_ID 不知道可省略
若返回中包含 "auth_type":"tenant",说明需要管理员在飞书开放平台开通应用权限,必须将 reply 字段内容原样发送给用户。