tadk

module
v0.0.0-...-7f79d16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2026 License: MIT

README

████████╗  █████╗  ██████╗  ██╗  ██╗
╚══██╔══╝ ██╔══██╗ ██╔══██╗ ██║ ██╔╝
   ██║    ███████║ ██║  ██║ █████╔╝
   ██║    ██╔══██║ ██║  ██║ ██╔═██╗
   ██║    ██║  ██║ ██████╔╝ ██║  ██╗

TADK

A Go-based toolkit for building AI agents with LLMs, tools, and workflows.

Features

  • Agents – LLM agents with support for sequential, parallel, and loop workflows
  • Tools – Built-in tools (bash, read/write file, grep, find, edit) plus custom function tools and MCP toolsets
  • Models – Unified adapters for OpenAI, Anthropic, and Gemini
  • Runner – Stateful execution loop with checkpoints and context transfer
  • Session Storage – In-memory, file, or database (GORM) backends
  • TUI – Terminal user interface for interactive agent sessions
  • REST APIadkrest server for programmatic access
  • Temporal – Durable workflow integration for long-running tool executions
  • Telemetry – OpenTelemetry support out of the box

Quick Start

go get github.com/Nickqiaoo/tadk

Run the TUI:

go run ./cmd/tui

Run the REST server:

go run ./cmd/launcher

See examples/ for sample agents.

License

MIT

Directories

