Agent: AI Assistant Service
agent is the core Go service that provides the Agent Web UI, HTTP APIs, and optional device-side voice interaction. It orchestrates model calls, tool execution (HID control, screenshots, audio playback), and conversation sessions.
Config Web: Web-based Configuration Interface
Config Web is the bundled browser client served by the config-web subcommand
Config Web Management API
Config Web is the config-web subcommand of the Go Agent binary. Config Web
ttyd Browser Terminal
The firmware image integrates ttyd as an optional browser terminal for board-side maintenance. The board-side public URL is http3000/webtty/.
Frame Service: HDMI Frame Capture Service
frame_service is a long-running C++ service that exclusively owns /dev/video0 and provides fresh screenshots through a Unix domain socket. It keeps the device and V4L2 MMAP buffers open. By default it pauses streaming between requests instead of continuously dequeuing frames; an agent.toml setting can keep STREAMON active for latency and power measurements.
Audio Service: Audio Recording and Playback Service
audioservice is a long-running C++ service that provides recording, playback, and volume control capabilities. The Go Agent's device voice pipeline and the audiovolume tool call this service through a Unix domain socket.
BLE Service: Pairing, Phone Notifications, and Background Wake
ble_service owns Aiden's Bluetooth Low Energy integration. It uses BlueZ on
USB HID and Device Control
The project configures the Luckfox Pico Zero's USB-C port through the Linux USB gadget framework. The firmware startup script creates a composite gadget with keyboard HID, pointer/touch HID, and CDC ECM networking; the HID nodes are used to simulate keyboard, mouse, and touch input.