chinkan/RustFox

chinkan

Self-hosted AI-ассистент в Telegram на Rust: агентный цикл с инструментами, песочница, MCP, векторная память и планировщик задач.

RustFox — открытый self-hosted AI-ассистент, который живёт в Telegram и работает как агент с доступом к файлам, командам и расписанию. Нужен разработчикам и техэнтузиастам, которым важно держать ассистента на своём железе и подключать свои модели.

Ключевые возможности

  • Агентный цикл с вызовом инструментов и настраиваемым лимитом итераций
  • Встроенные инструменты: чтение и запись файлов, выполнение команд, отправка файлов, планирование задач
  • Подключение MCP-серверов: Git, Brave Search, GitHub, Filesystem и другие
  • Постоянная память на SQLite с векторным поиском и RAG
  • Навыки и субагенты с собственной моделью и белым списком инструментов
  • Планировщик задач по cron и разовым запускам с сохранением в SQLite

Для каких задач подходит

  • Личный ассистент в Telegram, который читает и создаёт файлы на вашей машине
  • Запуск регулярных задач по расписанию без ручного вмешательства
  • Подключение внешних сервисов через MCP-серверы прямо из чата
  • Работа с локальной моделью через Ollama без отправки данных в облако
  • Несколько ботов с разными персонами и наборами инструментов в одном процессе

Подробнее

RustFox — это один бинарник на Rust, который поднимается как сервис systemd или launchd и общается с вами через Telegram. Сообщение попадает в агентный цикл: модель выбирает инструменты из встроенного набора (файлы, команды, отправка файлов, планирование), выполняет их в песочнице и повторяет, пока задача не будет закрыта. Провайдер модели настраивается: по умолчанию OpenRouter, локально — Ollama, также подойдёт любой OpenAI-совместимый эндпоинт. Есть цепочка fallback на уровне запросов.

Память хранится в SQLite: история диалога плюс векторные эмбеддинги с гибридным поиском и FTS5, что даёт RAG по накопленному контексту. Поверх этого работают навыки — папки с инструкциями, которые подгружаются при старте, — и субагенты со своей моделью и белым списком инструментов. Отдельный слой агентов в каталоге agents запускает изолированные мини-циклы, а zero-trust верификатор проверяет результат. Планировщик поддерживает cron и разовые задачи с сохранением в SQLite и очередью повторного запуска.

В отличие от ассистентов, запертых в proprietary-интерфейсах, RustFox не требует отдельного клиента: вы работаете в привычном мессенджере, а данные и инструменты остаются на вашей машине. Обратить внимание стоит на то, что инструменты выполнения команд и файловых операций требуют аккуратной настройки песочницы и белых списков, а для локального режима понадобится поднять Ollama и скачать модель. Мультибот-режим позволяет держать несколько персон в одном процессе через конфигурацию [[bots]].

Частые вопросы

Как установить RustFox?

Основная команда установки из README:

cargo install

Какие задачи решает RustFox?

RustFox решает задачи личного ассистента с доступом к вашей машине: чтение и запись файлов, выполнение команд, отправка файлов и работа с внешними сервисами через MCP. Он ведёт постоянную память диалога с векторным поиском и умеет запускать задачи по расписанию, а также координировать субагентов с собственными наборами инструментов.

Какие модели и провайдеры поддерживает RustFox?

Поддерживаются OpenRouter (путь по умолчанию), локальный Ollama и любой OpenAI-совместимый эндпоинт. Модель можно указать для основного агента и отдельно для субагентов.

Можно ли запустить RustFox полностью локально?

Да, локальный вариант — Ollama: модель скачивается из библиотеки Ollama, и запросы не уходят во внешний API. Для этого понадобится поднять Ollama на той же или доступной машине.

Под какой лицензией распространяется RustFox и можно ли использовать его в коммерческих целях?

Проект распространяется под лицензией MIT, которая разрешает коммерческое использование при сохранении уведомления об авторских правах и текста лицензии.