Skip to content

Repository files navigation

openkakao-bot

Local-first KakaoTalk auto-reply agent for macOS.

CI Release Platform Rust License: MIT

FeaturesArchitectureModel SupportQuick StartConfiguration한국어 문서 (Korean)


openkakao-bot is an autonomous local agent for the macOS KakaoTalk desktop client. It observes designated chatrooms, retrieves conversation context from local databases, and drafts replies using your preferred LLM runtime without calling Kakao servers.

Architecture

KakaoTalk macOS (Local SQLCipher DB)
        │
        ▼ (Read-only Local Ingestion)
openkakao-cli (Rust Engine)
        │
        ├─► Local Vector & Semantic Memory (context.sqlite3)
        │
        ▼
Agent Decision Pipeline
        │
        ├─► Open Weights (Gemma 4, Qwen 3.8-Max, DeepSeek V4-Flash, Kimi K3 on Apple Silicon)
        ├─► Frontier APIs (Claude Sonnet 5 / Opus 5, GPT-6 Astra, Gemini 3.8 Flash)
        │
        ▼ (Native macOS Accessibility Dispatch)
KakaoTalk Composer

Features

  • 100% On-Device Privacy: Chat history, local vector memories, and credentials never leave your Mac.
  • Fast Local Ingestion: High-performance Rust core decrypts and reads local SQLite databases directly.
  • Local Memory & RAG: On-device vector embeddings and full-text search retrieve relevant context per contact.
  • Native macOS Dispatch: Sends replies using macOS Accessibility APIs without reverse-engineering server protocols.
  • Safety Controls: Strict chatroom allowlisting, rate limits, and an automated circuit breaker.

Model Support

openkakao-bot supports the latest local open-weight models and frontier cloud APIs:

1. Local & Open Weights (Apple Silicon Optimized)

Optimized for low-latency, private on-device inference via MLX, Ollama, and local servers:

  • Google Gemma: Gemma 4 (31B, 12B Unified, E4B, E2B), Gemma 3
  • Alibaba Qwen: Qwen 3.8 (Qwen3.8-Max, Qwen3.8-27B), Qwen 3
  • DeepSeek: DeepSeek V4-Flash, V4, V3.2, R1
  • Moonshot & Zhipu: Kimi K3 (2.8T MoE), Kimi K2.7 Code, GLM-5.2

2. Frontier Cloud Providers

Direct integration with cloud model providers:

  • Anthropic: Claude Sonnet 5, Claude Opus 5, Claude Fable 5.1, Claude 4.6
  • Google: Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.5 Flash, Gemini 3.1 Pro
  • OpenAI: GPT-6 Astra, GPT-5.6 Sol, GPT-5.4, o3 / o1

Quick Start

1. Build from Source

git clone https://github.com/twoimo/openkakao-bot.git
cd openkakao-bot
cargo build --release

2. Permissions

In macOS System Settings -> Privacy & Security:

  • Full Disk Access: Grant to your Terminal (or AutoReplyMenu.app) to read local database files.
  • Accessibility: Grant to allow typing replies into KakaoTalk.

3. Configuration

mkdir -p ~/.config/openkakao
cp config.example.toml ~/.config/openkakao/config.toml

Minimal ~/.config/openkakao/config.toml:

[auto_reply]
# Allowed chatrooms: ["bind:<chatId>:<exactOnScreenName>"]
chats = ["bind:123456789012345:TeamChannel"]

# Your display name in KakaoTalk
self_nickname = "Your Name"

# Runtime and Model Selection
# Local Open Weights (MLX / Ollama):
# reply_runner_kind = "ollama" # or "mlx"
# reply_model = "gemma4:12b" # or "qwen3.8:27b", "deepseek-v4-flash"

# Cloud Frontier APIs:
# reply_runner_kind = "anthropic" # or "google", "openai"
# reply_model = "claude-sonnet-5" # or "gemini-3.8-flash", "gpt-6-astra"

4. Run

# Verify environment and discover chat rooms
./target/release/openkakao-cli doctor
./target/release/openkakao-cli local-chats

# Run with Menubar UI
sh scripts/build-auto-reply-menubar.sh
open macos/AutoReplyMenu/AutoReplyMenu.app

License

MIT License

About

KakaoTalk agent for macOS

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages