Add a "Response Cache" section to the agent configuration reference and strengthen the file-backed cache so writes are not just atomic but also durable. - docs/configuration/agents/index.md: extend the schema example and property table with the new `cache` field, and add a dedicated "Response Cache" section describing the matching options (case_sensitive, trim_spaces), the storage backends (in-memory vs JSON file), and the atomicity guarantees of the file-backed store. - pkg/cache: fsync the temp file before rename and fsync the parent directory after rename so the rename itself is persisted across an OS crash. Concurrent readers are still guaranteed to see either the previous or the new content in full, never a torn write. - pkg/cache: add tests asserting that the success path leaves no leftover temp files and that a parallel reader never observes a partially written cache file under sustained concurrent stores. Assisted-By: docker-agent
🤖 Docker Agent 🤖
Build, run, and share AI agents with a declarative YAML config, rich tool ecosystem, and multi-agent orchestration.
What is Docker Agent?
docker-agent lets you create and run intelligent AI agents that collaborate to solve complex problems — no code required.
docker-agent is a docker CLI plugin and can be run with docker agent.
Define agents in YAML, give them tools, and let them work.
agents:
root:
model: openai/gpt-5-mini
description: A helpful AI assistant
instruction: |
You are a knowledgeable assistant that helps users with various tasks.
Be helpful, accurate, and concise in your responses.
toolsets:
- type: mcp
ref: docker:duckduckgo
docker agent run agent.yaml
Key Features
- Multi-agent architecture — Create teams of specialized agents that delegate tasks automatically
- Rich tool ecosystem — Built-in tools + any MCP server (local, remote, or Docker-based)
- AI provider agnostic — OpenAI, Anthropic, Gemini, AWS Bedrock, Mistral, xAI, Docker Model Runner, and more
- YAML configuration — Declarative, versionable, shareable
- Advanced reasoning — Built-in think, todo, and memory tools
- RAG — Pluggable retrieval with BM25, embeddings, hybrid search, and reranking
- Package & share — Push agents to any OCI registry, pull and run them anywhere
Install
Docker Desktop (4.63+) — docker-agent CLI plugin is pre-installed. Just run docker agent.
Homebrew — brew install docker-agent. Run docker-agent directly or symlink the binary to ~/.docker/cli-plugins/docker-agent and run docker agent.
Binary releases — Download from GitHub Releases. Symlink the docker-agent binary to ~/.docker/cli-plugins/docker-agent to be able to use docker agent, or use docker-agent directly.
Set at least one API key (or use Docker Model Runner for local models):
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEY, GOOGLE_API_KEY, etc.
Quick Start
# Run the default agent
docker agent run
# Run from the agent catalog
docker agent run agentcatalog/pirate
# Generate a new agent interactively
docker agent new
# Run your own config
docker agent run agent.yaml
More examples in the examples/ directory.
Documentation
- Installation · Quick Start
- Agents · Models · Tools · Multi-Agent
- Configuration Reference
- TUI · CLI · MCP Mode · RAG
- Model Providers · Docker Model Runner
Contributing
Read the Contributing guide to get started. We use docker-agent to build docker-agent:
docker agent run ./golang_developer.yaml
Telemetry
We collect anonymous usage data to improve the tool. See Telemetry.
