Installation
Five ways to get OpenCrabs running.
Quick install (Linux and macOS)
The fastest path. One command resolves the latest release, checks your platform, verifies the download against the published SHA256SUMS, installs opencrabs and the rtk helper, and installs the system libraries the Linux build needs.
curl -fsSL https://opencrabs.com/install.sh | bash
On Windows, use PowerShell:
iwr -useb https://opencrabs.com/install.ps1 | iex
It installs to /usr/local/bin when that directory is writable, otherwise to ~/.local/bin, and prints the export PATH line when the target is not on your PATH yet. It refuses to install when glibc is older than 2.38 (Ubuntu 24.04+, Debian 13+, Fedora 39+) or when the system uses musl, and it names the package to install instead of failing silently.
Flags go after bash -s -- when you pipe the script:
| Flag | Effect |
|---|---|
--dry-run | Print the plan, download nothing |
--version <tag> | Install a specific release instead of the latest |
--dir <path> | Install into a different directory |
Both scripts are plain shell and PowerShell, readable before you run them: install.sh and install.ps1.
Способ 1: Homebrew (рекомендуется на macOS и Linux)
brew install opencrabs
OpenCrabs is in homebrew-core. Homebrew ships prebuilt bottles for Apple Silicon Macs (macOS 15 and newer) and for Linux amd64 and arm64, so no Rust toolchain is needed there. On an Intel Mac, Homebrew builds it from source instead; use the macos-amd64 release binary if you’d rather skip the build.
Запустите opencrabs после установки. Он попадает прямо в чат со встроенным provider уже активным, поэтому crab вас приветствует и можно начинать общение. Запустите opencrabs --onboard, когда нужен мастер настройки.
Способ 2: скачать бинарник (все платформы)
Возьмите готовый бинарник из GitHub Releases.
Linux (amd64)
sudo apt update && sudo apt install -y curl jq libgomp1
TAG=$(curl -sL https://api.github.com/repos/opencrabs/opencrabs/releases/latest | jq -r .tag_name)
curl -fsSL "https://github.com/opencrabs/opencrabs/releases/download/${TAG}/opencrabs-${TAG}-linux-amd64.tar.gz" | tar xz
./opencrabs
Linux (arm64)
sudo apt update && sudo apt install -y curl jq libgomp1
TAG=$(curl -sL https://api.github.com/repos/opencrabs/opencrabs/releases/latest | jq -r .tag_name)
curl -fsSL "https://github.com/opencrabs/opencrabs/releases/download/${TAG}/opencrabs-${TAG}-linux-arm64.tar.gz" | tar xz
./opencrabs
macOS (arm64 / Apple Silicon)
TAG=$(curl -sL https://api.github.com/repos/opencrabs/opencrabs/releases/latest | jq -r .tag_name)
curl -fsSL "https://github.com/opencrabs/opencrabs/releases/download/${TAG}/opencrabs-${TAG}-macos-arm64.tar.gz" | tar xz
./opencrabs
Windows
$tag = (Invoke-RestMethod https://api.github.com/repos/opencrabs/opencrabs/releases/latest).tag_name
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest "https://github.com/opencrabs/opencrabs/releases/download/$tag/opencrabs-$tag-windows-amd64.zip" -OutFile opencrabs.zip -UseBasicParsing
Expand-Archive opencrabs.zip -DestinationPath . -Force
.\opencrabs.exe
Он попадает прямо в чат со встроенным provider уже активным. Запустите opencrabs --onboard, когда нужен мастер настройки.
Windows: платформа первого класса (v0.5.3): платформенная обработка shell, чтение BOM/UTF-16 и fallback tilde/cwd встроены, CI собирает Windows на каждый PR (#627).
Проверьте загрузку (необязательно): каждый релиз публикует файл
SHA256SUMSрядом с tarball-ами.
Нужны права терминала. OpenCrabs читает и пишет brain files, конфигурацию и файлы проектов. Терминалу нужен доступ к файловой системе, иначе ОС заблокирует операции.
ОС Что делать macOS Системные настройки → Конфиденциальность и безопасность → Полный доступ к диску → включите ваш терминал (Alacritty, iTerm2, Terminal и т.д.). Если его нет в списке, нажмите «+» и добавьте из /Applications/. Без этого macOS будет бесконечно спрашивать «хочет доступ к данным других приложений».Windows Запустите терминал (Windows Terminal, PowerShell, cmd) от администратора при первом запуске или дайте терминалу право записи в %USERPROFILE%\.opencrabs\и директории проектов. Windows Defender тоже может спросить - нажмите «Разрешить».Linux Убедитесь, что ваш пользователь владеет ~/.opencrabs/и директориями проектов. В системах с SELinux/AppArmor процессу терминала нужен доступ на чтение/запись к этим путям. Терминалам из Flatpak/Snap может понадобиться--filesystem=homeили аналогичное разрешение.
/rebuildработает даже с готовыми бинарниками: при первом использовании он сам клонирует исходники в~/.opencrabs/source/, затем собирает и перезапускается на лету.
Способ 3: сборка из исходников
Нужно для /rebuild, добавления своих инструментов или модификации агента.
Быстрая установка (рекомендуется)
Скрипт установки сам определяет вашу платформу (macOS, Debian/Ubuntu, Fedora/RHEL, Arch) и ставит все зависимости сборки + Rust:
# Install all dependencies
curl -fsSL https://raw.githubusercontent.com/opencrabs/opencrabs/main/src/scripts/setup.sh | bash
# Clone and build
git clone https://github.com/opencrabs/opencrabs.git
cd opencrabs
cargo build --release
./target/release/opencrabs
Ручная установка
Если предпочитаете установить зависимости самостоятельно:
- Rust stable: установите Rust. Стабильный тулчейн работает начиная с v0.2.85
- API-ключ хотя бы одного поддерживаемого провайдера
- SQLite (встроен через rusqlite)
- macOS:
brew install cmake pkg-config - Debian/Ubuntu:
sudo apt install build-essential pkg-config libssl-dev cmake - Fedora/RHEL:
sudo dnf install gcc gcc-c++ make pkg-config openssl-devel cmake - Arch:
sudo pacman -S base-devel pkg-config openssl cmake
git clone https://github.com/opencrabs/opencrabs.git
cd opencrabs
cargo build --release
./target/release/opencrabs
OpenCrabs использует
keys.tomlвместо.envдля API-ключей. Мастер настройки поможет всё настроить, либо редактируйте~/.opencrabs/keys.tomlнапрямую.
Способ 4: Docker
Запустите OpenCrabs в изолированном контейнере. Сборка занимает ~15 минут (Rust release + LTO).
git clone https://github.com/opencrabs/opencrabs.git
cd opencrabs
docker compose -f src/docker/compose.yml up --build
Конфигурация, рабочее пространство и БД памяти живут в Docker-томе и переживают перезапуски. API-ключи из keys.toml монтируются в контейнер во время работы - никогда не запекаются в образ.
Автозапуск при загрузке
Держите OpenCrabs фоновым демоном, который стартует вместе с системой.
Linux (systemd)
The binary writes the unit itself, so the file cannot drift from the version you are running:
opencrabs service install
That writes ~/.config/systemd/user/opencrabs.service with Type=simple and OOMPolicy=continue, then reloads systemd. Start it with opencrabs service start: a user unit does not come back after a reboot unless lingering is enabled (see below), while a system-wide unit is enabled so it does. OOMPolicy=continue matters because the daemon is the parent of every tool call and cron child: without it, one child killed by the OOM killer stops the whole unit and takes every agent lane with it. The unit name carries the profile when you are not on default, as opencrabs-<profile>.service.
On a headless SSH session the per-user systemd bus is often missing, and the command fails with Failed to connect to bus. Enable lingering so the user service runs without a login, or install a system-wide unit instead:
sudo loginctl enable-linger $(whoami)
# or
sudo opencrabs service install
Manage the daemon with opencrabs service start|stop|restart|status, or with systemctl directly.
Статус: systemctl --user status opencrabs | Логи: journalctl --user -u opencrabs -f
macOS (launchd)
cat > ~/Library/LaunchAgents/com.opencrabs.agent.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.opencrabs.agent</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/opencrabs</string>
<string>daemon</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/opencrabs.log</string>
<key>StandardErrorPath</key>
<string>/tmp/opencrabs.err</string>
</dict>
</plist>
EOF
launchctl load ~/Library/LaunchAgents/com.opencrabs.agent.plist
Обновите путь в ProgramArguments под место вашей установки.
Windows (Планировщик задач)
Win + R→taskschd.msc- Создать простую задачу → Имя:
OpenCrabs - Триггер: При входе в систему
- Действие: Запустить программу →
C:\Users\<you>\.cargo\bin\opencrabs.exe, Аргументы:daemon - В Свойства > Параметры отметьте Если задача выполнена с ошибкой, перезапускать каждую 1 минуту
Или через PowerShell:
$action = New-ScheduledTaskAction -Execute "$env:USERPROFILE\.cargo\bin\opencrabs.exe" -Argument "daemon"
$trigger = New-ScheduledTaskTrigger -AtLogon
$settings = New-ScheduledTaskSettingsSet -RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 1)
Register-ScheduledTask -TaskName "OpenCrabs" -Action $action -Trigger $trigger -Settings $settings
Обновление
- Пользователи Homebrew:
brew upgrade opencrabs(если ввести/evolveв установке из Homebrew, он передаёт управление Homebrew - бинарником продолжает управлять brew, а старый tap удалён в пользу автобампов homebrew-core) - Пользователи бинарников: введите
/evolveв TUI, чтобы скачать последний релиз - Пользователи исходников:
git pull && cargo build --releaseили введите/rebuildв TUI - Пользователи Docker:
docker compose pull && docker compose up -d