离线AI神器MonkeyCode:Docker一键搞定,数据永不外泄的部署指南

2026年01月23日
离线AI神器MonkeyCode:Docker一键搞定,数据永不外泄的部署指南

MonkeyCode 部署步骤详解

MonkeyCode 是一个开源的企业级 AI 编程助手,支持完全私有化、离线部署,适用于研发团队和敏感行业。部署过程相对简单,主要通过 Docker 一键安装或 Compose 方式完成,支持接入本地大模型(如 Ollama)和云模型。以下是基于官方文档和社区指南的详细步骤指南(综合自 GitHub、CSDN 和博客资源)。整个过程预计 10-30 分钟,视环境而定。

1. 先决条件(Prerequisites)

在开始部署前,确保服务器满足以下要求,以避免兼容性问题:

类别 要求详情
操作系统 Linux(Ubuntu 18.04+ 或 CentOS 7+ 推荐);Windows Server 2016+(需 WSL 或 Docker Desktop)
硬件 CPU:8 核(推荐 16 核);内存:16 GB(AI 功能推荐 32 GB);存储:100 GB 可用空间
网络 千兆网卡;离线部署无需外网,但初次拉取镜像需联网(后续可离线)
软件依赖 Docker 20.10+;Docker Compose 1.29+;Git;可选:Python 3.8+、Node.js 16+
AI 模型 支持 Ollama/LocalAI(本地);OpenAI/Anthropic 等 API(云端)

安装依赖命令(Linux 示例):

bash 复制代码
# 更新系统
sudo apt update && sudo apt upgrade -y  # Ubuntu
# 或 yum update -y  # CentOS

# 安装 Docker(如果未安装)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER  # 添加用户到 docker 组,重启终端生效

# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

注意:离线环境需预先下载 Docker 镜像(详见故障排除)。

2. 部署方式一:一键安装(推荐新手,5 分钟完成)

