14 October 2026
Compass 0.2.0: Captains as extensions
Each Compass capability is now a captain: a single manifest that a Python package can provide. Captains are turned on, off and configured per workspace from the dashboard, and extra ones are installed into the image when it starts.
One manifest per captain
A captain declares its commands, API routes, dashboard tabs, background services, config schema and the core version it needs. Compass discovers captains through the compass.captains entry point, so a third-party package can add its own next to the built-in ones.
[project.entry-points."compass.captains"]
Settings → Captains
Turn each captain on or off per workspace, with dependency rules so nothing that another captain needs can be turned off. Configure it through a form generated from its schema, with secrets masked. A turned-off captain's jobs and writes are refused.
compass captains | enable | disable | configure
Extensions in the image
List packages in COMPASS_EXTENSIONS and the image installs them when it starts. The daemon runs the services of active captains and stops them when one is turned off. A captain the dashboard has no component for gets a generic page.
COMPASS_EXTENSIONS=my-captain@git+https://…
A guide to writing captains
docs/writing_a_captain.md covers the manifest, discovery, configuration and tests, with a toy captain to start from. Any command can also be started through POST /api/jobs.
docs/writing_a_captain.md
Compass is open source (Apache-2.0).
Code, changelog and issues: github.com/beamreach-ai/compass. Already running it? The update card on Settings → Updates shows these notes before you update.
Beamreach