chatlog_alpha
chatlog_alpha 是一款专为 macOS 用户打造的微信 4.x 聊天记录本地查询与分析工具。它解决了在苹果系统上难以直接读取和检索加密微信数据库的痛点,让用户无需依赖外部插件即可轻松查看历史消息、联系人及多媒体文件。
这款工具特别适合开发者、技术研究人员以及需要深度管理个人聊天数据的极客用户。其核心亮点在于内置了自动提取解密密钥(Data Key 与 Image Key)的能力:通过重启微信自动捕获密钥,或利用内存扫描技术直接获取,完全摆脱了对 Windows 环境或第三方 DLL 文件的依赖。此外,chatlog_alpha 不仅提供直观的终端界面(TUI),还开放了 HTTP API 和 MCP(模型上下文协议)接口,支持以 YAML 或 JSON 格式输出数据,方便用户将其集成到自动化工作流或 AI 智能体中。
需要注意的是,由于涉及进程内存读取,使用该工具通常需要管理员权限,并建议在关闭系统完整性保护(SIP)的环境下运行以获得最佳稳定性。所有数据处理均在本地完成,充分保障了用户的隐私安全。
使用场景
某 macOS 平台的 AI 开发者希望构建一个基于个人微信历史数据的本地知识库助手,以便让大模型能回答关于过往项目讨论和文件细节的提问。
没有 chatlog_alpha 时
- 密钥获取极其困难:在微信 4.x 版本下,缺乏自动化工具提取 Data Key 和 Image Key,开发者被迫手动分析内存或依赖不稳定的外部 DLL,甚至需要关闭系统完整性保护(SIP)后仍可能失败。
- 数据查询门槛高:聊天记录存储在多个加密的 SQLite 数据库中,若想检索特定项目对话,必须编写复杂的解密脚本并手动关联
db_storage下的多库数据,耗时且易出错。 - AI 集成几乎不可能:由于缺乏标准的 MCP(Model Context Protocol)接口,无法将微信数据直接暴露给 AI Agent,导致大模型无法实时读取上下文、搜索共享文件或识别图片内容。
- 媒体资源无法利用:聊天中的图片和文件以加密
.dat形式存在,若无专门的批量解密工具,这些关键的多模态数据对 AI 来说完全是“黑盒”。
使用 chatlog_alpha 后
- 一键自动化解密:chatlog_alpha 内置了针对 macOS 微信 4.x 的内存扫描机制,重启微信后即可自动提取并持久化保存所有密钥到
all_keys.json,无需手动干预或反复调试权限。 - 标准化数据服务:通过启动 HTTP 服务,开发者可直接调用
/api/v1/history或/api/v1/search接口,以 JSON/YAML 格式快速获取结构化的聊天记录和联系人信息。 - 无缝接入 AI 生态:借助原生支持的 MCP 接口,chatlog_alpha 将微信转化为 AI 可理解的工具集(如
wx_history、ocr_image_message),让大模型能直接“阅读”聊天历史并回答复杂问题。 - 多媒体内容可用:工具支持批量解密
.dat图片并通过 API 直接流式传输,使得 AI 助手不仅能处理文本,还能对聊天中的设计图、截图进行 OCR 识别和分析。
chatlog_alpha 将原本封闭、加密的微信本地数据转化为标准化的 AI 可读资源,极大降低了构建个人通信知识库的技术门槛。
运行环境要求
- macOS
未说明
未说明

