SuperAPI AI 工具集

imessage-extraction

通用与其它

查看项目

更新于 10-16 00:05

技能介绍

用途:从 macOS 的 Messages 数据库(~/Library/Messages/chat.db)提取、解码并查询 iMessage 对话,适用于访问历史记录、导出会话、搜索消息等场景。

主要能力:列出所有会话及消息数;按会话提取消息;解析联系人姓名到电话或邮箱;转换 Apple Core Data 时间戳;解码 attributedBody(NSKeyedArchiver);清理解码残留;识别表情回应与引用消息;定位并转写语音消息;创建可查询的干净数据库;导出为 CSV 或 SQLite。

使用方式:需为终端授予完全磁盘访问权限,测试命令为 sqlite3 ~/Library/Messages/chat.db "SELECT COUNT() FROM chat;"。联系人数据常分散在 ~/Library/Application Support/AddressBook/Sources//AddressBook-v22.abcddb,需先解析姓名到标识符,再匹配 chat.chat_identifier。消息查询需连接 message、chat_message_join 与 handle 表。语音消息为 .caf 附件,可用 yap transcribe 转写,例如 yap transcribe "path/to/Audio Message.caf" --txt。解码 attributedBody 可安装 PyObjC:pip install pyobjc-framework-Cocoa。

适用场景:个人消息归档、按联系人检索、会话分析、语音内容搜索、数据导出。

限制:仅限 macOS;必须授予完全磁盘访问权限;语音转写需额外工具且不在数据库中存储;解码依赖 PyObjC 或手动解析;联系人数据可能分散在多个来源数据库;部分功能需自行编写脚本。具体收费、价格与平台支持暂未提供。