← 返回 Skills 市场
griffithkk3-del

lark-wiki-writer

作者 griffithkk3-del · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
297
总下载
0
收藏
1
当前安装
2
版本数
在 OpenClaw 中安装
/install lark-wiki-writer
功能描述
将 Markdown 格式内容解析并写入飞书知识库,支持标题、多级列表、富文本、代码块和本地图片自动上传插入。
使用说明 (SKILL.md)

Lark Wiki Writer

飞书知识库文档写入器 - 支持 Markdown 解析、富文本、标题识别。

快速开始

步骤 1:创建飞书应用

  1. 访问 飞书开放平台
  2. 点击"创建企业自建应用"
  3. 填写应用名称和描述
  4. 记录 App IDApp Secret

步骤 2:配置应用权限

在应用管理页面,添加以下权限:

  • 知识库 → 查看、编辑和管理知识空间
  • 文档 → 查看、编辑和管理文档

步骤 3:获取知识库 Space ID

  1. 打开飞书知识库
  2. 在浏览器地址栏找到 Space ID(长数字串)
  3. 例如:https://xxx.larksuite.com/wiki/space/7603663680785370844
    • Space ID 就是 7603663680785370844

步骤 4:获取父节点 Token(可选)

如果要在特定目录下创建文档:

  1. 打开目标目录
  2. 在地址栏找到 node_token
  3. 例如:https://xxx.larksuite.com/wiki/JieGwPB0MiKhPbkkq9cltbPIgid
    • 父节点 token 就是 JieGwPB0MiKhPbkkq9cltbPIgid

步骤 5:配置环境变量

export LARK_APP_ID="cli_xxxxxxxxxx"
export LARK_APP_SECRET="xxxxxxxxxxxxxx"
export LARK_SPACE_ID="7603663680785370844"
export LARK_WIKI_DOMAIN="your-domain.larksuite.com"  # 可选
export LARK_PARENT_NODE="JieGwPB0MiKhPbkkq9cltbPIgid"  # 可选

或者创建配置文件 config.json

{
  "app_id": "cli_xxxxxxxxxx",
  "app_secret": "xxxxxxxxxxxxxx",
  "space_id": "7603663680785370844",
  "wiki_domain": "your-domain.larksuite.com"
}

步骤 6:验证配置

python3 lark_wiki_writer.py validate \
  --app-id YOUR_APP_ID \
  --app-secret YOUR_APP_SECRET \
  --space-id YOUR_SPACE_ID

输出示例:

📊 配置验证结果

APP_ID: ✅
APP_SECRET: ✅
Space ID: ✅
Token 获取: ✅
知识库访问: ✅

核心功能

1. 标题识别

根据 # 数量自动识别标题级别:

Markdown 飞书 Block
# 标题 heading1
## 二级标题 heading2
### 三级标题 heading3
... ...
###### 六级标题 heading6

2. 富文本支持

Markdown 效果
**加粗** 加粗
*斜体* 斜体
***加粗斜体*** 加粗斜体
~~删除线~~ 删除线
`行内代码` 行内代码
[链接](url) 链接

3. 列表支持

- 无序列表项 1
- 无序列表项 2

1. 有序列表项 1
2. 有序列表项 2

4. 代码块

```python
def hello():
    print("Hello World")
```

支持的语言:python, javascript, typescript, go, rust, java, c, cpp, shell, bash, sql, html, css, json, yaml, xml, markdown

5. 分隔线

---

***

使用方法

方式 1:命令行参数

# 创建文档
python3 lark_wiki_writer.py create "文档标题" "# 内容" \
  --app-id YOUR_APP_ID \
  --app-secret YOUR_APP_SECRET \
  --space-id YOUR_SPACE_ID \
  --parent YOUR_PARENT_NODE

# 从文件写入
python3 lark_wiki_writer.py write_file "文档标题" /path/to/file.md \
  --app-id YOUR_APP_ID \
  --app-secret YOUR_APP_SECRET \
  --space-id YOUR_SPACE_ID

方式 2:环境变量

# 设置环境变量
export LARK_APP_ID="cli_xxx"
export LARK_APP_SECRET="xxx"
export LARK_SPACE_ID="xxx"
export LARK_PARENT_NODE="xxx"

# 使用
python3 lark_wiki_writer.py create "文档标题" "# 内容"
python3 lark_wiki_writer.py write_file "文档标题" report.md

方式 3:Python API

from lark_wiki_writer import LarkWikiWriter

# 初始化
writer = LarkWikiWriter(
    app_id="cli_xxx",
    app_secret="xxx",
    space_id="xxx",
    wiki_domain="your-domain.larksuite.com"
)

