Skip to main content
Glama
README.md
# autoMate

> **A smart NAS for AI.** Notes · files · reminders · memory · 40+ tools.
> Plug it into OpenClaw / Claude Desktop / Cursor / Cline as a tool
> source, or use it standalone via its built-in web chat.

```
   ┌─ OpenClaw ─────┐                      ┌─ notes / memory ── survives every chat
   ├─ Claude Desktop├──── MCP ────┐        ├─ files ─────────── your file vault (NAS)
   ├─ Cursor / Cline├──── HTTP ───┤        ├─ reminders ─────── push to your phone
   ├─ Kimi / GPT    ├──── bridge ─┤        ├─ memory ────────── cross-session facts
   └─ your scripts  ┘             │        ├─ search.find ───── BM25 over notes+files
                                  ▼        │
                          ┌──────────────────┐    ┌─ shell · script · browser
                          │     autoMate     │ ── ┤  desktop · 31 SaaS APIs
                          │  (your machine)  │    └─ your real Chrome (extension)
                          └────────┬─────────┘
                                   ▼
                          ~/.automate/  · SQLite + Fernet
```

## What's the deal

Every AI vendor wants to be your chat tool. Most can call tools.
**None of them remember anything across vendors, store your files, or
ping your phone when something matters.**

autoMate is the layer behind the chat: a warehouse you own. Pick a
chat client you like (OpenClaw for IM, Claude Desktop for serious
work, Cursor for code), point it at autoMate via MCP, and **that
client** can write into your notes, drop files, schedule reminders,
search your library, and call your real-world tools — and tomorrow's
client can read all of it back the same way.

## Two ways to use it

| Mode | Who's the brain | When |
|---|---|---|
| **As a tool inside another AI client** | Your client (OpenClaw / Claude / Cursor / ...) | Most use cases — IM, coding, research |
| **Standalone via autoMate's web chat** | autoMate's own agent loop | Quick local queries, no other client |

Same backend. Same data. Pick the entry point.

## Connecting to OpenClaw / Claude Desktop / Cursor / Cline (v4.5.7)

After install, open **Settings → Connect to AI clients** and click
**"Copy install text"**. You get a single markdown blob with the
URL + token already filled in, and per-client sections for OpenClaw,
Claude Desktop, Cursor, Cline, generic MCP, and non-MCP gateways.

Three ways to use it:

- Read it and edit your client's config file by hand.
- **Paste it into another AI** — "Cursor, here's autoMate, set it up
  for me." The text is written so an AI reader can find the right
  section and edit the right config.
- For OpenClaw specifically, paste into your OpenClaw config under
  `bundle-mcp` — the section spells it out.

After the client picks up the new server, it gets all autoMate's
tools (`search.find`, `notes.read`, `files.list`, `audio.transcribe`,
...) plus a top-level `automate` tool that runs autoMate's own
agent loop on demand.

See [docs/channels.md](./docs/channels.md) for details.

## Install

