Metadata-Version: 2.4
Name: snippbot
Version: 0.1.2
Summary: Snippbot - Autonomous AI agents for your local machine
Project-URL: Homepage, https://snippbot.com
Project-URL: Documentation, https://docs.snippbot.com
Author: Snippbot Team
License: Proprietary
Keywords: agents,ai,autonomous,claude,snippbot
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: aiofiles>=23.0
Requires-Dist: aiohttp>=3.9
Requires-Dist: aiosqlite>=0.19
Requires-Dist: anthropic>=0.18
Requires-Dist: bcrypt>=4.0
Requires-Dist: click>=8.1
Requires-Dist: croniter>=2.0
Requires-Dist: cryptography>=41.0
Requires-Dist: httpx>=0.26
Requires-Dist: jsonschema>=4.20
Requires-Dist: keyring>=24.0
Requires-Dist: mcp>=1.8
Requires-Dist: numpy>=1.26
Requires-Dist: pillow>=10.0.0
Requires-Dist: pydantic>=2.5
Requires-Dist: pynacl>=1.5
Requires-Dist: pypdf>=3.0.0
Requires-Dist: python-dateutil>=2.8
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.7
Requires-Dist: starlette<1.0,>=0.35
Requires-Dist: toml>=0.10
Requires-Dist: uvicorn>=0.27
Requires-Dist: watchfiles>=0.21
Requires-Dist: websockets>=12.0
Requires-Dist: zeroconf>=0.131
Provides-Extra: all
Requires-Dist: beautifulsoup4>=4.12; extra == 'all'
Requires-Dist: crawl4ai>=0.8.0; extra == 'all'
Requires-Dist: docker>=7.0.0; extra == 'all'
Requires-Dist: duckduckgo-search>=6.0; extra == 'all'
Requires-Dist: faiss-cpu>=1.7; extra == 'all'
Requires-Dist: faster-whisper>=1.0.0; extra == 'all'
Requires-Dist: google-api-python-client>=2.100.0; extra == 'all'
Requires-Dist: google-auth-oauthlib>=1.1.0; extra == 'all'
Requires-Dist: hdbscan>=0.8; extra == 'all'
Requires-Dist: ocrmac>=0.5.0; (sys_platform == 'darwin') and extra == 'all'
Requires-Dist: piper-tts>=1.2.0; extra == 'all'
Requires-Dist: playwright>=1.40.0; extra == 'all'
Requires-Dist: pyngrok<8,>=7; extra == 'all'
Requires-Dist: scikit-learn>=1.4; extra == 'all'
Requires-Dist: sentence-transformers>=3.0; extra == 'all'
Requires-Dist: umap-learn>=0.5; extra == 'all'
Requires-Dist: winocr>=0.0.5; (sys_platform == 'win32') and extra == 'all'
Provides-Extra: browser
Requires-Dist: playwright>=1.40.0; extra == 'browser'
Provides-Extra: crawl
Requires-Dist: crawl4ai>=0.8.0; extra == 'crawl'
Provides-Extra: design
Requires-Dist: python-pptx>=0.6.21; extra == 'design'
Provides-Extra: devices
Requires-Dist: pyotp>=2.9; extra == 'devices'
Requires-Dist: qrcode>=7.4; extra == 'devices'
Provides-Extra: embeddings
Requires-Dist: hdbscan>=0.8; extra == 'embeddings'
Requires-Dist: scikit-learn>=1.4; extra == 'embeddings'
Requires-Dist: sentence-transformers>=3.0; extra == 'embeddings'
Requires-Dist: umap-learn>=0.5; extra == 'embeddings'
Provides-Extra: gmail
Requires-Dist: google-api-python-client>=2.100.0; extra == 'gmail'
Requires-Dist: google-auth-oauthlib>=1.1.0; extra == 'gmail'
Provides-Extra: ocr
Requires-Dist: ocrmac>=0.5.0; (sys_platform == 'darwin') and extra == 'ocr'
Requires-Dist: pytesseract>=0.3.10; extra == 'ocr'
Requires-Dist: winocr>=0.0.5; (sys_platform == 'win32') and extra == 'ocr'
Provides-Extra: sandbox
Requires-Dist: docker>=7.0.0; extra == 'sandbox'
Provides-Extra: search
Requires-Dist: beautifulsoup4>=4.12; extra == 'search'
Requires-Dist: duckduckgo-search>=6.0; extra == 'search'
Provides-Extra: tunnel
Requires-Dist: pyngrok<8,>=7; extra == 'tunnel'
Provides-Extra: vector
Requires-Dist: faiss-cpu>=1.7; extra == 'vector'
Provides-Extra: voice
Requires-Dist: faster-whisper>=1.0.0; extra == 'voice'
Requires-Dist: piper-tts>=1.2.0; extra == 'voice'
Description-Content-Type: text/markdown

# Snippbot

**Your own AI agents that actually do the work.**

Snippbot is a **self-hosted autonomous AI agent platform**. Install it on your own
machine or server, connect your AI providers, and let agents research, build,
automate, and execute — while you focus on strategy. Everything runs on your
infrastructure; your prompts, data, and API keys never leave your control.

