JungHoonGhae/openkakao-cli

GitHub: JungHoonGhae/openkakao-cli

macOS 上用于 KakaoTalk 的非官方 CLI,通过终端实现聊天读取与安全可控的自动化。

Stars: 109 | Forks: 33

OpenKakao

适用于 macOS 版 KakaoTalk 桌面应用的非官方 CLI。

适合直接在终端中使用,也非常适合通过 JSON 输出、watch、hook、webhook 流程由 AI 或 agent 进行调用。

可执行文件为 openkakao-cli

快速开始 · 核心 · 文档 · Claude Code Skill

GitHub stars MIT License Rust Status Deprecated Docs

**韩语** | [英语](README.en.md)
Works with OpenClaw
OpenClaw
Claude Code
Claude Code
Codex
Codex
Cursor
Cursor
Bash
Bash
HTTP
HTTP

Star History Chart

openkakao

## 快速开始 ### 对于普通用户 ``` # Homebrew brew tap JungHoonGhae/openkakao brew install openkakao-cli # 1. 保存认证信息 # 最新版 KakaoTalk 不再在 cache 中留存 token,因此建议使用邮箱+密码登录 (#15) # 如果是未知设备,KakaoTalk 会发送认证码(passcode),CLI 会接收输入以完成设备注册 (#20) openkakao-cli login --manual --save # (如果旧版本支持 cache 提取:openkakao-cli login --save) # 2. 聊天室列表 openkakao-cli chats # 3. 读取消息 openkakao-cli read -n 20 # 4. 发送消息 (LOCO write — 需要开启 opt-in:safety.allow_loco_write = true) openkakao-cli send "Hello from CLI!" # 安全的本地读取替代方案 (无服务器通信) openkakao-cli local-chats openkakao-cli local-read ``` 仅在需要时强制使用旧的基于 cache 的路径。 ``` openkakao-cli chats --rest openkakao-cli read --rest openkakao-cli members --rest ``` ### 对于 Agent ``` # 安全的本地 DB 读取 (无服务器通信) openkakao-cli local-chats --json openkakao-cli local-read --json # 运行前预览 openkakao-cli send "message" --dry-run --json # 结构化输出 openkakao-cli --json chats openkakao-cli --json read -n 20 # 实时事件监视 openkakao-cli watch --json # 连接到本地 hook 或 webhook 流程 openkakao-cli --unattended --allow-watch-side-effects watch \ --hook-cmd 'jq . > /tmp/openkakao-event.json' ``` 要在 Claude Code 中直接使用: ``` npx skills add JungHoonGhae/skills@openkakao-cli ``` ## 核心 - 从 macOS KakaoTalk 应用中提取认证信息 - 查询聊天、消息、成员、好友和个人资料 - 基于 LOCO 的消息发送、实时 watch 和媒体处理 - 可通过 `--json` 输出与 `jq`、`cron`、SQLite 和 LLM 流程集成 - 可通过 `watch`、`hook`、`webhook` 连接到本地自动化和 agent 工作流 - 可通过 `friends --local`、`profile --local`、`profile --chat-id` 恢复部分查询 - 使用 `local-chats`、`local-read`、`local-search` 从本地数据库安全读取(无服务器通信) - 使用 `--dry-run` 在执行前预览 - 使用 `send --me` 直接发送至“与我的聊天”(用于测试) - LOCO 写入默认禁用 — 需通过 `safety.allow_loco_write = true` 进行 opt-in ## 适用场景 - 想要以 JSON 格式读取聊天记录并传递给其他工具时 - 想要将 KakaoTalk 作为本地脚本或运维工具的输入渠道时 - 想要通过 hook 或 webhook 接收 watch 事件以执行后续操作时 - 想要将供人类直接使用的 CLI 与供 AI 调用的本地接口放在一起时 ## 安全模式 从 v1.1.0 版本开始,LOCO 写入操作(send、delete、edit、react)**默认禁用**。 为了保护账户,向服务器发送写入请求的命令需要显式 opt-in。 ``` # ~/.config/openkakao/config.toml [safety] allow_loco_write = true ``` 只读操作始终可用: | 命令 | 说明 | 服务器通信 | |------|------|-----------| | `local-chats` | 本地 DB 聊天列表 | 无 | | `local-read ` | 读取本地 DB 消息 | 无 | | `local-search "keyword"` | 本地 DB 搜索 | 无 | | `chats --rest` | REST API 聊天列表 | REST | | `read --rest` | 读取 REST API 消息 | REST | | `send ... --dry-run` | 发送预览 | 无 | ## 环境要求 | 要求 | 说明 | |-------------|-------| | macOS | 需安装并登录 KakaoTalk 桌面应用 | | Rust >= 1.75 | 从源码构建时需要 | ## 安装 ### Homebrew ``` brew tap JungHoonGhae/openkakao brew install openkakao-cli ``` ### 从源码安装 ``` git clone https://github.com/JungHoonGhae/openkakao-cli.git cd openkakao/openkakao-cli cargo install --path . ``` ## 文档 - 文档网站:https://openkakao.vercel.app/ - 快速开始:https://openkakao.vercel.app/docs/getting-started/quickstart/ - CLI 参考:https://openkakao.vercel.app/docs/cli/overview/ - 自动化概述:https://openkakao.vercel.app/docs/automation/overview/ - LLM / agent 工作流:https://openkakao.vercel.app/docs/automation/llm-agent-workflows/ - watch 模式:https://openkakao.vercel.app/docs/automation/watch-patterns/ - 协议文档:https://openkakao.vercel.app/docs/protocol/overview/ 逆向工程 / 本地应用状态 diff: ``` openkakao-cli profile-hints --local-graph --json openkakao-cli profile-hints --app-state --json > /tmp/profile-before.json openkakao-cli profile-hints --app-state --app-state-diff /tmp/profile-before.json --json ``` ## Claude Code Skill ``` npx skills add JungHoonGhae/skills@openkakao-cli ``` ## 开发 ``` cd openkakao-cli cargo build --release ``` 详细用法、运维说明和协议介绍均已整理在文档网站中。 ## 支持 Buy Me A Coffee ## 贡献 欢迎提交 bug 报告和 PR。 ## 许可证 MIT
标签:AI集成, KakaoTalk, macOS, Rust, 即时通讯, 命令行工具, 网络流量审计, 通知系统, 非官方客户端