Quick Start
Get SmartChats running on your machine in a few minutes.
Installation
curl -fsSL https://smartchats.ai/install | bashThe installer downloads a release for macOS (Apple Silicon) or Linux (x64 or arm64) into ~/.smartchats and then runs smartchats setup (shown under Quick start). The release bundles the CLI, the server, SurrealDB and the media storage (SeaweedFS). You don’t need Node, Bun or Docker.
Linux users. The installer needs tar and either curl or wget (preinstalled on most distros). If tar is missing: sudo apt install tar on Debian/Ubuntu, sudo dnf install tar on Fedora.
Intel Macs. There is no binary release for Intel Macs, and the installer exits with a message. Use the npm package instead (see the Package Managers tab). It needs Node 24+.
To check that smartchats was installed successfully, open a new terminal window and run:
smartchats --version
# Output: 0.x.yIf you see command not found, add the install directory to your PATH. The installer symlinks the CLI into /usr/local/bin when that directory is writable. Otherwise it adds ~/.smartchats/bin to ~/.zshrc, ~/.bashrc or your fish config.
export PATH="$HOME/.smartchats/bin:$PATH"Installer flags go after bash -s --:
curl -fsSL https://smartchats.ai/install | bash -s -- --version v0.4.0 --non-interactive| Flag | Default | Notes |
|---|---|---|
--version <tag> | latest | Install a specific release tag |
--prefix <dir> | ~/.smartchats | Install location |
--non-interactive | off | Don’t run smartchats setup after installing |
--no-path | off | Don’t touch /usr/local/bin or shell rc files |
Upgrading
Once installed, smartchats can upgrade itself:
smartchats upgradeThis re-runs the installer in place. Your data directory, .env and config.json are kept. Restart the stack afterwards with smartchats restart.
| Flag | Default | Notes |
|---|---|---|
--version <tag> | latest | Install a specific release, for example v0.4.0 |
-y, --yes | off | Skip the confirmation prompt |
npm users: run npm install -g smartchats-ai@latest instead. smartchats upgrade prints this and exits 1.
Source checkouts: run git pull in the repo.
Docker: docker pull sheunaluko/smartchats:latest (or rebuild with docker build --no-cache -f Dockerfile.aio -t smartchats-aio .), then remove and re-run the container. Data in the /data volume is kept.
Uninstalling
There is no uninstall command. To remove a curl install, stop the stack and delete the install directory:
smartchats stop
rm -rf ~/.smartchats
rm -f /usr/local/bin/smartchats~/.smartchats holds your data (data/), keys (.env), config and logs. Export your data first if you want to keep it (see Backup + restore).
If the installer edited your shell rc file, delete the # Added by SmartChats installer line and the PATH line after it. If you signed in to the cloud, also delete ~/.smartchats-mcp/credentials.json.
Windows: delete %USERPROFILE%\.smartchats and remove %USERPROFILE%\.smartchats\bin from your user PATH.
npm: npm uninstall -g smartchats-ai. The clone at ~/.smartchats/cli/source stays until you delete it.
Docker: docker rm -f smartchats and docker rmi sheunaluko/smartchats:latest. Delete ~/.smartchats/data to remove your data too.
Quick start
After installing, run the guided setup (the installers run it for you):
smartchats setupThe wizard will:
- Check your system. A binary install checks free disk only. A source or npm install also checks for
bunandsurreal. - Ask for each provider key in Providers & API Keys, starting with Together and Azure, the two the default setup uses (see Which keys matter). Press enter to skip any of them.
- Write the
.envfile, start the stack and print http://localhost:3000. To use it from your phone, open the same address with your computer’s network name or IP and pair once with the code fromsmartchats pair.
# Check what's running:
smartchats status
# Stop the stack:
smartchats stop
# Tail logs:
smartchats logs -f
# Add or change provider API keys later (interactive):
smartchats env
# Then `smartchats restart` to pick up the changes.Which keys matter
setup and env ask for every key in Providers & API Keys, starting with the two the default setup uses: Together (the default chat model and the voice turn judge) and Azure Speech (the default voice). Every key is optional, but the agent needs at least one chat provider to reply.
- Without Together, another provider’s model is used if it has a key, and the server skips the turn judge, so a pause mid-sentence ends the turn.
- Without Azure, replies are spoken with an OpenAI voice if OpenAI has a key.
- Without OpenAI, semantic search over your logs, knowledge graph and memory is off: OpenAI’s embeddings are currently the only ones SmartChats uses. Entries saved without a key are not embedded later, so add it early if you want them searchable.
To change keys later, run smartchats env, or edit ~/.smartchats/.env (<repo>/.env for a source install), then smartchats restart.
That’s it. Talk to the agent.
What’s next
- CLI Reference: every command and flag.
- Self-Hosting: env-var management, running on a VPS, Docker.
- Architecture: how voice, agent runtime, knowledge graph and sandboxed execution fit together.
- MCP: expose smartchats to Claude Desktop and other MCP-aware tools.
Use the hosted SaaS instead
Don’t want to run infrastructure? Sign up at smartchats.ai. Same stack, managed billing, no install. Free tier included.