kakaotalk-mac
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseKakaoTalk Mac CLI
KakaoTalk Mac CLI
What this skill does
功能说明
kakaocli이 스킬은 macOS + 카카오톡 Mac 앱 설치를 전제로 한다. 공식 Kakao API를 쓰는 것이 아니라 로컬 데이터베이스 읽기와 macOS 접근성 자동화 위에서 동작하므로, 권한과 안전 규칙을 먼저 확인해야 한다.
使用在macOS上查看KakaoTalk对话列表、搜索消息,必要时发送回复。
kakaocli本技能的使用前提是已安装macOS + KakaoTalk Mac版应用。它没有使用官方Kakao API,而是基于本地数据库读取和macOS辅助功能自动化运行,因此需要先确认权限和安全规则。
When to use
适用场景
- "카카오톡 최근 대화 목록 보여줘"
- "특정 채팅방 최근 메시지 찾아줘"
- "카카오톡 메시지 검색해줘"
- "내 카톡으로 테스트 메시지 보내줘"
- "답장 초안은 만들되 실제 전송 전에는 꼭 확인받아"
- "给我展示KakaoTalk最近的对话列表"
- "帮我查找特定聊天室的最近消息"
- "帮我搜索KakaoTalk消息"
- "用我的KakaoTalk发送一条测试消息"
- "先生成回复草稿,实际发送前一定要让我确认"
When not to use
不适用场景
- macOS가 아닌 환경
- 카카오톡 Mac 앱이 설치되어 있지 않은 환경
- 사용자 확인 없이 다른 사람에게 메시지를 바로 보내야 하는 작업
- 카카오 공식 API 범위 안에서 해결 가능한 서버-투-서버 연동 작업
- 非macOS环境
- 未安装KakaoTalk Mac版应用的环境
- 无需用户确认就直接给他人发送消息的任务
- 可在Kakao官方API范围内解决的服务器间对接任务
Prerequisites
前置条件
- macOS
- KakaoTalk for Mac 설치
- Homebrew
- Mac App Store 로그인(사용 시)
mas - 설치
kakaocli - 터미널 앱에 Full Disk Access 와 Accessibility 권한 부여
- macOS
- 已安装KakaoTalk for Mac
- Homebrew
- 已登录Mac App Store(使用时需要)
mas - 已安装
kakaocli - 给终端应用授予完全磁盘访问权限和辅助功能权限
Inputs
输入参数
- 채팅방 이름 또는 검색 키워드
- 읽기 범위: 최근 N개, ,
--since 1h등--since 7d - 전송할 메시지 본문
- 테스트 여부 (,
--me)--dry-run
- 聊天室名称或搜索关键词
- 读取范围:最近N条,、
--since 1h等--since 7d - 待发送的消息正文
- 是否为测试模式(、
--me)--dry-run
Workflow
工作流程
0. Install KakaoTalk for Mac first when missing
0. 缺失KakaoTalk for Mac时优先安装
카카오톡 Mac 앱이 없으면 먼저 설치한다. 를 쓰려면 App Store 로그인 상태여야 한다.
masbash
brew install mas
mas account
mas install 869223134mas install如果没有KakaoTalk Mac版应用就先安装。要使用需要先登录App Store。
masbash
brew install mas
mas account
mas install 869223134如果执行失败,先在App Store应用中登录后再重试。
mas install1. Install kakaocli
kakaocli1. 安装kakaocli
kakaocli공식 저장소 기준 권장 설치는 Homebrew tap 이다.
bash
brew install silver-flight-group/tap/kakaocli설치 후 바로 상태를 확인한다.
bash
kakaocli status官方仓库推荐的安装方式是通过Homebrew tap安装。
bash
brew install silver-flight-group/tap/kakaocli安装后立即检查运行状态。
bash
kakaocli status2. Grant the required macOS permissions
2. 授予所需的macOS权限
System Settings > Privacy & Security 에서 현재 사용하는 터미널 앱(iTerm, Terminal, Warp 등)에 아래 권한을 준다.
- Full Disk Access: 카카오톡 로컬 데이터베이스 읽기용
- Accessibility: 메시지 전송, harvest, inspect 같은 UI 자동화용
기본 규칙:
- /
status/auth같은 읽기 명령도 Full Disk Access 가 필요하다.chats - ,
send,harvest류 작업은 Accessibility 권한까지 필요하다.inspect
在系统设置 > 隐私与安全性中,给当前使用的终端应用(iTerm、Terminal、Warp等)授予以下权限:
- 完全磁盘访问权限:用于读取KakaoTalk本地数据库
- 辅助功能权限:用于消息发送、harvest、inspect等UI自动化操作
基本规则:
- /
status/auth等读取类命令也需要完全磁盘访问权限。chats - 、
send、harvest类操作还需要辅助功能权限。inspect
3. Verify read access before attempting side effects
3. 执行有副作用的操作前先验证读取权限
먼저 읽기 경로가 되는지 확인한다.
bash
kakaocli status
kakaocli auth
kakaocli chats --limit 10 --jsonauth先确认读取路径是否正常。
bash
kakaocli status
kakaocli auth
kakaocli chats --limit 10 --jsonauth4. Read or search messages
4. 读取或搜索消息
bash
kakaocli messages --chat "지수" --since 1h --json
kakaocli search "점심" --json응답은 가능하면 JSON 모드로 받고, 사람이 읽기 쉽게 다시 요약한다.
bash
kakaocli messages --chat "지수" --since 1h --json
kakaocli search "점심" --json尽量以JSON模式获取响应,再重新整理为便于人类阅读的摘要内容。
5. Use safe testing before real sends
5. 实际发送前先进行安全测试
실제 전송 전에 먼저 자기 자신에게 테스트하거나 dry-run 으로 확인한다.
bash
kakaocli send --me _ "테스트 메시지"
kakaocli send --dry-run "채팅방 이름" "보낼 문장"--me实际发送前先给自己发测试消息,或者用dry-run模式确认。
bash
kakaocli send --me _ "테스트 메시지"
kakaocli send --dry-run "채팅방 이름" "보낼 문장"--me6. Confirm before sending to other people
6. 发送给他人前先确认
다른 사람이나 단체방으로 보내기 전에는 반드시 사용자의 최종 확인을 받는다.
확인 전에는 아래만 준비한다.
- 대상 채팅방 이름
- 전송할 문장
- 왜 이 문장을 보내는지 한 줄 설명
확인을 받았을 때만 전송한다.
bash
kakaocli send "채팅방 이름" "보낼 문장"给其他人或群聊发送消息前,必须先获得用户的最终确认。
确认前只需准备以下内容:
- 目标聊天室名称
- 待发送的内容
- 发送该消息的简要原因说明
只有获得确认后才执行发送。
bash
kakaocli send "채팅방 이름" "보낼 문장"7. Use login storage only when the user explicitly wants auto-login
7. 仅在用户明确需要自动登录时才存储登录凭证
자동 로그인 편의를 원할 때만 자격증명을 저장한다.
bash
kakaocli login
kakaocli login --status비밀번호를 채팅창에 보내라고 요구하지 않는다. 사용자가 직접 로컬 터미널에서 입력하게 한다.
只有当用户想要自动登录的便利时,才存储凭据。
bash
kakaocli login
kakaocli login --status不要要求用户在聊天框中发送密码,让用户直接在本地终端中输入。
Done when
完成条件
- 읽기 요청이면 상태 확인 + 대화/메시지 조회 결과가 정리되어 있다
- 검색 요청이면 키워드 기준 결과가 정리되어 있다
- 전송 요청이면 테스트(또는
--me)와 사용자 확인이 끝난 뒤 실제 전송 여부가 명확하다--dry-run
- 如果是读取请求:已完成状态检查 + 对话/消息查询结果已整理完毕
- 如果是搜索请求:已完成基于关键词的结果整理
- 如果是发送请求:已完成测试(或
--me)和用户确认,实际发送状态明确--dry-run
Failure modes
失败场景
- KakaoTalk for Mac 미설치
- App Store 로그인 누락으로 실패
mas install - Full Disk Access 미부여
- Accessibility 미부여
- 채팅방 이름 substring 이 애매해서 잘못된 후보가 여러 개 잡힘
- 未安装KakaoTalk for Mac
- 未登录App Store导致失败
mas install - 未授予完全磁盘访问权限
- 未授予辅助功能权限
- 聊天室名称子串模糊导致匹配到多个错误候选
Notes
注意事项
- 이 스킬은 macOS 전용이다.
- 다른 사람에게 보내는 메시지는 항상 confirm before sending 원칙을 지킨다.
- 첫 검증은 와
kakaocli status부터 시작하는 편이 안전하다.kakaocli auth
- 本工具仅适用于macOS。
- 发送给他人的消息始终遵守「发送前确认」原则。
- 首次验证建议从和
kakaocli status开始,更安全。kakaocli auth