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

CLI Commands

OpenCrabs punya CLI lengkap dengan 20+ subperintah untuk mengelola setiap aspek agen.

Penggunaan

opencrabs [COMMAND] [OPTIONS]

Perintah

PerintahDeskripsi
chat (default)Menjalankan antarmuka chat TUI
daemonBerjalan di latar belakang (hanya channels, tanpa TUI)
agentChat multi-giliran interaktif atau mode pesan-tunggal
runMenjalankan satu prompt secara non-interaktif; --quiet menyembunyikan chrome UI untuk stdout murni mesin, --format memilih text/json/markdown (v0.5.4)
cronKelola tugas terjadwal (add/list/remove/enable/disable/test)
channelManajemen channel (list, doctor)
memoryManajemen memori (list, get, stats, prune)
sessionManajemen session (list, get)
dbManajemen database (init, stats, clear)
logsManajemen log (status, view, clean, open)
serviceManajemen layanan sistem (install/start/stop/restart/status/uninstall)
statusTampilkan status agen
doctorJalankan pemeriksaan kesehatan koneksi; --fix memperbaiki baris cron macet, marker basi, dan izin (v0.3.83)
onboardJalankan wizard penyiapan
completionsBuat completion shell (bash/zsh/fish/powershell)
versionTampilkan info versi
!commandOperator bang: jalankan perintah shell apa pun seketika tanpa bolak-balik LLM. Keluaran ditampilkan sebagai pesan sistem. Mis. !git status, !ls -la
/evolvePembaruan otomatis: mengunduh rilis terbaru dan hot-restart. Berjalan otomatis saat startup bila [agent] auto_update = true
/restartRestart (v0.3.79): menjalankan ulang biner yang sama dengan argumen yang sama, jadi cara ia dulu dijalankan tidak perlu diketahui atau diulang. Giliran yang belum selesai dilanjutkan otomatis saat startup. Di TUI ia melanjutkan session saat ini. Hanya owner di channels; mengumumkan sebelum bertindak.
/exitShutdown (v0.3.79): mematikan OpenCrabs. Menyalakannya lagi butuh akses ke mesin tempat ia berjalan, jadi ini satu-satunya perintah tanpa jalan kembali dari chat. Hanya owner di channels; mengumumkan sebelum bertindak.
/clearSession baru (v0.5.2): Menutup session saat ini dan memulai session kosong di tempatnya, tanpa panggilan summariser, jadi instan. Hanya owner di channels.
/btwAgen paralel: memunculkan sub-agent terisolasi untuk tugas sampingan sementara percakapan utama berlanjut. Mis. /btw research the latest Rust async patterns
/mission-controlMission Control: dasbor layar penuh berisi kotak masuk RSI (proposal tertunda), log aktivitas (perbaikan yang diterapkan), dan jadwal cron. Navigasi dengan tombol vim, terima/tolak proposal dengan a/r.
/skillsPemilih skills: jelajahi dan jalankan templat alur kerja dengan pencarian fuzzy. Setiap skill yang dimuat otomatis terdaftar sebagai slash command.
/security-auditAudit keamanan: audit keamanan & CVE menyeluruh tanpa terikat bahasa. Mendeteksi tipe proyek, menjalankan scanner yang tepat, meninjau diff terbaru untuk pola injeksi/auth/kripto, memberi skor 0-100.
/cost-estimateEstimasi biaya: estimasi biaya pembangunan codebase, rincian ROI berbantu AI, dan valuasi harga wajar. Menanyakan konteks bisnis sebelum menghasilkan rentang valuasi.
/repo-auditAudit repo: pemeriksaan kesehatan repositori tanpa terikat bahasa. Pipa 5 fase: deteksi bahasa → eksekusi tools natif → metrik git → analisis AST → skor + rekomendasi. Mencakup Rust, JS/TS, Python, Go.
/goalLoop tujuan otonom: tetapkan tujuan dengan /goal <teks> dan agen berputar otonom: mengeksekusi, menilai dirinya sendiri dengan juri LLM, dan berlanjut sampai tujuan tercapai atau anggaran giliran (default 20) habis. Mendukung /goal pause, /goal resume, /goal status, /goal clear.
/models <provider/model>Pergantian model langsung (v0.3.66): pindah langsung ke model tertentu di setiap channel. Gunakan /models anthropic/claude-sonnet-4-20250514 untuk langsung berpindah. Pemilih cakupan-terapan memungkinkan memilih hanya-session atau global.
opencrabs session set-modelPergantian model headless (v0.3.66): ganti model dari CLI tanpa TUI. Berguna untuk skrip dan otomasi.

Flag Konfigurasi

FlagDefaultDeskripsi
[agent] auto_updatetruePasang otomatis rilis baru saat startup dan hot-restart. Set false untuk mempertahankan dialog prompt manual.
[agent] force_defaultfalse(v0.3.66) Bila true, mendorong pasangan provider/model default ke semua sessions saat konfigurasi di-reload. Berguna untuk menegakkan pergantian model global.
[agent] config_drift_warningstrue(v0.3.66) Tampilkan peringatan startup saat nilai konfigurasi diam-diam bergeser dari default yang diharapkan. Membantu menangkap perubahan konfigurasi yang tak disengaja.