Path Synopsis
workflowagents/loopagent
Package loopagent provides an agent that repeatedly runs its sub-agents for a specified number of iterations or until termination condition is met.
Package loopagent provides an agent that repeatedly runs its sub-agents for a specified number of iterations or until termination condition is met.
workflowagents/parallelagent
Package parallelagent provides an agent that runs its sub-agents in parallel.
Package parallelagent provides an agent that runs its sub-agents in parallel.
workflowagents/sequentialagent
Package sequentialagent provides an agent that runs its sub-agents in a sequence.
Package sequentialagent provides an agent that runs its sub-agents in a sequence.
cmd
adkgo command
adkgo is a CLI tool to help deploy and test an ADK application.
adkgo is a CLI tool to help deploy and test an ADK application.
adkgo/internal/deploy
Package deploy allows to run deployment-related subcommands.
Package deploy allows to run deployment-related subcommands.
adkgo/internal/deploy/cloudrun
Package cloudrun handles command line parameters and execution logic for cloudrun deployment.
Package cloudrun handles command line parameters and execution logic for cloudrun deployment.
adkgo/internal/root
Package root handles command line parameters
Package root handles command line parameters
launcher
Package launcher provides ways to interact with agents.
Package launcher provides ways to interact with agents.
launcher/console
Package console provides a simple way to interact with an agent from console application.
Package console provides a simple way to interact with an agent from console application.
launcher/full
Package full provides easy way to play with ADK with all available options
Package full provides easy way to play with ADK with all available options
launcher/internal/telemetry
Package telemetry contains the internal shared logic for initializing telemetry in launchers.
Package telemetry contains the internal shared logic for initializing telemetry in launchers.
launcher/prod
Package prod provides easy way to play with ADK with all available options without development support (no console, no ADK Web UI) including only production options like the REST API and A2A support.
Package prod provides easy way to play with ADK with all available options without development support (no console, no ADK Web UI) including only production options like the REST API and A2A support.
launcher/universal
Package universal provides an umbrella over launchers (console and web).
Package universal provides an umbrella over launchers (console and web).
launcher/web
Package web provides a way to run ADK using a web server.
Package web provides a way to run ADK using a web server.
launcher/web/api
Package api provides a sublauncher that adds ADK REST API capabilities.
Package api provides a sublauncher that adds ADK REST API capabilities.
launcher/web/webui
Package webui provides a sublauncher that adds ADK Web UI capabilities.
Package webui provides a sublauncher that adds ADK Web UI capabilities.
tui command
Package event defines the unified runtime event types used across the framework.
Package event defines the unified runtime event types used across the framework.
examples
llmagent command
Package main demonstrates wiring an LLMAgent into the standard launcher:
Package main demonstrates wiring an LLMAgent into the standard launcher:
temporaltool command
Package main demonstrates wrapping a regular ADK tool with tool/temporaltool so only the tool call runs through Temporal.
Package main demonstrates wrapping a regular ADK tool with tool/temporaltool so only the tool call runs through Temporal.
internal
telemetry
Package telemetry implements telemetry for ADK.
Package telemetry implements telemetry for ADK.
toolinternal
Package toolinternal defines internal-only extension points for tools.
Package toolinternal defines internal-only extension points for tools.
typeutil
Package typeutil is a collection of type handling utility functions.
Package typeutil is a collection of type handling utility functions.
workflowinternal
Package workflowinternal provides shared utilities for workflow agents.
Package workflowinternal provides shared utilities for workflow agents.
Package message defines the canonical message types used throughout the framework.
Package message defines the canonical message types used throughout the framework.
anthropic
Package anthropic implements the ModelAdapter interface for the Anthropic Messages API.
Package anthropic implements the ModelAdapter interface for the Anthropic Messages API.
internal/compat
Package compat contains provider adapter replay compatibility helpers.
Package compat contains provider adapter replay compatibility helpers.
openai
Package openai implements the ModelAdapter interface for OpenAI-compatible APIs.
Package openai implements the ModelAdapter interface for OpenAI-compatible APIs.
Package runner provides a runtime for ADK agents.
Package runner provides a runtime for ADK agents.
server
adkrest/controllers
Package controllers contains the controllers for the ADK REST API.
Package controllers contains the controllers for the ADK REST API.
adkrest/internal/models
Package models defines the data structures for the REST API.
Package models defines the data structures for the REST API.
adkrest/internal/routers
Package routers defines the HTTP routes for the ADK REST API.
Package routers defines the HTTP routes for the ADK REST API.
Package session defines the canonical session types used throughout the framework.
Package session defines the canonical session types used throughout the framework.
file
Package file provides a file-based session storage service using JSONL format.
Package file provides a file-based session storage service using JSONL format.
Package telemetry implements the open telemetry in ADK.
Package telemetry implements the open telemetry in ADK.
Package tool defines the interfaces for tools that can be called by an agent.
Package tool defines the interfaces for tools that can be called by an agent.
agenttool
Package agenttool provides a tool that allows an agent to call another agent.
Package agenttool provides a tool that allows an agent to call another agent.
bash
Package bashtool provides a tool to execute shell commands.
Package bashtool provides a tool to execute shell commands.
editfile
Package editfiletool provides a tool to make targeted edits to a file.
Package editfiletool provides a tool to make targeted edits to a file.
exitlooptool
Package exitlooptool provides a tool that allows an agent to exit a loop.
Package exitlooptool provides a tool that allows an agent to exit a loop.
findfile
Package findfiletool provides a tool to search for files by name or pattern.
Package findfiletool provides a tool to search for files by name or pattern.
functiontool
Package functiontool provides a tool that wraps a Go function.
Package functiontool provides a tool that wraps a Go function.
grepfile
Package grepfiletool provides a tool to search file contents by pattern.
Package grepfiletool provides a tool to search file contents by pattern.
interrupt
Package interrupt provides decorators for tools that require user approval or other forms of interruption before execution.
Package interrupt provides decorators for tools that require user approval or other forms of interruption before execution.
mcptoolset
Package mcptoolset provides an MCP tool set.
Package mcptoolset provides an MCP tool set.
readfile
Package readfiletool provides a tool to read file contents.
Package readfiletool provides a tool to read file contents.
steering
Package steering provides an extension that allows external code to inject messages into an agent's conversation while it is running.
Package steering provides an extension that allows external code to inject messages into an agent's conversation while it is running.
writefile
Package writefiletool provides a tool to write content to a file.
Package writefiletool provides a tool to write content to a file.
ui
stream
Package stream defines the UI message stream wire protocol.
Package stream defines the UI message stream wire protocol.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL