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 a lightweight HTTP service providing a web UI for configuring the Agent's LLM provider, API keys, STT/TTS settings, and other runtime parameters. Changes are persisted to /userdata/agent/agent.toml and can trigger Agent restart.
WeTTY Browser Terminal
The firmware image integrates WeTTY as an optional browser terminal for board-side maintenance.
Frame Service: HDMI Frame Capture Service
frame_service is a long-running C++ service that exclusively owns /dev/video0, continuously reads frames from the detected RK628D or TC358743 HDMI capture path, and provides the latest frames, screenshots, and health status externally through a Unix domain socket.
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.