rutis CLI
Среда плагинов на Rust для ПО, которое меняет себя: агенты пишут и перезагружают плагины на TypeScript, Python, Go без простоя
- 172 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент пишет и подменяет код плагинов, который затем исполняется с правами процесса и перезагружается без остановки программы
- Плагины могут работать на другой машине и вызывать услуги по сети
Установка
- Работает в
Ручная установка
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` для удаленных плагинов.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыТри скилла и конфиг clippy: агент пишет, проверяет и переносит код на идиоматичный Rust, а правила проходят в CI
Кодирующий агент на Rust в терминале: расширения на любом языке через JSON-RPC, облачные и локальные модели, звук, управление ПК
Утилита cargo agents сверяет зависимости Rust-проекта с реестром плагинов и сама ставит нужные скиллы, хуки и MCP-серверы.
Транспайлер Python в Rust с MCP-сервером: агент оценивает объем миграции, переводит модули и сверяет поведение результата.
Небольшой терминальный кодинг-агент на Rust: свой ключ API или локальная модель, расход на каждом ходу, откат и ветки сессии
Модальный редактор на Rust со встроенным MCP: агент читает буферы и терминалы, а ввод в терминал идет после вашего одобрения
Коротко о README
README объявляет цель (среда плагинов для ПО, которое меняет себя), показывает цикл работы и быстрый старт без Rust и на Rust. Дальше идут руководства по языкам, философия дизайна и документация API.