RW

razshy/wiggle

Browser automation

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

99 stars Качество 59 Тренд 23NOASSERTION

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

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add razshy/wiggle
Новичок в MCP? Начните с руководства на mcpskill.org →