离线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 提供官方一键脚本,自动处理依赖、镜像拉取和启动。
-
下载并运行安装脚本:
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)。
-
验证启动:
bash# 查看服务状态 docker ps # 应看到 monkeycode-backend、postgres、redis 等容器 docker-compose logs -f # 查看日志(如果使用 Compose) -
获取访问信息:
- 部署成功后,控制台输出内网地址(如
http://localhost:8080或http://your-ip:80)、默认用户名(admin)和密码(随机生成,保存好)。 - 示例输出:
内网访问地址:http://192.168.1.100:80 用户名:admin 密码:abc123xyz
- 部署成功后,控制台输出内网地址(如
3. 部署方式二:Docker Compose 手动部署(适用于自定义)
适合需要修改配置的用户。
-
克隆仓库:
bashgit clone https://github.com/chaitin/MonkeyCode.git cd MonkeyCode/deploy # 或直接 cd 到 docker-compose.yml 所在目录 -
配置环境变量:
- 复制示例文件:
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"- 保存后,重载环境。
- 复制示例文件:
-
启动服务:
bashdocker-compose up -d # 后台启动- 服务包括:后端 API、管理面板、数据库、Redis、安全扫描引擎。
-
验证:
- 访问
http://localhost:8080(或配置的端口),登录 admin/密码。 - 如果端口冲突,修改
docker-compose.yml中的 ports 映射。
- 访问
4. AI 模型接入配置(支持离线)
MonkeyCode 支持混合模式,确保离线安全。
-
云端模型(需 API 密钥):
- 在
.env中添加:OPENAI_API_KEY=sk-... OPENAI_MODEL=gpt-4o # 或其他:ANTHROPIC_API_KEY=..., MODEL=claude-3-5-sonnet-20240620 - 重启服务:
docker-compose restart。
- 在
-
本地模型(完全离线,推荐涉密场景):
- 安装 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"}'
- 安装 Ollama(Docker 方式):
-
混合/自定义:
- 支持 LocalAI 或 TextGen WebUI,配置 fallback(优先本地,失败用云)。
- 模型下载:离线时预拉取 tar 文件导入 Docker。
5. VSCode 插件设置
-
安装插件:
- VSCode 扩展市场搜索 "MonkeyCode" 并安装。
- 或手动:下载 .vsix 文件,运行
code --install-extension monkeycode-0.1.0.vsix。
-
配置连接:
- 打开 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 面板,用于对话式编程。
- 打开 VSCode 设置(Ctrl+,),编辑
-
测试:输入代码,按 Ctrl+Shift+P > "MonkeyCode: Generate" 测试补全。
支持其他 IDE:JetBrains(如 IntelliJ)从 Marketplace 安装,配置类似。
6. Git 平台机器人集成
-
部署后端 Webhook:
- 在管理面板(http://localhost:8080/admin) > "Git 集成" > 添加平台(GitHub/GitLab/Gitee)。
- 配置 Webhook URL:
http://your-ip:8080/api/git/bot。
-
平台侧设置:
- GitHub 示例:仓库 Settings > Webhooks > Add webhook,Payload URL 为上述,Events 选 Pull requests 和 Issues。
- 在 PR/Issue 中 @monkeycode-ai 触发(如 "@monkeycode-ai review this code")。
-
测试:创建 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 将显著提升团队效率,同时确保数据零泄露!

AutoGPT:让AI帮你“自动搞定一切”的开源神器
2025年04月11日

GPT-Pilot:你的AI编程助手,带你从零打造应用!
2025年04月19日

LocalAI:你的本地AI神器,轻松打造专属智能应用!
2025年04月19日

FramePack:让视频生成像玩游戏一样简单!
2025年04月20日

MCPO:让 AI 工具秒变 RESTful API 的“魔法桥梁”!
2025年04月20日

GigaTok:扩展视觉标记器至 30 亿参数用于自回归图像生成
2025年04月20日

探索 HumanRig:让 3D 角色动画更简单的开源神器
2025年04月20日

探索 so-vits-svc:让你的动漫角色开口唱歌的 AI 神器
2025年04月22日

Cursor 震撼发布:免费体验 GPT-5 与全新 CLI 工具
2025年08月09日
