Об этом проекте
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, запросы к базе данных, расшифровка медиа, мониторинг в реальном времени, разбор контекста аккаунта и управление путями платформы.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.