symbio
Local AI agent CLI that learns from corrections via LoRA (Apple Silicon / MLX)
TLDR
SYNOPSIS
symbio [subcommand] [options]symb [subcommand] [options]
DESCRIPTION
symbio (short alias symb) is a local AI assistant that chats in the terminal (or via Telegram), keeps markdown notes, runs sandboxed tools, and turns your corrections into LoRA fine-tuning data so the model improves on-device.It uses Apple's MLX / Metal stack: current releases target Apple Silicon (recommended ~16 GB unified memory). There is no cloud API requirement for the core loop. On first launch an interactive wizard sets names, model preset, and optional features (browser, web search, mixture-of-agents dispatch, Telegram).Corrections are detected automatically (phrases like "No, …" / "Actually …") and stored as mistake notes; when learn.mistake_threshold (default 5) is reached, a batch LoRA update runs and is checked against a golden set with automatic rollback on regression. Optional MOA mode delegates bounded tasks to smaller worker models. Skills start as markdown procedures and can grow dedicated adapters.Install from a clone with pip install -e . or pipx install . so symbio / symb land on $PATH.
PARAMETERS
(no subcommand) / chat
Start the interactive chat session.config [show | get key | set key value]
View or change config.json (bot tokens redacted in show output).train
Run LoRA fine-tuning (lora.iters) and reload the adapter.skill list | skill new name | skill rm role
List, create, or remove skill notes/adapters.archive [--dry-run] [--restore note|adapter name]
Archive idle notes/adapters or restore one.gateway status | gateway start | gateway stop
Check or control the Telegram bot gateway.setup
Re-run the interactive setup wizard.
CONFIGURATION
config.json (project / install directory)
Model name, agent limits, LoRA hyperparameters, learn thresholds, Telegram settings, dispatch (MOA), and tool groups. Prefer symb config set over hand-editing secrets.SYMBIO_TELEGRAM_TOKEN
Telegram bot token; overrides the value stored in config when set.notes/, training_data/, adapters/
Markdown memory, JSONL training corpora, and LoRA adapter weights (workers live under workers/role/).
CAVEATS
Inference and training currently require Apple Silicon + MLX; CUDA/llama.cpp backends are roadmap items, not production defaults. Sandbox for shell/Python is best-effort under your user privileges. Telegram and browser features need extra config and explicit approval for dangerous actions. Model downloads and LoRA training are resource-heavy.
HISTORY
Symbio is an open-source local agent (Apache-2.0) focused on correction-driven LoRA personalization without a cloud subscription. Upstream: github.com/huyedits/Symbio.