Set up¶
Two commands install everything; the satyrn command then guides you through the rest. Every
question it asks has a default, so you can press Enter throughout.
What you need¶
Minimum |
Notes |
|
|---|---|---|
Computer |
64-bit Linux, macOS or Windows |
Tested on Debian 13 (Linux). The scripts support macOS and Windows, but those have not been tested yet. |
Memory |
16 GB RAM |
For the smallest benchmarked model. |
Disk |
20 GB free |
13–23 GB per model, about 4 GB for the tools and their downloads. |
Processor |
any recent x86-64 or ARM CPU |
No GPU needed. Ollama uses a supported GPU automatically. |
Software |
|
uv can also provide Python 3.14, see below. |
Network |
while downloading |
The tools are about 4 GB, a model 13–23 GB. |
Python 3.14¶
satyrn uses only Python’s standard library, but needs version 3.14 or newer. Check with
python3.14 --version (Windows: py -3.14 --version).
If you do not have it, either install it from python.org or your package manager, or use uv, which downloads Python 3.14 into its own cache without changing your system.
Install the satyrn command¶
git clone https://github.com/niccokunzmann/satyrn-getting-started.git
cd satyrn-getting-started
python3.14 satyrn.py install
git clone https://github.com/niccokunzmann/satyrn-getting-started.git
cd satyrn-getting-started
py -3.14 satyrn.py install
git clone https://github.com/niccokunzmann/satyrn-getting-started.git
cd satyrn-getting-started
uv run --no-project --python 3.14 satyrn.py install
install does two things:
It installs the
satyrncommand with uv (uv tool install) or, if uv is missing, with pipx. The command is linked to this folder: it runs the code here, and everything it downloads goes into this folder’s.runtime/.It installs tab completion for your shell (bash, zsh, fish or PowerShell), so Tab completes commands, options, model names and folders. Open a new terminal to use it. For bash it goes where the bash-completion package finds it (
~/.local/share/bash-completion/completions/satyrn); for zsh and PowerShell,installadds marked lines to~/.zshrcor your PowerShell profile, whichuninstallremoves again. Completion is tested with bash; the zsh, fish and PowerShell versions are not tested yet.
If your shell reports satyrn: command not found, the folder with uv’s or pipx’s commands is
not on your PATH yet. uv tool update-shell or pipx ensurepath adds it.
You can also skip the installation: every satyrn … command on these pages works as
python3.14 satyrn.py … inside the folder.
Let satyrn guide you¶
Run satyrn without a command. It shows what is ready and offers the next step:
$ satyrn
Local code generation: what is ready
[ ] tools Ollama 0.40.15, Open Interpreter 0.0.60 and pi 1.5.2 are not downloaded yet
[ ] model gpt-oss:20b is not downloaded yet
[ ] server not running
Download and verify Ollama, Open Interpreter and pi now (about 4 GB)? [Y/n]
It then asks which coding agent satyrn code should use (see
Choose the coding agent; pi is the default) and continues with the
models rated for this computer (see Choose a model), asks
which one to download (press Enter for the recommended one, or type its number or name),
and offers to start the model server. When everything is ready, it
shows how to start working. Run satyrn again at any time to see where things stand; it only
asks about steps that are still missing.
The guide never starts anything without asking, and nothing starts automatically later: the model server runs only after you start it, until you stop it or restart the computer.
Choose the coding agent¶
satyrn installs two coding agents. Both work with the same models; satyrn code uses your
default, and --pi or --open-interpreter picks the other one for a single session.
pi (default) |
||
|---|---|---|
Tools of the model |
read, write and edit files, run commands |
run commands (files are written with the shell) |
Before a command runs |
nothing: pi runs every command right away |
commands run in a sandbox; it may ask for approval |
Installed from |
npm, with a pinned Node.js |
one pinned binary per platform |
Warning
pi has no sandbox and does not ask before it runs a command: the model can do whatever your
user account can do. Work in a folder made for this, as satyrn code ~/ai-code does, and use
Open Interpreter if you want commands confined and approved.
To change the default, answer the guide’s question again or run:
satyrn setup --harness open-interpreter # or: --harness pi
The same steps by hand¶
satyrn setup --no-model # download and verify Ollama, Open Interpreter, Node.js and pi
satyrn models # which models fit this computer
satyrn pull gpt-oss:20b # download a model
satyrn use gpt-oss:20b # make it the default
satyrn start # start the model server in the background
satyrn status # what is installed, running and loaded
satyrn setup without --no-model also downloads the default model. Running setup again is
safe: finished steps are skipped.
Defaults¶
Setting |
Default |
How to change it |
|---|---|---|
Coding agent |
pi |
|
Warm-up before the first request |
on |
|
Model loaded at |
your default model |
— |
Model |
the guide’s recommendation, else |
|
Folder the model works in |
the folder you name, or the current one |
|
Server address |
|
|
Context window |
32,768 tokens |
|
Reasoning effort ( |
medium |
|
Where everything is stored |
|
not configurable |
Time limit for |
1 hour per run |
|
Check that it works¶
satyrn check
check asks the model to write a square-root program, then runs that program with 16, 2 and
0.25 and compares the output. It prints SUCCESS after about two minutes with gpt-oss:20b on
a laptop CPU.
Stop and remove¶
satyrn stop # stop the model server
satyrn uninstall # remove the `satyrn` command and its tab completion
Then delete the satyrn-getting-started folder. That removes everything else: the model, the
tools, their settings and their keys all live in its .runtime/ subfolder.
Troubleshooting¶
satyrn: command not foundSee Install the
satyrncommand, or usepython3.14 satyrn.pyinstead.another server already listens on port 11434Another Ollama is running, for example one you installed earlier. Stop it, or set a different
[ollama].portinpins.toml.Ollama is not running; start it firstRun
satyrn start. The server does not survive a restart of the computer.satyrn.py needs Python 3.14 or newerSee Python 3.14.
- The model is very slow or the computer swaps
The model needs more memory than is free.
satyrn modelsshows what fits; close other programs or choose a smaller model.... has changed since this project tested and pinned itThe model’s publisher has released a newer build under the same name. Answer yes to use it; see When a model has changed for how to avoid the question.