Предоставляйте Docker Agents в качестве серверов, распространяйте их через OCI registries и проводите автоматизированную оценку качества.
- Звёзды на GitHub
- 626
- Файлы
- 7
- Последний коммит
- 10 нояб. 2026 г.
- Лицензия
- Apache-2.0
- Разрешённые инструменты
- —
Что делает навык docker-agent-deploy?
docker-agent-deploy — это Agent Skill. Предоставляйте Docker Agents в качестве серверов, распространяйте их через OCI registries и проводите автоматизированную оценку качества.
Сводка сгенерирована из SKILL.md навыка.
О skill docker-agent-deploy
Этот SKILL позволяет превращать Docker Agents в доступные по сети серверы, распространять их через OCI registries и измерять их производительность. Он разработан для разработчиков, которым нужно выйти за рамки локального выполнения и сделать своих агентов доступными через MCP, HTTP API, чаты, совместимые с OpenAI, а также протоколы A2A и ACP. С помощью команды docker agent serve вы можете хостить агентов с определенными токенами аутентификации и уровнями безопасности для обеспечения защищенного сетевого доступа.
Помимо развертывания, этот SKILL упрощает распространение агентов с помощью команды docker agent share, позволяя вам отправлять и скачивать конфигурации агентов из таких реестров, как Docker Hub. Для контроля качества команда docker agent eval запускает автоматизированную оценку внутри изолированных контейнеров. Этот процесс использует такие метрики, как F1-score вызовов инструментов, релевантность и детерминированные утверждения для проверки поведения агента. Вы также можете внедрить регрессионное тестирование в CI-пайплайны, сравнивая новые результаты с базовыми показателями, чтобы обновления не снижали производительность.
Что агент может делать с ним
- 1Предоставление агента как MCP serverПревратите локальную конфигурацию агента в сетевой MCP эндпоинт для использования в Claude Desktop.
- 2Распространение агентов через OCI registriesПубликуйте конфигурацию вашего агента в Docker Hub, чтобы другие могли легко скачивать и использовать её.
- 3Автоматизация тестирования качества агентовЗапускайте автоматизированную оценку, чтобы проверить наличие регрессий в вызовах инструментов или релевантности перед развертыванием изменений.
- 4Проверка настроек безопасности агентаУбедитесь, что изменения в конфигурации агента случайно не снижают требуемые политики безопасности.
Написано на основе skill SKILL.md. Каждый сценарий использования проверен по цитате из него.
Как установить навык docker-agent-deploy
Каждая команда копирует папку навыка в каталог навыков клиента. Перезапустите клиент или начните новую сессию, чтобы загрузить его.Установка навыка docker-agent-deploy в Плагин
/plugin marketplace add docker/skills /plugin install docker-skills@docker
Установка навыка docker-agent-deploy в Claude Code
~/.claude/skills/docker-agent-deploy/SKILL.md
$ npx degit docker/skills/skills/docker-agent-deploy ~/.claude/skills/docker-agent-deployУстановка навыка docker-agent-deploy в Claude Code (project)
.claude/skills/docker-agent-deploy/SKILL.md
$ npx degit docker/skills/skills/docker-agent-deploy .claude/skills/docker-agent-deployУстановка навыка docker-agent-deploy в Codex
~/.agents/skills/docker-agent-deploy/SKILL.md
$ npx degit docker/skills/skills/docker-agent-deploy ~/.agents/skills/docker-agent-deployУстановка навыка docker-agent-deploy в Gemini CLI
~/.gemini/skills/docker-agent-deploy/SKILL.md
$ npx degit docker/skills/skills/docker-agent-deploy ~/.gemini/skills/docker-agent-deployУстановка навыка docker-agent-deploy в Claude.ai
npx degit docker/skills/skills/docker-agent-deploy docker-agent-deploy && zip -r docker-agent-deploy.zip docker-agent-deploy # claude.ai → Customize → Skills → + → Create skill → Upload a skill → docker-agent-deploy.zip
Автоматические проверки
Запущено 15 нояб. 2026 г.Полный отчёт →Прошёл наши автоматические проверки. Это не аудит безопасности: прочитайте скрипты, прежде чем агент их запустит. Как работают проверки
- Связанный и доступный исходный репозиторийdocker/skills/skills/docker-agent-deploy is public and reachablegithub.com/docker/skills/tree/HEAD/skills/docker-agent-deplo ↗Пройдено
- Open source лицензия (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Пройдено
- Коммит или релиз за последний годLast commit 2026-11-10github.com/docker/skills/commits ↗Пройдено
- В скриптах нет загрузки с запуском и кражи учётных данныхNo scripts in the skill folderПройдено
- В SKILL.md нет скрытых инструкцийNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/docker/skills/blob/HEAD/skills/docker-agent-deplo ↗Пройдено
- Заранее разрешённые инструменты ограниченыNo pre-approved tools; the agent asks before using onegithub.com/docker/skills/blob/HEAD/skills/docker-agent-deplo ↗Пройдено
- SKILL.md соответствует формату Agent SkillsValid name and description; says when to use it; 134 linesgithub.com/docker/skills/blob/HEAD/skills/docker-agent-deplo ↗Пройдено
SKILL.md
Открыть на GitHubDocker Agent: Serving, Sharing, and Evaluating
Overview
This skill owns the integration surface of Docker Agent: making an agent
reachable by other software (docker agent serve), distributing it through
an OCI registry the way container images are distributed (docker agent share), and proving it still behaves after a change (docker agent eval).
It assumes the agent config already exists — see docker-agent-config for
authoring it, and docker-agent-run for interactive/local invocation.
When to use this skill
Activate this skill when:
- The user wants an agent reachable over MCP, an OpenAI-compatible chat endpoint, a plain HTTP API, or A2A/ACP.
- The user wants to publish an agent to Docker Hub (or any OCI registry) or pull one someone else published.
- The user wants automated evaluations (regression tests) for an agent, or wants to gate CI on eval results.
Do not use this skill when
Do not use this skill when:
- The task is authoring the agent.yaml itself (models, toolsets, sub_agents) — use
docker-agent-config. - The task is running the agent interactively on a developer's machine, choosing
--safety/--sandbox, or aliases — usedocker-agent-run.
Core guidance
Serving an agent
-
Five server modes, each with its own default loopback listen address — never expose any of them beyond loopback without authentication:
Mode Default listen Auth flag Has --safety?serve mcp127.0.0.1:8081--auth-token(only with--http)Yes (only with --http)serve api127.0.0.1:8080--auth-tokenNo serve chat127.0.0.1:8083--api-key/--api-key-envYes serve a2a127.0.0.1:8082--auth-tokenYes serve acp(stdio only) n/a No docker agent serve mcp ./agent.yaml --http --listen 127.0.0.1:9090 --auth-token "$TOKEN" -
serve mcpdefaults to stdio transport (for local clients like Claude Desktop); pass--httponly when you need a network-reachable MCP endpoint, and set--auth-tokenwhenever you do. -
Binding any server flag to a non-loopback address without an auth token/key is refused;
--insecure-no-authexists to force it and must be treated as a deliberate, documented exception, never a default. -
serve mcp(with--http),serve chat, andserve a2aexpose--safety(strict/balanced/restricted/autonomous); Docker's docs state it defaults torestrictedfor these modes when unset.serve apiandserve acpexpose no--safetyflag at all. Never raise--safetytoautonomouson a network-reachable listener; if a served agent must approve more, preferbalancedand keep auth enabled. -
serve apiaccepts a directory instead of a single file: every.yaml/.yml/.hclin it is exposed under/api/agents. Use--session-workingdir-rootto confine session working directories when the server is reachable by more than one user.
Sharing agents via OCI registries
- Push and pull agent configs the same way you push and pull images — same
registry, same
docker loginauth:docker agent share push ./agent.yaml docker.io/username/my-agent:latest docker agent share pull docker.io/username/my-agent:latest instruction_filecontents are inlined into the pushed artifact automatically, so a published agent stays self-contained — you do not need to bundle the referenced files separately.- Pin
sub_agentsthat reference the pushed artifact to a digest (name@sha256:...) once published, to avoid a per-run registry lookup and to guarantee the exact config a consumer gets. - Use
--forceonshare pullonly when you intend to overwrite a local copy that already exists; without it, an existing local config is left untouched.
Evaluating agents
- Evals live in an
evals/directory next to the agent config by default; each eval is one JSON session file capturing a user message, the recorded tool calls, and anevalsobject with the scoring criteria. - Create eval sessions from real conversations rather than hand-writing
JSON: run the agent interactively, then use the
/evalslash command in the TUI to save the session, and edit inrelevance/size/assertionscriteria afterward. - Four scoring dimensions: Tool Calls (F1 against the recorded sequence),
Relevance (LLM-judge,
--judge-model, defaultanthropic/claude-opus-5), Size (S/M/L/XL response-length bucket), and Assertions (deterministic checks; see the complete assertion-type list inreferences/eval-format.md). Prefer assertions overrelevancewhen a check can be exact: they need no judge model and are deterministic, not approximation-prone. - Evaluations run inside containers for isolation; a Docker-compatible
runtime is required. Dedicated provider API keys
(
ANTHROPIC_API_KEY/OPENAI_API_KEY) are forwarded automatically.GITHUB_TOKEN/GH_TOKENare not forwarded automatically (they're broad host credentials, not model keys) — pass them explicitly with-e GITHUB_TOKENwhen an agent's provider needs one (e.g.github-copilot). - Gate CI on regressions, not on absolute scores, with
--baseline:
A previously-passing eval that now fails always gates regardless of tolerance; cost changes are reported but never gate. A baseline or run with zero evaluations (e.g. andocker agent eval ./agent.yaml --baseline results/2026-08-01-run.json --regression-tolerance 0.05--onlypattern matching nothing) is rejected rather than reported as passing. - Use
--keep-containersplus your runtime'sexecto inspect a failed eval's container; the eval's.dbsession file holds the full conversation for offline debugging.
Verify
- After changing a served agent's config, re-run its evals with the same
explicit
--safetyvalue used in the deployment before restarting the listener — this catches an approval-policy regression before it reaches traffic. If a rollout must be rolled back, restore the prior config and safety flag; never restore an unauthenticated listener as a rollback shortcut.
Related skills
- For writing or changing the underlying
agent.yaml, usedocker-agent-config. - For local/interactive runs, safety-mode choice, and sandboxing, use
docker-agent-run.
References
references/eval-format.md— full eval session JSON schema and CLI flag table.references/sources.md— provenance of every rule in this skill.
Assets
assets/eval-session-example.json— a minimal eval session file to copy and adapt.
Checks
checks/verification.md— Verification runbook for serving, sharing, and evaluating an agent.
Файлы в этом навыке
7Вопросы о навыке docker-agent-deploy
Как установить навык docker-agent-deploy в Claude Code?
Выполните npx degit docker/skills/skills/docker-agent-deploy ~/.claude/skills/docker-agent-deploy. Claude Code загружает навыки из ~/.claude/skills (все проекты) или .claude/skills (один проект) и использует навык, когда его описание соответствует задаче.
Какие клиенты могут использовать навык docker-agent-deploy?
Любой клиент, который читает формат Agent Skills: Claude Code, Codex, Gemini CLI и claude.ai (загрузить как ZIP). Скрипты в навыке выполняются только там, где клиент разрешает выполнение кода.
Как сделать мой Docker Agent доступным как MCP server?
Вы можете использовать команду serve mcp. Для локальных клиентов, таких как Claude Desktop, по умолчанию используется транспорт stdio, но вы можете передать флаг --http, чтобы создать сетевой эндпоинт.
Как мне распространять своего агента другим пользователям?
Вы можете отправлять и скачивать конфигурации агентов через OCI registry с помощью команд docker agent share push и docker agent share pull, аналогично работе с образами контейнеров.
Как предотвратить регрессию производительности моего агента?
Используйте команду docker agent eval с флагом --baseline, чтобы в CI-пайплайнах блокировать изменения при обнаружении регрессий, а не просто ориентироваться на абсолютные показатели.