Asteria is a host-side command station for VEX AIM robotics work. It combines a local robot daemon, a browser control surface, a mobile bridge, curated FSM examples, and a living wiki so a human, pair-programming assistant, or autonomous agent can operate from the same source of truth.
A short demo of Asteria, a local command station that connects AI agents, a VEX AIM robot, FSM demos, vision capture, and a handheld Asteria DS controller through one safer daemon-centered workflow. The demo is under seven minutes.
- A robotics daemon that keeps robot status, control leases, command dispatch, prompt logs, FSM files, image capture, and mobile sessions in one local runtime.
- A desktop GUI for connection management, direct motion, shared Desk prompts, FSM authoring, vision review, and debugging.
- A practical agent interface: agents can read status, claim control, write notes, resolve Desk prompts, create FSMs, compile behaviors, and stop safely.
- A teaching surface for robotics concepts such as finite state machines, leases, teleop, event injection, safety stops, and operator-agent handoff.
- A paired handheld path through Asteria DS, which turns an old 3DS into a lightweight robot controller and prompt terminal.
Included:
asteria/daemon/- local runtime and API server.asteria/gui-app/- React command station source.asteria/gui/- static fallback GUI.asteria/mobile/- authenticated mobile bridge used by Asteria DS.asteria/tools/- FSM helpers.asteria/artifacts/fsm/- curated example FSMs and behavior diagrams.wiki/- the Asteria operating wiki and source notes.scripts/asteria_mobile_setup.py- token/config generator for handheld clients.
Not included:
- Course labs and unrelated coursework.
- The vendored OpenClaw skill bundle.
- Local virtual environments and generated build products.
- Private generated mobile tokens, prompt logs, runtime sessions, and robot images.
- VEX AIM and AIM websocket dependency repos. Those are referenced as external runtime dependencies.
The daemon and GUI can run disconnected for review, FSM editing, and agent workflow testing.
git clone https://github.com/RedLynx101/asteria-command-station.git
cd asteria-command-station
python -m asteria.daemon.server --host 127.0.0.1Open:
http://127.0.0.1:8766/
For the modern React GUI:
cd asteria\gui-app
npm ci
npm run build
cd ..\..
python -m asteria.daemon.server --host 127.0.0.1For the CLI:
python -m asteria.cli status
python -m asteria.cli --holder-id codex --holder-label Codex --holder-kind agent list-prompts --pending-onlyAsteria is deliberately useful at three levels:
- Pair programmer: inspect the code, adjust FSM behavior, run disconnected GUI checks, and use the wiki to understand system decisions.
- Full agent: use the CLI and Desk prompt flow to claim/release control, create behaviors, compile FSMs, log notes, and report artifacts.
- Educational tool: step through how command leases, FSM compilation, mobile teleop, and stop semantics fit together in a robotics control stack.
Live VEX AIM control needs two external local dependencies. They are not needed for disconnected GUI/wiki/CLI review, but they are needed for robot connection and runtime-backed FSM execution:
vex-aim-toolssuppliesaim_fsm,genfsm, state-machine runtime support, and robotics helpers.AIM_Websocket_Librarysupplies thevexPython package and WebSocket transport for the VEX AIM robot.
Clone them into this repo root when doing live robot work:
asteria-command-station/
asteria/
vex-aim-tools/
AIM_Websocket_Library/
The optional OpenClaw gateway integration is supported through environment variables and the Asteria bridge client, but OpenClaw itself is not vendored here. See docs/EXTERNAL_REPOS.md.
Start with wiki/index.md. The wiki is part of the operating model: it captures validated runtime behavior, FSM conventions, safety semantics, recovery notes, and source provenance for future agents.
I am open to collaboration on Asteria. Useful contributions include FSM demos, GUI polish, safer agent workflows, classroom-friendly docs, bug reports, and experiments that make robot/agent coordination easier to understand. See CONTRIBUTING.md for the working guidelines.
Use this repo with the paired public handheld client:
Asteria DS talks to this daemon over the authenticated mobile bridge and can submit prompts, claim teleop, send motion vectors, request stops, and show low-bandwidth camera previews.
MIT License. See LICENSE.

