Show HN: Symbio self fine-tuning AI loop Symbio, a local AI assistant that learns from user corrections and fine-tunes itself without cloud or subscriptions, was released on GitHub by developer HuyEdits. The system runs on Apple Silicon using MLX and Metal performance shaders, requires 16GB unified RAM, and features a Mixture of Agents mode where a headmaster delegates tasks to smaller worker models, with fine-tuning triggered after 5+ repeated mistakes. Symbio supports skills, adapters, Telegram, and local file operations, aiming to reduce repetitive instructions. Local Ai that learns from your corrections. No Cloud, No subscriptions. Symbio takes notes and can construct it into training data to fine-tune itself - so you can stop repeating yourself. | https://huggingface.co/spaces/HuyEdits/symbio-demo GitHub https://github.com/huyedits/Symbio | Try it now quick-start Symbio develops as you tell it what to do in repeat. Try the interactive demo — the agent's real tag parser, self-correction miner, research memory, and RAG retriever running in your browser: https://huggingface.co/spaces/HuyEdits/symbio-demo https://huggingface.co/spaces/HuyEdits/symbio-demo Symbio has a MOA Mixture of Agents mode. Instead of fine-tuning one big model for every task, the headmaster delegates bounded sub-tasks to smaller worker models via tool calls. The worker executes, and if it fails it returns to the headmaster for guidance. Once it works, a note is saved for both sides. If the same mistake repeats past the configured threshold, both the worker and the headmaster are fine-tuned: the worker learns how to execute the task, and the headmaster learns how to delegate it more efficiently. Symbio can learn skills on the fly. A skill starts as a simple markdown note with step-by-step instructions. As errors and corrections accumulate, they are logged in a hidden .md.health.jsonl sidecar so the note itself stays clean and readable. Once the mistake threshold is reached, the collected examples are fed into a LoRA fine-tune that creates a dedicated worker adapter for that skill — one adapter = one skill. Adapters are hot-swappable and can be archived if unused. Use /new-skill