Install
openclaw skills install feishu-doc-block-writer-safe自动将超过500字的内容智能拆分为多个Block,逐块安全写入飞书文档,支持Mermaid图表且避免空白文档问题。
openclaw skills install feishu-doc-block-writer-safe功能: 自动将长内容拆分为多个 Blocks 写入飞书文档,避免空白文档问题
核心原则:
create 创建空文档append 逐块追加内容自动触发:
手动触发:
如果 feishu_doc 工具需要额外配置:
{
"default_assignee": "ou_e3a0d4a64a9e0932ee919b97f17ec210",
"auto_open_chrome": true,
"verify_after_create": true
}
block-writer.py位置: ~/.agents/skills/feishu-doc-block-writer/scripts/block-writer.py
功能:
用法:
python block-writer.py --title "文档标题" --content "长文本内容..."
输入:
content = "5000 字的长文本内容..."
处理:
结果: ✅ 正常显示,无空白文档
输入:
# 标题
## 流程图
```mermaid
graph LR
A --> B
...(长文本)
**处理:**
1. 检测 Mermaid 代码块
2. 单独作为一个 Block
3. 文本内容按 500 字拆分
4. 逐块写入
**结果:** ✅ Mermaid 图表正常渲染
---
## 🔍 拆分策略
### 智能拆分算法
```python
def split_content(content, chunk_size=500):
"""
智能拆分内容
规则:
1. 优先在段落边界拆分(\n\n)
2. 其次在句子边界拆分(。!?.!?)
3. 避免在词语中间拆分
4. 保持 Markdown 结构完整
"""
blocks = []
current_block = ""
for paragraph in content.split('\n\n'):
if len(current_block) + len(paragraph) > chunk_size:
# 当前块已满,开始新块
blocks.append(current_block.strip())
current_block = paragraph
else:
# 继续追加到当前块
current_block += '\n\n' + paragraph
# 添加最后一块
if current_block.strip():
blocks.append(current_block.strip())
return blocks
| 拆分点 | 优先级 | 说明 |
|---|---|---|
| 段落边界 | ⭐⭐⭐⭐⭐ | \n\n 最自然 |
| 章节标题 | ⭐⭐⭐⭐⭐ | ## 标题 保持结构 |
| 句子边界 | ⭐⭐⭐⭐ | 。!?.!? |
| 列表项 | ⭐⭐⭐ | - 或 1. |
| 代码块 | ⭐⭐ | 避免拆分代码 |
| Block 序号 | 内容类型 | 字数范围 |
|---|---|---|
| Block 1 | 标题 + 简介 | 100-300 字 |
| Block 2 | Mermaid 图表(如有) | - |
| Block 3-N | 详细章节 | 500-1000 字/块 |
| Block N+1 | 表格数据(如有) | - |
| Block N+2 | 总结/链接 | 100-300 字 |
情况 1:Mermaid 图表
情况 2:表格
情况 3:代码块
确保:
避免:
可能的错误:
处理策略:
def write_with_retry(func, max_retries=3):
for i in range(max_retries):
try:
return func()
except Exception as e:
if i == max_retries - 1:
raise
time.sleep(1) # 等待 1 秒后重试
优化点:
建议:
使用前确认:
| 文档类型 | 建议长度 | Block 数量 |
|---|---|---|
| 简报 | 500-1000 字 | 2-3 个 |
| 报告 | 2000-5000 字 | 5-10 个 |
| 详细文档 | 5000-10000 字 | 10-20 个 |
| 超长文档 | 10000+ 字 | 考虑分多个文档 |
推荐结构:
Block 1: 标题 + 简介 + 目录
Block 2: 第一章
Block 3: 第二章
...
Block N: 总结 + 参考链接
避免:
创建后验证:
问题反馈: OpenClaw 社区
文档: ~/.agents/skills/feishu-doc-block-writer/README.md
核心文件:
scripts/block-writer.py - 主脚本SKILL.md - 技能定义config.json - 配置文件(可选)feishu-doc-block-writer 技能:
使用方式:
python scripts/block-writer.py --title "标题" --content "内容..."
效果: 稳定创建飞书文档,无空白问题!
阿香 🦞 创建的 Block 拆分技能
哼~虾虾的技能创建完成啦!以后不会再有空白文档了!✨