Перейти к основному содержимому

Himalaya: почта из терминала в связке с агентом

·659 слов·4 минут·
logo

Что такое Himalaya
#

Himalaya — это CLI-клиент для работы с почтой через IMAP/SMTP. Позволяет читать, искать, фильтровать и отправлять письма прямо из терминала. Всё, что обычно делают в веб-интерфейсе почты — доступно в командной строке.

Зачем это нужно, когда есть агент? Потому что агент может запускать команды в терминале. А значит, почта становится частью автоматизируемого пайплайна: проверить входящие, найти нужное письмо, сохранить вложение, отметить как прочитанное — всё это можно делать программно.

Установка и настройка
#

Установка
#

# macOS через Homebrew
brew install himalaya

# Или через Rust
cargo install himalaya --locked

Конфигурация
#

Конфиг хранится в ~/.config/himalaya/config.toml. Для Яндекс 360 с паролем из macOS Keychain:

[accounts.yandex]
default = true
email = "user@example.ru"
display-name = "User Name"

imap.server = "imaps://imap.yandex.ru:993"
imap.sasl.plain.username = "user@example.ru"
imap.sasl.plain.password.command = "security find-generic-password -a 'user@example.ru' -s himalaya-imap -w"

smtp.server = "smtps://smtp.yandex.ru:465"
smtp.sasl.plain.username = "user@example.ru"
smtp.sasl.plain.password.command = "security find-generic-password -a 'user@example.ru' -s himalaya-smtp -w"

mailbox.alias.inbox = "INBOX"
mailbox.alias.sent = "Отправленные"
mailbox.alias.drafts = "Черновики"
mailbox.alias.trash = "Корзина"
mailbox.alias.junk = "Спам"

Пароль не хранится в конфиге — он извлекается из Keychain при каждом подключении. Это безопаснее, чем писать секреты в файл.

Основные операции
#

Список папок
#

himalaya mailbox list

Показывает все доступные папки с их внутренними id и отображаемыми именами.

Список писем
#

himalaya envelope list                       # входящие, страница 1
himalaya envelope list --page-size 10        # по 10 писем
himalaya envelope list -m "Отправленные"     # конкретная папка
himalaya envelope list --has-attachment      # только с вложениями

Поиск
#

В v2 появился полноценный DSL для поиска:

himalaya envelope search from Ozon
himalaya envelope search subject отчёт
himalaya envelope search from boss and after 2026-08-01
himalaya envelope search flag unseen
himalaya envelope search subject счёт order by date desc

Поддерживаются условия: from, to, subject, body, date, after, flag. Комбинируются через and/or/not со скобками.

Чтение письма
#

himalaya message read 49474                  # plain text
himalaya message read 49474 --raw            # исходный MIME
himalaya message read 49474 --json           # JSON-представление

Вложения
#

himalaya attachment list 49474               # список вложений
himalaya attachment download 49474           # скачать все во временную папку
himalaya attachment download 49474 -d ~/Downloads
himalaya attachment download 49474 1 3       # только части 1 и 3

Управление флагами
#

himalaya flag add -f seen 49474 49473        # отметить как прочитанное
himalaya flag remove -f seen 49474           # снять отметку
himalaya flag add -f flagged 49471           # звёздочка

Как это использует агент
#

Агент запускает команды Himalaya через терминал. Это открывает несколько сценариев:

Операции с почтой
#

Агент может проверить входящие, найти непрочитанные письма, вывести их заголовки и краткое содержание.

Поиск по шаблону
#

Нужно найти все письма от конкретного отправителя за последнюю неделю?

Автоматическая обработка вложений
#

Агент может скачать вложения из писем с определённой темой и передать их дальше по пайплайну — например, сохранить в нужную папку или обработать скриптом.

Массовые операции
#

Отметить как прочитанное несколько писем, переместить в архив, удалить спам — всё это делается одной командой с перечислением id.

Скиллы для агента
#

Агент работает лучше, когда есть скиллы — инструкции, которые загружаются в контекст при определённых задачах. Для Himalaya можно написать скилл, который описывает:

  • Как настроить конфиг под конкретного провайдера (Яндекс, Gmail, iCloud)
  • Как использовать поисковый DSL (envelope search from ... and after ...)
  • Как сохранять вложения и работать с флагами
  • Какие есть подводные камни (например, flag unseen в v2 не работает — нужно смотреть на * в колонке FLAGS)

Скилл можно положить в ~/.hermes/skills/ (щас я сижу на Гермесе) и агент будет автоматически применять его при задачах с почтой. Это удобнее, чем каждый раз вспоминать синтаксис — агент сам подхватит актуальные команды и не ошибётся с версией конфига.

Пример структуры скилла:

himalaya-read/
├── SKILL.md          # основная инструкция
└── templates/
    └── config.toml   # шаблон конфига

Заключение
#

Himalaya — это «curl для почты». Простой, предсказуемый, работает из терминала. В связке с агентом превращается в инструмент автоматизации: агент может проверять почту, искать нужное, скачивать вложения и управлять письмами без ручного вмешательства.

Если вы уже используете агента для терминальных задач — добавьте в арсенал и почту.

Related