项目简介
DockaShell 为AI代理和助手提供安全、隔离的项目开发环境。每个项目运行在独立的Docker容器中,具备完整的文件访问和shell执行能力,所有操作均被记录,便于审查和调试。
主要功能点
- 项目隔离: 每个项目都在独立的Docker容器中运行,增强安全性。
- 持久化环境: 容器状态得以保留,跨会话维持一致。
- 文件与Shell访问: 通过MCP工具,AI可直接在容器内进行文件读写和命令执行。
- 操作跟踪: 全面记录AI的每一次文件修改、命令执行等操作。
- MCP集成: 实现标准MCP协议,兼容多种LLM客户端(如支持MCP协议的AI编码助手或IDE)。
安装步骤
- 克隆DockaShell仓库到本地。
- 进入项目目录:'cd dockashell'
- 安装Node.js依赖:'npm install'
- 构建默认的开发Docker镜像(项目将在此环境中运行):'npm run build-image'
- 创建示例项目配置(可选,但推荐用于快速开始):'npm run setup-examples'
MCP客户端配置
要连接DockaShell服务器,您的MCP客户端(如支持MCP协议的AI编码助手或IDE)需要配置以下信息来启动DockaShell服务器进程。请将'path/to/dockashell'替换为您的DockaShell安装路径。
{ "mcpServers": { "dockashell": { "command": "node", "args": ["path/to/dockashell/src/mcp/mcp-server.js"] // 或者如果DockaShell已通过 npm link 或全局安装为可执行命令: // "command": "dockashell", // "args": [] } } }
基本使用方法
通过支持MCP协议的客户端界面或工具调用DockaShell提供的工具:
- 查看项目列表: 调用'list_projects'工具,获取已配置的项目信息。
- 启动或重启项目环境: 调用'start_project'工具,指定'project_name'参数来启动或连接到项目的Docker容器。
- 在项目容器内执行命令: 调用'run_command'工具,指定'project_name'和要在容器内执行的'command'字符串。
- 修改文件内容: 调用'apply_patch'工具,指定'project_name'和符合OpenAI格式的'patch'字符串;或调用'write_file'工具,指定'project_name'、'path'(容器内文件路径)和'content'。
- 查看项目状态: 调用'project_status'工具,指定'project_name'参数,获取容器的运行状态、端口映射、挂载等信息。
- 停止项目容器: 调用'stop_project'工具,指定'project_name'参数。
- 读写操作日志: 调用'write_trace'工具记录AI或用户的操作笔记,调用'read_traces'工具按项目读取历史操作记录和日志。
信息
分类
开发者工具