Об этом проекте

wx-cli напрямую читает локальную базу данных WeChat на macOS, предоставляя пользователям и AI-агентам доступ к истории чатов, контактам, групповым чатам и медиасообщениям. Данные по умолчанию остаются на локальном компьютере, без необходимости загрузки или облачного экспорта. Основные возможности: 1. Расшифровка базы данных: через LLDB hook перехватывается вызов PBKDF2 для извлечения исходного ключа, поддерживается полная и инкрементальная расшифровка, охватывающая все базы данных WeChat. 2. Запрос и поиск сообщений: запрос исторических сообщений по контактам, групповым чатам, временным диапазонам и типам сообщений; поддерживается глобальный поиск по ключевым словам во всех диалогах; возможность чтения всех сообщений из всех диалогов за временной диапазон (timeline), подходит для дополнения памяти и пакетной обработки. 3. Подписка в реальном времени: командная строка непрерывно отслеживает новые сообщения или через SSE (/api/v1/events) отправляет новые сообщения агентам и другим программам в реальном времени. 4. Экспорт и обработка медиа: диалоги можно экспортировать в JSON или текст; поддерживается расшифровка изображений, извлечение голосовых сообщений (требуется ffmpeg), расшифровка видео из видеороликов. 5. Интеграция с агентами: встроенный Agent Skill, устанавливаемый через npx skills add; после установки такие инструменты, как Claude Code, Codex, Cursor, могут напрямую понимать возможности wx-cli и вызывать их. 6. Сервис REST API: постоянно работающий сервис повторно использует открытую базу данных, предоставляя endpoints: sessions, contacts, messages, timeline, search, media, events, с поддержкой токенной аутентификации и удалённого доступа. Команды запросов автоматически используют API во время работы сервиса. 7. Контроль конфиденциальности: возможность скрывать указанные контакты, групповые чаты или контакты с определёнными тегами по аккаунту, автоматическая фильтрация при запросах и подписках (кроме полнотекстового поиска). Требования к платформе: macOS (arm64 / Apple Silicon), версия WeChat 4.1.7 и выше. Для извлечения ключа необходимо отключить SIP (System Integrity Protection), а также включить DevToolsSecurity и права группы разработчиков. Проект написан на Rust, доступны два способа установки: предкомпилированные бинарные файлы и компиляция из исходного кода. Структура проекта включает независимые crate: основная библиотека расшифровки, извлечение и хранение ключей, точка входа CLI, запросы к базе данных, расшифровка медиа, мониторинг в реальном времени, разбор контекста аккаунта и управление путями платформы.