🤖 pip install aicqwebbot

AicqWebBot

Your browser is the agent's container. Install the package, run one line, open localhost — a full AI agent (LLM loop, 50+ tools, WASM sandbox, memory) runs entirely inside your browser tab.

# 1. install
pip install aicqwebbot

# 2. run
import aicqwebbot
aicqwebbot.run(8386)

# 3. open http://localhost:8386 → configure → chat

Why AicqWebBot

Server containers are scarce. The browser is a free, pre-installed, perfectly isolated container on every machine.

🌐

Browser = Container

The agent loop, tool registry and streaming UI run as browser JS. No agent server, no orchestration, no YAML.

🛡️

Chromium Sandbox

Generated code executes as WebAssembly (Pyodide / QuickJS) inside the best-tested sandbox on Earth. Your server never sees untrusted code.

♾️

Users Bring the Compute

Every visitor supplies their own CPU/GPU. Platform cost collapses from O(users × execution) to zero — scale is not your problem anymore.

🧰

50+ Built-in Tools

Web search & read, HTTP client, virtual file system, docx / xlsx / pdf / ppt generation, charts, images, QR, email, clipboard, weather, task plans…

🔑

Your Key, Your Data

The API key and all memory (IndexedDB) stay on the device. The local relay is stateless: no accounts, no database, nothing persisted.

📦

3 Lines, Anywhere

Local machine, intranet, Hugging Face, ModelScope — the same package runs as localhost relay or pure static hosting.

Traditional Stack vs AicqWebBot

The agent stack that used to be a fleet of containers collapses into one browser tab.

Traditional agent stacksAicqWebBot
Agent loop (brain)Agent orchestration containerBrowser tab
Code execution (hands)Sandbox containers (E2B / Modal / …)WASM sandbox in the browser
Memory & filesDatabase containerIndexedDB on the device
Scaling costGrows with users × execution timeZero — users bring their own compute
Blast radiusUntrusted code on your serversUntrusted code stays in the visitor's own browser

Architecture

The Python package starts a thin stateless relay; the heavy lifting never leaves the browser.

pip install aicqwebbot && aicqwebbot.run(8386) ┌─ localhost:8386 · thin Python relay · stateless ────────┐ │ GET / config page / chat UI │ │ GET /static/* agent runtime bundle │ │ POST /api/v1/agent/llm-proxy → your model API │ │ POST /api/v1/agent/search-proxy → web search │ │ POST /api/v1/agent/web-proxy → page fetcher │ └─────────────────────────────────────────────────────────┘ │ ▼ ┌─ your browser tab = the agent's container ──────────────┐ │ agent loop · 50 tools · WASM sandbox (Pyodide/QuickJS) │ │ memory (IndexedDB) · virtual file system │ └─────────────────────────────────────────────────────────┘

Start in 60 seconds

No container fleet. No orchestration. Just Python and a browser.

PyPI package GitHub 🤗 Demo 🧲 ModelScope