Sayt-0 17afca506f feat(plan): file-based revisions, free-form status, and optimistic locking
Implements the three improvements requested in issue #3263.

File-based revisions:
- export_plan_to_file writes a plan's content to disk and returns only
  metadata, never the body, so materialising a plan costs no output tokens.
- update_plan_from_file commits new content read from a file. File reads
  reject directories, non-regular files (devices, named pipes) and oversized
  files, and are bounded by an io.LimitReader.

Free-form status:
- Plan and Summary gain a free-form status string (no fixed vocabulary).
- set_plan_status and get_plan_status read and write the status without the
  body; status is also accepted on write_plan and update_plan_from_file.
- A new TUI renderer surfaces the status and title next to single-plan calls.

Optimistic locking:
- The existing auto-incremented revision is the version number. Reads return
  it; write_plan, update_plan_from_file, set_plan_status and delete_plan accept
  an optional last_known_revision that rejects the write with a conflict error
  on mismatch. The compare-and-set is atomic under the storage mutex.

Storage.Upsert now takes an UpsertRequest (nil fields preserve their previous
value) and Storage.Delete takes an optional expected revision.

Docs and the shared_plan example are updated to cover the new tools.
2026-06-26 16:50:56 +02:00
2025-09-05 22:31:52 +00:00
2026-03-31 14:17:49 +02:00
2026-05-20 01:09:29 +02:00
2025-08-21 09:53:50 +02:00
2026-06-16 19:39:26 +02:00
2025-07-18 19:41:53 +02:00

🤖 Docker Agent 🤖

Build, run, and share AI agents with a declarative YAML config, rich tool ecosystem, and multi-agent orchestration.

docker agent in action

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

📖 Full documentation

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.

Community

Docker Community Slack · #docker-agent channel

S
Description
No description provided
Readme Apache-2.0
227 MiB
1 Stars 1 Watchers 0 Forks
Languages
Go 99%
JavaScript 0.4%
Shell 0.3%
HTML 0.2%
CSS 0.1%