使用说明
项目简介
Docker AI Tools for Developers (labs-ai-tools-for-devs) 是一个开源项目,旨在帮助开发者利用Docker容器和Markdown文件构建和运行 Agentic AI 工作流。该项目可以将 Markdown 文件中定义的 Prompt 和 Dockerized 工具作为 Model Context Protocol (MCP) 服务器对外提供服务,使得 LLM 客户端能够通过标准化的 MCP 协议访问上下文信息和外部功能。
主要功能点
- MCP 服务器模式: 通过 '--mcp' 标志启动,将项目转化为 MCP 服务器,对外提供资源、工具和 Prompt 服务。
- Prompt 注册: 支持通过 Git 仓库引用或本地路径注册 Markdown 格式的 Prompt 模板,方便管理和版本控制。
- Dockerized 工具: 支持将外部功能封装为 Docker 镜像形式的工具,供 LLM 调用,实现复杂操作和环境隔离。
- 会话循环 (Conversation Loop): 通过循环处理 Prompt、工具结果和 Agent 响应,实现复杂的 Agentic 工作流,支持错误处理和工具重试。
- 多模型 Agent: 允许为不同的 Prompt 配置不同的 LLM 模型,甚至模型家族,实现多 Agent 协作和任务优化。
- 项目上下文: 强调项目作为 AI 助手上下文的重要性,支持通过 Docker 镜像提取项目信息作为上下文。
- VSCode 扩展: 提供 VSCode 扩展,方便用户创建、运行和调试 Prompt 工作流。
安装步骤
- 安装 Docker Desktop: 确保已安装并运行 Docker Desktop。
- 拉取 Docker 镜像: 使用 Docker 命令拉取 'vonwig/prompts:latest' 镜像。
docker pull vonwig/prompts:latest
服务器配置
该仓库作为 MCP 服务器运行时,需要配置启动命令和参数。以下是基于仓库信息生成的 MCP 客户端配置信息示例 (JSON 格式):
{ "serverName": "DockerAIToolsMCP", "command": "docker run", "args": [ "--rm", "--pull=always", "-it", "-v", "/var/run/docker.sock:/var/run/docker.sock", "--mount", "type=volume,source=docker-prompts,target=/prompts", "--mount", "type=bind,source=$HOME/.openai-api-key,target=/root/.openai-api-key", "vonwig/prompts:latest", "serve", "--mcp", "--register", "github:docker/labs-ai-tools-for-devs?path=prompts/examples/generate_dockerfile.md" // 可以添加更多 --register 参数注册 Prompt,例如本地路径 // "--register", "/path/to/your/local/prompt.md" ], "description": "Docker AI Tools MCP Server", "protocol": "stdio" // 默认使用 stdio 协议 }
参数注释:
- '"serverName"': MCP 服务器的名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里使用 'docker run' 运行 Docker 镜像。
- '"args"': 传递给 'docker run' 命令的参数列表:
- '--rm': 容器退出后自动删除。
- '--pull=always': 总是拉取最新镜像。
- '-it': 以交互模式运行容器,分配 TTY。
- '-v /var/run/docker.sock:/var/run/docker.sock': 挂载 Docker Socket,允许容器内操作 Docker。
- '--mount type=volume,source=docker-prompts,target=/prompts': 挂载 Docker Volume 用于持久化 Prompt 数据 (仓库中使用了 'docker-prompts' Volume)。
- '--mount type=bind,source=$HOME/.openai-api-key,target=/root/.openai-api-key': 挂载 OpenAI API Key 文件 (如果 Prompt 需要访问 OpenAI API)。
- '"vonwig/prompts:latest"': 使用的 Docker 镜像名称和标签。
- '"serve"': 指定 'vonwig/prompts' 镜像以服务器模式运行。
- '"mcp"': 启用 MCP 服务器模式。
- '--register "github:docker/labs-ai-tools-for-devs?path=prompts/examples/generate_dockerfile.md"': 注册 Prompt 模板,这里注册了 GitHub 仓库中的 'generate_dockerfile.md' Prompt。可以注册多个 Prompt,支持 GitHub 仓库 URL 和本地文件路径。
- '"description"': 服务器描述信息,可以自定义。
- '"protocol"': MCP 客户端与服务器通信的协议,默认为 'stdio'。
注意: 上述配置中的 '$HOME/.openai-api-key' 文件需要用户自行创建并包含有效的 OpenAI API Key,如果使用本地模型则可以设置 dummy value。'--register' 参数可以根据需要注册不同的 Prompt 模板。
基本使用方法
- 启动 MCP 服务器: 复制上述 JSON 配置信息到 MCP 客户端 (如支持 MCP 协议的 LLM 应用或编辑器插件) 中,启动 MCP 服务器连接。
- 注册 Prompt: 通过修改 'args' 中的 '--register' 参数注册需要的 Prompt 模板。
- 客户端交互: 使用 MCP 客户端向服务器发送符合 MCP 协议的请求,例如请求 Prompt 列表、执行 Prompt、调用工具等。
- 查看文档: 更详细的使用方法和功能请参考项目 Docs 文档。
信息
分类
开发者工具