sAI

User Guide · sAI 0.2.0 for macOS

Everything you need to use sAI.

From installing to getting great results — and what to do when something goes wrong.

Before you start

Install and activate

  1. Download the package from the home page and install it: python3 -m pip install sai-0.2.0-py3-none-any.whl Tip: install it in its own environment first with python3 -m venv ~/.sai-env && source ~/.sai-env/bin/activate.
  2. Get your laptop code and send it with the access form: python3 -m sai_guard machine-id
  3. When your approval email arrives, run this and paste the email (all of it is fine): python3 -m sai_guard activate You'll see ✓ License installed.
  4. Check it works: sai --version

Your first session

  1. Open Terminal and go to a project folder: cd ~/my-project
  2. Run sai. The very first time, it asks for your API keys — paste them when asked (input is hidden).
  3. The first time in a folder, sAI asks whether you trust it. That folder becomes the workspace: agents can read everything in it, and change files or run commands only with your approval. They can't reach outside it.
  4. Type what you want in plain English and press Enter:
❯ why does the login test fail?
  ⎿  jev → Debugger
⏺ Bash(python3 -m pytest tests/test_login.py -q)   ⎿  1 failed
⏺ Read(app/auth.py)                              ⎿  Read 84 lines
⏺ Debugger
  The test expects a 401 but login() returns 403 for a wrong password…
  models: Jev → gpt-oss-20b (groq, free) · Debugger → nemotron-3-super (free) ×3

Each ⏺ line is a step: a tool the agent used, then its result. The last line under every answer shows which AI models produced it, and whether they were free.

Talking to sAI

TypeWhat it does
plain textA request or question. sAI answers directly or hands it to the right agent.
@path/to/fileAttach a file (or a folder listing) to your request.
@screenshot.pngAttach an image — png, jpg, gif or webp, up to 4 per request.
!commandRun a shell command yourself, e.g. !git status.
/commandA built-in command — see Commands.
\ at line end, or Option+EnterNew line, for longer messages.
↑ ↓ · TabPrevious messages · complete /commands and @files.
Esc or Ctrl+CStop the current answer (sAI keeps running).
exitLeave sAI.

You can say "don't edit anything" or "just explain" and sAI will only investigate and report.

The agents

You don't need to pick one — sAI routes each request automatically. Big tasks go to several agents in turn (for example Planner → Coder → Reviewer). /agents lists them.

AgentGood for
PlannerBreaking multi-step work into an ordered plan. Doesn't write code.
ArchitectDesigning systems, APIs, data models and UI before building.
CoderBuilding and changing code — features, APIs, databases, data pipelines.
DebuggerFinding why something fails, reproducing bugs, writing and running tests.
ReviewerRead-only code review and security audit.
ResearcherAnswers from your codebase and the live web, exact calculations.
DevOpsCI/CD, Docker, deployment, monitoring, git history.
WriterDocs, READMEs, specs, user stories, plain-language explanations.
GitHubIssues, pull requests, reviews and Actions runs on github.com (needs extra setup; coming to the guide soon).

Approvals and safety

Commands

CommandWhat it does
/helpAll commands.
/initsAI studies your project and writes SAI.md — instructions every agent follows. Edit it to add your own rules ("use tabs", "never touch /legacy").
/undoRoll back the last request's file changes.
/agentsList the agents.
/council <question>Several AI models answer at once, then one combines the best answer and says where they agreed. Great for tricky questions and design choices.
/costWhat this session cost, today's total, tokens used.
/budget 2.50 · /budget offA daily spending cap for paid models. Free models keep working after it.
/compact [focus]Summarize the conversation to free up memory (also happens automatically).
/clearStart a fresh conversation (the old one stays saved).
/resumeContinue an earlier conversation in this folder.
/permissionsView or change approval rules.
/sandboxSandbox status · on/off · allow <website>.
/login · /login groqSee, add or replace your API keys.
/mcpConnected tool servers (advanced).

From the shell: sai --version, sai login, sai logout groq, sai -c (continue last conversation), sai -r (pick one).

Models and cost

Your API keys

Sessions and project memory

Your own commands

Save prompts you use often as Markdown files: in .sai/commands/ inside a project, or ~/.sai/commands/ for all projects. A file review.md becomes /review. Write $ARGUMENTS where the text after the command should go:

# .sai/commands/explain.md
Explain $ARGUMENTS to a new team member: what it does, how it fits in, and what to watch out for.

Then: /explain app/auth.py

Using sAI from scripts

Run one request without the interactive screen — the answer goes to the output, progress to the error stream:

sai -p "summarize what this repo does"
cat error.log | sai -p "why is this failing?"
sai -p "add docstrings to utils.py" --accept-edits
sai -p "list the TODOs" --output-format json

Nobody is there to approve, so commands that need approval are declined and reported. --accept-edits allows file edits.

Tips for great results

Troubleshooting

You seeWhat to do
No sAI license foundRun python3 -m sai_guard activate and paste your approval email.
This sAI license is for a different computerLicenses work on one computer. New laptop or reinstalled system? Request again with the new laptop code and mention it.
This sAI license expiredRequest a renewal with the access form.
This sAI license isn't validThe license was changed. Paste it again exactly as it came in the email.
This sAI build runs on Python 3.14Install Python 3.14 and reinstall sAI with it.
sAI has no OpenRouter API keyRun sai login.
free model busy → using …Normal: a free model was busy, so sAI switched to another. Nothing to do.
Daily budget reachedRaise it with /budget 5, or wait until tomorrow. Free models still work.
[sAI sandbox: …] in a command's outputThe sandbox blocked something. The agent will ask before running it outside the sandbox — or allow a website with /sandbox allow <site>.
supports macOS only for nowYou're on Windows or Linux, which aren't supported in this version.

Still stuck? Use the form and describe the problem in the last box.