{"id":48671481,"url":"https://github.com/papercomputeco/openclaw-in-a-box","last_synced_at":"2026-04-10T12:30:41.428Z","repository":{"id":346044839,"uuid":"1187587567","full_name":"papercomputeco/openclaw-in-a-box","owner":"papercomputeco","description":"Secure, sandboxed OpenClaw agents with full telemetry.","archived":false,"fork":false,"pushed_at":"2026-03-22T03:27:33.000Z","size":187,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-22T14:32:57.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/papercomputeco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-20T22:41:58.000Z","updated_at":"2026-03-22T03:43:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/papercomputeco/openclaw-in-a-box","commit_stats":null,"previous_names":["papercomputeco/openclaw-in-a-box"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/papercomputeco/openclaw-in-a-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papercomputeco%2Fopenclaw-in-a-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papercomputeco%2Fopenclaw-in-a-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papercomputeco%2Fopenclaw-in-a-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papercomputeco%2Fopenclaw-in-a-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/papercomputeco","download_url":"https://codeload.github.com/papercomputeco/openclaw-in-a-box/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/papercomputeco%2Fopenclaw-in-a-box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31642616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-10T12:30:40.633Z","updated_at":"2026-04-10T12:30:41.411Z","avatar_url":"https://github.com/papercomputeco.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openclaw-in-a-box\n\nRun OpenClaw in a [stereOS](https://stereos.ai) VM with [Tapes](https://tapes.dev) telemetry.\n\n## Get Started\n\nPaste this into Claude Code, OpenCode, or any coding harness:\n\n```\nSet up openclaw-in-a-box from https://github.com/papercomputeco/openclaw-in-a-box — clone the repo and follow SKILL.md to get me running with a secure OpenClaw setup.\n```\n\nThe agent clones the repo, checks your environment, asks which integrations you want, and walks you through setup.\n\n\u003cdetails\u003e\n\u003csummary\u003eManual setup\u003c/summary\u003e\n\nPrerequisites: [Master Blaster](https://github.com/papercomputeco/masterblaster) (`mb` CLI) and `ANTHROPIC_API_KEY` exported.\n\n```bash\ngit clone https://github.com/papercomputeco/openclaw-in-a-box\ncd openclaw-in-a-box\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"\nmb up\nmb ssh openclaw-in-a-box\nbash /workspace/scripts/install.sh   # first time\nbash /workspace/scripts/start.sh\n```\n\u003c/details\u003e\n\n## Integrations\n\nThe VM comes pre-configured for three integrations. Set up whichever ones you need -- the agent loads all available skills at startup.\n\n| Integration | Setup Guide | What It Does |\n|-------------|-------------|--------------|\n| [Gmail Triage](quickstart/gmail/) | Google OAuth + `gog` CLI | Archive newsletters, label receipts, flag action items |\n| [GitHub Org Triage](quickstart/github/) | `GH_TOKEN` + `gh` CLI | Flag stale PRs, blocked issues, release risk |\n| [Discord Bot](quickstart/discord/) | `DISCORD_TOKEN` | Respond to mentions, summarize threads |\n\nEach guide walks through the one-time credential setup for that integration. Export the tokens before `mb up`:\n\n```bash\n# Model provider (pick one)\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"     # default: Anthropic\n# --- OR ---\nexport MODEL_PROVIDER=\"ollama\"\nexport MODEL_NAME=\"minimax-m2.7:cloud\"\nexport OLLAMA_API_KEY=\"...\"\n\n# Integrations (optional)\nexport GH_TOKEN=\"ghp_...\"\nexport DISCORD_TOKEN=\"your-token\"\n```\n\n## Model Providers\n\nBy default the agent uses Claude via Anthropic. You can switch to Ollama-hosted models (cloud or local) by setting environment variables before `mb up`.\n\n| Provider | Env Vars | Notes |\n|----------|----------|-------|\n| Anthropic (default) | `ANTHROPIC_API_KEY` | Claude models |\n| Ollama Cloud | `MODEL_PROVIDER=ollama` `MODEL_NAME=minimax-m2.7:cloud` `OLLAMA_API_KEY` | No local GPU needed |\n| Ollama Local | `MODEL_PROVIDER=ollama` `MODEL_NAME=llama3.3` | Requires Ollama + pulled model on host |\n\n### Ollama Cloud example\n\n```bash\nexport MODEL_PROVIDER=\"ollama\"\nexport MODEL_NAME=\"kimi-k2.5:cloud\"\nexport OLLAMA_API_KEY=\"...\"    # from ollama.com/settings\nmb up\n```\n\nCloud models for agentic work: `minimax-m2.7:cloud`, `kimi-k2.5:cloud`, `minimax-m2.5:cloud`.\n\n## Commands\n\n| Command | What it does |\n|---------|-------------|\n| `mb up` | Boot the VM, mount `./` at `/workspace`, inject secrets via tmpfs |\n| `mb ssh openclaw-in-a-box` | SSH into the running VM |\n| `mb down` | Stop the VM. Secrets destroyed, config + tapes persist on host |\n| `mb destroy openclaw-in-a-box` | Remove the VM and all its resources |\n| `mb status openclaw-in-a-box` | Check if the VM is running |\n\n## Lifecycle\n\n```\nmb up          →  VM boots, shared mount at /workspace\nmb ssh         →  install.sh (first time) → start.sh\n                                           → openclaw onboard (first time)\n                                           → openclaw gateway (after onboard)\nmb down        →  VM stopped, secrets gone, config persisted\nmb up + ssh    →  install cached, skip onboard, start gateway\nmb destroy     →  VM removed entirely\n```\n\n- **Config** persists on the shared mount (`.openclaw/`) across `mb down`/`mb up` cycles\n- **Secrets** live in tmpfs -- destroyed on `mb down`\n- **Tapes** captures the agent's black box in `.mb/tapes/`\n\n## Architecture\n\n```\n┌──────────────────────────────────────────────────────────────┐\n│  HOST                                                        │\n│                                                              │\n│  $ mb up / ssh / down / destroy                              │\n│       │                                                      │\n│       │  reads jcard.toml                                    │\n│       │  injects secrets via tmpfs                           │\n│       │  mounts ./ → /workspace                              │\n│       ▼                                                      │\n│  ┌────────────────────────────────────────────────────────┐  │\n│  │  stereOS VM  (NixOS · 2 CPU · 4 GiB · 2h timeout)     │  │\n│  │                                                        │  │\n│  │  install.sh ──► Node 22 + OpenClaw CLI + Tapes CLI     │  │\n│  │                                                        │  │\n│  │  start.sh ──┬──► tapes serve proxy  (background)       │  │\n│  │             │       ▲                                   │  │\n│  │             │       │  intercepts LLM traffic           │  │\n│  │             │       ▼                                   │  │\n│  │             └──► openclaw gateway ◄──► LLM API       │  │\n│  │                    (Anthropic or Ollama)               │  │\n│  │                       │                                 │  │\n│  │                       ├──► gog    ◄──► Gmail API        │  │\n│  │                       ├──► gh     ◄──► GitHub API       │  │\n│  │                       └──► discord ◄──► Discord API     │  │\n│  │                                                        │  │\n│  │  skills/gmail-triage/    SKILL.md                       │  │\n│  │  skills/github-org-triage/ SKILL.md                     │  │\n│  │  skills/discord-bot/     SKILL.md                       │  │\n│  └────────────────────────────────────────────────────────┘  │\n│       │                                                      │\n│       │  shared mount (persists across mb down/up)           │\n│       ▼                                                      │\n│  .openclaw/              agent config + .onboarded marker     │\n│  .mb/tapes/tapes.sqlite  agent black box (VM telemetry)      │\n│  output/                 agent work products                 │\n└──────────────────────────────────────────────────────────────┘\n```\n\n## What's Included\n\n| File | Purpose |\n|------|---------|\n| [`jcard.toml`](https://stereos.ai/reference/jcard-schema/) | stereOS VM config (resources, network, secrets) |\n| `scripts/install.sh` | Installs Node.js, OpenClaw, Tapes CLI in the VM |\n| `scripts/start.sh` | Starts tapes proxy + openclaw gateway with all skills |\n| `skills/` | Agent skills for Gmail, GitHub, and Discord integrations |\n| `quickstart/` | Per-integration credential setup guides |\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapercomputeco%2Fopenclaw-in-a-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpapercomputeco%2Fopenclaw-in-a-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapercomputeco%2Fopenclaw-in-a-box/lists"}