github.com/volcengine/veadk-go/v2/runner runs agents directly from Go code. It wraps ADK Go Runner and adds default session wiring, long-term memory normalization, saving sessions to memory, final text collection, and multimodal input helpers.
Minimal Call
Use RunText when you only need to send plain text and receive the final visible model response:
runner.New requires Agent. If SessionService is omitted, it defaults to session.InMemoryService(). Reuse the same userID and sessionID for multi-turn conversations.
Consume Event Streams
Use Run when you need streaming UI, tool-call inspection, artifacts, or raw ADK events. Run returns an event sequence. Use CollectFinalText when you want to collapse an event stream into final text.
Build multi-part or multimodal input with helper functions:
Runner Config
context, userID, and sessionID
context.Context controls cancellation, deadlines, and request-scoped values. It is not the conversation context. Conversation history is determined by userID, sessionID, and the configured SessionService.
Direct Runner and Apps
Direct runner.New is best when embedding the agent in your own Go flow, such as a backend handler, worker, CLI, or test. apps/simple_app, apps/a2a_app, and apps/agentkit_server_app launch VeADK-provided HTTP, A2A, or AgentKit surfaces.
Last modified on October 20, 2026