| Path | Get | When |
|---|---|---|
| `pip install automate-hub` | Python package | Have Python, want it small |
| Standalone binary (Win / macOS / Linux) | [Releases](https://github.com/yuruotong1/autoMate/releases/latest) | No Python, double-click |
| Docker | `docker run -p 8765:8765 ghcr.io/yuruotong1/automate:latest` | Headless box / NAS |
| Browser extension | [`extension/`](./extension/) | Drive your real Chrome |
| Phone (PWA) | Open the hub URL in mobile Chrome / Safari → Add to Home Screen | iOS or Android, no app store |

After install:

```bash
automate          # double-click on Windows/macOS does the same thing
```

Browser opens to `http://127.0.0.1:8765`. The wizard walks you through
picking a model, pasting a key, and (optionally) wiring up an AI client.

## What's in the box

**Personal data**
- `notes.*` — markdown documents with tags, search, pinning
- `files.*` — content-addressed blob vault, deduplication, **configurable storage path** (point it at an external SSD or NAS mount)
- `search.find` — Coze-style hybrid retrieval (SQLite FTS5 BM25) across notes + files in one call
- `reminders.*` — scheduler thread fires Web Push to your PWA
- `memory.*` — long-term key-value facts that any AI can read/write
- `audio.transcribe` — voice → text via Tencent ASR / OpenAI Whisper, with custom vocabulary mined from your notes (Pro tier)

**Local executors**
- `shell.*`, `script.*` (Python/Bash/Node), `desktop.*` (pyautogui)
- `browser.*` (Playwright, fresh Chromium tab)
- `bx.*` (your real browser via the [Chrome extension](./extension/README.md))

**SaaS integrations** — 31 platforms: GitHub · GitLab · Gitee · Notion ·
Slack · Linear · Jira · Confluence · Trello · Asana · Monday.com · HubSpot ·
Airtable · Stripe · Shopify · Telegram · Discord · MS Teams · Zoom ·
Twitter/X · SendGrid · Mailchimp · Twilio · Sentry · 飞书 · 钉钉 · 企业微信 ·
微信公众号 · 微博 · 语雀 · 高德地图.

**LLM providers** — 25 in the catalog: OpenAI · Anthropic · Gemini · xAI Grok ·
Mistral · Cohere · OpenRouter · Groq · Together · Fireworks · DeepInfra ·
DeepSeek · Moonshot Kimi · 通义 · 豆包 · GLM · 百川 · Yi · MiniMax · 阶跃 ·
混元 · 硅基流动 · Ollama · LM Studio · any OpenAI-compatible.

## IM channels (WeChat / Telegram / WhatsApp / ...)

We don't ship per-platform bots ourselves. Run [OpenClaw](https://github.com/openclaw/openclaw)
alongside autoMate. The **Bots tab** in the SPA walks you through it
step-by-step:

1. Install OpenClaw + the [openclaw-wechat](https://github.com/freestylefly/openclaw-wechat) plugin
2. Drop the auto-generated `bundle-mcp` config snippet into `~/.openclaw/openclaw.json5` — autoMate's MCP URL + bearer token are pre-filled
3. `openclaw config set channels.wechat.*` — apiKey, proxyUrl, webhookHost
4. `openclaw gateway start` — scan the QR with WeChat

OpenClaw also speaks Telegram / Slack / Discord / Signal / iMessage —
same step 2 (autoMate as MCP tool source) applies.

The legacy bots in `automate/bots/` (telegram / wechat_oa / wecom) are
direct-webhook adapters, kept for users who can't run OpenClaw. They
appear under **Bots → Direct platform webhooks (advanced / legacy)**.

## Project layout

```
autoMate/
├─ automate/                 # the package
│  ├─ server/                # FastAPI app, REST + WS + MCP-over-HTTP
│  │  └─ mcp_bridge.py       # FastMCP exposure, mounted at /mcp/
│  ├─ agent/                 # NL → tool-call loop
│  ├─ providers/             # LLM provider catalog + clients
│  ├─ tools/                 # shell · script · browser · desktop · bx
│  │                         # plus notes · files · reminders · memory
│  │                         # · search · audio
│  ├─ integrations/          # 31 SaaS connectors
│  ├─ frontend/              # static SPA — PWA installable
│  │  └─ local-store.js      # IndexedDB store: notes / memory / files
│  ├─ channels.py            # external IM gateway bridge
│  ├─ audio.py               # transcription provider abstraction
│  ├─ auth.py                # autoMate Cloud session (Pro tier hook)
│  └─ {notes,files,reminders,memory,push}.py
├─ extension/                # Chrome MV3 extension
├─ docs/{channels,cloud,relay,mobile,sync}.md
├─ Dockerfile
└─ pyproject.toml
```

## Privacy & safety

- Server binds to `127.0.0.1`. Network access is opt-in (`--host 0.0.0.0`).
- API keys, OAuth tokens, push subscriptions: encrypted with Fernet,
  key at `~/.automate/secret.key` (chmod 600).
- LLM calls go directly from autoMate to the provider you chose. Nothing
  else sees them.
- The MCP endpoint at `/mcp/` requires a Bearer token. Treat it like a
  password — anyone with this token can call autoMate's tools, including
  `shell.exec`. Regenerate from Settings → Channels.
- autoMate Cloud (paid tier) is opt-in. Without `AUTOMATE_CLOUD_URL` set,
  no data leaves your machine. See [docs/cloud.md](./docs/cloud.md) for
  the open-client / closed-server boundary.

## Status

**v4.5.7** — autoMate is now an MCP-over-HTTP tool source for any
OpenClaw / Claude Desktop / Cursor / Cline / Cline / Kimi setup. Settings
gives you a one-click "Copy install text" for any AI client. Personal
infra is filled out: Coze-style retrieval, audio transcription,
configurable storage path, in-app auto-update, login hook for the
upcoming autoMate Cloud Pro tier.

中文版: [README_CN.md](./README_CN.md)

## License

MIT.