beta · unofficial KakaoTalk CLI for macOS
Turn KakaoTalk into a
practical local workflow.
Turn KakaoTalk into a local workflow surface.
Read, watch, export, and automate with a clear local boundary.
Install in minutes.
Install the CLI, reuse local app state, and read your first chat without leaving your machine.
A practical CLI surface.
Use OpenKakao when KakaoTalk already holds the context, but the workflow surface around it is still too limited.
Why it existsRead
Read recent cache-backed messages fast, or switch to LOCO when the workflow needs the real history path.
Watch
Move from polling to reconnect-aware real-time monitoring when latency starts to matter.
Export
Export selected message slices into JSON, SQLite, search indexes, and local tools you already control.
Send carefully
Keep outbound actions narrow, explicit, and close to the operator instead of hiding them behind a relay.
Read
Read recent cache-backed messages fast, or switch to LOCO when the workflow needs the real history path.
Watch
Move from polling to reconnect-aware real-time monitoring when latency starts to matter.
Export
Export selected message slices into JSON, SQLite, search indexes, and local tools you already control.
Send carefully
Keep outbound actions narrow, explicit, and close to the operator instead of hiding them behind a relay.
Read
Read recent cache-backed messages fast, or switch to LOCO when the workflow needs the real history path.
Watch
Move from polling to reconnect-aware real-time monitoring when latency starts to matter.
Export
Export selected message slices into JSON, SQLite, search indexes, and local tools you already control.
Send carefully
Keep outbound actions narrow, explicit, and close to the operator instead of hiding them behind a relay.
Read
Read recent cache-backed messages fast, or switch to LOCO when the workflow needs the real history path.
Watch
Move from polling to reconnect-aware real-time monitoring when latency starts to matter.
Export
Export selected message slices into JSON, SQLite, search indexes, and local tools you already control.
Send carefully
Keep outbound actions narrow, explicit, and close to the operator instead of hiding them behind a relay.
Turn chats into local data.
Pull message slices into JSON and persist them in the tools you already control.
openkakao-rs export \
--chat-id 382416827148557 \
--format json \
--limit 50 > messages.json
jq '.[] | {author, message}' messages.jsonAutomate with a clear boundary.
Use watch, hooks, and signed webhooks when polling is no longer enough.
openkakao-rs --unattended \ --allow-watch-side-effects \ watch \ --hook-chat-id 382416827148557 \ --hook-keyword urgent \ --hook-cmd './handle-event.sh'
Reconnect-aware event stream.
Local command or signed webhook.
Explicit operator boundary.
One docs shell, several workflow surfaces.
Move from guides to command reference to trust boundary without leaving the same shell.
The structure follows official Fumadocs patterns, but the workflow model is now fully OpenKakao.
openkakao-rs loco-chats
openkakao-rs loco-read <chat_id> -n 20 --json
openkakao-rs watch --chat-id <chat_id>One surface, many workflows.
OpenKakao is most useful when you use it as a narrow local bridge: inspect first, structure next, and automate only where the boundary is explicit.
openkakao-rs unread --json
openkakao-rs loco-read <chat_id> -n 50 --json | jq .Inspect first.
Turn message streams into readable, reviewable input before you automate side effects.
- Unread triage
- History export
- Review queues
- Operator summaries
Docs For Operators.
Keep the workflow narrow.
Treat OpenKakao as a local operator tool. Read first, review next, and expand automation only when the boundary is clear.
Read locally
Start with message history and account state before any side effects.
Escalate carefully
Use webhooks only when the workflow truly needs to leave the machine.
Why this exists
KakaoTalk already holds requests, updates, and coordination. OpenKakao exists because the workflow surface around that context is still structurally limited.
ExploreThe value is composition, not one command.
Read, export, watch, classify, review, and send only if the workflow still needs it.
Read
Pull real chat context into a scriptable local surface.
Watch
React to events when latency matters.
Review
Keep outbound action narrow and explicit.
Two transport surfaces, one CLI.
REST stays cheap and cache-backed. LOCO handles real chat workflows, watch mode, and sending.
Composable primitives.
The CLI stays intentionally small: read, watch, search, export, send, and auth recovery.
read
Cheap cache-backed message reads when GUI recency is enough.
loco-read
Reliable history fetches for exports and automation.
watch
Real-time monitoring with reconnect handling and narrow side effects.
send
Controlled outbound messaging with explicit unattended policy.
login / relogin / renew
Recovery and credential reuse around the real app state.
Adopts your local stack.
OpenKakao is strongest when it feeds tools you already trust: `jq`, `sqlite`, launchd, local agents, search indexes, and narrow webhook receivers.
openkakao-rs loco-read <chat_id> --all --json > history.json
jq '.[] | {author, message}' history.json
sqlite3 chat.db '.import history.json messages'Local workflow
openkakao-rs unread --json openkakao-rs watch --hook-cmd ./handle-event.sh openkakao-rs send <chat_id> "done"
Search the exact command surface.
The landing explains where the CLI helps. Search takes you to the exact command, flag, and risk boundary when you need to implement.
Open docsGetting Started
Install, authenticate, and read your first chat.
read / loco-read
Choose between cache-backed reads and full history fetches.
watch
Real-time monitoring, hooks, webhooks, and reconnect boundaries.
Security
Trust model, credentials, and safe usage boundaries.
The workflow docs for OpenKakao
From quickstart to trust model to command detail, the site keeps the official Fumadocs rhythm while replacing the example surface with OpenKakao's actual workflow model.
Command referenceInstall, authenticate, and read.
Start with local app state, confirm the session, then use `read` or `loco-read` depending on the workflow boundary.
Install
Set up the CLI and keep the environment local.
Authenticate
Reuse credentials from the real app and persist them carefully.
Read
Inspect cache-backed or LOCO-backed message paths.
Automate
Move to watch, hooks, and webhooks only when needed.
Operate With Clear Boundaries.
Security is part of the product.
OpenKakao is useful because it stays close to the real app. The docs treat security, limitations, and unattended policy as first-class topics for the same reason.
Build Your Workflow
local, scriptable, and explicit about its boundaries.
- Local-first by default.The intended trust boundary is your machine to Kakao, not your machine to an OpenKakao backend.
- Event-driven when needed.Use watch mode when polling is no longer enough, but keep retries and delivery guarantees in your own wrapper.
- Narrow side effects.Hooks and webhooks are explicit surfaces, not hidden background behavior.
- Fast to start.Install, authenticate, and read the first chat in minutes, then deepen only the workflows you actually need.
- Read docsOpen GitHub