Pintasan Keyboard (TUI)

ShortcutAksi
F12Nyalakan/matikan penangkapan mouse untuk seleksi teks terminal natif

Prompt Pembaruan Saat Startup

Saat versi baru tersedia, dialog di tengah muncul di layar splash menawarkan menerima (Enter) atau lewati (Esc). Menerima otomatis memicu /evolve. Setelah pembaruan, biner restart dan splash menampilkan versi baru.

Perintah Channel

/doctor, /help, /usage, /evolve, /restart, /exit, dan perintah sistem bekerja langsung di Telegram, Discord, Slack, dan WhatsApp tanpa melalui LLM. Dieksekusi seketika dan mengembalikan hasil di channel.

/restart dan /exit mengumumkan diri sebelum bertindak, karena begitu prosesnya hilang tidak ada yang tersisa untuk melaporkan kegagalan. Keduanya hanya untuk owner, seperti semua perintah lain yang mengubah proses yang berjalan. /exit adalah satu-satunya perintah tanpa jalan kembali dari chat: pemulihan butuh akses ke mesin tempat OpenCrabs berjalan.

Sejak v0.3.80, stop dengan bahasa natural juga dihormati, menyuruh bot berhenti dengan bahasa sehari-hari bekerja di channels dan TUI, bukan hanya kata polos “stop”.

Seluruh logika perintah channel dipusatkan di src/channels/commands.rs (847 baris) – handler bersama yang menghapus duplikasi logika perintah di 5 implementasi channel. Setiap channel mendelegasikan ke try_execute_text_command() untuk perilaku yang konsisten.

/evolve di channels kini berjalan langsung (mengunduh + memasang biner) tanpa bolak-balik LLM. Sebelumnya diarahkan melalui agen.

Mode Chat

# Default: launch TUI
opencrabs

# Same as above
opencrabs chat

Mode Agen

Mode non-interaktif untuk skrip dan otomasi:

# Interactive multi-turn chat
opencrabs agent

# Single-message mode
opencrabs agent -m "File apa yang berubah hari ini?"

Mode Daemon vs TUI

OpenCrabs berjalan dalam salah satu dari dua mode. Pilih yang cocok untuk mesinnya. Untuk satu profil, jalankan hanya satu pada satu waktu.

ModeCara memulaiApa ituDipakai di
TUI (interaktif)opencrabsUI terminal lengkap: panel chat, sessions, pengaturan. Channels Anda juga berjalan dan berbagi session Anda.Mesin yang Anda duduki (laptop/desktop)
Daemon (headless)opencrabs daemon, or install as a service: opencrabs service install && opencrabs service startTanpa UI. Hanya channels (Telegram, Discord, Slack, WhatsApp) + cron. Bertahan dari reboot, koneksi SSH terputus, dan crash.Mesin selalu-aktif atau VPS

Kenapa tidak keduanya sekaligus?

Satu kredensial bot (mis. token Telegram) hanya bisa memegang satu poll getUpdates yang hidup. Jika daemon dan TUI sama-sama memegang token profil yang sama, mereka berkelahi (HTTP 409) dan channel jatuh.

TUI selalu menang

Saat Anda membuka TUI ketika daemon untuk profil yang sama sedang berjalan, TUI mematikan daemon itu lebih dulu, mengambil alih channels, dan menampilkan banner tentang hal itu. Channels Anda sudah terpasang, jadi mereka cukup lanjut tanpa menyambung ulang. Daemon tetap mati sampai Anda menyalakannya lagi (opencrabs service start, atau jalankan ulang opencrabs daemon).

Di mesin tempat daemon biasanya berjalan, alur sehari-harinya: buka opencrabs saat ingin duduk bersamanya; tutup TUI dan jalankan opencrabs service start saat ingin headless lagi.

Mulai otomatis saat boot

  • Daemon: gunakan installer layanan (opencrabs service install); ia memasang systemd (Linux) / launchd (macOS) untuk mulai saat boot dan restart saat crash. Ini setup selalu-aktif yang disarankan.
  • TUI: agar UI terminal terbuka otomatis saat login, gunakan autostart terminal/desktop, bukan installer layanan:
    • Desktop Linux: taruh file .desktop di ~/.config/autostart/ dengan Exec=x-terminal-emulator -e opencrabs.
    • macOS: Pengaturan Sistem > Umum > Item Login > tambahkan skrip .command yang menjalankan opencrabs.
    • VPS lewat SSH: jalankan di dalam tmux/screen dan sambungkan ulang. Di VPS headless Anda biasanya ingin daemon, bukan TUI.

