octo-cli

Консольный клиент экосистемы Octo для ИИ-агентов: сообщения, документы, диск и почта через команды с ответом в JSON

  • 920 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLIОфициальный

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

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

  • Отправляет сообщения и письма, правит и удаляет документы, таблицы и файлы от имени бота или реального человека (токен `uk_*`, параметр `--on-behalf-of`)
  • Хранит профили и токены в каталоге `~/.octo-cli` и читает их из переменных окружения
  • Ходит по сети на сервер Octo, а командой `octo-cli api` вызывает любой метод его шлюза
Все причины и проверки

mininglamp-oss/octo-cli

Установка

Работает в

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

npm install -g @mininglamp-oss/octo-cli

Пакет подтягивает подпакет с готовым бинарником под вашу платформу и не скачивает его с GitHub.

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

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

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

  • Отправляет сообщения и письма, правит и удаляет документы, таблицы и файлы от имени бота или реального человека (токен `uk_*`, параметр `--on-behalf-of`)
  • Хранит профили и токены в каталоге `~/.octo-cli` и читает их из переменных окружения
  • Ходит по сети на сервер Octo, а командой `octo-cli api` вызывает любой метод его шлюза

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

Что делает

octo-cli — один исполняемый файл на Go, через который агент вызывает REST API экосистемы Octo командами оболочки. Ставится так: `npm install -g @mininglamp-oss/octo-cli`, `go install github.com/Mininglamp-OSS/octo-cli/cmd/octo-cli@latest`, скриптом `install.sh` или архивом из релизов. Входа для человека нет: авторизация идет токеном бота из `OCTO_TOKEN` или `OCTO_BOT_TOKEN`. Дерево команд собирается при запуске из встроенных описаний OpenAPI, поэтому новые методы появляются с обновлением описаний, а не кода. Команды разбиты по областям: `message` (отправка, правка, поиск), `group`, `thread`, `file`, `drive` (сетевой диск), `docs` (документы, таблицы, доски и презентации), `html` (интерактивные HTML-документы), `mail` (почта агента), `bot`, `event` и `loop` (управление задачами и исполнителями). Перед правкой таблицы или доски команда сначала читает содержимое вместе с токеном версии, а правка идет с этим токеном, чтобы не затереть чужие изменения. Метод, которого нет в дереве, вызывается командой `octo-cli api GET /v1/...`. Каждый успешный вызов печатает на stdout JSON с полями `ok`, `identity`, `data`, сведениями о страницах и лимитах, ошибки идут на stderr с кодом выхода 3 для авторизации, 2 для проверки и 1 для остального. Ключи `--dry-run`, `--jq`, `--page-all` и `--format` показывают запрос, выбирают поле и обходят страницы. В бинарник встроены инструкции для агентов: `octo-cli skills` перечисляет их, а `octo-cli skills --install <каталог>` записывает все скиллы вместе со справочными файлами.

Для кого. Для команд, которые уже работают в экосистеме Octo и хотят дать агенту (Claude Code, OpenClaw и похожим) управление сообщениями, документами, диском и почтой через токен бота.

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

  • Агент должен отправлять и искать сообщения в чатах, группах и ветках Octo: `octo-cli message search` ищет по одному каналу или по всем
  • Нужно читать и править документы, таблицы и доски Octo, не затирая чужие изменения: команда отдает токен версии и принимает его при правке
  • Перед отправкой нужно проверить запрос: `--dry-run` печатает его и ничего не посылает
  • Агенту нужна встроенная инструкция по области: `octo-cli skills octo-mail` печатает руководство по почте агента
  • Документ или таблицу нужно выгрузить в файл: `octo-cli docs export <id> --export-format pdf -o файл`

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

  • У вас нет аккаунта и токена Octo: интерактивного входа в клиенте нет
  • Нужен клиент для Lark или Feishu: для них есть отдельный lark-cli
  • Нужен диалог с подтверждениями для человека: клиент не задает вопросов и не читает ввод
  • Нужна область `matter` с задачами или `summary` со сводками: автор временно скрыл их, пока стабилизируется серверная часть

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

Найди в чатах Octo сообщения со словами «квартальный отчет» и создай документ со списком найденных файлов

