📦 lark-doc-reviser — 飞书批注批量修

v1.0.0

读取飞书文档未解决批注,按块精准修改并自动标记已解决,全程通过 lark-cli 操作,支持富文本格式,适合快速闭环文档审阅。

0· 47·0 当前·0 累计
billzhuang6569 头像by @billzhuang6569 (Bill Zhuang)
下载技能包
最后更新
2026/4/13
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
技能代码与 SKILL.md 均指向飞书文档批注编辑器,但包元数据未声明必需的 lark-cli 二进制文件,且工作流会写入持久化文件——安装前请审查并验证 lark-cli 用法及本地文件写入行为。
评估建议
该技能看似功能属实(读取未解决飞书批注并通过 lark-cli 更新块),但安装或运行前请执行以下步骤:1) 确认本地已安装并认证 lark-cli——尽管技能元数据未声明,但 SKILL.md 与脚本均依赖它。2) 先隔离环境或用非敏感测试文档运行所含脚本。3) 注意工具会写入 workspace/<token>_state.json 持久化文档状态;若含敏感内容请妥善保存或删除。4) 运行补丁与解决脚本将直接修改并关闭线上文档批注——应用前请验证补丁。5) 如需更高保障,请要求发布者更新元数据以声明 lark-cli 依赖,并提供所需权限或作用域说明。...
详细分析 ▾
用途与能力
技能的名称、描述、SKILL.md 与捆绑脚本均针对飞书文档批注读取与修补。然而注册元数据未列出任何必需二进制文件,而 SKILL.md 与所有脚本都依赖外部‘lark-cli’工具及已认证会话。该元数据遗漏属不一致问题,应予以纠正或确认。
指令范围
运行时指令与脚本仅执行:1) 调用 lark-cli 获取块与未解决批注;2) 生成并写入工作区 JSON 状态文件;3) 调用 lark-cli PATCH 块;4) 调用 lark-cli 标记批注已解决。指令不读取无关系统文件,也不向 lark-cli API 之外的第三方端点发送数据。对于需其他 API 的结构操作,明确建议手动处理。
安装机制
无安装规范(仅指令风格),降低安装时风险。包内包含三个 Python 脚本,将在技能安装或打包时写入磁盘——属预期行为但值得留意。SKILL.md 要求 lark-cli,但未提供自动安装或可信发布链接。
凭证需求
技能元数据未请求任何环境变量或凭证,脚本依赖用户已有的 lark-cli 认证(技能不索要密钥)。对于通过 lark-cli 调用用户飞书账户的工具而言,此举恰当。无意外凭证请求或无关环境访问。
持久化与权限
技能会在工作区目录写入状态文件(SKILL.md 指示“始终保存至 workspace”),但未请求 always:true,不声明永久全局存在,也不修改其他技能或系统级代理设置。持久化文件可能包含文档状态,需由用户自行管理。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/13

- lark-doc-reviser 初始发布。 - 支持拉取飞书文档未解决批注并展示以供针对性编辑。 - 引导用户完成分步工作流:获取文档状态、展示批注、应用块级编辑、解决批注、刷新状态。 - 支持块级文本编辑,包括富文本字段(粗体、斜体、代码等)。 - 记录当前限制(空行插入、块删除/重排序未自动化)。 - 警告勿使用某些 lark-cli 选项进行破坏性标题重命名。

无害

安装命令

点击复制
官方npx clawhub@latest install lark-doc-reviser
镜像加速npx clawhub@latest install lark-doc-reviser --registry https://cn.longxiaskill.com

技能文档

工作流程

第 1 步 — 获取文档状态

python3 scripts/fetch_doc.py  --out workspace/_state.json

该命令将完整文档状态保存到 workspace/_state.json,并在终端输出摘要:

  • commented_blocks:存在未解决评论的 block,每个 block 包含 elementsfull_text 以及评论列表 comments[]{comment_id, anchor_text, instruction}
  • all_blocks:完整的 block 列表(不含 elements,仅作结构参考)

务必保存到 workspace。编辑过程可能跨多个会话。

第 2 步 — 向用户展示评论

commented_blocks 中的每个条目按以下格式展示:

[block_type] full_text → 【anchor_text】 instruction

询问用户要处理哪些评论,或在意图明确时直接继续。

第 3 步 — 应用文本修改

对每条需要修改的文本评论,构造 patches 列表并执行:

python3 scripts/patch_blocks.py  patches.json

patches.json 格式 — elements 会完全替换该 block 的现有内容

[
  {
    "block_id": "doxcnXXXX",
    "elements": [
      {"text": "普通文字"},
      {"text": "加粗", "bold": true},
      {"text": "代码", "code": true},
      {"text": "斜体", "italic": true}
    ]
  }
]

支持的 element 字段:text(必填)、bolditaliccodestrikethroughunderline

注意: update_text_elements 会清除 elements 中的 comment_ids。这是预期行为 —— 请在第 4 步中统一解决已处理的评论。

第 4 步 — 解决已处理的评论

python3 scripts/resolve_comments.py   [comment_id ...]
# 或通过 stdin:
echo '["id1","id2"]' | python3 scripts/resolve_comments.py  -

第 5 步 — 重新获取并更新状态

再次执行第 1 步,刷新 workspace/_state.json

限制

以下操作不受本技能脚本支持,需要额外调用 API:

  • 插入空行 / 空白 block:需调用 Create Block API
  • 删除 block(例如删除分割线):需调用 Delete Block API
  • 结构重排:需调用 Move Block API

如需执行上述操作,请直接使用 lark-cli api 或询问用户是否手动处理。

警告

切勿使用 lark-cli docs +update --mode replace_range --selection-by-title 来重命名标题。该方式会选中整个章节(标题及其后所有内容直至下一标题)并全部删除。请改用 --selection-with-ellipsis "heading text"

数据来源ClawHub ↗ · 中文优化:龙虾技能库