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.
Agent Configuration Reference
The Agent daemon takes -dir, the data directory it works out of. agent.toml is only one of the things that live there: skills, memory, cache and logs are all resolved relative to it (see Directory layout). The config, config-check and config-test subcommands take -config with the path to a TOML config file. Every field below lives in agent.toml. Most fields can be edited through the on-device Config Web page; sections without dedicated controls are preserved by Config Web and can be edited by hand. TOML is the only supported config format; JSON config is deprecated.
Tools HTTP API
In every input mode, the Agent exposes Agent-owned tools that can be safely invoked via HTTP for the browser Tool Lab, external agents, or manual calls. Internal maintenance tools (such as skill_manage) are not exposed via HTTP.
Skills and RoleProfile Mechanism
The Agent automatically discovers SKILL.md files from the config directory, displays an Available skills catalog in the system prompt, and loads the complete instructions of relevant skills on demand via skill_read. Activated skills are injected into the Agent's RoleProfile, which contains the system prompt, skill instructions, and available tools.
Voice Capabilities: VAD / STT / TTS
The Go Agent supports device-side voice interaction, primarily consisting of internal/agent/audioclient.go, audiodialog.go, vad.go, stt.go, and the tts/ provider.
Voice Notifications
Voice notifications let the Agent attach short system reminders to its normal spoken reply without starting an independent announcement. The implementation lives in internal/agent/voice_notification.go and is shared by every final TTS reply path through the Agent runtime.
Agent Context Lifecycle
This document gives the end-to-end view of what enters an Aiden Agent run, where each context layer comes from, and when it is refreshed. It complements Session Memory Compaction, which focuses on conversation-window compression, and Memory Plane, which focuses on device, long-term, and task-episode memory.
Session Memory Compaction
This document describes Aiden Agent's session-level conversation memory compaction. The mechanism turns a growing event stream into chunk summaries and keeps only the latest hot window available to the Agent as native chat messages.
Memory Plane
The memory plane records task execution, stores reusable experience, and keeps different kinds of memory separate. It complements Session Memory Compaction, which manages the active conversation window.
Storage Subsystem: StorageManager and StorageMonitor
Overview
Phone Bridge
Purpose
Phone Bridge Protocol Contract
Version: 1.2
Live Activity / Dynamic Island
Live Activity is a task status panel and an entry point back to the Aiden app. It does not grant the iOS app continuous background execution. The Agent continues executing tasks, while the iOS app and APNs path display the current status.
Human Handoff
Human handoff lets the Agent pause a task when the next step requires private input, user approval, human judgment, or an action the available tools cannot safely perform.
Swipe Interaction
Aiden controls phone scrolling and picker wheels through USB HID while observing the result through HDMI screenshots. Because it does not receive native accessibility or scroll events, every gesture must be verified from the visible screen.
Episode Telemetry and Langfuse Integration
After each task completes, Aiden Agent can asynchronously report the complete task episode (metadata, event chain, screenshots) to Langfuse for trace browsing, dataset construction, and evaluation.