Ограничения

  • Токен принимает четыре вида: `app_*`, `bf_*`, `uk_*` и `octo_loop_*`. Клиент не проверяет права локально, сервер отвечает `FORBIDDEN`. Бот с токеном `app_*` не пишет в группы, не работает с ветками и не ищет сообщения.
  • По умолчанию клиент обращается к `https://im.deepminer.com.cn`, другой адрес задается переменной `OCTO_API_BASE_URL`. Профили и токены хранятся в каталоге `~/.octo-cli`.
  • Для задач Loop в режиме `OCTO_CREDENTIAL_MODE=task` доступен урезанный набор команд. Автор подчеркивает, что этот режим не защищает от процесса, который может менять собственное окружение.
  • Обновление черновика письма заменяет его целиком: пропущенные поля cc, bcc, текст, html и вложения исчезают. Команда `docs import --mode replace` перезаписывает доску.
  • Установка через Homebrew помечена как скорая. Лицензия Apache-2.0.

Как отключить. Удалите бинарник командой `npm uninstall -g @mininglamp-oss/octo-cli` или файл `octo-cli` из каталога установки. Токен уберите из `OCTO_TOKEN` и `OCTO_BOT_TOKEN`, а сохраненные профили удалите вместе с каталогом `~/.octo-cli`.

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

Какие токены принимает octo-cli?

Токен бота приложения `app_*`, токен пользовательского бота `bf_*`, ключ пользователя `uk_*` для поиска и диска и краткоживущие данные задачи `octo_loop_*`. Переменная `OCTO_TOKEN` главнее `OCTO_BOT_TOKEN`, а в ответе поле `identity.source` показывает, какая сработала.

Как узнать список операций без выхода в сеть?

Описания OpenAPI встроены в бинарник: `octo-cli schema --list` перечисляет все операции, `octo-cli schema --list message` одну область, а `octo-cli schema message.send` показывает схему запроса и ответа.

Как не затереть чужие правки в таблице?

Сначала `octo-cli docs sheet get <id>` возвращает ячейки и токен версии, затем `docs sheet edit <id> --base-version "<токен>" --data ...` правит под этим токеном. Вставку и удаление строк и столбцов сервер для книг с формулами отклоняет.

Что произойдет с письмом после команды send-intent?

Команда учитывает политику ящика: сервер может принять письмо к отправке или сохранить его черновиком, в зависимости от текущего режима исходящей почты. Черновик, подготовленный агентом, отправляется командой `mail draft send` с его версией.

Как получить все страницы списка сразу?

Добавьте `--page-all`: клиент обходит страницы, пока есть продолжение, и отдает один общий массив. Предел задает `--page-limit`, по умолчанию 10 страниц.

Как указать другой сервер Octo?

Переменной `OCTO_API_BASE_URL` или командой `octo-cli auth update --api-base-url <адрес>` для активного профиля. Нужен адрес шлюза вида `http(s)://host[:port]`, без пути, параметров и учетных данных.

Обсуждение

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

Lark CLI

lark-cli

Официальный

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

CLIШирокий доступ17,8 тыс.Звезды репозитория

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

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

DingTalk Workspace CLI (dws)

DingTalk Workspace CLI

Официальный

Официальный CLI DingTalk со скиллами для агентов: чаты, календарь, задачи, почта, документы и согласования организации из терминала

CLIШирокий доступ3,8 тыс.Звезды репозитория

Jira MCP на Go: агент ищет задачи по JQL, читает спринты и комментарии, списывает время, видит ветки и пул-реквесты задачи, работает с Cloud и Data Center

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

Плагин Obsidian, который запускает Claude Code, Codex и другие агенты по Agent Client Protocol прямо внутри хранилища заметок

ПлагинШирокий доступ2,5 тыс.Звезды репозитория
Официальный

Официальные скиллы агентов и CLI для корпоративного мессенджера Пачка: сообщения, чаты, сотрудники, боты, задачи и поиск

СкиллШирокий доступ11Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
octo-cli (эта запись)да920
Lark CLIда17 807официальный CLI Lark и Feishu со скиллами для агентов: сообщения, документы, календарь, почта и задачи
DingTalk Workspace CLI (dws)да3 784официальный CLI DingTalk со скиллами для агентов: чаты, календарь, задачи, почта и документы организации

Коротко о README

Документация репозитория описывает устройство клиента: описания OpenAPI, реестр, движок команд и сетевой слой. Дальше идут таблица областей, четыре способа установки, примеры по сообщениям, почте, документам, таблицам, доскам и HTML, раздел об авторизации с таблицей видов токена, список переменных окружения, формат ответа и коды выхода. Отдельный раздел перечисляет скиллы для агентов из папки `skills/`. Рядом лежат исходники в `cmd` и `internal`, обертка для npm, журнал изменений и правила для участников.

Бейдж для README

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

Foxx AIocto-cli
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.