飞书画板编辑器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @user_3ef5c419/feishu-whiteboard-editor 安装到当前 AI 助手。
技能介绍
要解决的问题
在飞书云文档里画图,最大的坑是 图会变成“死图”。用原生绘图工具画完,后续想改一根连线、加一个分支,往往要么不能编辑,要么得整张图重画。对一个正在迭代的架构图或思维导图来说,这意味着用户每次手动微调都会在下一次脚本写入时被清空。
这个技能的目标很明确:让飞书画板成为可增量修改的画布。用户可以在云文档里双击进入画板直接手改节点,而技能通过 lark-cli 读写底层节点数据,只对用户当次要求的字段做 delta 更新,绝不丢旧建新堆叠。
核心能力与工作流
技能的底层逻辑围绕 SVG 路径 展开。飞书会把导入的 SVG 解析为 composite_shape、text_shape 和 connector 等 native 节点,但反向直编 raw JSON 会被校验拦截。因此所有修改必须走以下闭环:
- 导出现状:使用
lark-cli whiteboard +export --output-type raw导出当前全部节点,包含用户所有手动改动。 - 增量解析:用 Python 解析节点,定位要改、删或加的目标分支。
- SVG 重组装:把完整(修改后的)节点拼回一个完整 SVG。这里推荐使用
scripts/gen_tree_svg.py生成新增分支的 SVG 片段,平移坐标后拼接到现有画板末尾。 - 回写验证:执行
lark-cli whiteboard +update --input_format svg --overwrite带全部内容回去,再导出 raw 验证节点数与文字完整性。
对于全新画板,流程则简化为:写 SVG → 调用 API 创建大尺寸 board block(默认 600×400 太小,需扩至如 2400×1000)→ +update --overwrite 写入。
适用边界与注意点
- 有损转换风险:SVG round-trip 非无损。色条必须保持为矢量
<rect>,如果变成<image>,在后续 round-trip 中 src 会丢失,导致节点直接消失。 - 不要套用固定模板:技能附带的
format-spec.md仅属于 Amy 的「客服全链路」项目,标题字号、平台配色(如独立站橙#d97706)和 Zendesk 状态标注都是该项目的手动定稿样式。画新图时,结构、配色、布局一律以用户当次要求为准。 - 防降级:避免使用
///语法,画板不支持该特性,会降级为内嵌图片,导致画板变为不可编辑状态。 - 增量铁律:任何结构改动必须基于当前节点的 delta,保留用户手动内容,严禁从空白模板重建整张图。
使用场景
- 在飞书文档中新建一张多层级组织架构图,要求双击进入画板后能直接编辑每个节点的文字。
- 修改已有的产品架构图,新增一个微服务分支并更新连线,同时保留其他未动区域的原始布局和手动修改。
- 将画板中原本降级为图片的思维导图替换为原生可编辑节点,以便团队成员直接在云端协作修改文字。
- 统一某业务线画板的视觉规范,调整标题字号和左侧色条颜色,仅修改目标节点而不重绘整张画板。
适合人员
- 需要频繁更新产品架构图并在飞书中与团队协同评审的后端工程师或架构师。
- 维护多业务线流程图并需要确保每次修改不覆盖历史手动调整的项目经理。
- 希望在飞书文档中直接插入可编辑关系图且不希望被转换为静态图片的技术文档撰写者。