Smara-CLI

module
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2026 License: MIT

README ยถ

Smara CLI ๐ŸŒ€

Autonomous Multi-Agent Terminal v1.8.0

Go Version License Latest Release

Smara (Sanskerta: เคธเฅเคฎเฅƒเคคเคฟ โ€” Ingatan) adalah terminal pintar berbasis Go yang mengorkestrasi agen AI otonom dengan memori tim yang tersinkronisasi dan integrasi MCP (Model Context Protocol).


โœจ Fitur Utama

  • Multi-Agent System: Arsitektur Supervisor-Worker untuk pendelegasian tugas yang kompleks.
  • 3 Mode Agen:
    • ask (๐Ÿ’ฌ): Tanya-jawab cepat tanpa tools.
    • rush (โšก): Eksekusi cepat, langsung bertindak menggunakan tools.
    • plan (๐Ÿ“‹): Membuat rencana dan meminta persetujuan sebelum eksekusi.
  • Platform Integration: Jalankan Smara sebagai bot di Telegram dan Discord.
  • Multi-Provider LLM: Mendukung Ollama (local), Anthropic, OpenAI, dan OpenRouter.
  • Persistent Sessions: Riwayat percakapan dan status agen kini tersimpan secara otomatis di SQLite, memungkinkan Anda melanjutkan sesi sebelumnya.
  • Smart Memory: Menggunakan SQLite & Vector Search untuk menyimpan konteks percakapan lintas platform.
  • MCP Integration: Secara otomatis mendeteksi dan menghubungkan ke server MCP dari OpenCode.
  • Auto-Update: Sistem pembaruan otomatis bawaan menggunakan perintah smara update.

๐Ÿš€ Instalasi Cepat

Linux / macOS
curl -fsSL https://raw.githubusercontent.com/gede-cahya/Smara-CLI/main/install.sh | sh
Windows (PowerShell)
irm https://raw.githubusercontent.com/gede-cahya/Smara-CLI/main/install.ps1 | iex

๐Ÿ”‘ Setup & Konfigurasi

1. Login ke Provider

Gunakan perintah login untuk menyimpan API key secara aman:

smara login
2. Pilih Model
smara provider select
3. Konfigurasi Bot (Optional)

Tambahkan token di ~/.smara/config.yaml atau via environment variables:

export SMARA_TELEGRAM_TOKEN="your_bot_token"
export SMARA_DISCORD_TOKEN="your_bot_token"

๐ŸŒ Smara Serve (Platform Bot)

Smara dapat dijalankan sebagai layanan bot yang aktif terus-menerus.

# Jalankan semua platform yang dikonfigurasi
smara serve

# Jalankan platform spesifik dengan mode default 'plan'
smara serve --platform telegram --mode plan
๐Ÿค– Perintah Bot Messaging:
  • /ask <prompt> โ€” Kirim pertanyaan cepat.
  • /mode <ask|rush|plan> โ€” Ganti mode agen.
  • /mcp โ€” Lihat daftar tool yang tersedia.
  • /clear โ€” Reset sesi percakapan.

๐Ÿ“ Changelog v1.8.1

  • Enhanced UI Rendering: Peningkatan visual untuk blok kode dan output terminal agar lebih mudah dibaca.
  • Tool Refinements: Penambahan tool view_file dengan penomoran baris dan dukungan line range pada replace_file_content untuk pengeditan kode yang lebih presisi.
  • Minor Fixes: Perbaikan bug pada penanganan event TUI.

๐Ÿ“ Changelog v1.8.0

  • Bracketed Paste Support: Perbaikan performa TUI yang mencegah freeze saat melakukan operasi paste teks atau path yang sangat panjang.
  • Deep Workspace Discovery: Pemindaian struktur proyek yang lebih mendalam secara otomatis saat startup untuk meningkatkan kesadaran konteks agen.
  • Filsystem Awareness Tools: Penambahan tool search_path (pencarian rekursif global) dan get_cwd untuk membantu agen bernavigasi di sistem file.
  • Auto-Discovery Enhancements: Peningkatan deteksi konten file penting (README, go.mod, package.json, dll) saat inisialisasi sesi.

