10 сентября 2026 г.
Модели OpenRouter могут запускать код: Shell выполняет команды в Linux-контейнере
Shell можно включить прямо в чате, чтобы модель обработала файлы и вернула результат для скачивания.

OpenRouter
@openrouter
Новый серверный инструмент с сохранением состояния: Shell! Теперь любая модель на OpenRouter может выполнять команды в размещённом у нас Linux-контейнере и использовать новый Files API для загрузки и выгрузки файлов. Уже сегодня доступен в бете: `openrouter:shell`
· 2,9 тыс. просмотров
С 8 сентября модели с поддержкой tool calling могут выполнять команды в Shell, бета-инструменте OpenRouter.
OpenRouter добавил к вызовам моделей готовую среду для запуска команд. Через Files API можно передать модели исходный файл и забрать результат обработки. Shell сохраняет файлы между запросами, поэтому работу можно продолжать в следующем сообщении.
Запуск из чата. В OpenRouter Chatroom нужно включить переключатель shell. Для задачи «найди информацию и запиши её в файл» нужно также включить web search. Созданный файл появится в разговоре для скачивания.
Оплата за работу. По условиям беты от 8 сентября Shell стоит $0,0001 за активную секунду сверх стоимости токенов. Время считают от первой до последней команды запроса, при холодном старте оплачиваются минимум 30 секунд. Простой после запроса не тарифицируется.
Как подключить Shell к приложению?
В POST `/api/v1/responses` вместе с API-ключом, `model` и `input` нужно передать `tools: [{"type":"openrouter:shell","parameters":{"engine":"openrouter"}}]`. Shell работает через Responses API и Messages API. Запрос через Chat Completions вернёт ошибку 400.
Входной файл загружается через POST `/api/v1/files` в поле `file` формата multipart/form-data. Полученный идентификатор `or_file_` передаётся в `parameters.environment.file_ids` при `type: "container_auto"`. Один контейнер принимает до 20 файлов, максимальный размер каждого составляет 100 MiB.
Для продолжения работы нужно передавать одинаковый `session_id` или ссылку на прежний контейнер через `container_reference`. После 5 минут простоя контейнер засыпает. При восстановлении возвращаются файлы из `/workspace/home`, а процессы и установленные системные зависимости нужно запускать и настраивать заново.
Одна команда по умолчанию может работать 2 минуты, через `timeout_ms` лимит увеличивается до 5 минут. Один вызов принимает до 100 команд. Для `pip install` нужно разрешить домены `pypi.org` и `files.pythonhosted.org` через `network_policy`, поскольку исходящий интернет по умолчанию отключён.
Files API не требует отдельной платы, лимит рабочего пространства составляет 10 GiB. Результат скачивается через GET `/api/v1/containers/{container_id}/files/{file_id}/content`.
Файлы контейнера удаляются через 30 дней после последнего использования, а POST на тот же путь с `/promote` вместо `/content` сохраняет файл в рабочем пространстве без срока истечения.
Первоисточник

