The AI workstation that grows with you.
A self-hosted, local-first AI for one-person companies — terminal, browser, desktop, mobile, and messengers. One brain everywhere.
Bring your own keys. Extend without forking.
xopc.ai · Documentation · Get started · Releases
Linux, macOS, WSL2, Termux
curl -fsSL https://xopc.ai/install.sh | bashWindows (native, PowerShell)
Heads up: Native Windows runs xopc without WSL — CLI, gateway, TUI, and tools all work natively. Prefer WSL2? Use the bash one-liner above there too.
Run this in PowerShell:
iex (irm https://xopc.ai/install.ps1)The installer detects your OS, installs Node.js ≥ 22 when needed, and installs @xopcai/xopc. China mirror: add --cn (bash) or -Cn (PowerShell), or pass --registry https://registry.npmmirror.com.
xopc onboard # faster: xopc onboard --quick
xopc tui --localNew here? Start with
xopc tui --local(embedded agent, no gateway). Runxopc gatewaywhen you want the web console or messengers (Telegram, WeChat, Feishu).
npm install -g @xopcai/xopcOr with pnpm: pnpm add -g @xopcai/xopc · China: npm install -g @xopcai/xopc --registry=https://registry.npmmirror.com
xopc agent -i # classic interactive CLI
xopc agent -m "Summarize the last 5 commits" # one-shot
xopc init # full ~/.xopc state tree (first install / repair)
xopc gateway # local web server + React console (URL in logs)
xopc gateway service install # OS service; xopc gateway stop | status | logs
xopc profile list # optional isolated state profilesFrom source (installer or pnpm workspace):
# installer — clone, build, and add ~/.local/bin/xopc wrapper
curl -fsSL https://xopc.ai/install.sh | bash -s -- --install-method git
# or manual checkout
git clone https://github.com/xopcai/xopc.git && cd xopc
corepack enable && pnpm install && pnpm run build
pnpm exec xopc onboardWindows git install: & ([scriptblock]::Create((irm https://xopc.ai/install.ps1))) -InstallMethod git
Requirements: Node.js ≥ 22 (the one-liner handles this). Use pnpm when hacking from a git clone. More install options on xopc.ai and Getting started.
- 🏠 Your machine — Data and config under
~/.xopc/. No mandatory cloud or surprise bills. - 🔑 Bring your own keys — DeepSeek (recommended), OpenAI, Anthropic, Ollama, LM Studio, vLLM, and 20+ providers. Mix cloud and local; switch models in one config line. See Models.
- 📱 One brain, every screen — Same assistant in terminal, browser, desktop, phone, and IM. No sync layer — one system.
- 🧩 Grows with you —
xopc skills install·xopc extensions installfor tools, channels, and UI panels; multi-agent routing per context. - ⏰ Proactive — Cron for scheduled summaries and reminders; workflows for fan-out subagent tasks; multi-agent routing with isolated workspaces, tools, and prompts.
| Surface | How | Best for |
|---|---|---|
| TUI | xopc tui --local (or xopc tui --url …) |
Full keyboard, streaming, lowest friction to try |
| CLI | xopc agent -i / xopc agent -m "…" |
Scripts and minimal TTY |
| Web | xopc gateway → open console URL |
Chat, settings, logs in the browser |
| Desktop | GitHub Releases or pnpm run electron:build |
Native app (macOS, Windows, Linux) |
| Mobile | Pair with your gateway (remote access) | Assistant on the go |
| Messengers | channels.* + gateway |
Telegram, WeChat, Feishu/Lark |
Configure under channels.* in ~/.xopc/xopc.json. IM bots need a running gateway; WeChat login runs on the gateway host.
| Channel | Config | Notes |
|---|---|---|
| Telegram | channels.telegram |
Multi-account, streaming, policies |
channels.weixin |
QR login on gateway host | |
| Feishu / Lark | channels.feishu |
Bot / webhook per docs |
Full reference: Channels · Configuration.
xopc skills install <name> # SKILL.md domains
xopc extensions install <pkg> # tools, channels, UI panels
xopc extensions dev ./my-extensionGuides: Extensions · Skills. Gateway UI extensions: @xopcai/xopc/extension-ui-sdk (packages/extension-ui-sdk/).
Default: ~/.xopc/xopc.json.
{
"agents": {
"defaults": {
"model": "deepseek/deepseek-chat",
"max_tokens": 8192
}
},
"providers": {
"deepseek": "${DEEPSEEK_API_KEY}",
"openai": "${OPENAI_API_KEY}"
}
}Add channels.telegram, channels.weixin, or channels.feishu when you need IM — see configuration.
Optional tools (e.g. browser) stay off until enabled; use Playwright Chromium if you turn on browser tools.
| Guide | Description |
|---|---|
| Getting started | Install, onboard, first chat |
| Configuration | xopc.json reference |
| CLI | Commands and flags |
| Channels | Telegram, WeChat, Feishu |
| Architecture | How pieces fit together |
| Workflows | Fan-out subagents, board UI, scripts |
Also: Tools · Voice · Remote access
- Download from GitHub Releases — macOS
.dmg, Windowsxopc-<version>-x64.exeorxopc-<version>-arm64.exe, Linux.AppImage/.deb. - Or use
xopc gateway+ the npm CLI until a build exists for your OS.
Build from source: pnpm install && pnpm run electron:build → dist/release/
Treat inbound IM messages as untrusted. Prefer pairing or allowlist for DMs. Keep gateway bind addresses and tokens secret — Channels.
pnpm install && pnpm run dev # CLI via tsx
pnpm run build && pnpm test && pnpm run lintIssues: bug · feature · Q&A Discussions · security advisory (not public issues)
- LLM layer: @earendil-works/pi-ai · Agent runtime: @earendil-works/pi-agent-core
- Inspired by openclaw/openclaw and NousResearch/hermes-agent