快速开始
chatlog_alpha
微信 4.x 聊天记录本地查询工具(macOS),支持:
- 重启微信后自动提取 Data Key(内置实现,不依赖外部 DLL)
- 获取 Image Key(内存扫描)
- 查询
db_storage下多库数据 - 提供 HTTP + MCP 接口(wx-cli 风格)
⚠ 方案 1(可执行文件自动 root)必读
若你选择“方案 1(setuid root)”,请在编译后执行:
BIN_PATH="/你的项目路径/dist/chatlog-mac"
sudo chown root:wheel "$BIN_PATH"
sudo chmod 4755 "$BIN_PATH"
ls -l "$BIN_PATH"
或者在项目根目录直接执行(自动取当前目录):
BIN_PATH="$(pwd)/dist/chatlog-mac"
sudo chown root:wheel "$BIN_PATH"
sudo chmod 4755 "$BIN_PATH"
ls -l "$BIN_PATH"
看到权限类似 -rwsr-xr-x 说明生效。每次重新编译后都需要重新执行上述命令。
重要:仅有 root 权限仍可能不够。若要稳定进行内存扫描(取 Data Key / Image Key),通常还需要先关闭 SIP(System Integrity Protection)。
当前状态(2026-04)
- 已移除 Windows 支持与外部
wx_key.dll依赖 - macOS V4 已接入内置 key 扫描与
all_keys.json回退/兼容流程 - HTTP 接口默认输出
YAML,可通过format=json输出 JSON - 旧接口(如
/api/v1/chatlog、/api/v1/session、/api/v1/contact、/api/v1/chatroom、/api/v1/sns)已移除
运行环境
- Go 1.22+(建议)
- 微信 4.x
- 平台:macOS
macOS 额外要求:
- 建议使用
sudo启动程序(内存读取依赖task_for_pid权限) - 建议提前关闭 SIP(否则即使 root 也可能无法读取微信进程内存)
- 需要启用
cgo(未启用时无法进行 macOS 内存扫描)
快速开始
1) 启动 TUI
go run .
或编译后运行:
go build -o chatlog ./cmd/chatlog
./chatlog
2) 推荐操作顺序(macOS)
- 在 TUI 点击“重启并获取密钥”
- 等微信重启后完成登录,并打开聊天窗口
- 程序会优先尝试:
- 读取已存在
all_keys.json - 或执行内存扫描并写入/更新
all_keys.json
- 读取已存在
- 点击“解密数据”后可启动 HTTP 服务查询
all_keys.json 说明
all_keys.json 用于保存每个加密数据库文件对应的 enc_key,典型内容如下:
{
"message/message_0.db": { "enc_key": "..." },
"contact/contact.db": { "enc_key": "..." }
}
作用:
- key 扫描结果持久化
- 程序重启后可直接复用
- 与
wechat-decrypt/wx-cli流程兼容
常见路径(按账号目录):
<data-dir>/all_keys.json<data-dir>/../all_keys.json
常用命令(CLI)
启动 HTTP 服务
chatlog server -a :5030 -p darwin -v 4 -d <wechat_data_dir>
手动解密
chatlog decrypt -p darwin -v 4 -d <wechat_data_dir> -k <data_key>
批量解密 .dat 图片
chatlog batch-decrypt --data-dir <wechat_data_dir> --data-key <data_key> --platform darwin --version 4
macOS key helper
chatlog mac-key-helper --pid <wechat_pid> --data-dir <wechat_data_dir>
HTTP 接口
基础:
GET /healthGET /api/v1/ping
媒体:
GET /image/*keyGET /video/*keyGET /file/*keyGET /voice/*keyGET /data/*path
wx-cli 兼容查询:
GET /api/v1/sessionsGET /api/v1/historyGET /api/v1/searchGET /api/v1/unreadGET /api/v1/membersGET /api/v1/new_messagesGET /api/v1/statsGET /api/v1/favoritesGET /api/v1/sns_notificationsGET /api/v1/sns_feedGET /api/v1/sns_searchGET /api/v1/contactsGET /api/v1/chatrooms
数据库调试:
GET /api/v1/dbGET /api/v1/db/tablesGET /api/v1/db/dataGET /api/v1/db/queryPOST /api/v1/cache/clear
输出格式
默认:YAML
可选:JSON
示例:
curl "http://127.0.0.1:5030/api/v1/history?chat=xxx&limit=50"
curl "http://127.0.0.1:5030/api/v1/history?chat=xxx&limit=50&format=json"
MCP
端点:
ANY /mcpANY /sseANY /message
当前 MCP Tools:
current_timeget_media_contentocr_image_messagesend_webhook_notificationget_user_profilesearch_shared_fileswx_pingwx_contactswx_chatroomswx_sessionswx_historywx_searchwx_unreadwx_memberswx_new_messageswx_statswx_favoriteswx_sns_notificationswx_sns_feedwx_sns_search
macOS 排障
1) 提示权限不足 / task_for_pid 失败
现象:
scan memory failed需要 root + task_for_pid 权限
处理:
- 使用
sudo启动程序 - 确保微信已登录并进入聊天界面后再触发扫描
- 若仍失败,优先走
all_keys.json方式(先成功生成一次)
2) 提示未找到 all_keys.json
处理:
- 先执行“重启并获取密钥”完成一次扫描
- 确认账号目录下已生成
all_keys.json - 检查文件读写权限
3) 图片密钥 60 秒超时
处理:
- 登录微信后打开任意聊天图片,触发
*_t.dat缓存 - 再次点击“获取图片密钥”
目录结构(核心)
cmd/chatlog:CLI 入口internal/chatlog:TUI、流程编排、HTTP/MCPinternal/wechat/key:平台密钥提取实现internal/wechat/decrypt:数据库解密实现internal/wechatdb:数据库访问与查询
安全与隐私
- 所有处理在本地完成
- 请妥善保管解密后的数据与密钥文件
免责声明
版本历史
latest2026/04/19常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。