项目简介

DockaShell 为AI代理和助手提供安全、隔离的项目开发环境。每个项目运行在独立的Docker容器中,具备完整的文件访问和shell执行能力,所有操作均被记录,便于审查和调试。

主要功能点

  • 项目隔离: 每个项目都在独立的Docker容器中运行,增强安全性。
  • 持久化环境: 容器状态得以保留,跨会话维持一致。
  • 文件与Shell访问: 通过MCP工具,AI可直接在容器内进行文件读写和命令执行。
  • 操作跟踪: 全面记录AI的每一次文件修改、命令执行等操作。
  • MCP集成: 实现标准MCP协议,兼容多种LLM客户端(如支持MCP协议的AI编码助手或IDE)。

安装步骤

  1. 克隆DockaShell仓库到本地。
  2. 进入项目目录:'cd dockashell'
  3. 安装Node.js依赖:'npm install'
  4. 构建默认的开发Docker镜像(项目将在此环境中运行):'npm run build-image'
  5. 创建示例项目配置(可选,但推荐用于快速开始):'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'工具按项目读取历史操作记录和日志。

信息

分类

开发者工具