Sangat disarankan untuk pengguna harian. Jika Anda berencana memakai OpenCrabs setiap hari, mintalah ia menyiapkan dirinya sebagai layanan sistem. Cukup katakan semacam “siapkan dirimu untuk menyala bersama komputerku” atau “hapus layanan mulai-otomatisnya”. Agen menangani pemasangan dan penghapusan launchd (macOS) atau systemd (Linux) secara otomatis untuk Anda.

Menjaga TUI tetap berjalan di VPS (tmux)

Jika Anda ingin TUI interaktif lengkap selalu tersedia di server jauh (bukan daemon headless), tmux adalah jalannya. Session Anda bertahan dari koneksi SSH terputus, laptop tidur, dan koneksi tidak stabil.

1. Pasang tmux

# Debian / Ubuntu
sudo apt install tmux

# RHEL / CentOS / Fedora
sudo yum install tmux

2. Cari di mana opencrabs terpasang

which opencrabs

# If that returns nothing, search the whole filesystem
find / -name "opencrabs" -type f 2>/dev/null

3. Mulai sesi tmux bernama

tmux new -s opencrabs

4. Jalankan opencrabs di dalamnya

opencrabs

5. Lepaskan (opencrabs tetap berjalan)

Tekan Ctrl+B, lalu D. Anda kini bisa menutup SSH dan opencrabs tetap berjalan.

6. Sambungkan ulang nanti

tmux attach -t opencrabs

Sudah selesai. Kembali dari mesin mana pun, sambungkan ulang, dan lanjutkan dari tempat Anda berhenti. Jika Anda hanya butuh channels (Telegram, Discord, Slack, WhatsApp) berjalan headless tanpa TUI, daemon lebih cocok: opencrabs service install && opencrabs service start.

Endpoint Kesehatan

Tambahkan ke config.toml untuk membuka pemeriksaan kesehatan:

[daemon]
health_port = 8080

Lalu GET http://localhost:8080/health mengembalikan 200 OK dengan status JSON. Berguna untuk watchdog systemd, monitor uptime, atau load balancer.

Manajemen Layanan

Pasang OpenCrabs sebagai layanan sistem (launchd di macOS, systemd di Linux):

opencrabs service install
opencrabs service start
opencrabs service stop
opencrabs service restart
opencrabs service status
opencrabs service uninstall

Layanan sadar-profil

Setiap profil mendapat layanan mandirinya sendiri:

# Install a specific profile as a service
opencrabs -p hermes service install
opencrabs -p hermes service start

# Each profile gets its own service name
# macOS: com.opencrabs.daemon.hermes
# Linux: opencrabs-hermes.service

# Manage independently
opencrabs -p hermes service status
opencrabs -p hermes service stop
opencrabs -p hermes service uninstall

Beberapa profil bisa berjalan sebagai layanan daemon simultan dengan isolasi penuh.

Variabel lingkungan OPENCRABS_PROFILE

Set OPENCRABS_PROFILE=hermes untuk memilih profil tanpa flag -p. Berguna untuk layanan systemd, tugas cron, dan mode daemon.

Penanganan masalah: daemon tetap mati

Jika opencrabs service status bilang stopped:

  1. Apakah Anda membuka TUI? Membuka opencrabs sengaja mematikan daemon agar session interaktif bisa memiliki channels. Daemon tetap mati sampai Anda menjalankan opencrabs service start lagi.
  2. Build lama mungkin masih punya Restart=on-failure alih-alih Restart=always. Buat ulang unit dengan opencrabs service install (lalu service start) untuk mendapatkan kebijakan selalu-restart.
  3. Konfigurasi, kunci, perintah, dan tools hot-reload saat runtime. Mengedit config.toml atau keys.toml tidak pernah butuh restart daemon. Jika perubahan tidak berlaku, periksa log untuk baris ConfigWatcher: reloaded alih-alih me-restart.

Manajemen Cron

# List all cron jobs
opencrabs cron list

# Add a new cron job
opencrabs cron add \
  --name "Daily Report" \
  --cron "0 9 * * *" \
  --tz "America/New_York" \
  --prompt "Check emails and summarize" \
  --provider anthropic \
  --model claude-sonnet-4-20250514 \
  --thinking off \
  --deliver-to telegram:123456

# Remove a cron job (accepts name or ID)
opencrabs cron remove "Daily Report"

# Enable/disable (accepts name or ID)
opencrabs cron enable "Daily Report"
opencrabs cron disable "Daily Report"

Pintasan Keyboard TUI

TombolAksi
EnterKirim pesan
EscBatal / tutup
Ctrl+NSession baru
Ctrl+LLayar sessions
Ctrl+KBersihkan session saat ini
Ctrl+OBuka/tutup lipatan grup tools
|Pisahkan panel horizontal
_Pisahkan panel vertikal
Ctrl+XTutup panel yang difokuskan
TabPutar fokus panel / Terima autocomplete
Up/DownNavigasi saran / sessions
/Mulai slash command (mis. /help, /models)
:Buka pemilih emoji