imsg CLI

imsg — консольная утилита для macOS: агент читает чаты Messages, следит за новыми сообщениями и отправляет iMessage и SMS.

  • 1 406 ★ репозитория
  • Последний коммит
CLI

Широкий доступ

Почему такой уровень

  • Утилита читает личную переписку из Messages, а `imsg send` отправляет сообщения от имени владельца Mac.
  • Терминалу выдается полный доступ к диску, а это шире, чем нужно для одной базы.
Все причины и проверки

openclaw/imsg

Установка

Работает в

Ручная установка

brew install steipete/tap/imsg

Команда Homebrew из раздела Install. Требуется macOS 14 или новее.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Утилита читает личную переписку из Messages, а `imsg send` отправляет сообщения от имени владельца Mac.
  • Терминалу выдается полный доступ к диску, а это шире, чем нужно для одной базы.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

imsg написан на Swift. Он открывает локальную базу `~/Library/Messages/chat.db` только на чтение, а отправляет сообщения через автоматизацию Messages.app. Команды `chats`, `history`, `watch` и `send` выводят данные построчным JSON с флагом `--json`, поэтому их удобно передавать в `jq` и агентам. `imsg watch` следит за базой и сообщает о новых сообщениях, правках, отзывах и реакциях. Команда `imsg rpc` запускает долгоживущий JSON-RPC-интерфейс через stdio, а `imsg completions llm` печатает справку в форме, удобной для модели. Для работы терминалу нужен полный доступ к диску, а для отправки еще разрешение на автоматизацию Messages.

Для кого. Пользователям Mac, которые хотят, чтобы агент читал свои переписки в iMessage и отвечал по их просьбе.

Подходит, если

  • В истории Messages надо найти договоренность о встрече и пересказать ее.
  • Скрипт реагирует на входящие сообщения в потоке, например пишет их в журнал.
  • Из задачи агента уходит короткое уведомление в iMessage или SMS.
  • История чата с вложениями выгружается в JSON для анализа.

Не подходит, если

  • Нет Mac: утилита работает только на macOS 14 и новее, а на Linux читает скопированную базу.
  • Терминалу нельзя давать полный доступ к диску по требованиям безопасности.
  • Нужно выбрать исходящий номер при нескольких номерах на одном Apple ID: `imsg send` этого не умеет.

Пример запроса к агенту

Покажи десять последних чатов через `imsg chats --limit 10`, затем найди в одном из них сообщения про билеты.

Ограничения

Нужны macOS 14 или новее, полный доступ терминала к диску и разрешение на автоматизацию Messages для отправки. Контакты по желанию добавляют имена. Для SMS на iPhone включают пересылку текстовых сообщений. Сборки для Linux читают только скопированный `chat.db` и не подключаются к iMessage. При нескольких номерах на одном Apple ID выбрать исходящий номер нельзя. Через SSH имена контактов подтягиваются, только если у службы SSH есть доступ к диску. Последний коммит сделан в ноябре 2026.

Как отключить. Удалите утилиту: `brew uninstall imsg`. В настройках macOS уберите полный доступ к диску и автоматизацию Messages у терминала, если давали их только для imsg.

Частые вопросы

Как установить imsg?

Выполните `brew install steipete/tap/imsg` и проверьте `imsg --version`. Подписанные сборки лежат в GitHub Releases.

Какие разрешения нужны?

Полный доступ к диску для чтения базы. Для отправки и реакций еще автоматизация Messages. Доступ к контактам необязателен.

Как получать новые сообщения?

Команда `imsg watch --chat-id 42 --reactions --json` выводит события построчно. Для долгого сеанса есть `imsg rpc`.

Работает ли на Linux?

Частично: сборка читает базу `chat.db`, скопированную с macOS. Отправить сообщение и подключиться к iMessage с Linux нельзя.

Как отправить сообщение?

Выполните `imsg send --to "+14155551212" --text "on my way"`. Для вложений и реакций есть отдельные разделы документации.

Обсуждение

Вопросов и отзывов пока нет.

MCP-сервер для macOS: агент читает, ищет и отправляет сообщения в приложении Сообщения на вашем Mac

MCP-серверШирокий доступ344Звезды репозитория

CLI и скилл для Slack: агент читает каналы и треды, ищет сообщения и файлы, а черновики и отправку выполняет только по вашему запросу

CLIШирокий доступ576Звезды репозитория

Claude-to-IM

claude-to-im

Мост между Claude Code или Codex и мессенджерами: общайтесь с агентом из Telegram, Discord, Feishu, QQ или WeChat

СкиллШирокий доступ2,9 тыс.Звезды репозитория

Go-утилита с JSON-ответами: агент читает чаты WhatsApp, ищет сообщения и контакты и отправляет тексты от вашего номера

CLIШирокий доступ207Звезды репозитория

GreenBubbles читает вашу историю WeChat на Mac, ищет по чатам и отдает агентам для заметок с цитатами. Ключ снимается вручную.

CLIШирокий доступ423Звезды репозитория

OpenKakao

OpenKakao CLI

CLI для macOS: агент читает и отправляет сообщения в уже открытом KakaoTalk через Accessibility и проверяет отправку по экрану

CLIШирокий доступ146Звезды репозитория

Коротко о README

Утилита на Swift 6 читает локальную базу Messages и вызывает AppleScript Messages.app. Вывод в формате NDJSON и JSON-RPC рассчитан на скрипты и агентов, документация лежит на imsg.sh.

Бейдж для README

Сообщить о проблеме