๐Ÿ“ Changelog v1.7.0

  • Token Usage Statistics: Menampilkan jumlah input/output tokens dan durasi respons LLM langsung di UI.
  • Database Migrations: Menambahkan sistem migrasi otomatis untuk kolom sesi (memory_ids, context, dll).
  • UI Enhancements: Penambahan informasi Provider/Model di header TUI dan pembersihan pesan log mode.
  • Licensing: Penambahan file LICENSE (MIT).

๐Ÿ“ Changelog v1.6.1

  • Fix Terminal Output Capture: Perbaikan mekanisme pembacaan pipe stdout/stderr secara konkuren untuk memastikan LLM mendapatkan seluruh output terminal.
  • Output Safety: Pembatasan panjang output terminal untuk efisiensi konteks LLM.

๐Ÿ“ Changelog v1.6.0

  • Persistent Sessions: Implementasi penyimpanan sesi otomatis ke database SQLite.
  • Auto-Resume: Kemampuan untuk memuat dan melanjutkan sesi aktif terakhir saat aplikasi dijalankan.
  • Improved History Management: Sinkronisasi riwayat percakapan yang lebih baik antara memori lokal dan database.

๐Ÿ“ Changelog v1.5.0

  • Full Streaming Support: Implementasi real-time streaming untuk OpenAI, OpenRouter, Anthropic, dan Custom Provider.
  • Thinking Blocks: Dukungan visual untuk fase penalaran (thinking) pada model yang mendukung.
  • Optimized Performance: Refactor logika streaming untuk efisiensi memory dan latensi yang lebih rendah.

๐Ÿ“ Changelog v1.4.0

  • Platform Integration: Dukungan penuh untuk bot Telegram dan Discord.
  • Server Mode: Perintah smara serve untuk menjalankan bot sebagai layanan.
  • Gateway System: Routing pesan yang efisien dengan autentikasi dan rate-limiting.
  • Shared Memory: Sinkronisasi memori antara terminal CLI dan bot messaging.
  • Refactoring: Peningkatan stabilitas supervisor agent dan penanganan sesi.

๐Ÿ› ๏ธ Perintah CLI Utama

  • smara start: Mulai sesi interaktif TUI.
  • smara provider list: Lihat provider yang tersedia.
  • smara config list: Cek konfigurasi saat ini.
  • smara update: Perbarui ke versi terbaru.
  • smara version: Tampilkan informasi versi.

โš™๏ธ Konfigurasi Detail (config.yaml)

provider: anthropic
model: claude-3-5-sonnet-latest
ollama_host: http://localhost:11434
platforms:
  telegram:
    enabled: true
    token: "YOUR_TOKEN"
    allowed_users: ["12345678"]
    rate_limit: 20
  discord:
    enabled: true
    token: "YOUR_TOKEN"
    allowed_roles: ["smara-user"]

๐Ÿ“„ Lisensi

MIT License - ยฉ 2026 Gede Cahya.

Directories ยถ

Path Synopsis
cmd
smara command
Smara CLI โ€” Autonomous Multi-Agent Terminal Entry point for the smara binary.
Smara CLI โ€” Autonomous Multi-Agent Terminal Entry point for the smara binary.
internal
agent
Package agent provides the multi-agent system for Smara.
Package agent provides the multi-agent system for Smara.
config
Package config manages Smara CLI configuration via Viper.
Package config manages Smara CLI configuration via Viper.
llm
Package llm provides LLM provider abstractions for Smara CLI.
Package llm provides LLM provider abstractions for Smara CLI.
mcp
Package mcp - opencode.go loads MCP server configurations from OpenCode's config file.
Package mcp - opencode.go loads MCP server configurations from OpenCode's config file.
memory
Package memory provides SQLite-backed memory storage with vector search for Smara.
Package memory provides SQLite-backed memory storage with vector search for Smara.
platform
Package platform provides the multi-platform integration layer for Smara CLI.
Package platform provides the multi-platform integration layer for Smara CLI.
platform/discord
Package discord provides the Discord Bot adapter for Smara.
Package discord provides the Discord Bot adapter for Smara.
platform/telegram
Package telegram provides the Telegram Bot API adapter for Smara.
Package telegram provides the Telegram Bot API adapter for Smara.
session
Package session provides session types used across agent and memory packages.
Package session provides session types used across agent and memory packages.
sync
Package sync implements local background sync for shared team memory.
Package sync implements local background sync for shared team memory.
ui
Package ui provides the interactive terminal REPL for Smara.
Package ui provides the interactive terminal REPL for Smara.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL