For developers¶
Starfarer is Python (the Starbase, the Satellite program) and plain JavaScript (the Bridge), with no build step for either. The AI runs in Ollama; voice runs on sherpa-onnx and Kokoro.
| Page | |
|---|---|
| Architecture | how the Starbase, the Bridge and the devices fit together |
| Writing Modules | the Module SDK: tools, decks, settings, the Viewscreen, packaging and signing for Spacedock |
| The security model | what's protected, from whom, and the rules the code enforces |
| Test, Production and releasing | how changes are tried, promoted and released |
| Contributing | running the tests, the house style, and the contributor agreement |
The code¶
| Folder | |
|---|---|
starfarer/core/ |
the AI: conversations, personas, memory, journals, tools ("hands"), missions, crew, security |
starfarer/hub/ |
the Starbase server (FastAPI): the API, WebSockets, devices, the Viewscreen, Modules |
starfarer/bridge/ |
the Bridge: HTML, CSS and one script per deck |
starfarer/voice/ |
hearing, the AI's voice, wake words, voice ID |
starfarer/satellite/ |
the Satellite program (Satellites, Shuttles, Starships) |
starfarer/modelfiles/ |
the built-in personas' Modelfiles |
sdk/ |
the Module SDK (MIT) |
tests/ |
pytest |
docs/ |
this wiki |
Running it from source¶
python -m venv .venv
.venv/bin/pip install -e ".[dev,voice]" # Windows: .venv\Scripts\pip ...
.venv/bin/python -m starfarer --open # the Starbase on http://127.0.0.1:3010
.venv/bin/python -m pytest -q # the tests
Set STARFARER_HOME to keep a test install's data apart from your own.