● Сообщество
instavm
⚡ Сразу
CodeRunner
автор instavm · instavm/coderunner
VM-изолированное выполнение кода для агентов — Python, Playwright, персистентное ядро Jupyter, всё в песочнице вдали от хоста.
CodeRunner даёт Claude (и другим агентам) безопасную, персистентную песочницу: запускайте Python с долгоживущим ядром Jupyter, скрейпите через Playwright, манипулируйте PDF и изображениями. Изоляция на уровне VM через контейнеры означает, что агент может выполнять непроверенный код без риска для вашей машины. Раскрывает себя как MCP-сервер — работает с любым клиентом.
Зачем использовать
Ключевые функции
- Изоляция на уровне VM — файловая система и сеть хоста защищены
- Персистентное ядро Jupyter — переменные и импорты сохраняются между вызовами
- Playwright в комплекте для веб-скрейпинга / браузерной автоматизации
- Предустановленные скиллы: работа с PDF, обработка изображений
- Доступен как MCP-сервер на coderunner.local:8222 — подключайте к любому клиенту
Живое демо
Как выглядит на практике
готово
Сценарии использования
Реальные сценарии: CodeRunner
Когда использовать: Хотите, чтобы Claude написал и запустил скрипт, который вы не полностью проверили.
Поток
-
Поставить задачу
Use coderunner. Write a Python script that downloads my Strava activities CSV from <url>, parses, and computes weekly mileage. Run it in the sandbox.✓ Скопировано
→ Скрипт выполнен; вывод показан; моя файловая система не затронута
-
Итерировать
Add a chart of weekly mileage. Re-run.✓ Скопировано
→ График отрисован; состояние ядра сохранено (без повторного импорта)
-
Экспортировать результаты
Save CSV + chart to ./out/ on host (this only).✓ Скопировано
→ Только этот путь записан; песочница остаётся запечатанной
Итог: Быстрые эксперименты без «ой, удалил /Users».
Подводные камни
- Сетевой доступ в песочнице по-прежнему разрешён — Отключите сеть при запуске действительно непроверенного кода; иначе он может эксфильтровать данные
Когда использовать: Нужна 30-минутная исследовательская сессия с данными без потери состояния ядра.
Поток
-
Загрузить данные один раз
Use coderunner. Load /data/sales.csv into df. Show schema + 5 sample rows.✓ Скопировано
→ df в ядре; сохраняется на время сессии
-
Произвольные запросы
Pivot by region × month, show top 5 anomalies.✓ Скопировано
→ Сводная таблица + аномальные строки
-
Экспортировать
Save the anomalies subset to /out/anomalies.csv on host.✓ Скопировано
→ CSV в /out/
Итог: Notebook-качество анализа через чат с реально выполняемым кодом.
Подводные камни
- Состояние ядра дрейфует при длинных сессиях; результаты основаны на устаревших переменных — Перезапускайте ядро между несвязанными задачами; Claude умеет выполнять %reset
Когда использовать: Сайт требует полный браузер; не хотите Chrome-процесс на хосте.
Поток
-
Запустить сессию
Use coderunner Playwright. Open <url>, wait for the table, extract rows as JSON.✓ Скопировано
→ JSON возвращён; браузер остался в песочнице
-
Итерировать селекторы
Selector missed the price column; adjust to find it.✓ Скопировано
→ Обновлённый селектор; данные полные
Итог: Данные извлечены; на хосте нет следов браузера.
Подводные камни
- Сайт обнаруживает headless и блокирует — Переключитесь на параметры stealth для chromium, которые раскрывает скилл
Комбинации
Сочетайте с другими MCP — эффект x10
Перемещение данных в/из песочницы только через примонтированные пути
Mount only /Users/me/data and /Users/me/out; everything else is read-only.✓ Скопировано
Конвейер поиск → загрузка → анализ
Search via duckduckgo, scrape via coderunner Playwright, analyze in Python.✓ Скопировано
Стоимость и лимиты
Во что обходится
- Квота API
- Нет — локально
- Токенов на вызов
- Только токены кода/вывода
- Деньги
- Бесплатно
- Совет
- Персистентное ядро экономит токены на повторном импорте; сбрасывайте только при неверном состоянии
Безопасность
Права, секреты, радиус поражения
Минимальные скоупы: Только примонтированные пути файловой системы Сеть вкл/выкл через конфигурацию
Хранение учётных данных: Не помещайте секреты в песочницу, если не готовы к тому, что агент их увидит
Исходящий трафик: При включённой сети песочница может обращаться к любому URL — отключайте для чувствительных запусков
Никогда не давайте: Монтирование $HOME или / — песочница теряет смысл
- Песочница снижает радиус взрыва, но не панацея — проверяйте план агента перед запусками
Устранение неполадок
Частые ошибки и исправления
install.sh падает на Linux
Проект первичен для macOS Apple Silicon; поддержка Linux варьируется. Проверьте issues на дистрибутив-специфичные заметки
Устаревшее состояние Playwright
Запустите kernel_reset; старый контекст браузера может персистировать между вызовами
Песочница не имеет доступа к интернету
Сеть отключена в конфигурации; включите при необходимости. И наоборот — изолируйте когда не нужна
Скиллу PDF/image не хватает зависимостей
Образ контейнера включает распространённые; пересоберите образ для добавления кастомных зависимостей
Альтернативы
CodeRunner в сравнении
| Альтернатива | Когда использовать | Компромисс |
| Anthropic code execution beta | Нужно серверное выполнение без локальной песочницы | На стороне облака; данные покидают вашу машину |
| Docker вручную | Нужен полный контроль над образом контейнера | Ручная настройка; нет MCP-сервера из коробки |