---
name: larksuite-wiki
description: Manage and export Lark Suite (Feishu) Wiki/Knowledge Base documents. Read, search, sync with subdocuments, and incremental export to local Markdown files.
homepage: https://open.larksuite.com
tags: [lark, wiki, knowledge-base, export, sync, markdown]
metadata:
{
"openclaw":
{
"emoji": "π",
"requires": { "env": ["LARK_APP_ID", "LARK_APP_SECRET"] },
"primaryEnv": "LARK_APP_ID",
},
}
---
# Lark Suite Wiki
Manage and export Lark Suite (Feishu) Wiki/Knowledge Base documents with recursive sync and incremental updates.
## Prerequisites
1. Create a Lark/Feishu app at https://open.larksuite.com/console
2. Enable permissions:
- `docs:doc:read`
- `drive:drive:read`
- `wiki:wiki:read`
3. Publish the app and authorize it to access your wiki
4. Set environment variables (or edit script defaults):
```bash
export LARK_APP_ID="cli_xxxxxxxx"
export LARK_APP_SECRET="xxxxxxxx"
```
## Commands
### List Wiki Spaces
```bash
larksuite-wiki spaces
```
### Read Document (with subdocument links)
```bash
larksuite-wiki read <doc_id_or_url>
```
### Export Single Document
```bash
larksuite-wiki export <doc_id_or_url> --output ./docs/
```
### Show Document Tree Structure
```bash
larksuite-wiki tree <doc_id_or_url>
```
### Sync Entire Wiki (Recursive Export)
```bash
# First sync - exports all documents
larksuite-wiki sync <doc_id_or_url> --output ./lark-wiki/
# Incremental sync - only exports changed documents
larksuite-wiki sync <doc_id_or_url> --output ./lark-wiki/
# Force re-export everything
larksuite-wiki sync <doc_id_or_url> --output ./lark-wiki/ --force
```
## Features
### 1. β
Batch Export
Export entire knowledge base with one command.
### 2. β
Recursive Subdocument Export
Automatically follows and exports all linked subdocuments.
### 3. β
Preserves Directory Structure
Creates nested folders matching your wiki structure:
```
lark-wiki/
βββ 01_ι¦ι‘΅/
β βββ 01_ι¦ι‘΅.md
β βββ 01_ζ₯εΈΈε€η/
β βββ 01_ζ₯εΈΈε€η.md
β βββ ...
βββ 02_δΊθͺιθεζ/
β βββ ...
```
### 4. β
Incremental Sync
Tracks document revisions and only exports changed documents:
- Saves sync state to `.lark-sync-state.json`
- Compares revision IDs
- Skips unchanged documents
## Quick Start
### Export your entire wiki
```bash
# Get your wiki root document ID from the URL
# https://xxx.larksuite.com/wiki/TDCZweBJ2iMFO4kI1LAlSE62gnd
# Sync everything
python3 larksuite-wiki.py sync TDCZweBJ2iMFO4kI1LAlSE62gnd --output ./my-wiki/
```
### Daily incremental sync
```bash
# Run daily - only exports changed documents
python3 larksuite-wiki.py sync TDCZweBJ2iMFO4kI1LAlSE62gnd --output ./my-wiki/
```
## Output Structure
Each document gets its own folder:
- Main `.md` file
- Subfolders for child documents
- Numbered prefixes for ordering (01_, 02_, etc.)
## API Reference
- Lark Open Platform: https://open.larksuite.com/
- Wiki API: https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/wiki-v1/space/overview
- Docx API: https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/docx-v1/document/overview
## Notes
- Documents must be explicitly shared with your app
- Some block types may not convert perfectly to Markdown
- Large wikis with many subdocuments may take time to sync
- Sync state is saved locally for incremental updatesHelp answer questions about Catholicism accurately
Analyze budget vs actual
Push decisions to Arbiter Zebu for async human review.
Create, validate, and publish Agent Skills following