Metadata-Version: 2.4
Name: snippbot
Version: 0.1.0
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

Self-hosted autonomous AI agents for your own machine. `snippbot` is a single,
self-contained daemon: a Starlette/Uvicorn API server **and** a bundled web UI,
in one process on port **18781**.

The only runtime requirement is **Python 3.11+** — the React UI ships bundled
inside the package, so there is no Node, pnpm, or repo checkout to manage.

## Install

```bash
pipx install snippbot     # recommended (isolated)
# or
pip install snippbot
```

Optional extras (voice, browser automation, vector memory, …):

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

### 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 API key instead. On a
server, `scripts/install-vps.sh --with-claude-cli` installs Node.js + the CLI for
you.

## First run

```bash
snippbot setup        # create your account + awaken your first agent
```

Then open the web UI at <http://localhost:18781/>. The first-run setup wizard
loads automatically.

## Running the daemon

```bash
snippbot start        # start the daemon (API + UI on :18781)
snippbot status       # is it running?
snippbot stop         # stop it
snippbot --version
```

Run on a different address/port (e.g. on a server, reachable over the network):

```bash
snippbot start --host 0.0.0.0 --port 18781
```

A quick health check:

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

## Configuration & data

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 bind address / port

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

## Upgrading

```bash
pipx upgrade snippbot
```

## License

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

## Links

- Home: <https://snippbot.com>
- Docs: <https://docs.snippbot.com>
- Download & install guide: <https://snippbot.com/download>
