Introduction
OpenCrabs: автономный агент оркестрации ИИ, не привязанный к провайдеру, работающий как единый бинарный файл на Rust. Он автоматизирует ваш терминал, браузер, channels (Telegram/Discord/Slack/WhatsApp/Trello) и кодовую базу, уважая вашу приватность и оставляя контроль у вас.
11,091 тестов по providers, инструментам, channels, TUI, self-healing и автоматизации browser.
Что отличает OpenCrabs
Ноль телеметрии: даже опции включения нет
- OpenCrabs никогда не связывается с «домашним сервером». Никогда. Никакой аналитики, никакого трекинга, никакой статистики использования, никакого удалённого логирования, никаких отчётов о сбоях
- Ваши переписки, инструменты, память, конфигурация и API-ключи никогда не покидают вашу машину
- Единственный исходящий трафик: тот, который вы инициируете сами: вызовы LLM API, веб-поиск, команды GitHub, автоматизация браузера
- Это не галочка в политике приватности: нет кода телеметрии, который нужно отключать, нет флага отказа, нет аналитического сервиса, который нужно блокировать. Просто нечего отправлять
Независимость от провайдера заложена в дизайн
- 18 встроенных провайдеров + Custom, совместимый с OpenAI: OpenCrabs (встроенный, бесплатный), Anthropic Claude, OpenAI, Gemini, Xiaomi MiMo, OpenRouter, Qwen (DashScope), DeepSeek, Z.ai, MiniMax, Moonshot Kimi, Command Code CLI, Ollama, vLLM, LM Studio, llama.cpp и любой совместимый с OpenAI.
- Нативная интеграция CLI: используйте Claude Code CLI, OpenCode CLI, Codex CLI и Command Code CLI как провайдеров без API-кл��чей
- Липкая цепочка fallback: автоматическое переключение при лимитах запросов или ошибках, данные о здоровье провайдеров переживают перезапуски
- Кэширование промптов в Anthropic, OpenRouter, Gemini, Qwen DashScope снижает расходы до 95%
- Переопределение окна контекста: ограничьте или расширьте контекст любой модели через конфигурацию (встроенный provider OpenCrabs это исключение: его окно зафиксировано на 200k)
- Xiaomi MiMo: более 30 моделей, включая рассуждающую серию MiMo, провайдер с API-ключом
- Moonshot AI (Kimi): эндпоинты API plan (api.moonshot.ai) и Coding plan (api.kimi.com), настройка reasoning-effort, окно контекста по тарифному плану
Multi-Agent Orchestration
- Sessions (полностью изолированные агенты) у каждой свой brain, провайдер, модель, рабочая директория и история
- Типизированные суб-агенты:
general,explore,plan,code,researchс настроенным доступом к инструментам - Оркестрация команд:
team_create,team_broadcast,team_deleteдля согласованных рабочих процессов - Переопределение провайдера/модели на каждый вызов - миксуйте модели между командами (план на GLM, код на Deepseek, ревью на Kimi)
- Протокол A2A: шлюз JSON-RPC 2.0 для связи агентов между собой
Нативная коммуникация через channels
- Telegram, Discord, Slack, WhatsApp, Trello - полная интеграция ботов с личными сообщениями, группами и тредами
- Rich-сообщения Telegram: нативные таблицы, заголовки, списки, формулы через настройку
rich_messages - Стриминг черновиков сообщений: живые обновления «печатает…» по мере генерации токенов в личных сообщениях
- Сворачиваемые блоки: секции
<details>/<summary>для длинных выводов - Изоляция session по темам форума: каждая тема в супер-группах Telegram получает собственную session
- Реакции Telegram: бот читает входящие эмодзи-реакции и может ответить реакцией вместо сообщения, когда это уместно
- Реакции на кадр (v0.3.61): входящие реакции читаются по тональности, агент обращается к пользователю по имени
- Реакции посреди хода (v0.3.61): реакция во время выполняющегося хода внедряется в текущий цикл вместо запуска второго хода
- Подсказки продолжения (v0.3.69) (необязательные follow-up-кнопки в Telegram, Discord, Slack, WhatsApp; в TUI) заполнение без отправки
- Повторное закрепление карточки плана в Telegram (v0.3.71) - карточка плана заново закрепляется и вбирает текст, когда её засыпало сообщениями
- Полный захват истории групп (v0.3.73): в историю сохраняется каждое сообщение группы, даже от отправителей и ботов не из allowlist
- Корректный собеседник в группах (v0.3.73): отправитель из истории группы больше не принимается за текущего собеседника
- Наследование session:
/newнаследует рабочую директорию вашей последней session /goalво всех channels: ставьте автономные цели из Telegram, Discord, Slack, WhatsApp- Голосовая поддержка: локальные Whisper STT + Piper TTS, полностью офлайн
- Восстановление после сбоя между channels: ожидающие запросы возвращаются в исходный channel после перезапуска
/cowork: создавайте общие рабочие пространства из channels и TUI/rename,/profiles,/cd- управляйте sessions, профилями и директориями из любого channel
Самовосстановление и самоулучшение
-
Рекурсивное самоулучшение (RSI): агент анализирует свою работу, находит паттерны и переписывает brain files
-
Обнаружение фантомных вызовов инструментов - ловит моменты, когда модель описывает изменения, не выполняя инструменты
-
Самовосстановление от фантомов (v0.3.72): ловит ходы без единого вызова инструментов, заявляющие критичные побочные эффекты (ship/push/tag/release)
-
Правки конфигурации только через config_manager (v0.3.74) - агент никогда не редактирует config.toml/keys.toml напрямую; каждая запись проверяется до применения
-
Дедупликация brain (v0.3.75): команда
/dedupплюс проверки после записи и еженедельные межфайловые сканы не дают brain files расползаться дубликатами, с подтверждением через inline-клавиатуру Telegram -
Подсказки из brain files при промахах инструментов (v0.3.75) - релевантные заметки brain всплывают автоматически, когда вызов инструмента промахивается или падает
-
Проактивная память (v0.3.76): релевантные воспоминания всплывают без запроса, когда контекст разговора совпадает со знаниями из памяти
-
Естественные имена моделей (v0.3.76):
/models opusработает; разговорные имена превращаются в точные ID моделей -
Роутинг провайдеров для плана и исполнения (v0.3.76) - направляйте планирование и исполнение на разные провайдеры/модели
-
Таймаут цикла размышлений (v0.3.78): ловит бесконечные циклы рассуждений, запускает фантомную защиту со sticky fallback
-
Эпистемический движок (v0.3.78): отсле��ивание убеждений с уровнями уверенности, когнитивная сеть OODA/BDI, шлюз Orient перед исполнением плана
-
Шлюз проверки Ralph (v0.3.78): верификация задач по критериям с лимитом итераций; задачи обязаны соответствовать заявленным критериям приёмки
-
Створы безопасности TOML (v0.3.78): настраиваемый на лету blocklist для bash с hot-reload, маскирование секретов в кавычках, проверка brain files
-
Аналитика Mission Control (v0.3.78): фильтр Д/Н/М, сетка карточек в три колонки, вкладки phantom/model/streaming, отдельная БД событий
-
Подключение OpenAI TTS (v0.3.78): выбор голоса и поле API-ключа в мастере первоначальной настройки
-
Установка через Homebrew (v0.3.79):
brew install opencrabsиз homebrew-core: готовый бинарник, обе архитектуры, без тулчейна Rust -
/restartи/exit(v0.3.79): перезапуск или выключение из любого channel или из TUI; в channels только для owner, с объявлением перед действием -
Предохранитель квот (v0.3.79): провайдеры с исчерпанной квотой получают TTL-предохранитель и пропускаются при обходе fallback; исчерпание цепочки сообщается явно
-
Состояние планов между sessions (v0.3.79): планы переживают границы session; изолированное исполнение задач плана включено по умолчанию, Ralph проверяет в директории самой session
-
Система тем (v0.5.0): проверенные пресеты, интерактивный выбор и ваши собственные темы из
~/.opencrabs/themes/*.toml; truecolor определяется автоматически с запасным уровнем ANSI-256, а пресет, контраст которого сделал бы текст нечитаемым, отклоняется -
Структурная память кода (v0.5.0): tree-sitter строит индекс символов и графа вызовов рядом с текстовым индексом, поэтому запрос «кто вызывает X» идёт по реальным рёбрам вызовов, а концептуальные вопросы остаются на текстовом пути (#1324)
-
Передача файла по SSH (v0.5.0): файл, перетащенный в TUI на удалённом хосте, забирается через уже открытое соединение, с
opencrabs drop-agentна стороне клиента (#1289) -
Вердикты доставки notify (v0.5.0):
session_notifyвозвращает машиночитаемый результат отправки, квитанции внедрения глубины 3 делаютnotify_idпроверяемым, а доставка перенаправляется в ту session, которой сейчас принадлежит channel -
Фоновое сжатие контекста (v0.5.0): суммаризатор работает вне хода, а не удерживает session на время работы
-
Скрытие токена при записи (v0.5.0): ошибка provider с URL больше не может попасть в log вместе с токеном бота, откуда бы её ни записали (#1322)
-
Telegram-userbot только на приём (v0.5.0, экспериментально): захват MTProto за feature-флагом, с локальным входом по QR/коду/2FA; сохраняет разрешённый текст для последующего доступа и никогда не действует от имени пользователя
-
Привязка ко времени (v0.5.1): агент всегда знает, который час: каждый ход несёт отметку времени в часовом поясе пользователя, а системный промпт остаётся байт-в-байт стабильным для кэширования провайдером (#1516)
-
Сессии cron для каждой задачи (v0.5.1): каждая запланированная задача получает собственную сессию, так что два одновременно работающих задания не делят контекст и провайдеров (#1511)
-
Фильтр по glob’ам skill (v0.5.1): список
globs:может отклонять вызовы инструментов по совпавшим файлам, пока агент не прочитал тело skill (#1515) -
Записи конфигурации проверяются по структуре (v0.5.1) - защитный барьер и подсказки секций config_manager теперь выводятся из самого типа
Configи не расходятся с опубликованным кодом (#1508) -
Дизайны планов отклоняются при записи (v0.5.1): некорректный дизайн плана отбивается сразу с перечислением недостающих секций, а отклонённая запись восстанавливает scaffold вместо стирания черновика (#1507)
-
Обратное давление по бюджету провайдера (v0.5.1): провайдер, сообщивший о бюджете выходных токенов, запускает одно ограниченное сжатие и повтор вместо каскада 400-х (#1518)
-
Токены A2A и конфиг только для owner (v0.5.1): токены A2A привязываются к выпустившему их gateway, а config.toml/keys.toml переходят в режим owner-exclusive, секреты вычищаются из логов
-
Режим сервера ACP (v0.5.2):
opencrabs acpговорит на Agent Client Protocol поверх stdio JSON-RPC, поэтому Zed, MonoCode и любой ACP-клиент управляют тем же brain, что и ваши channels, со стримингом прогресса и подтверждениями, возвращающимися в редактор (#1540) -
Работа с shadow-DOM в browser (v0.5.2): разрешение селекторов проходит сквозь shadow roots, поэтому автоматизация достаёт web components, ранее невидимые для инструментов
-
Полная поверхность WhatsApp (v0.5.2): нативные голосовые сообщения, входящие видео/стикеры/геолокация/контакты, голоса в опросах, восстановление presence и media, подтверждения реакций, стриминг с редактированием на месте, исчезающие сообщения, блокировка контактов, закрепление/пересылка/профиль, обновления статуса, поиск newsletters, кнопки native flow, история по каждому чату
-
Живой tracing и нативные таблицы в Discord (v0.5.2) - длинные ходы транслируются как живой ответ с tracing, ответы автоматически уходят в thread, markdown-таблицы отображаются нативно, а ходы с инструментами больше не публикуют финальный ответ дважды (#1603, #1608)
-
Форум-темы Telegram и /clear (v0.5.2): создание и переименование тем форума с привязкой session, а /clear запускает свежую session без вызова summariser (#1585)
-
Бюджет payload меню команд (v0.5.2): setMyCommands в Telegram молча отклоняет тела запросов больше ~7,8 КБ, сообщая BOT_COMMANDS_TOO_MUCH; описания теперь сокращаются по уровням, чтобы всё меню поместилось (#1613)
-
Cron с триггерами (v0.5.3): job выполняет pre-flight проверку и запускается только при выполнении вашего условия (непустой output, exit code, regex), пропущенные runs стоят 0 токенов, а сработавший trigger может отправить goal в session (#233)
-
Windows как первая платформа (v0.5.3): платформенная обработка shell, чтение BOM/UTF-16, fallback для tilde и cwd, CI собирает Windows и блокирует PR (#627)
-
Эпистемическая память (v0.5.3): факты в MEMORY.md несут confidence и decay (#1643), холодные секции архивируются сами, а
opencrabs memory pruneпоказывает, что остыло, прежде чем что-то менять (#1657) -
Завершённый движок тем (v0.5.3): каждый виджет TUI берёт цвета из темы, suite-guard срабатывает на любой новый сырой ANSI-сайт, и темы могут объявлять canvas background (#1634)
-
Опросы предложений в WhatsApp (v0.5.3): наборы follow-up, не влезающие в лимит нативных кнопок, рендерятся опросом, и голос выбирает опцию (#1616)
-
Семейство sessions ACP (v0.5.4): sessions стали первоклассными на поверхности ACP: context meter восстанавливается при загрузке и обновляется вместе с usage updates,
session/loadвоспроизводит transcript и восстанавливает model сессии,set_modelсохраняется между процессами, нативныйsession/set_modeприменяет approval policy на стороне сервера,session/compactделает push, аsession/newпредлагает живой каталог models -
Интерактивная передача терминала (v0.5.4):
!vi/!nanoинтерактивно занимают терминал и возвращают его, не тронув session; только терминалы Unix, в Windows сохраняется захват через pipe (#1744, #1759) -
Универсальный paste & drop (v0.5.4): общий router для attachments принимает любой тип файла при вставке или перетаскивании и классифицирует код, docs, архивы и данные, чтобы каждый попадал в нужный pipeline (#1740, #1743)
-
Поисковый движок Serper (v0.5.4):
serper_searchдобавляет результаты Google SERP, а fan-out web_search дедуплицирует по URL между engines (#1731) -
Decision cache (v0.5.4):
decide_cachedотвечает на повторные решения из кольца повторного использования L1 с tiers shadow/live и конфигурацией[decisions](#1648) -
Стоимость от provider и единая цепочка timeouts (v0.5.4) - ledger usage предпочитает стоимость, реально сообщённую provider, оценкам из таблицы (#1707), а флаги таймаута разрешаются
[providers.<name>]->[agent]-> default для всех providers (#1688) -
Скомпилированные команды /architecture и /attach, опциональный audit trail (v0.5.4) - обе команды поставляются как скомпилированные arms, а опциональный audit trail записывает, что выполнялось, с viewer
/audit(#933, #1705) -
Нативная поверхность Discord (v0.5.5): нативные опросы через
send_poll, TTS-ответы доставляются голосовыми сообщениями, аcommands.tomlпроецируется в нативные slash-команды, чтобы ваши собственные команды появлялись в picker Discord (#1848, #1849, #1850) -
Flow groups и write governors (v0.5.5): Discord и Slack открывают flow group в начале turn с живыми часами, покрывающими размышление, и текст активности возглавляет строку, а один общий governor записи бюджетит каждое редактирование и делает park на 429 (#1841, #1843, #1844, #1845, #1807, #1808, #1809, #1910, #1912, #2012)
-
/respond_to и /cowork (v0.5.5): режимы respond_to и open для каждого канала в конфиге, плюс две команды, чтобы менять их прямо из самого канала (#2014, #2015)
-
Дисциплина rate limit в Telegram (v0.5.5): инструментированные polls getUpdates и handoffs хендлеров для триажа stall, подсекундный floor интервалов между поверхностями с телеметрией admission, пауза 429 для каждого чата за единым accessor Cooldown, и markdown-ссылки на локальные файлы доставляются как документы (#1927, #1916, #1968)
-
Жизненный цикл sessions ACP v1 (v0.5.5): пять методов v1 жизненного цикла sessions реализованы, а plan публикуется как нативное plan update v1 (#1815)
-
Общий footer диалогов, кликабельные URL, timeline онбординга (v0.5.5): все диалоги делят один command footer с прямыми глаголами одобрения a/r, URL и пути к файлам кликабельны, а онбординг перестроен в timeline шагов слева с прямыми командами настройки (#1775, #1772, #1979, #1980, #1981, #1982)
-
Ретайрмент cron one-shot (v0.5.5): one-shot jobs уходят на пенсию при доставке вместо повторного срабатывания через год, каждый доставленный run несет свой run id, а cron-отчеты Discord приходят как один пост форума (#544, #1703, #1851)
-
Первый запуск без настройки (v0.5.11): свежая установка попадает прямо в чат со встроенным provider уже настроенным,
config.tomlиkeys.tomlсозданы, а агент вас приветствует. Мастер настройки включается опционально через/onboardили--onboard(#2079) -
Первый ход, который не может обрушить процесс (v0.5.11): рабочие потоки агента работают на стеке в 16 MiB, поэтому первый ход больше не переполняет стек по умолчанию (#2080)
-
Теги релиза только при зелёном CI (v0.5.11): workflow релиза читает заключение CI-запуска самого коммита до публикации. Красный запуск проваливает релиз, ещё идущий запуск ожидается, а коммит без запуска тоже проваливается (#2078)
-
Evolve перезапускает нужные юниты (v0.5.11): плановый перезапуск нацелен на разрешённые имена юнитов вместо glob-шаблона обнаружения
opencrabs*.service, который также совпадал с временным юнитом, выполняющим перезапуск, и заставлял systemd останавливать собственный исполнитель (#2081) -
Guest queries в Telegram получают полную поверхность (v0.5.12): тег в чате, куда бота никогда не приглашали, запускает ту же поверхность инструментов, тот же блок живого статуса и тот же rich-рендеринг, что и обычный turn, с одним отменяемым turn на guest session и rate limiting (#2087, #2109, #2133, #2135, #2138, #2143)
-
После порога tool calls требуется план (v0.5.12): когда turn превышает порог tool calls, агент обязан остановиться и написать план, прежде чем продолжить (#2128)
-
Transcript сохраняется при переключении session (v0.5.12): карта свёрнутых блоков индексируется стабильным anchor из role и timestamp вместо UUID, генерируемого при каждом рендере, поэтому переключение session и возврат больше не сворачивают все открытые вами turn (#2155)
-
Headless-установки настраивают встроенный provider (v0.5.12):
opencrabs run,daemon,agent,acpиcronсоздают встроенный токен на чистом home так же, как это уже делала TUI, аstatusиdoctorостаются только для чтения (#2151) -
Режим починки doctor –fix (v0.3.83): застрявшие строки cron, устаревшие маркеры и сломанные права чинятся на месте, а не только отображаются в отчёте
-
Блокировки записи на каждый путь (v0.3.83): одновременные записи в один файл выстраиваются в очередь; последний писатель больше молча не побеждает
-
Изоляция worktree суб-агентов (v0.3.83): каждый дочерний агент получает свой worktree и ветку, так что веерный запуск не затирает общее дерево
-
Критерии приёмки с учётом типа проекта (v0.3.83): критерии плана применяются к тулчейну, который проект реально использует (#1133)
-
Проверка планов с пониманием проекта (v0.3.83): планы проверяются командами самого проекта, а не всегда cargo, и проект находится из папки session
-
/stop отменяет немедленно (v0.3.83): прерывает даже во время рукопожатия с провайдером и пауз между повторами (#1148)
-
Возобновление session через A2A (v0.3.83): sessions возобновляются по id контекста, шлюз адресуется по профилю (#1159, #1161)
-
Настройки размышлений DeepSeek (v0.3.83): DeepSeek получает параметры thinking, которые он реально читает, плюс обработку ходов только с вызовами инструментов
-
Корреляция логов по session_id (v0.3.82): каждый ход открывает span трассировки со своим session id, у задач cron и движка RSI свои span, так что один grep восстанавливает весь ход из общего дневного лога
-
Надёжность логгера (v0.3.82): логгер перестаёт терять события и писать в терминал TUI; зависшая запись больше не глушит логирование остальных потоков
-
Защита пользовательских brain files (v0.3.82): SOUL.md, USER.md и MEMORY.md никогда не пополняются из upstream, а директивы направляются в AGENTS.md, который загружается всегда
-
Унификация секций конфигурации (v0.3.82): устаревшее написание
[gateway]мигрирует на диске в[a2a], так что одно имя переживает цикл перезагрузки -
Кэширование по хэшу чанков (v0.3.82): память пропускает повторное встраивание чанков, чьё содержимое не менялось
-
Пре-релизные бинарники (v0.3.82): пять платформенных целей плюс SHA256SUMS, публикуются как катящийся пре-релиз, чтобы контрибьюторы тестировали невышедший код, не дожидаясь тега. Запуск по требованию, не на каждый push
-
Выход по rate-limit (v0.3.82): при длинном окне ограничений Telegram возврат происходит немедленно, вместо того чтобы парковать отправку в очереди
-
Собственное хранилище памяти (v0.3.81): зависимость qmd убрана; поиск на SQLite FTS5 + векторный живёт в самом коде
-
Внешние пути индексов (v0.3.81): поиск по памяти читает индексы вне директории профиля; по умолчанию запрет в общих sessions
-
Mermaid картинками в Telegram (v0.3.81): диаграммы рендерятся картинками, а таблицы остаются в нативном форматировании
-
Размышления Qwen между ходами (v0.3.81): preserve_thinking, настройки thinking по семейству, рекомендуемый уровень усилий по умолчанию, хостуемый Qwen доступен отовсюду
-
Фикс потери ключей в keys.toml (v0.3.81) - API-ключи провайдеров больше не теряются во время работы; ��овреждённые ключи самолечатся
-
Раннее обнаружение циклов (v0.3.81): повторяющиеся раунды инструментов ловятся до того, как провайдер отклонит ход
-
Ворота движка RSI (v0.3.81): автономный RSI по умолчанию выключен для headless-демонов, включается через
rsi_enabled -
Область поиска memory_search (v0.3.80): ищите по дневным логам (
memory), brain files (brain) или по обоим сразу (all); brain files индексируются при записи -
Чанкованный поиск по памяти (v0.3.80): документы нарезаются на чанки перед встраиванием, поэтому поздние чанки тоже находятся; релевантность ранжируется BM25
-
Нативный рендеринг Slack (v0.3.80): таблицы и заголовки приходят в собственном формате Slack вместо сырого markdown
-
Команды channel только для owner (v0.3.80): пользовательские команды и skills в группах доступны только owner на catch-all-ветке channel
-
Ворота сходимости RSI (v0.3.80): самоулучшение ставится на паузу при сходимости, откатывается при сериях без улучшений, хэширует находки по стабильной идентичности
-
Защита от циклов (v0.3.80): защита от повторных объявлений и почти одинаковых повторов на всех инструментах; срабатывания детектора циклов доходят до цепочки fallback
-
Режим инвентаризации браузера (v0.3.80): голый
browser_findперечисляет каждый кликабельный элемент на странице -
Обновление шаблонов brain files (v0.3.80): шаблоны AGENTS.md, BOOT.md и SOUL.md изменились; сидинг никогда не перезаписывает существующие файлы, поэтому сверьте с
src/docs/reference/templates/и смёржите вручную, если хотите новые дефолты -
Пересборка системного brain: brain files пересобираются с диска при изменении, перезапуск не нужен
-
Проактивный поиск инструментов: сначала ищет доступные инструменты, и только потом признаёт бессилие
-
Многоязычный анализатор промптов (v0.3.67): общий PromptAnalyzer с мягкими подсказками в TUI и Telegram, 6 языковых пакетов (EN/ES/FR/ID/PT/RU)
-
Режим планов (v0.3.67-v0.3.68): треки design/checklist, постоянная карточка плана, команда
/plan <query>, самосогласование агентом при выданной пользователем автономии -
Разворачивание кликом (v0.3.69): левый клик по блоку вызова инструмента или размышлений разворачивает только его, в дополнение к Ctrl+O
-
review_gate для skills (v0.3.70): объявление во frontmatter для рискованных skills, требующих одоб��ения пользователя перед побочными эффектами
-
JIT-активация инструментов: расширенные инструменты активируются по запросу, предварительная регистрация не нужна
-
Автопочинка конфигурации: сломанный config.toml чинится автоматически, последняя рабочая конфигурация никогда не портится
-
Управление бюджетом контекста: пороги компакции 65% мягкий / 90% жёсткий с fallback на LLM
-
Обнаружение зависшего стрима: скользящее окно в 2048 байт ловит повторяющиеся паттерны
-
Защита от газлайтинга: вырезает преамбулы с отказом от инструментов посреди хода
-
Доставка результатов сборки (v0.3.61): результаты rebuild/evolve доходят до того, кто просил, во всех channels и TUI
Терминальный UI
- Нативный рендеринг markdown: выделение, списки, ссылки и чекбоксы задач рендерятся прямо в терминале
- Счётчик скорости в реальном времени: живые токены в секунду во время стриминга
- Отображение версии (v0.3.73): работающая версия показывается в шапке TUI и в /help + /usage в channels
- Трёхпозиционное разворачивание размышлений (v0.3.74) - клик или Ctrl+O переключает блок размышлений свёрнут → ограничен → полностью, так что он никогда не заливает экран
- Заголовки на каждый ход (v0.3.75): каждый ход получает однострочный заголовок-сводку, его рассуждения сворачиваются в него, и ходы по умолчанию свёрнуты, поэтому обзор остаётся чистым
- Группировка вызовов инструментов (v0.3.61): последовательные вызовы инструментов сворачиваются в один разворачиваемый блок, сохраняя TUI чистым во время многошаговых операций
- Сворачивание промежуточного текста (v0.3.61): промежуточный текст обработки сворачивается в тот же журнал на месте, что и вызовы инструментов, поэтому виден только финальный ответ
- Поиск по sessions: поисковый фильтр + прокрутка вьюпорта по всем sessions
- Разделённые панели: параллельные sessions в стиле tmux с сохранением раскладки
- Вставка картинок из буфера: вставляйте картинки из браузера или любого приложения прямо в TUI
- Закрепление плана: активный план прикалывается в конец промпта на каждый ход
- Онбординг под руководством агента: персонализированная первичная настройка с ведением по шагам
- Автономный цикл
/goal: поставьте цель, и агент крутится, пока LLM-судья не скажет «готово», с управлением пауза/продолжить/статус - Самопостановка целей (v0.3.61): агент может ставить и вести собственные многоходовые цели через инструмент
goal_manage, без команды/goalот пользователя
Опыт разработчика
- 50+ встроенных инструментов: файловые операции, bash, веб-поиск, исполнение кода, автоматизация браузера, генерация картинок, голос, рендеринг PDF
- Единый параллельный веб-поиск (v0.3.73): web_search, exa_search и brave_search работают параллельно под одним инструментом web_search
- web_scrape: нативное превращение URL в markdown с защитой от SSRF, обходом sitemap, обнаружением JS-заглушек и экспортом с учётом профиля
- Обнаружение ��апчи DDG (v0.3.73): капча DuckDuckGo детектируется по HTTP 202 + структурной проверке формы
- Встроенный skill /github: полное управление gh CLI для issues, PR, код-ревью и управления репозиториями
- Проактивный поиск инструментов: агент находит инструменты, прежде чем сказать «не могу»
- Система skills: шаблоны рабочих процессов с нечётким поиском, автоматически регистрируются как slash-команды
- Динамические инструменты: определяются на лету через TOML (исполнители HTTP + shell)
- Система проектов: выделенные sessions с брейн-оверлеями на каждый проект, архивацией файлов и цветными значками
- Hashline-редактирование: редактирование файлов с привязкой к хэшам строк, пакетными правками и обнаружением коллизий
- Mission Control: полноэкранная панель с входящими RSI, журналом активности и расписанием cron
- Автозагрузка RTK: встроенный прокси в 4 МБ для экономии 53,5% токенов на 100+ командах
- Защита конфиденциальных файлов: SSH-ключи, .env, креды защищены по умолчанию
- AGENTS загружается всегда: жёсткие правил�� и управление применяются на каждом ходу
- debug_logs из конфигурации (v0.3.71): переключение дебаг-логов с hot-reload, без перезапуска
- Область маскирования секретов (v0.3.71): маскирование в рамках глобально/группа/личка командой
/redact - Область маскирования секретов (v0.3.71): маскирование в рамках глобально/группа/личка командой
/redact - debug_logs из конфигурации (v0.3.71): переключение дебаг-логов с hot-reload, без перезапуска
- Сторож Tmux (v0.3.71): прибивает только панель, предупреждение за 30 с, автоматический повторный attach
- Трёхпозиционный шлюз планов (v0.3.71): GateDecision, bash уходит на одобрение в Editing после инициализации
- ToolHints в стиле MCP (v0.3.71): модель рисков для классификации инструментов, питает шлюз планов
Browser Automation
- Полная поддержка CDP: навигация, клики, ввод, скриншоты, JS eval, поиск элементов
- Режим headless или headed со скриншотами отдельных элементов
- Сохранение cookies/session между сессиями браузера
- Изоляция вкладок на каждую session: никакого затаптывания DOM между sessions
Обнаружение директив проекта (v0.3.59)
OpenCrabs автоматически находит файлы правил, которы�� другие ИИ-инструменты для кодинга оставляют в репозитории. Укажите агенту на любой репозиторий (через /cd, рабочее пространство channel или запуск внутри него) - и он просканирует конвенции от Claude Code, Cursor, Windsurf, Cline, Gemini CLI, GitHub Copilot, OpenCode и межинструментального стандарта AGENTS.md. Без конфигурации, без шага импорта.
| Источник | Файлы |
|---|---|
| Межинструментальный стандарт | AGENTS.md |
| Claude Code | CLAUDE.md, CLAUDE.local.md, .claude/CLAUDE.md, .claude/rules/**/*.md |
| Cursor | .cursorrules, .cursor/rules/**/*.mdc |
| Windsurf | .windsurfrules |
| Cline | .clinerules (file or .clinerules/**/*.{md,txt}) |
| Gemini CLI | GEMINI.md |
| GitHub Copilot | .github/copilot-instructions.md |
| OpenCode | .opencode/AGENTS.md |
Индекс пересобирается, когда вы делаете /cd в новую директорию, поэтому файлы директив всегда актуальны.
Быстрый старт
# Установка (Linux и macOS)
curl -fsSL https://opencrabs.com/install.sh | bash
# Or via Cargo (requires Rust 1.94+)
cargo install opencrabs --locked
Установщик определяет последнюю версию, сверяет загрузку с опубликованным SHA256SUMS и оставляет доступной команду opencrabs. В macOS эта команда является символической ссылкой на ~/Applications/OpenCrabs.app, поэтому не ищите отдельный бинарник рядом с распакованным архивом. Все флаги и ручные способы установки для каждой платформы описаны в разделе Установка.
Автообновление включено по умолчанию. Отключите через [agent] auto_update = false в ~/.opencrabs/config.toml.
Architecture
┌─────────────────────────────────────────┐
│ OpenCrabs Binary │
│ (Single 34-36 MB Rust executable) │
├─────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ TUI │ │ CLI Daemon │ │
│ │ (crossterm)│ │ (systemd/launchd)││
│ └─────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Provider Registry │ │
│ │ 15 built-in + Custom OpenAI │ │
│ │ Sticky fallback chain │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Tool Layer │ │
│ │ 50+ built-in tools │ │
│ │ Dynamic tools via TOML │ │
│ │ JIT activation │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Channel Adapters │ │
│ │ Telegram / Discord / Slack / │ │
│ │ WhatsApp / Trello / Voice │ │
│ └────────────────���────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Self-Healing Layer │ │
│ │ Context budget / Stuck stream │ │
│ │ Phantom detection / RSI │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Persistence │ │
│ │ SQLite + Brain files │ │
│ │ FTS5 + vector search │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘
Следующие шаги
- Установка: установка и настройка
- Конфигурация: все параметры конфигурации
- Провайдеры: подключите ваши LLM-бэкенды
- Channels: подключите Telegram, Discord и другие
- Инструменты: изучите 50+ встроенных возможностей
- Самовосстановление: устойчивость к сбоям
- Мультиагентность: оркестрация суб-агентов и команд
Сообщество и поддержка
- Сообщество в Telegram: присоединяйтесь к группе OpenCrabs: вопросы, советы и новости релизов
- ��понсировать на GitHub: поддержите проект, чтобы крабы были сыты
- Buy Me A Coffee: разовая поддержка, если OpenCrabs сэкономил вам полдня
Нашли баг или нужна фича? Заведите issue на GitHub.