It ships as a single, self-contained daemon — a Starlette API server **and** a
bundled React UI in one process on port **18781**. The only runtime requirement
is **Python 3.11+**: the compiled UI and the agent gateway are bundled inside the
package, so there's no Node, pnpm, or repo checkout to manage.

## Install

```bash
pipx install snippbot      # recommended — isolated environment, `snippbot` on PATH
```

`pipx` works the same on macOS, Linux, and Windows. Don't have it? Install it from
[pipx.pypa.io](https://pipx.pypa.io/stable/installation/). Prefer pip? Use a
virtualenv (modern macOS/Debian block a system `pip install` per
[PEP 668](https://peps.python.org/pep-0668/)):

```bash
python3 -m venv ~/.snippbot-venv && ~/.snippbot-venv/bin/pip install snippbot
```

Optional extras — voice, browser automation, vector memory, and more:

```bash
pipx install "snippbot[voice]"     # or [all] for everything
```

## Quick start

```bash
snippbot setup       # create your account + awaken your first agent (browser wizard)
snippbot start       # start the daemon (API + UI on :18781)
```

Then open <http://localhost:18781/>. A quick health check:

```bash
curl http://127.0.0.1:18781/health     # {"status": "ok", "service": "snippbot"}
```

`snippbot start` runs in the **foreground**. To launch on login and auto-restart
on crash, register it as a user-level service (systemd on Linux, launchd on
macOS, Task Scheduler on Windows) — no `sudo` required:

```bash
snippbot service install     # install + start
snippbot service status      # check it
```

To reach it from other machines (server/VM), bind to all interfaces and open
ports **18781** (API + UI) and **8787** (agent gateway) in your firewall:

```bash
snippbot start --host 0.0.0.0
```

## What Snippbot does

- **Multi-agent orchestration** — Architect → Executor → Reviewer team loop, each
  agent configurable with its own identity, memory, tools, and trust tier. Spawn
  sub-agents on demand for research, coding, or analysis.
- **Projects & workflows** — AI-generated plans with phases, tasks, and approval
  gates; a drag-and-drop DAG workflow builder with conditional branching and
  parallel execution.
- **Scheduler** — Cron, natural language (`every day at 9am`), one-time triggers,
  chains, conditions, and auto-pause on failure.
- **Persistent memory** — Layered context with episodic store, full-text +
  vector search, knowledge graph, automatic consolidation, and end-of-conversation
  reflection that updates the agent's notebook.
- **Thinking engine & proactivity** — Autonomous reasoning cycles that generate
  insights and track goals, with quiet hours and rate limits.
- **Browser automation** — Full Chrome DevTools control with recording/replay,
  stealth mode, and persistent sessions.
- **Multi-channel messaging** — Slack, Discord, Telegram, WhatsApp, Microsoft
  Teams, and Google Chat. Plus email and push notifications.
- **Security & sandboxing** — 5 permission tiers, container/OS sandboxing
  (Docker, Podman, bubblewrap, firejail), DLP scanning, encrypted secret storage,
  and a security scanner.
- **Voice & devices** — Local and cloud STT/TTS; pair and drive remote devices
  over a WebSocket protocol.
- **Marketplace** — The Singularity marketplace for installing skills, tools, and
  agent packages, buying packages, and funding bounties in USD via Stripe.

> **Coming soon:** USDC payments + agent autonomy — bounded autonomous agent
> payments (USDC/x402 on Solana) with per-transaction/daily caps, allowlists, and
> escrow. *In development.*

## Optional: Claude CLI agent backend

To run agents on your Claude Pro/Team account via the local **Claude CLI**, you
also need **Node.js 18+** and the `@anthropic-ai/claude-code` package:

```bash
npm install -g @anthropic-ai/claude-code   # global install needs sudo on a server
claude login                               # then authenticate
```

This is optional — you can skip it and run on an Anthropic (or other provider)
API key instead.

## Configuration & data

All state lives under `~/.snippbot/` (config, SQLite database, agent workspaces):

- `~/.snippbot/config.toml` — main config
- `SNIPPBOT_DATA_DIR` — override the data directory
- `SNIPPBOT_HOST` / `SNIPPBOT_PORT` — override the bind address / port (default `127.0.0.1:18781`)

Resolution order: environment variables → `~/.snippbot/config.toml` → built-in defaults.

## CLI

```bash
snippbot setup        # first-run wizard            snippbot start|stop|status
snippbot doctor       # diagnose system health      snippbot service install
snippbot config list  # view config                 snippbot secrets set KEY
snippbot project ...  # projects                    snippbot marketplace ...
snippbot --version    snippbot uninstall            snippbot --help
```

Full command reference: **[docs.snippbot.com/cli](https://docs.snippbot.com/cli/)**.

## Upgrading

```bash
pipx upgrade snippbot
```

## Links

- Home: <https://snippbot.com>
- Install guide: <https://snippbot.com/install>
- Documentation: <https://docs.snippbot.com>
- CLI reference: <https://docs.snippbot.com/cli/>

## License

Free for personal, educational, and non-commercial use. **Commercial use requires
a license** — see the [Terms of Service](https://snippbot.com/terms).
