{"id":49190762,"url":"https://github.com/open-gitagent/clawless","last_synced_at":"2026-04-23T06:34:02.702Z","repository":{"id":345413757,"uuid":"1185802862","full_name":"open-gitagent/clawless","owner":"open-gitagent","description":"ClawLess — A serverless browser-based runtime for Claw AI Agents powered by WebContainers","archived":false,"fork":false,"pushed_at":"2026-03-19T13:56:08.000Z","size":6812,"stargazers_count":14,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-19T14:16:57.617Z","etag":null,"topics":["agent-runtime","ai","ai-agents","ai-sandbox","audit-logging","browser-runtime","clawless","developer-tools","gitagent","monaco-editor","openclaw","policy-engine","runtime","sandbox","serverless","terminal","typescript","wasm","webcontainers"],"latest_commit_sha":null,"homepage":"https://play.clawless.io","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/open-gitagent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":null,"dco":null,"cla":null}},"created_at":"2026-03-19T00:42:58.000Z","updated_at":"2026-03-19T13:32:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/open-gitagent/clawless","commit_stats":null,"previous_names":["open-gitagent/clawless"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/open-gitagent/clawless","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-gitagent%2Fclawless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-gitagent%2Fclawless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-gitagent%2Fclawless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-gitagent%2Fclawless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-gitagent","download_url":"https://codeload.github.com/open-gitagent/clawless/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-gitagent%2Fclawless/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32169657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T02:19:40.750Z","status":"ssl_error","status_checked_at":"2026-04-23T02:17:55.737Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["agent-runtime","ai","ai-agents","ai-sandbox","audit-logging","browser-runtime","clawless","developer-tools","gitagent","monaco-editor","openclaw","policy-engine","runtime","sandbox","serverless","terminal","typescript","wasm","webcontainers"],"created_at":"2026-04-23T06:34:01.624Z","updated_at":"2026-04-23T06:34:02.694Z","avatar_url":"https://github.com/open-gitagent.png","language":"TypeScript","readme":"\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"250\"\u003e\n      \u003cimg src=\"clawless_readme.png\" alt=\"ClawLess\" width=\"200\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ch1\u003eClawLess\u003c/h1\u003e\n      \u003cp\u003e\u003cem\u003eNo server required to run Claw Agents, use ClawLess to run on browser!\u003c/em\u003e\u003c/p\u003e\n      \u003cp\u003e\u003cstrong\u003eA serverless browser-based runtime for Claw AI Agents powered by WebContainers\u003c/strong\u003e\u003c/p\u003e\n      \u003cul\u003e\n        \u003cli\u003eRun Claw Agents without a Server — entirely on-browser via WebContainers (WASM)\u003c/li\u003e\n        \u003cli\u003eComplete Audit \u0026amp; Policy driven sandboxing\u003c/li\u003e\n        \u003cli\u003eBuilt on \u003ca href=\"https://gitagent.sh\"\u003eGitAgent\u003c/a\u003e Standard\u003c/li\u003e\n        \u003cli\u003ePluggable SDK with template-based agent bootstrapping\u003c/li\u003e\n        \u003cli\u003eSecure by design — fully isolated WASM sandbox, no access to host system\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/clawcontainer\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/clawcontainer?color=cb3837\u0026label=npm\u0026logo=npm\" alt=\"npm version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/open-gitagent/clawless/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/open-gitagent/clawless?color=blue\u0026logo=github\" alt=\"GitHub release\" /\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/open-gitagent/clawless/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/open-gitagent/clawless?style=social\" alt=\"GitHub stars\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/open-gitagent/clawless/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/open-gitagent/clawless?color=yellow\" alt=\"GitHub issues\" /\u003e\u003c/a\u003e\n  \u003ca href=\"CONTRIBUTING.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\" /\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-5.4-blue?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/WebContainers-WASM-orange?logo=webassembly\u0026logoColor=white\" alt=\"WebContainers\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-browser-lightgrey?logo=googlechrome\u0026logoColor=white\" alt=\"Platform: Browser\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e \u0026middot;\n  \u003ca href=\"DOCS.md\"\u003eDocumentation\u003c/a\u003e \u0026middot;\n  \u003ca href=\"#sdk-usage\"\u003eSDK Usage\u003c/a\u003e \u0026middot;\n  \u003ca href=\"CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e \u0026middot;\n  \u003ca href=\"https://github.com/open-gitagent/clawless/discussions\"\u003eDiscussions\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nRun, observe, and control AI agents entirely in the browser — no backend required. ClawLess provides a full sandboxed Node.js environment via WebContainers (WASM) with built-in editor, terminal, policy engine, and audit logging.\n\n---\n\n## See It In Action\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot-ppt.png\" alt=\"ClawLess — AI Agent building a PowerPoint presentation using pptxgenjs\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eAn AI agent using learned skills to build a 9-slide Lobster presentation with pptxgenjs — installed and executed entirely in the browser.\u003c/em\u003e\u003c/p\u003e\n\nClawLess runs a full Node.js runtime in the browser via WebContainers — that means access to **3.4 million+ npm packages**. In this example, the agent installs `pptxgenjs`, generates a polished PowerPoint file with charts, images, and styled layouts, and saves it to the virtual filesystem — all without a server. The agent even learns and crystallizes reusable skills for future tasks.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot.png\" alt=\"ClawLess — AI Agent building a calculator app inside a WASM sandbox\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eAn AI agent building and previewing a calculator app — code, execution, and live preview, all inside the browser.\u003c/em\u003e\u003c/p\u003e\n\nThe agent runs inside a WebContainer with full virtual filesystem access — reading, writing, and executing files in an isolated WASM runtime. No server, no backend, no access to the host system. Everything from code generation to live preview happens within the sandboxed browser environment, completely isolated from your machine.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot-audit.png\" alt=\"ClawLess — Complete audit logging and observability\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eFull audit trail — every process spawn, file write, network request, and agent action is logged and filterable.\u003c/em\u003e\u003c/p\u003e\n\nEvery action inside the container is tracked end-to-end: process lifecycle, file I/O, network requests/responses, environment configuration, and policy enforcement. Sensitive headers like API keys are automatically masked. Filter by source, level, or event type — and download the full audit log for compliance and debugging.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot-policy.png\" alt=\"ClawLess — YAML-based policy engine for agent guardrails\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eDeclarative YAML policy engine — define exactly what agents can and cannot do.\u003c/em\u003e\u003c/p\u003e\n\nControl agent behavior with a built-in policy system. Define file access rules, allowed processes, port bindings, and runtime limits like max file size, max processes, max turns, and timeout — all in a simple YAML format. Policies are enforced at the container level, so agents cannot bypass them. Apply or reset policies on the fly without restarting the container.\n\n---\n\n## Key Features\n\n- **WebContainer-powered sandboxed runtime (WASM)** — full OS-level isolation in the browser\n- **Monaco Editor with multi-file tabs** — rich editing experience out of the box\n- **xterm.js terminal with full PTY support** — real terminal sessions, not a toy console\n- **GitHub integration** — clone and push repositories via the GitHub API\n- **YAML-based policy engine with glob patterns** — declarative guardrails for agent behavior\n- **Complete audit logging** — process, file, network, and git events captured end-to-end\n- **Plugin system with lifecycle hooks** — extend and customize every stage of execution\n- **Template system for agent configurations** — bootstrap agents from reusable presets\n- **Network interception** — intercepts both browser `fetch` and Node.js `http` calls\n- **Multi-provider AI support** — Anthropic, OpenAI, and Google out of the box\n\n## Quick Start\n\n```bash\n# Run locally\ngit clone https://github.com/open-gitagent/clawless.git\ncd clawless\nnpm install\nnpm run dev\n```\n\n```bash\n# Install as a dependency\nnpm install clawcontainer\n```\n\n## SDK Usage\n\n```typescript\nimport { ClawContainer } from 'clawcontainer';\n\nconst cc = new ClawContainer('#app', {\n  template: 'gitclaw',\n  env: { ANTHROPIC_API_KEY: 'sk-...' }\n});\n\nawait cc.start();\ncc.on('ready', () =\u003e console.log('Container ready!'));\n```\n\n## Architecture\n\n| Component | Role |\n|---|---|\n| **ClawContainer** | SDK facade — the single entry point for consumers |\n| **ContainerManager** | WebContainer orchestration and lifecycle |\n| **PolicyEngine** | YAML-based guardrails enforcing file, process, and network rules |\n| **AuditLog** | Complete event trail for every action inside the container |\n| **GitService** | GitHub API integration (clone, commit, push) |\n| **PluginManager** | Lifecycle hooks for extending container behavior |\n| **UIManager** | Monaco Editor, xterm.js terminal, and tab management |\n\n## Tech Stack\n\n- **Vite + TypeScript** — fast builds, type-safe codebase\n- **WebContainer API** — browser-native OS environment\n- **xterm.js** — full-featured terminal emulator\n- **Monaco Editor** — the editor behind VS Code\n\n## Configuration\n\nClawLess is configured through environment variables passed to the `ClawContainer` constructor:\n\n| Variable | Purpose |\n|---|---|\n| `ANTHROPIC_API_KEY` | Anthropic API key |\n| `OPENAI_API_KEY` | OpenAI API key |\n| `GOOGLE_AI_API_KEY` | Google AI API key |\n| `CLAWLESS_MODEL` | Model selection (e.g. `claude-sonnet-4-20250514`, `gpt-4o`) |\n\nAll runtime state is persisted to `localStorage` under the `clawchef_` prefix, so sessions survive page reloads.\n\n## Links\n\n## Supported Providers\n\n| Provider | Models |\n|---|---|\n| **Anthropic** | Claude Sonnet, Claude Opus, Claude Haiku |\n| **OpenAI** | GPT-4o, GPT-4, GPT-3.5 |\n| **Google** | Gemini Pro, Gemini Flash |\n\n## Roadmap\n\n- [ ] Custom agent template marketplace\n- [ ] Multi-agent orchestration\n- [ ] Persistent filesystem across sessions\n- [ ] Cloud deployment support\n- [ ] Built-in agent debugging tools\n\n## Community\n\n- [GitHub Discussions](https://github.com/open-gitagent/clawless/discussions) — ask questions, share ideas\n- [Issues](https://github.com/open-gitagent/clawless/issues) — report bugs, request features\n- [Contributing Guide](CONTRIBUTING.md) — how to contribute\n\n## Links\n\n[Documentation](DOCS.md) | [Contributing](CONTRIBUTING.md) | [License](LICENSE) | [GitAgent Standard](https://gitagent.sh)\n\n---\n\n\u003cp align=\"center\"\u003e\n  Built with care by \u003ca href=\"https://github.com/shreyaskapale\"\u003eShreyas Kapale\u003c/a\u003e / \u003ca href=\"https://lyzr.ai\"\u003eLyzr\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eIf ClawLess helps you, consider giving it a star on GitHub!\u003c/sub\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-gitagent%2Fclawless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-gitagent%2Fclawless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-gitagent%2Fclawless/lists"}