技能备份 - 2026-04-15 (40个技能)
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
使用示例 - 展示如何在 OpenClaw Skill 中使用 feishu_smart_doc_writer
|
||||
"""
|
||||
|
||||
# 示例 1: 在 Skill 中写入长文档
|
||||
async def example_write_long_doc(ctx):
|
||||
"""
|
||||
在 OpenClaw Skill 中写入长文档
|
||||
|
||||
ctx 是 OpenClaw 提供的上下文对象
|
||||
"""
|
||||
from feishu_smart_doc_writer import FeishuDocWriter, ChunkConfig
|
||||
|
||||
# 创建写入器,传入 ctx
|
||||
config = ChunkConfig(
|
||||
chunk_size=2000, # 每块2000字符
|
||||
show_progress=True, # 显示进度
|
||||
max_retries=3 # 失败重试3次
|
||||
)
|
||||
writer = FeishuDocWriter(ctx, config)
|
||||
|
||||
# 准备长内容
|
||||
long_content = """
|
||||
# 项目策划文档
|
||||
|
||||
## 一、项目背景
|
||||
|
||||
这是项目的详细背景介绍...
|
||||
|
||||
## 二、技术方案
|
||||
|
||||
| 技术 | 说明 | 优势 |
|
||||
|------|------|------|
|
||||
| Python | 编程语言 | 生态丰富 |
|
||||
| OpenClaw | 自动化框架 | 功能强大 |
|
||||
|
||||
## 三、实施计划
|
||||
|
||||
1. 第一阶段...
|
||||
2. 第二阶段...
|
||||
3. 第三阶段...
|
||||
|
||||
""" * 100 # 重复100次,生成约50000字符的长内容
|
||||
|
||||
# 写入文档
|
||||
doc_url = await writer.write_document(
|
||||
title="项目策划 - 完整版",
|
||||
content=long_content,
|
||||
folder_token=None # 可选:指定文件夹
|
||||
)
|
||||
|
||||
print(f"✅ 文档创建成功: {doc_url}")
|
||||
return doc_url
|
||||
|
||||
|
||||
# 示例 2: 追加内容到现有文档
|
||||
async def example_append_to_doc(ctx, doc_url):
|
||||
"""
|
||||
向已有文档追加内容
|
||||
"""
|
||||
from feishu_smart_doc_writer import FeishuDocWriter
|
||||
|
||||
writer = FeishuDocWriter(ctx)
|
||||
|
||||
# 追加内容
|
||||
append_content = """
|
||||
## 四、补充说明
|
||||
|
||||
这是后来补充的内容...
|
||||
""" * 50
|
||||
|
||||
success = await writer.append_to_document(
|
||||
doc_url=doc_url,
|
||||
content=append_content
|
||||
)
|
||||
|
||||
if success:
|
||||
print("✅ 内容追加成功")
|
||||
else:
|
||||
print("❌ 内容追加失败")
|
||||
|
||||
return success
|
||||
|
||||
|
||||
# 示例 3: 在 Skill 定义中使用
|
||||
SKILL_DEFINITION = {
|
||||
"name": "my_skill",
|
||||
"tools": [
|
||||
{
|
||||
"name": "create_project_doc",
|
||||
"description": "创建项目文档",
|
||||
"handler": "create_project_doc_handler"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
async def create_project_doc_handler(ctx, args):
|
||||
"""
|
||||
Skill 工具处理函数
|
||||
"""
|
||||
from feishu_smart_doc_writer import FeishuDocWriter
|
||||
|
||||
title = args.get("title", "未命名文档")
|
||||
content = args.get("content", "")
|
||||
|
||||
writer = FeishuDocWriter(ctx)
|
||||
doc_url = await writer.write_document(title, content)
|
||||
|
||||
return {
|
||||
"doc_url": doc_url,
|
||||
"message": "文档创建成功"
|
||||
}
|
||||
|
||||
|
||||
# 示例 4: 直接使用同步函数(简化版)
|
||||
def example_sync_usage(ctx):
|
||||
"""
|
||||
同步方式使用(在不需要async的环境中)
|
||||
"""
|
||||
from feishu_smart_doc_writer import write_document_sync
|
||||
|
||||
doc_url = write_document_sync(
|
||||
ctx=ctx,
|
||||
title="同步创建的文档",
|
||||
content="# 标题\n\n大量内容..." * 1000
|
||||
)
|
||||
|
||||
return doc_url
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Feishu Smart Doc Writer 使用示例")
|
||||
print("=" * 50)
|
||||
print()
|
||||
print("在 OpenClaw Skill 中使用:")
|
||||
print()
|
||||
print("1. 导入:")
|
||||
print(" from feishu_smart_doc_writer import FeishuDocWriter")
|
||||
print()
|
||||
print("2. 创建写入器:")
|
||||
print(" writer = FeishuDocWriter(ctx)")
|
||||
print()
|
||||
print("3. 写入长文档:")
|
||||
print(" doc_url = await writer.write_document(title, content)")
|
||||
print()
|
||||
print("4. 追加内容:")
|
||||
print(" await writer.append_to_document(doc_url, content)")
|
||||
Reference in New Issue
Block a user