# 创建并写入
doc = writer.create_and_write(
    title="我的文档",
    content="""
# 主标题

## 二级标题

这是**加粗**和*斜体*内容。

### 列表
- 项目1
- 项目2

### 代码
```python
print("Hello")

""", parent_node_token="YOUR_PARENT_NODE" )

print(f"文档链接: {doc['url']}")


---

## 完整示例

### 示例 1:创建简单文档

```bash
python3 lark_wiki_writer.py create "测试文档" "# Hello World

这是一个测试文档。

## 功能
- 支持 Markdown
- 支持富文本
- 支持代码块" \
  --app-id cli_xxx \
  --app-secret xxx \
  --space-id xxx

示例 2:从 Markdown 文件创建

创建文件 report.md

# 研究报告

## 摘要

这是一份关于 **Polymarket** 的研究报告。

## 主要发现

1. 市场规模持续增长
2. 用户活跃度提升
3. 技术架构稳定

## 数据分析

```python
import pandas as pd

data = pd.read_csv("data.csv")
print(data.head())

结论

Polymarket 是一个值得关注的预测市场平台。


报告完成于 2026-03-11


写入飞书:

```bash
python3 lark_wiki_writer.py write_file "Polymarket 研究报告" report.md \
  --app-id cli_xxx \
  --app-secret xxx \
  --space-id xxx \
  --parent JieGwPB0MiKhPbkkq9cltbPIgid

故障排查

问题 1:APP_ID 或 APP_SECRET 错误

错误信息:

❌ 配置错误: APP_ID 或 APP_SECRET 错误,请检查配置

解决方法:

  1. 检查 App ID 和 App Secret 是否正确
  2. 确认应用状态是否正常
  3. 重新获取凭证

问题 2:应用权限不足

错误信息:

❌ 配置错误: 应用权限不足,请在飞书开放平台添加知识库权限

解决方法:

  1. 进入飞书开放平台
  2. 选择你的应用
  3. 添加"知识库"和"文档"权限
  4. 重新获取 access_token

问题 3:找不到知识库

错误信息:

❌ 知识库访问: ❌ space not found

解决方法:

  1. 检查 Space ID 是否正确
  2. 确认应用有访问该知识库的权限
  3. 确认知识库未被删除

问题 4:缺少配置

错误信息:

❌ 配置错误: 缺少 LARK_APP_ID,请通过参数或环境变量提供

解决方法:

  • 通过 --app-id 参数提供
  • 或设置 LARK_APP_ID 环境变量

技术细节

API 端点

功能 端点
获取 token POST /open-apis/auth/v3/tenant_access_token/internal
创建文档 POST /open-apis/wiki/v2/spaces/{space_id}/nodes
获取 blocks GET /open-apis/docx/v1/documents/{obj_token}/blocks
写入 blocks POST /open-apis/docx/v1/documents/{obj_token}/blocks/{block_id}/children

Block Type 对照

Block Type 说明
2 段落文本
3-11 heading1-heading9
12 无序列表
13 有序列表
14 代码块
22 分隔线

写入策略

  1. 将 Markdown 解析为 block 结构
  2. 批量写入(每批 10 个 blocks)
  3. 块之间间隔 300ms 避免 API 限制

注意事项

  1. ⚠️ Token 有效期:access_token 有效期 2 小时,过期需重新获取
  2. ⚠️ API 限速:建议每秒不超过 10 次请求
  3. ⚠️ 内容长度:单个 block 内容不要超过 5000 字符
  4. ⚠️ 图片功能:当前版本图片功能为占位符,实际上传功能待完善

常见问题

Q: 如何获取飞书域名?

A: 在浏览器中打开飞书知识库,地址栏中的域名就是你的飞书域名。例如:

  • https://omq113gwol.sg.larksuite.com/ → 域名是 omq113gwol.sg.larksuite.com

Q: 父节点 token 是必需的吗?

A: 不是必需的,但建议提供。如果不提供,需要设置 LARK_PARENT_NODE 环境变量。

Q: 支持哪些 Markdown 语法?

A: 支持标题、加粗、斜体、删除线、行内代码、链接、列表、代码块、分隔线。

Q: 可以更新已有文档吗?

A: 当前版本只支持创建新文档,不支持更新已有文档。


许可证

MIT License


贡献

欢迎提交 Issue 和 Pull Request!


更新日志

v1.0.0 (2026-03-11)

  • ✅ 支持 Markdown 解析
  • ✅ 支持富文本格式
  • ✅ 支持标题识别
  • ✅ 支持列表和代码块
  • ✅ 添加配置验证命令
  • ✅ 改进错误提示
安全使用建议
该 Skill 的功能描述与其代码大体一致(将 Markdown 转为飞书 Wiki blocks 并通过 open.larksuite.com API 写入),但注意两点不一致:1) registry/metadata 没有列出任何必需的环境变量,但实际运行需要 LARK_APP_ID、LARK_APP_SECRET、LARK_SPACE_ID(并且 create_document 在没有父节点 token 时会报错);2) 文档提到图片上传是占位符,实际可能未实现。 在安装/运行前请: - 仔细审阅 lark_wiki_writer.py(尤其是写入与网络请求部分),确认它只调用 open.larksuite.com 或你指定的 wiki 域名; - 使用最小权限/测试应用凭据(而非生产管理员凭据),并在测试租户中验证; - 注意为脚本提供或设置 LARK_PARENT_NODE,否则 create_document 可能失败; - 如需进一步信任,考虑在受控环境(如容器或隔离虚拟机)中运行并监控出站网络请求与日志; - 若你依赖自动化/注册表信息,请要求包维护者修正元数据以反映真实的环境变量需求。
功能分析
Type: OpenClaw Skill Name: lark-wiki-writer Version: 1.0.1 The Lark Wiki Writer skill is a legitimate tool for converting Markdown content into Feishu/Lark wiki documents. The code (lark_wiki_writer.py) uses standard Python libraries to interact with the official Lark Open API (open.larksuite.com) and contains no evidence of data exfiltration, malicious execution, or prompt injection. It handles sensitive credentials via environment variables or command-line arguments as expected for this type of integration.
能力评估
Purpose & Capability
名称和描述(将 Markdown 写入飞书知识库)与代码功能总体匹配,但注册表元数据声明“无需环境变量/凭据”,而 SKILL.md 和 lark_wiki_writer.py 实际上需要 LARK_APP_ID、LARK_APP_SECRET、LARK_SPACE_ID(以及可选的 LARK_PARENT_NODE、LARK_WIKI_DOMAIN)。这个元数据与实际需求不一致,可能误导用户授予凭据或阻止自动检查。
Instruction Scope
SKILL.md 的运行/用法说明限定在创建飞书应用、设置环境变量、从本地 Markdown 文件读取并调用飞书 Open API;没有发现指示读取或上传与任务无关的系统文件或向第三方域外传输数据。唯一问题是文档声称父节点 token“可选”,但代码 create_document 在缺少父节点时会抛出异常——文档与实现存在不一致。
Install Mechanism
没有安装脚本或从不信任源下载的安装步骤:这是一个 instruction-only 包含 Python 源文件,用户通过本地运行脚本即可,降低了安装链路风险。
Credentials
Skill 需要飞书应用 ID 与 Secret 以及 Space ID——这些是执行其声明功能所必需且合理的。然而,包元数据/registry 未声明这些凭据(显示“无需环境变量”),导致矛盾;此外 create_document 的实现实际上强制要求父节点 token(或环境变量),尽管文档称其为可选。要求的凭据敏感,应仅授予最小权限且优先使用测试/受限账号。
Persistence & Privilege
flags 显示 always: false 并允许用户调用/自主调用(平台默认),脚本不试图修改其他技能或全局代理配置,也未请求永久驻留或提升平台权限。
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lark-wiki-writer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lark-wiki-writer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
**Changelog for v1.0.1** - Added sample configuration file: `config.example.json` - Added usage documentation: `README.md`
v1.0.0
Lark Wiki Writer 1.0.0 初始版本发布,支持 Markdown 转为飞书知识库富文本文档。 - 自动解析 Markdown 标题、富文本、列表、代码块、分隔线及图片为飞书对应文档块 - 支持本地图片自动上传插入 - 命令行与 Python API 双方式写入、追加内容 - 支持分块批量写入与 API 速率控制 - Markdown 语法与飞书块类型详细对照 - 可配置多项环境变量适配不同知识库环境
元数据
Slug lark-wiki-writer
版本 1.0.1
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 2
常见问题

lark-wiki-writer 是什么?

将 Markdown 格式内容解析并写入飞书知识库,支持标题、多级列表、富文本、代码块和本地图片自动上传插入。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 297 次。

如何安装 lark-wiki-writer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lark-wiki-writer」即可一键安装,无需额外配置。

lark-wiki-writer 是免费的吗?

是的,lark-wiki-writer 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

lark-wiki-writer 支持哪些平台?

lark-wiki-writer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 lark-wiki-writer?

由 griffithkk3-del(@griffithkk3-del)开发并维护,当前版本 v1.0.1。

💬 留言讨论