rutis CLI

Среда плагинов на Rust для ПО, которое меняет себя: агенты пишут и перезагружают плагины на TypeScript, Python, Go без простоя

  • 172 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Агент пишет и подменяет код плагинов, который затем исполняется с правами процесса и перезагружается без остановки программы
  • Плагины могут работать на другой машине и вызывать услуги по сети
Все причины и проверки

arcships/rutis

Установка

Работает в

Ручная установка

npx @arcships/rutis-host new weather --lang node

Быстрый старт без Rust; затем `cd weather && npm install`, `npx rutis-host dev` и `npx rutis-host check`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент пишет и подменяет код плагинов, который затем исполняется с правами процесса и перезагружается без остановки программы
  • Плагины могут работать на другой машине и вызывать услуги по сети

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

rutis дает программам и агентам безопасный способ писать, подменять и перезагружать собственные плагины. Ядро на Rust держит гарантии: ничего не стартует раньше своих зависимостей, все зарегистрированное плагином освобождается ровно один раз, неудачная загрузка откатывается. Модель жизненного цикла взята из Cordis, rutis реализует ее один раз и переносит на другие языки, процессы и машины. Цикл работы такой: `rutis-host new <имя> --lang node|bun|python|go` создает проект плагина, `rutis-host check` показывает зависимости и услуги каждого плагина и падает, если услуги никто не дает, `rutis-host dev` перезагружает плагин при изменении файлов. Плагины вызывают услуги друг друга по имени в одном процессе, в другом процессе или на другой машине. В репозитории есть навыки для агентов: `rutis-new-runtime` и `rutis-remote-plugin`.

Для кого. Разработчикам агентных систем и долгоживущих программ, которым нужно подключать новые API, модели и устройства через плагины, написанные и заменяемые самим агентом.

Подходит, если

  • Агент должен сам написать плагин для нового API, проверить его и подменить без остановки программы
  • Плагины на Python и TypeScript должны вызывать услуги друг друга по имени
  • Нужно увидеть зависимости плагинов и поймать услугу, которой никто не дает
  • Часть плагинов запускается на другой машине, а вызов идет по тому же имени

Не подходит, если

  • Нужен готовый плагин для конкретного сервиса: rutis дает среду выполнения, готовых плагинов в ней нет
  • Приложение простое и не меняется после выпуска: накладные расходы на среду не оправданы
  • Нужна жесткая изоляция недоверенного кода: гарантии касаются жизненного цикла, песочницей он не служит

Пример запроса к агенту

Создай плагин погоды на Node, подключи его к услуге `llm` и проверь зависимости командой `rutis-host check`.

Ограничения

Среда рассчитана на разработчиков: для запуска без Rust хватит `npx @arcships/rutis-host new weather --lang node`, для Rust подключается крейт `rutis` и `tokio`. Версии языковых сред: Node, Bun, Python через uv, Go и Swift, у каждой свое руководство в `docs/guide/`. Гарантии жизненного цикла не изолируют плагин от системы: код плагина исполняется с правами процесса. Проект молодой, интерфейсы плагинов могут меняться. Последний коммит в репозитории датирован ноябрем 2026 года.

Как отключить. Удалите созданные проекты плагинов и пакеты (`npm uninstall @arcships/rutis-host`, `cargo remove rutis`). Установленные навыки `rutis-new-runtime` и `rutis-remote-plugin` убираются из каталога навыков агента.

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

Как начать без Rust?

Командой `npx @arcships/rutis-host new weather --lang node`, затем `cd weather && npm install` и `npx rutis-host dev`. Для Bun, Python и Go есть свои варианты команды.

Какие гарантии дает среда?

Ничего не стартует раньше зависимостей, все, что зарегистрировал плагин, освобождается ровно один раз при остановке, неудачная загрузка откатывается.

Что показывает `rutis-host check`?

Зависимости и услуги каждого плагина. Команда завершается с ошибкой, если какую-то услугу никто не дает.

Откуда модель жизненного цикла?

Из проекта Cordis. rutis реализует ее один раз в небольшом ядре на Rust и переносит на другие языки, процессы и машины.

Есть ли помощь для агентов?

Да, в `.agents/skills/` лежат навыки `rutis-new-runtime` для новой среды и `rutis-remote-plugin` для удаленных плагинов.

Обсуждение

Вопросов и отзывов пока нет.

Три скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI

ПлагинРасширенный доступ1,8 тыс.Звезды репозитория

Кодирующий агент на Rust в терминале: расширения на любом языке через JSON-RPC, облачные и локальные модели, звук, управление ПК

CLIШирокий доступ223Звезды репозитория

Утилита cargo agents сверяет зависимости Rust-проекта с реестром плагинов и сама ставит нужные скиллы, хуки и MCP-серверы.

CLIРасширенный доступ437Звезды репозитория

Транспайлер Python в Rust с MCP-сервером: агент оценивает объем миграции, переводит модули и сверяет поведение результата.

MCP-серверРасширенный доступ368Звезды репозитория

Небольшой терминальный кодинг-агент на Rust: свой ключ API или локальная модель, расход на каждом ходу, откат и ветки сессии

CLIШирокий доступ244Звезды репозитория
Официальный

Модальный редактор на Rust со встроенным MCP: агент читает буферы и терминалы, а ввод в терминал идет после вашего одобрения

MCP-серверРасширенный доступ112Звезды репозитория

Коротко о README

README объявляет цель (среда плагинов для ПО, которое меняет себя), показывает цикл работы и быстрый старт без Rust и на Rust. Дальше идут руководства по языкам, философия дизайна и документация API.

Бейдж для README

Сообщить о проблеме