install · preview

One command. Six minutes. Done.

This is what the install will look like when you get your invite. A single shell command downloads a signed binary, walks you through a short interactive setup, and leaves you with a running service on your machine, your keys, your memory.

This page is a preview. The real installer ships with your invite, personalised to your account.

§ 01 · the command

One line.

Paste it into your terminal. The installer verifies the signature before a single byte of code runs. The URL and token in your invite are per-user — this one is a placeholder.

$ curl -sSf https://install.smartopol.ai/YOUR-INVITE-TOKEN | sh

→ fetching smartopol-1.0.0-beta · 18 MB
→ verifying signature ......................................... ok
→ verifying checksum .......................................... ok
→ installing to ~/.local/bin/smartopol .......................  done

installed. run smartopol init to get started.

Nothing is installed outside your home directory. Nothing is added to the system PATH unless you ask. The entire install can be undone with rm -rf ~/.local/share/smartopol ~/.local/bin/smartopol.

§ 02 · what you need

Modest.

Smartopol is a single binary with no native dependencies. If you have a recent laptop, you have enough.

▸ operating system

  • Linux x86_64 · kernel 5.10+
  • Linux aarch64 · kernel 5.10+
  • macOS 12 Monterey or newer
  • Windows: via WSL2 only

▸ hardware

  • 2 GB RAM free (4 GB recommended)
  • 1 GB disk for the binary + data
  • Any modern CPU (2018+)
  • no GPU required

▸ model access

  • At least one of:
  •  · an API key for a frontier provider
  •  · a local model server
  •  · any OpenAI-compatible endpoint
§ 03 · the setup

Interactive. Honest.

smartopol init walks through these steps. Nothing is decided for you; every default is questioned once and then left alone.

step 01

Pick a data directory.

Everything Smartopol remembers lives in one folder. Back it up, move it, encrypt it — it behaves like any other folder on your machine.

? Where should Smartopol keep its data?
   ~/.local/share/smartopol   (default)
    ~/smartopol
    custom path…
step 02

Add at least one model provider.

Paste an API key, or point at a local model server. You can add more later, reorder priority, set per-channel overrides — none of that needs to happen now.

? Which model provider do you want to set up first?
   Anthropic (Claude)
    OpenAI
    Local (Ollama)
    OpenAI-compatible endpoint
    Skip for now
step 03

Pick how you talk to it.

The terminal works out of the box. Web UI, Telegram, Discord, and more can be added from the setup menu or later with one command each.

? Which channels do you want to enable?
  [x] Terminal (REPL)      always on
  [x] Local web UI          http://127.0.0.1:port
  [ ] Telegram bot
  [ ] Discord bot
  [ ] Configure later
step 04

Set a vault password.

One password unlocks all your secrets — API keys, tokens, credentials. The password is never stored, never sent anywhere. Forget it and the vault stays locked forever.

? Choose a vault password
   ••••••••••••
? Confirm
   ••••••••••••   ok
  
  stored in ~/.local/share/smartopol/vault · locked
step 05

Install default skills (optional).

Thirty-five curated skills ship with the beta — calendar, reminders, research, web fetch, file ops, and more. Pick the ones you want; the rest can be added later.

? Install default skill pack? (35 skills · signed · sandboxed)
   Yes, install all          recommended
    Let me pick
    No, start empty
step 06

Start the service.

The service runs in the background, under your user account. Stop it any time; nothing persists in memory that isn't also on disk.

$ smartopol start
→ loading memory ...................... ok (12 ms)
→ providers online .................... 1/1
→ channels online ..................... 2/2
→ skills loaded ....................... 35

ready.   smartopol chat   to say hello.
§ 04 · first conversation

It remembers. From the very first message.

Nothing clever is happening here. This is the default behaviour — one brain, one memory, across every channel you enabled.

$ smartopol chat

smartopol · session 001 · model: claude-sonnet-4-6

you › My name is Sam, I'm a backend engineer, and I'm trying to stop
        checking Hacker News every 20 minutes. Can you help?

smartopol › Noted. Sam, backend engineer, trying to reduce HN checking.
              I'll remember. Do you want me to (a) summarise what matters
              each morning so you can stop reflexively reloading, or
              (b) block the site and route questions through me?

you › Let's try (a) for a week.

smartopol › Set. 08:00 local, one digest. If something breaking happens
              before then I'll nudge you. Otherwise, silence.

              memory updated · 3 facts stored · task scheduled

Open Telegram tomorrow morning and the same agent answers from the same memory. Open the web UI next week and it still knows your name, your job, and that you asked to stop reloading HN on a Tuesday.

§ 05 · leaving

One command. No hooks.

If this isn't for you, leaving is as simple as arriving. No account to close. No data to request. No retention window.

$ smartopol uninstall
→ stopping service .............................. ok
→ removing binary ............................... ok
→ data directory preserved at:
  ~/.local/share/smartopol   (delete manually if you want)

done. thanks for trying it.

The data directory is left in place on purpose. If you change your mind next month, reinstall and your agent remembers where it left off. If you don't, rm -rf it and the last trace is gone.

§ · ready?

The installer isn't public. The invite is how you get it.

Every invite is a personal install URL with a per-user token baked in. That is the only way to download the beta. No mirrors, no torrents, no "ask in the Discord." When you get an invite, you get the installer.