via54Larkgroups
Local-only Feishu (Lark) chat archive tool. Pulls your daily chat history and exports it as Markdown + raw files. No data ever leaves your machine.
中文文档 · Quick Start · Security Model · Contributing
What is it?
A Python CLI tool that:
- Logs into your Feishu account via OAuth 2.0 (browser-based, you approve)
- Pulls the last 24 hours of chat messages
- Stores them in a local SQLite database
- Exports them as Markdown (
YYYY-MM-DD.md) with attachments preserved - (Optional) Auto-syncs daily
Why?
- Feishu’s official export only covers a single chat at a time
- Third-party SaaS tools cost money and require trusting them with your messages
- This tool keeps everything on your disk
Quick Start
Install
git clone https://github.com/veawho/via54Larkgroups.git
cd via54Larkgroups
pip install -e .
Create a Feishu App (~10 min, one-time)
See setup_zh.md.
Required OAuth scopes (only these 3):
im:message:readonlyim:message.group_at_msg:readonlycontact:user.base:readonly
Save credentials
feishu-vault config --app-id "cli_xxx" --app-secret "yyy"
Login + sync
feishu-vault login # opens browser
feishu-vault sync # last 24h
feishu-vault archive # export to Markdown
Security Model
| Aspect | Guarantee |
|---|---|
| Data location | All in ~/AppData/Local/hermes/feishu_vault/ |
| Network targets | Only open.feishu.cn + passport.feishu.cn |
| OAuth scope | Hardcoded allowlist (3 readonly scopes) |
| Token TTL | 24h hardcoded |
| Default state | OFF — manual sync unless opt-in |
| Stop button | feishu-vault stop within 5s |
| Write capability | NONE — tool cannot send messages |
Links
- 📦 GitHub repo
- 📖 Full README
- 🇨🇳 中文使用手册
- 🏗️ Architecture docs
- 🛡️ Security policy
- 📋 Changelog
License
MIT — see LICENSE.