Skip to main content

Agent Overview

The Aiden Go Agent is located in src/agent/ and is built on github.com/tmc/langchaingo. It serves as both a long-running daemon and the device-side tool control plane.

Binaries

Entry PointDescription
cmd/daemonLong-running daemon providing the Web UI and optional device voice loop

After cross-compilation, the daemon binary is:

build/bin/agent

In the firmware, it is installed by default to:

/oem/usr/bin/agent

Current Capabilities

  • Registered model providers: openai, anthropic, openrouter, kimi, kimi-cn, volcengine, ollama
  • Built-in tool calling: HID, screenshots, audio volume, shell
  • HTTP Tool API for Web UI, external agents, or manual invocation
  • Auto-discovery and runtime activation of skills from SKILL.md
  • Single-agent execution loop with streamlined tool calling and response handling
  • Conversation memory persistence, session memory compaction; see Session Memory Compaction
  • Device and Task Episode memory; see Memory Plane
  • Web UI: chat history, browser recording, attachments, Tool Lab, Skill Export
  • iOS Live Activity / Dynamic Island task status; see Live Activity / Dynamic Island
  • Device-side voice pipeline: VAD / STT / TTS; Realtime Voice

Run Modes

The HTTP server and Web UI start in every input mode. input_mode controls whether the daemon also runs the device-side voice loop:

ModeBehavior
textHTTP server and Web UI only
sttHTTP server and Web UI plus device recording → VAD → STT → LLM → TTS loop
realtimeHTTP server and Web UI plus the configured realtime voice model session

In stt mode, Web UI requests and device voice interactions share the same Agent runtime and run in the same daemon process.

Startup

Local development:

cd src/agent
go run ./cmd/daemon -dir ./config -addr :8080

Device service:

/oem/usr/bin/aiden-env-run /oem/usr/bin/agent -dir /userdata/agent -addr :8080

Built-in Tools

The conversational Agent receives every registered, currently available tool needed for memory, device operation, skill management, shell and web research, and phone data.

current_time and calculator are not registered built-in tools; the Agent uses shell for controller-local precise time, timezone, and deterministic calculations. skill_manage and skill_mark_used remain unavailable through the HTTP Tool API.

For tool details and HTTP invocation methods, see Tools HTTP API.

Python Package Environment

Firmware-provided pip, persistent Agent-installed packages under /userdata, direct shell-based installation, and limited StorageMonitor cleanup are documented in Persistent Python Package Environment. The implementation reuses the existing shell tool and does not add a built-in package-install tool.