Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 CodeCLAUDE.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 CLIGEMINI.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           │   │
│  └─────────────────────────────────┘   │
└─────────────────────────────────────────┘

Следующие шаги

Сообщество и поддержка

Нашли баг или нужна фича? Заведите issue на GitHub.