openbrowserclaw  by sachaa

Personal AI assistant running entirely in your browser

Created 2 weeks ago

New!

563 stars

Top 57.2% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

OpenBrowserClaw is a browser-native personal AI assistant designed for users prioritizing privacy and zero infrastructure. It reimagines the NanoClaw philosophy, running entirely within a browser tab to provide a self-contained AI experience. The project offers a secure, locally-managed alternative for AI interactions, leveraging the browser as the sole server environment.

How It Works

This project utilizes a Progressive Web App (PWA) architecture where the browser tab hosts all components. An orchestrator in the main thread manages the state machine, message routing, and task scheduling, interacting with IndexedDB for persistent storage of messages, tasks, and configuration. An Agent Worker, running in a separate Web Worker, handles the core AI logic, including the Anthropic API tool-use loop. For executing commands, it employs a WebVM (v86 emulated Alpine Linux) for bash operations or a lighter scope for JavaScript, ensuring sandboxing. Data is stored locally using IndexedDB and OPFS (Origin Private File System) for file management.

Quick Start & Requirements

  • Install: Clone the repository and run npm install.
  • Run: Execute npm run dev to start the Vite development server. Access the UI at http://localhost:5173.
  • Prerequisites: An Anthropic API key is required.
  • Optional WebVM: For bash tool functionality, download v86.wasm and alpine-rootfs.ext2 assets and place them in public/assets/.
  • Deployment: Production builds (npm run build) result in static HTML, CSS, and JS files deployable to any static host (e.g., GitHub Pages, Cloudflare Pages).

Highlighted Details

  • Browser-Native: Eliminates server infrastructure, running entirely client-side.
  • Sandboxed Tools: Supports executing shell commands via a v86-emulated Alpine Linux VM and JavaScript code in an isolated scope.
  • Local Storage: Leverages IndexedDB for messages, tasks, and configuration, and OPFS for per-group file storage.
  • Multi-Channel Support: Integrates with an in-browser chat UI and offers optional Telegram bot integration via pure HTTPS.
  • NanoClaw Evolution: Shifts runtime from Node.js to the browser, Docker to Web Worker/WebVM, SQLite to IndexedDB, and filesystem to OPFS.

Maintenance & Community

OpenBrowserClaw is presented as a personal, open-source project. Specific details regarding maintainers, community channels (like Discord/Slack), or a public roadmap are not provided in the README.

Licensing & Compatibility

The README does not explicitly state a software license. As an open-source project, users should verify licensing terms before integration, especially for commercial use.

Limitations & Caveats

This project is described as a proof-of-concept with several security considerations: API keys are encrypted, but a full XSS attack on the same origin could compromise them. The JavaScript tool can execute arbitrary HTTP requests via eval() and fetch(), bypassing restrictions, and outgoing HTTP requests lack a user confirmation step. The Telegram bot token is stored in plaintext, and the browser tab must remain open for the bot to respond, with messages queuing on Telegram's side.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
6
Issues (30d)
5
Star History
567 stars in the last 20 days

Explore Similar Projects

Feedback? Help us improve.