larksuite-wiki
v1.0.0Manage and export Lark Suite (Feishu) Wiki/Knowledge Base documents. Read, search, sync with subdocuments, and incremental export to local Markdown files.
Installation
Please help me install the skill `larksuite-wiki` from SkillHub official store.
npx skills add reed1898/larksuite-wiki
Lark Suite Wiki
Manage and export Lark Suite (Feishu) Wiki/Knowledge Base documents with recursive sync and incremental updates.
Prerequisites
- Create a Lark/Feishu app at https://open.larksuite.com/console
- Enable permissions:
docs:doc:readdrive:drive:readwiki:wiki:read- Publish the app and authorize it to access your wiki
- Set environment variables (or edit script defaults):
bash export LARK_APP_ID="cli_xxxxxxxx" export LARK_APP_SECRET="xxxxxxxx"
Commands
List Wiki Spaces
larksuite-wiki spaces
Read Document (with subdocument links)
larksuite-wiki read <doc_id_or_url>
Export Single Document
larksuite-wiki export <doc_id_or_url> --output ./docs/
Show Document Tree Structure
larksuite-wiki tree <doc_id_or_url>
Sync Entire Wiki (Recursive Export)
# 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
# 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
# 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 updates