Rust-first implementation scaffold for dotagents-mono.
This MVP contains:
crates/dotagents-core: shared session, message, voice-state models plus an in-memory store.crates/dotagents-server: Axum HTTP server with mobile-compatible REST/SSE compatibility routes.apps/opentui-desktop: OpenTUI React desktop frontend for the voice-first workflow.
The original dotagents-mono checkout is not present in this workspace, so the server exposes a conservative compatibility shim under both /v1/* and /api/*:
- health and capabilities discovery
- session create/list/read
- message append with assistant turn response
- voice start/stop state transitions
- session event snapshot over SSE
See docs/mobile-api.md for the exact contract to validate against the existing mobile app.
This environment does not currently have rustc/cargo installed. On a machine with Rust:
cargo run -p dotagents-serverThen, in another terminal, run the OpenTUI desktop app with Bun (recommended by OpenTUI):
cd apps/opentui-desktop
bun install
bun run devThe frontend defaults to http://127.0.0.1:3777; override with DOTAGENTS_SERVER_URL.
- Server keeps sessions in memory only.
- Assistant responses are deterministic placeholder echoes so the mobile/desktop flows can be tested before model integration.
- Voice endpoints model capture state (
listening,idle) but do not yet stream audio or run STT/TTS. - OpenTUI supports create session, transcript display, text prompt submit, and spacebar push-to-talk state toggling.