
razshy/wiggle
Browser automationЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Wiggle - это песочница для запуска кода в
Обзор
Рабочая копия песочницы, в которой работает Клод (claude.ai). Когда Клод выполняет команду, читает файл, преобразует документ или делает скриншот, он не работает на веб-сервере. Он работает внутри небольшой виртуальной машины, по одному на разговор. Этот репозиторий - это машина: те же файлы, инструменты, пакеты и инструкции, упакованные так, что вы можете запустить его самостоятельно на Docker, e2b, Modal или любом хосте Linux. Кодовое имя - это то, что Антропик называет VM внутри. Хотите точные байты вместо восстановления? Релиз GitHub содержит полную файловую систему сеанса (8,9 ГБ, дезинфицировано): См. ROOTFS.md для полной загрузки и проверки шагов. Клод решает что-то запустить и отправляет команду по частному каналу в процесс супервайзера внутри виртуальной машины. - Супервайзер запускает команду с фиксированной средой (см. meta/env-contract.md) и передает выход обратно. Команда работает как root без секкомпа и без пользовательской песочницы.
Обзор (машинный перевод)
Рабочая копия песочницы, в которой работает Клод (claude.ai).
Когда Клод выполняет команду, считывает файл, преобразует документ или берет Скриншот, он не работает на веб-сервере. Бежит внутри небольшой Виртуальная машина, по одному на разговор. Этот репозиторий и есть та машина: те же файлы, инструменты, пакеты и инструкции, упакованные, чтобы вы могли запускать их Вы можете использовать Docker, e2b, Modal или любой другой хост Linux.
Кодовое имя wiggle — это то, что Антропик называет VM внутренне.
Быстрый старт
Хотите точные байты вместо восстановления? The Выпуск GitHub несет полную файловую систему сеанса (8,9 ГБ, дезинфицировано):
См. ROOTFS.md для полной загрузки и проверки шагов.
Как это работает
Клод решает что-то запустить и посылает команду над частным лицом. Канал для процесса наблюдения внутри VM.
- Руководитель начинает команду с фиксированной средой (см.
meta/env-contract.md) и передает выход обратно.
Команда работает как root без секкомпа и без пользовательской песочницы. Внутри этого
ВМ, корень нормальный. Важное значение имеет сама граница ВМ.
Пользовательские файлы поступают в виде смонтированных папок под
/mnt/user-data. В производстве
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
Wiggle
A working copy of the sandbox that Claude (claude.ai) runs code in.
When Claude executes a command, reads a file, converts a document, or takes a screenshot, it is not running on a web server. It is running inside a small virtual machine, one per conversation. This repository is that machine: the same files, tools, packages, and instructions, packaged so you can run it yourself on Docker, e2b, Modal, or any Linux host.
Codename wiggle is what Anthropic calls this VM internally.
Quick start
docker build -t wiggle .
docker run -it wiggle bash
# inside:
soffice --version # LibreOffice 24.2
python3 -c "import pandas" # full data science stack
ls /mnt/skills # the 40 playbooks Claude follows
Want the exact bytes instead of a rebuild? The GitHub release carries the full filesystem of a live session (8.9 GB, sanitized):
cat wiggle-part-aa wiggle-part-ab > wiggle.tar.zst
zstd -d -c wiggle.tar.zst | docker import - wiggle:live
See ROOTFS.md for the full download and verification steps.
How it works
- Claude decides to run something and sends the command over a private channel to a supervisor process inside the VM.
- The supervisor starts the command with a fixed environment (see meta/env-contract.md) and streams the output back.
- The command runs as root with no seccomp and no user sandbox. Inside this VM, root is normal. The isolation that matters is the VM boundary itself.
- User files arrive as mounted folders under
/mnt/user-data. In production those are remote storage; here they are plain directories.
Machine spec to match if you care about parity: 1 vCPU, 3.9 GiB RAM, no swap. Details in meta/box-spec.md.
What is inside
| Capability | What gives you that |
|---|---|
| Documents (docx, xlsx, pptx, pdf) | LibreOffice 24.2, pandoc, python-docx, openpyxl |
| OCR (make scans searchable) | tesseract 5 with English models, byte-identical to the public Google release |
| File-type detection | magika (Google model, public build) |
| Web automation and screenshots | Playwright 1.56 with a pinned Chromium at /opt/pw-browsers, plus puppeteer with Chrome-headless-shell |
| Diagrams and charts | mermaid-cli, matplotlib, graphviz |
| Numbers and data | pandas, numpy, scipy, scikit-learn, Jupyter |
| Typesetting and PDFs | TeX Live 2023, poppler, qpdf, ImageMagick, wkhtmltopdf |
| Media | ffmpeg |
| The playbooks Claude follows | mnt-skills/, 40 skills, verbatim |
The skills are the interesting part. They are plain Markdown instruction files that Claude reads before doing certain jobs: how to fill a PDF form, how to run deep research (including the sub-agent prompts), how to drive the desktop with computer use, how to build a skill. Public ones cover office documents and file reading; example ones cover deep-research, morning
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add razshy/wiggle