/ Каталог / Песочница / CodeRunner
● Сообщество instavm ⚡ Сразу

CodeRunner

автор instavm · instavm/coderunner

VM-изолированное выполнение кода для агентов — Python, Playwright, персистентное ядро Jupyter, всё в песочнице вдали от хоста.

CodeRunner даёт Claude (и другим агентам) безопасную, персистентную песочницу: запускайте Python с долгоживущим ядром Jupyter, скрейпите через Playwright, манипулируйте PDF и изображениями. Изоляция на уровне VM через контейнеры означает, что агент может выполнять непроверенный код без риска для вашей машины. Раскрывает себя как MCP-сервер — работает с любым клиентом.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

готово

Установка

Репозиторий автора · Официальная документация Claude Skills

Сценарии использования

Реальные сценарии: CodeRunner

Запуск непроверенного кода без риска для ноутбука

👤 Разработчики, экспериментирующие с автогенерированным кодом ⏱ ~15 min intermediate

Когда использовать: Хотите, чтобы Claude написал и запустил скрипт, который вы не полностью проверили.

Поток
  1. Поставить задачу
    Use coderunner. Write a Python script that downloads my Strava activities CSV from <url>, parses, and computes weekly mileage. Run it in the sandbox.✓ Скопировано
    → Скрипт выполнен; вывод показан; моя файловая система не затронута
  2. Итерировать
    Add a chart of weekly mileage. Re-run.✓ Скопировано
    → График отрисован; состояние ядра сохранено (без повторного импорта)
  3. Экспортировать результаты
    Save CSV + chart to ./out/ on host (this only).✓ Скопировано
    → Только этот путь записан; песочница остаётся запечатанной

Итог: Быстрые эксперименты без «ой, удалил /Users».

Подводные камни
  • Сетевой доступ в песочнице по-прежнему разрешён — Отключите сеть при запуске действительно непроверенного кода; иначе он может эксфильтровать данные
Сочетать с: filesystem

Персистентный анализ данных с Claude

👤 Аналитики, использующие Claude как Jupyter-напарника ⏱ ~30 min beginner

Когда использовать: Нужна 30-минутная исследовательская сессия с данными без потери состояния ядра.

Поток
  1. Загрузить данные один раз
    Use coderunner. Load /data/sales.csv into df. Show schema + 5 sample rows.✓ Скопировано
    → df в ядре; сохраняется на время сессии
  2. Произвольные запросы
    Pivot by region × month, show top 5 anomalies.✓ Скопировано
    → Сводная таблица + аномальные строки
  3. Экспортировать
    Save the anomalies subset to /out/anomalies.csv on host.✓ Скопировано
    → CSV в /out/

Итог: Notebook-качество анализа через чат с реально выполняемым кодом.

Подводные камни
  • Состояние ядра дрейфует при длинных сессиях; результаты основаны на устаревших переменных — Перезапускайте ядро между несвязанными задачами; Claude умеет выполнять %reset
Сочетать с: filesystem

Безопасный скрейпинг JS-сайта

👤 Разработчики, которым нужны разовые данные из SPA ⏱ ~20 min intermediate

Когда использовать: Сайт требует полный браузер; не хотите Chrome-процесс на хосте.

Поток
  1. Запустить сессию
    Use coderunner Playwright. Open <url>, wait for the table, extract rows as JSON.✓ Скопировано
    → JSON возвращён; браузер остался в песочнице
  2. Итерировать селекторы
    Selector missed the price column; adjust to find it.✓ Скопировано
    → Обновлённый селектор; данные полные

Итог: Данные извлечены; на хосте нет следов браузера.

Подводные камни
  • Сайт обнаруживает headless и блокирует — Переключитесь на параметры stealth для chromium, которые раскрывает скилл

Комбинации

Сочетайте с другими MCP — эффект x10

coderunner-skill + filesystem

Перемещение данных в/из песочницы только через примонтированные пути

Mount only /Users/me/data and /Users/me/out; everything else is read-only.✓ Скопировано
coderunner-skill + duckduckgo-mcp

Конвейер поиск → загрузка → анализ

Search via duckduckgo, scrape via coderunner Playwright, analyze in Python.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
run_python code: str Любое выполнение кода 0
browser_navigate url, wait_for? Playwright-сессия для SPA-скрейпинга 0
browser_extract selector, format Извлечение данных после навигации 0
pdf_ops input_path, op, args Слияние / разделение / извлечение PDF 0
image_ops input_path, op, args Изменение размера, конвертация формата, OCR 0
kernel_reset — Между несвязанными сессиями 0

Стоимость и лимиты

Во что обходится

Квота API
Нет — локально
Токенов на вызов
Только токены кода/вывода
Деньги
Бесплатно
Совет
Персистентное ядро экономит токены на повторном импорте; сбрасывайте только при неверном состоянии

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: Только примонтированные пути файловой системы Сеть вкл/выкл через конфигурацию
Хранение учётных данных: Не помещайте секреты в песочницу, если не готовы к тому, что агент их увидит
Исходящий трафик: При включённой сети песочница может обращаться к любому URL — отключайте для чувствительных запусков
Никогда не давайте: Монтирование $HOME или / — песочница теряет смысл

Устранение неполадок

Частые ошибки и исправления

install.sh падает на Linux

Проект первичен для macOS Apple Silicon; поддержка Linux варьируется. Проверьте issues на дистрибутив-специфичные заметки

Устаревшее состояние Playwright

Запустите kernel_reset; старый контекст браузера может персистировать между вызовами

Песочница не имеет доступа к интернету

Сеть отключена в конфигурации; включите при необходимости. И наоборот — изолируйте когда не нужна

Скиллу PDF/image не хватает зависимостей

Образ контейнера включает распространённые; пересоберите образ для добавления кастомных зависимостей

Альтернативы

CodeRunner в сравнении

АльтернативаКогда использоватьКомпромисс
Anthropic code execution betaНужно серверное выполнение без локальной песочницыНа стороне облака; данные покидают вашу машину
Docker вручнуюНужен полный контроль над образом контейнераРучная настройка; нет MCP-сервера из коробки

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills