chatlog_alpha

GitHub
787 467 困难 1 次阅读 今天MIT插件数据工具
AI 解读 由 AI 自动生成,仅供参考

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_historyocr_image_message),让大模型能直接“阅读”聊天历史并回答复杂问题。
  • 多媒体内容可用:工具支持批量解密 .dat 图片并通过 API 直接流式传输,使得 AI 助手不仅能处理文本,还能对聊天中的设计图、截图进行 OCR 识别和分析。

chatlog_alpha 将原本封闭、加密的微信本地数据转化为标准化的 AI 可读资源,极大降低了构建个人通信知识库的技术门槛。

运行环境要求

操作系统
  • macOS
GPU

未说明

内存

未说明

依赖
notes仅支持 macOS 平台且需微信 4.x 版本。运行内存扫描功能时,建议使用 sudo 启动程序,并可能需要关闭系统完整性保护 (SIP) 以获取 task_for_pid 权限。首次运行需通过工具内置功能重启微信以提取密钥或生成 all_keys.json 文件。
python不适用 (基于 Go 语言)
Go 1.22+
cgo (必须启用)
chatlog_alpha hero image

快速开始

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)

  1. 在 TUI 点击“重启并获取密钥”
  2. 等微信重启后完成登录,并打开聊天窗口
  3. 程序会优先尝试:
    • 读取已存在 all_keys.json
    • 或执行内存扫描并写入/更新 all_keys.json
  4. 点击“解密数据”后可启动 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 /health
  • GET /api/v1/ping

媒体:

  • GET /image/*key
  • GET /video/*key
  • GET /file/*key
  • GET /voice/*key
  • GET /data/*path

wx-cli 兼容查询:

  • GET /api/v1/sessions
  • GET /api/v1/history
  • GET /api/v1/search
  • GET /api/v1/unread
  • GET /api/v1/members
  • GET /api/v1/new_messages
  • GET /api/v1/stats
  • GET /api/v1/favorites
  • GET /api/v1/sns_notifications
  • GET /api/v1/sns_feed
  • GET /api/v1/sns_search
  • GET /api/v1/contacts
  • GET /api/v1/chatrooms

数据库调试:

  • GET /api/v1/db
  • GET /api/v1/db/tables
  • GET /api/v1/db/data
  • GET /api/v1/db/query
  • POST /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 /mcp
  • ANY /sse
  • ANY /message

当前 MCP Tools:

  • current_time
  • get_media_content
  • ocr_image_message
  • send_webhook_notification
  • get_user_profile
  • search_shared_files
  • wx_ping
  • wx_contacts
  • wx_chatrooms
  • wx_sessions
  • wx_history
  • wx_search
  • wx_unread
  • wx_members
  • wx_new_messages
  • wx_stats
  • wx_favorites
  • wx_sns_notifications
  • wx_sns_feed
  • wx_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/MCP
  • internal/wechat/key:平台密钥提取实现
  • internal/wechat/decrypt:数据库解密实现
  • internal/wechatdb:数据库访问与查询

安全与隐私

  • 所有处理在本地完成
  • 请妥善保管解密后的数据与密钥文件

免责声明

详见 DISCLAIMER.md

版本历史

latest2026/04/19

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|3天前
Agent插件

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.3k|★★☆☆☆|昨天
图像数据工具视频