MonkeyCode 提供官方一键脚本,自动处理依赖、镜像拉取和启动。

  1. 下载并运行安装脚本

    bash 复制代码
    # 方法 1:从官方 Release 下载
    wget https://github.com/chaitin/MonkeyCode/releases/latest/download/monkeycode-installer.sh
    chmod +x monkeycode-installer.sh
    ./monkeycode-installer.sh --install
    
    # 方法 2:Curl 一行命令(从社区脚本)
    bash -c "$(curl -fsSLk https://release.baizhi.cloud/monkeycode/manager.sh)"
    • 脚本会自动拉取镜像、启动服务(包括后端、数据库、Redis)。
    • 首次运行需联网拉取镜像(约 2-5 GB)。
  2. 验证启动

    bash 复制代码
    # 查看服务状态
    docker ps  # 应看到 monkeycode-backend、postgres、redis 等容器
    docker-compose logs -f  # 查看日志(如果使用 Compose)
  3. 获取访问信息

    • 部署成功后,控制台输出内网地址(如 http://localhost:8080http://your-ip:80)、默认用户名(admin)和密码(随机生成,保存好)。
    • 示例输出:
      复制代码
      内网访问地址:http://192.168.1.100:80
      用户名:admin
      密码:abc123xyz

3. 部署方式二:Docker Compose 手动部署(适用于自定义)

适合需要修改配置的用户。

  1. 克隆仓库

    bash 复制代码
    git clone https://github.com/chaitin/MonkeyCode.git
    cd MonkeyCode/deploy  # 或直接 cd 到 docker-compose.yml 所在目录
  2. 配置环境变量

    • 复制示例文件:
      bash 复制代码
      cp .env.example .env
    • 编辑 .env(使用 vim 或 nano),关键配置如下:
      复制代码
      # 基础
      MONKEYCODE_HOST=0.0.0.0
      MONKEYCODE_PORT=8080
      MONKEYCODE_SECRET_KEY=your-secret-key-change-this
      
      # 数据库 (PostgreSQL)
      POSTGRES_DB=monkeycode
      POSTGRES_USER=monkeycode
      POSTGRES_PASSWORD=strong-password-123
      POSTGRES_HOST=postgres
      POSTGRES_PORT=5432
      
      # Redis
      REDIS_HOST=redis
      REDIS_PORT=6379
      REDIS_PASSWORD=redis-pass-123
      
      # AI 模型(详见第 4 节)
      OPENAI_API_KEY=sk-your-key-if-cloud
      OLLAMA_HOST=http://host.docker.internal:11434  # 本地 Ollama
      
      # 安全扫描
      SECURITY_SCAN_ENABLED=true
      SCAN_SCHEDULE="0 2 * * *"  # Cron 格式,每天 2 AM 扫描
      
      # 企业管理
      ENABLE_AUDIT_LOG=true
      DATA_RETENTION_DAYS=365
      COMPANY_NAME="YourCompany"
      • 保存后,重载环境。
  3. 启动服务

    bash 复制代码
    docker-compose up -d  # 后台启动
    • 服务包括:后端 API、管理面板、数据库、Redis、安全扫描引擎。
  4. 验证

    • 访问 http://localhost:8080(或配置的端口),登录 admin/密码。
    • 如果端口冲突,修改 docker-compose.yml 中的 ports 映射。

4. AI 模型接入配置(支持离线)

MonkeyCode 支持混合模式,确保离线安全。

  1. 云端模型(需 API 密钥)

    • .env 中添加:
      复制代码
      OPENAI_API_KEY=sk-...
      OPENAI_MODEL=gpt-4o
      # 或其他:ANTHROPIC_API_KEY=..., MODEL=claude-3-5-sonnet-20240620
    • 重启服务:docker-compose restart
  2. 本地模型(完全离线,推荐涉密场景)

    • 安装 Ollama(Docker 方式):
      bash 复制代码
      docker run -d --name ollama -p 11434:11434 -v ollama:/root/.ollama ollama/ollama
      docker exec -it ollama ollama pull qwen2.5-coder:7b  # 或 llama3、code-llama
    • 配置 .env
      复制代码
      OLLAMA_HOST=http://localhost:11434
      OLLAMA_MODEL=qwen2.5-coder:7b
    • 测试:curl http://localhost:11434/api/generate -d '{"model": "qwen2.5-coder:7b", "prompt": "Hello"}'
  3. 混合/自定义

    • 支持 LocalAI 或 TextGen WebUI,配置 fallback(优先本地,失败用云)。
    • 模型下载:离线时预拉取 tar 文件导入 Docker。

5. VSCode 插件设置

  1. 安装插件

    • VSCode 扩展市场搜索 "MonkeyCode" 并安装。
    • 或手动:下载 .vsix 文件,运行 code --install-extension monkeycode-0.1.0.vsix
  2. 配置连接

    • 打开 VSCode 设置(Ctrl+,),编辑 settings.json
      json 复制代码
      {
        "monkeycode.enable": true,
        "monkeycode.serverUrl": "http://localhost:8080",
        "monkeycode.apiKey": "your-token-from-panel",  // 从管理面板生成个人 Token
        "monkeycode.autoScan": true,
        "monkeycode.suggestions": true
      }
    • 重启 VSCode,侧边栏出现 MonkeyCode 面板,用于对话式编程。
  3. 测试:输入代码,按 Ctrl+Shift+P > "MonkeyCode: Generate" 测试补全。

支持其他 IDE:JetBrains(如 IntelliJ)从 Marketplace 安装,配置类似。

6. Git 平台机器人集成

  1. 部署后端 Webhook

    • 在管理面板(http://localhost:8080/admin) > "Git 集成" > 添加平台(GitHub/GitLab/Gitee)。
    • 配置 Webhook URL:http://your-ip:8080/api/git/bot
  2. 平台侧设置

    • GitHub 示例:仓库 Settings > Webhooks > Add webhook,Payload URL 为上述,Events 选 Pull requests 和 Issues。
    • 在 PR/Issue 中 @monkeycode-ai 触发(如 "@monkeycode-ai review this code")。
  3. 测试:创建 Issue,@ 机器人,查看响应。

7. 管理面板访问与配置

  • 访问:浏览器打开 http://localhost:8080/admin,登录 admin/初始密码。
  • 核心功能
    • 审计管控:查看 AI 使用日志、额度统计(按用户/项目)。
    • 安全扫描:批量扫描仓库,配置规则(如启用 SAST)。
    • 模型管理:切换模型、分配额度(e.g., 免费用户限 1000 tokens/日)。
    • 用户管理:添加团队成员,角色权限(开发/审核/管理员)。
  • 数据安全:所有日志本地存储,支持导出;启用 ENABLE_AUDIT_LOG=true 记录全交互。

8. 故障排除(Troubleshooting)

问题 解决方案
镜像拉取失败(离线) 预下载镜像 tar:docker save -o images.tar ollama/ollama;导入 docker load -i images.tar。参考 Issue #354 社区脚本。
端口冲突 修改 docker-compose.yml 中的 ports: - "8080:8080" 为可用端口。
模型响应慢 升级硬件或切换轻量模型(如 qwen2.5:7b);检查 Ollama 日志 docker logs ollama
插件连接失败 验证 serverUrl 和 apiKey;防火墙允许 8080 端口 sudo ufw allow 8080
数据库错误 重置 PostgreSQL:docker-compose down -v 后 up;检查 .env 密码一致性。
安全扫描不工作 确保 SECURITY_SCAN_ENABLED=true;测试 curl http://localhost:8000/health(SAST 引擎)。

更新与维护:定期 git pull 更新代码;docker-compose pull 更新镜像。加入官方微信群(GitHub README 二维码)求助社区。

如果部署中遇到特定错误,提供日志截图可进一步诊断。部署后,MonkeyCode 将显著提升团队效率,同时确保数据零泄露!