tag:github.com,2008:https://github.com/riba2534/feishu-cli/releases Tags from feishu-cli 2026-03-18T17:02:47Z tag:github.com,2008:Repository/1138743298/v1.11.0 2026-03-18T17:04:36Z v1.11.0 <p>fix: address review findings from v1.10.0 changes</p> <p>- fix(auth): pass --scopes to Device Flow (was silently ignored) <br />- fix(auth): validate verification_uri in device authorization response <br />- fix(im): add file size pre-check (30MB file / 10MB image) and use <br /> 5-minute timeout instead of 30s default for IM uploads <br />- fix(msg): output upload progress to stderr to avoid polluting <br /> --output json; wrap os.Stat errors with original error <br />- fix(export): unify file permission to 0600 (was 0644 in doc export) <br />- docs(skills): update feishu-cli-auth, msg, export, perm, toolkit <br /> skills to reflect new features and fixes</p> <p>Co-Authored-By: Claude Opus 4.6 (1M context) &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.10.0 2026-03-18T15:12:40Z v1.10.0 <p>feat: enforce User Token for msg/chat commands and add feishu-cli-cha…</p> <p>…t skill</p> <p>Switch 11 msg/chat commands from resolveOptionalUserToken to <br />resolveRequiredUserToken: msg get/list/history/pins/pin/unpin/reaction/ <br />delete, msg search-chats, chat get/update/delete, chat member list/add/ <br />remove. These commands now require User Token (auth login) instead of <br />silently falling back to App Token.</p> <p>Add feishu-cli-chat skill covering session browsing, message interaction <br />(Reaction/Pin/delete/get), and group management.</p> <p>Add msg history fallback: when User Token list API returns empty results <br />for groups where the bot is absent, automatically degrade to search+get <br />mode transparently.</p> <p>Update all 8 skill SKILL.md files to reflect the new Token strategy: <br />- auth: rewrite Token classification (required/optional/app-only), <br /> add im:chat:readonly + im:chat.members:read to all scope strings <br />- msg: slim down to send-only skill, redirect Reaction/Pin/delete to chat <br />- chat: new skill with full permission table and routing <br />- search: add im:chat:readonly scope, add cross-skill routing table <br />- toolkit: rename module 4 to "群聊创建" for clarity <br />- write/import: clarify App Token usage (no auth login needed) <br />- perm: clarify App Token only</p> <p>Co-Authored-By: Claude Opus 4.6 (1M context) &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.9.0 2026-03-15T07:37:02Z v1.9.0 <p>feat: support User Access Token for doc export (<a class="issue-link js-issue-link" href="https://github.com/riba2534/feishu-cli/pull/33">#33</a>)</p> <p>feat: support User Access Token for doc export</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.8.2 2026-03-10T18:00:03Z v1.8.2 <p>docs: add p2p search guide and im:message.group_msg scope to skills/docs</p> <p>- Add im:message.group_msg:get_as_user scope to all OAuth scope strings <br /> (auth/msg/search skills) for User Token group message reading <br />- Add p2p_chat search examples and search-chats limitation tip <br />- Update Bot vs User identity table with p2p/group search rows <br />- Add im:chat:read to CLAUDE.md permissions table <br />- Update README messaging capability description for dual identity</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.8.1 2026-03-09T12:59:36Z v1.8.1 <p>fix(auth): prefer App Token over User Token for optional commands</p> <p>resolveOptionalUserToken no longer auto-loads from token.json, ensuring <br />APIs that work with App Token use it by default. Only explicitly provided <br />tokens (--user-access-token flag or FEISHU_USER_ACCESS_TOKEN env var) <br />override to user identity. Search commands (resolveRequiredUserToken) <br />are unaffected and still use the full priority chain.</p> <p>Update skill docs and CLAUDE.md to reflect the new token strategy.</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.8.0 2026-03-09T05:02:04Z v1.8.0 <p>feat: add OAuth auth, search, board skills and enhance user token sup…</p> <p>…port</p> <p>- Add non-interactive OAuth login (--print-url + auth callback) for AI agents <br />- Add auth status with JSON output support <br />- Add document/message/app search with User Access Token pre-check flow <br />- Add board create-notes commands to README/CLAUDE.md documentation <br />- Unify User Access Token resolution across search/calendar/task/msg commands <br />- Add 3 new skills: feishu-cli-auth, feishu-cli-search, feishu-cli-board <br />- Update existing skills for image upload pipeline and TextDrawing export <br />- Fix callout import to reuse API-generated empty child block <br />- Update permission scope mappings for accuracy</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.7.0 2026-03-02T03:20:36Z v1.7.0 <p>feat(converter): 表格列数超限自动拆分,支持 9×9 限制</p> <p>飞书 DocX API 限制单个表格最大 9 行 × 9 列,此前仅实现行拆分。 <br />当 Markdown 表格超过 9 列时(如 10 列对比表格),导入报错 1770001。</p> <p>新增列拆分逻辑: <br />- 保留首列作为标识列,每组最多 9 列(1 标识 + 8 数据) <br />- 先列拆分,后行拆分,支持复合拆分(如 12×16 → 4 个子表格) <br />- 列宽按列组独立计算</p> <p>同步更新 API 限制文档,补充文件夹子节点(1500)和文档块总数上限。</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.6.0 2026-02-27T08:52:02Z v1.6.0 <p>feat: 补全飞书 SDK 缺失接口,新增 46 个 CLI 命令</p> <p>覆盖 Permission、Drive、IM、Calendar、Task、Wiki、Contact 七大模块:</p> <p>Permission: list/delete/public-get/public-update/password/batch-add/auth/transfer-owner <br />Drive: download/upload/export-file/import-file/version/meta/stats <br />IM: chat CRUD + member 管理、merge-forward/reply/reaction/pin <br />Calendar: get/primary/event-search/event-reply/attendee/freebusy <br />Task: subtask/member/reminder + tasklist 顶级命令 <br />Wiki: space-get/member 管理 <br />Contact: user search/list + dept get/children</p> <p>同步修复: <br />- 12 处 resp.Data nil check(permission/task/drive) <br />- export/import 轮询逻辑仅终态失败才返回 error <br />- 3 处 strings.Split 替换为 splitAndTrim 防空元素 <br />- batch-add JSON 字段验证、task member role 验证 <br />- root.go PersistentPreRunE 改用 HasSubCommands 判断,修复命名冲突 <br />- CommentReply 添加 Content 字段 <br />- 更新 README/CLAUDE.md/SKILL.md 文档</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.5.0 2026-02-12T19:38:45Z v1.5.0 <p>feat(export): 新增 @用户展开、画板 PNG 导出、9 种新块类型支持;统一重试机制修复导入丢数据</p> <p>新功能: <br />- 导出时 @用户自动展开为 [@姓名](mailto:邮箱) 格式 (--expand-mentions, 默认开启) <br />- --download-images 同时导出画板为 PNG 图片 <br />- 支持 Agenda/LinkPreview/SyncBlock/WikiCatalogV2/AITemplate 等 9 种新块类型导出 <br />- 未知块类型注释包含可读名称</p> <p>Bug 修复: <br />- 修复 CAUTION/IMPORTANT Callout 内容导入时因 429 限流丢失 <br />- 修复嵌套列表子项导入时因 429 限流静默丢失</p> <p>重构: <br />- 新增通用泛型重试框架 DoWithRetry[T],统一 6 处手写重试循环 <br />- 退避策略: full jitter + 服务端 x-ogw-ratelimit-reset header 支持 <br />- Phase 1 顶层块创建和嵌套子块创建均加入 429 重试保护</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534 tag:github.com,2008:Repository/1138743298/v1.4.2 2026-02-06T19:56:09Z v1.4.2 <p>fix(doc-add): 修复 Markdown 模式嵌套丢失、表格填充及分批处理</p> <p>- 嵌套列表:改用 BlockNode 树结构 + createNestedChildren 递归创建,不再 FlattenBlockNodes 打平 <br />- 50 块分批:添加 batchSize=50 循环分批调用 CreateBlock,支持大文档 <br />- 分批 index 递增:多批次插入时 currentIndex 正确递增,避免顺序反转 <br />- 表格 429 重试:新增 fillTableWithRetry,最多 5 次指数退避 <br />- 成功计数修正:输出实际 tableSuccess/tableFailed,JSON 模式含完整统计 <br />- 去掉 log.Printf:改为 fmt.Fprintf(os.Stderr, ...) 输出 warning <br />- 魔法数字:两处 == 31 改为 int(converter.BlockTypeTable) <br />- 结构重构:Markdown 逻辑提取为 addContentMarkdown 函数</p> <p>Co-Authored-By: Claude Opus 4.6 &lt;[email protected]&gt;</p> riba2534