
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
可自托管的Android开发服务器,将Claude Code、Gradle和Git作为子进程协调运行。 单Docker容器,仅需浏览器操作,可选Android companion客户端。在PC上启动后登录即可创建项目、发送提示、构建并下载APK——操作者无需本地安装SDK、JDK或Gradle。
linux/amd64, linux/arm640.10.0, latestbashmkdir -p ~/vibe-coder && cd ~/vibe-coder curl -fsSL https://raw.githubusercontent.com/siamakerlab/vibe-coder-server/main/docker/compose.yml -o compose.yml curl -fsSL https://raw.githubusercontent.com/siamakerlab/vibe-coder-server/main/docker/.env.example -o .env # 编辑.env: 设置PUID/PGID(通过id -u; id -g获取)和主机端口,默认值也可直接使用 docker compose up -d # 1. 浏览器访问 → http://<PC IP>:17880/setup (创建首个管理员用户) # 2. 构建环境 → "Install/update all"(安装Android SDK,约5-15分钟) # 3. 构建环境 → Claude登录卡片 → 选择4种方式之一 # 4. 项目 → 新建项目(空项目或Git克隆)→ 控制台/构建/下载
script -q PTY包装,无需xterm.js)。/api/*提供Bearer认证,供Android companion或第三方自动化使用。| 层 | 内容 | 大小 |
|---|---|---|
| Ubuntu 24.04 LTS(Noble Numbat) | 基础镜像 | ~30 MB |
| OpenJDK 17(JRE) | 运行vibe-coder服务器 | ~200 MB |
| Node 20 LTS + Claude Code CLI | Claude子进程 | ~250 MB |
| git、curl、unzip、jq、tini、gosu、util-linux、sudo | 最小化工具集 | ~80 MB |
| vibe-coder服务器(Ktor installDist) | 应用主体 | ~50 MB |
未捆绑(操作者首次运行时通过/env-setup页面安装到卷中):
npm install -g <pkg>)| 变量 | 默认值 | 描述 |
|---|---|---|
VIBECODER_IMAGE | siamakerlab/vibe-coder-server:0.10.0 | 要拉取的镜像标签 |
PUID/PGID | 1000/1000 | 匹配主机UID/GID(id -u/id -g) |
VIBE_PORT | 17880 | 暴露的主机端口 |
VIBE_DATA_ROOT | ./vibe-coder-data | 统一主机目录,存储所有持久化数据 |
VIBE_CLAUDE_DIR | ${VIBE_DATA_ROOT}/claude | 覆盖为~/.claude可共享主机的Claude认证 |
VIBECODER_ADMIN_USERNAME | (未设置) | 首次启动时自动创建管理员 |
VIBECODER_ADMIN_PASSWORD | (未设置) | 与上述配对,需立即通过/password修改 |
JAVA_OPTS | -Xmx2g … | JVM堆大小——根据主机RAM调整 |
所有持久化数据存储在一个主机目录(./vibe-coder-data/)中。使用tar打包即可备份所有内容:工作区+数据库+Android SDK+Gradle+MCP+Playwright+Claude认证。
${VIBE_DATA_ROOT}/ 容器内路径 ───────────────── ───────── ├── workspace/ → /workspace (源码+APK) ├── server/ → /data (SQLite+日志) ├── dev-tools/ │ ├── android-sdk/ → /opt/android-sdk (3-4 GB) │ ├── gradle/ → /home/vibe/.gradle (1-2 GB) │ ├── npm-global/ → /home/vibe/.local (MCP包) │ ├── npm-cache/ → /home/vibe/.npm (npx缓存) │ ├── playwright/ → /home/vibe/.cache/ms-playwright (可选) │ └── config/ → /home/vibe/.config (工具配置) └── claude/ → /home/vibe/.claude (OAuth/API密钥/MCP注册)
v0.7.0修复了数据丢失bug:v0.7.0前MCP服务器存储在镜像的系统目录(
/usr/local/lib/node_modules),导致docker compose pull && up -d时丢失。v0.7.0+将其路由到绑定挂载卷。详见维基的https://github.com/siamakerlab/vibe-coder-server/wiki/Upgrade-Guide%E3%80%82
bashdocker compose stop tar czf vibe-coder-data-$(date +%F).tar.gz vibe-coder-data/ docker compose start # 在另一台机器上 scp vibe-coder-data-*.tar.gz user@newhost:~/vibe-coder/ ssh user@newhost 'cd ~/vibe-coder && tar xzf vibe-coder-data-*.tar.gz && docker compose up -d'
所有路由位于根路径(v0.4.2+无/admin/*前缀)。除/setup、/login、/health外,均需Bearer令牌或会话cookie。
| 路径 | 用途 |
|---|---|
/ | 仪表盘 |
/projects | 项目列表+注册(空项目/克隆) |
/projects/{id}/console | 实时Claude聊天(WebSocket) |
/projects/{id}/builds | 排队调试构建+APK下载 |
/env-setup | 构建环境安装器 |
/env-setup/mcp | MCP目录(60+条目) |
/env-setup/claude-login | 半自动Web OAuth |
/settings/git-integrations | PAT+SSH密钥 |
/settings、/devices、/password | 操作设置 |
完整参考+curl示例见https://github.com/siamakerlab/vibe-coder-server/wiki/REST-API-Reference%E7%BB%B4%E5%9F%BA%E3%80%82Retrofit%E6%8E%A5%E5%8F%A3%E8%A7%81https://github.com/siamakerlab/vibe-coder-server/wiki/Android-Client-Guide%E3%80%82 重点接口:
POST /api/auth/login → Bearer令牌GET /api/projects、POST /api/projects/register(带sourceType=clone)GET /api/env-setup/components、POST /api/env-setup/install-allPOST /api/env-setup/claude-auth/upload | api-keyPOST /api/env-setup/claude-login/start | submit | cancelGET /api/env-setup/mcp、POST /api/env-setup/mcp/install | unregisterGET /api/settings/git-integrations、POST .../register | delete | ssh-keygen/ws/projects/{id}/console/logs、/ws/env-setup/{taskId}/logsbashdocker compose logs -f vibe-coder-server # 查看服务器日志 docker compose restart vibe-coder-server # 重启服务 docker exec -it vibe-coder-server bash # 进入容器shell(root用户) docker exec -it --user vibe vibe-coder-server bash # 进入容器shell(vibe用户) docker exec -it --user vibe vibe-coder-server claude --version # 升级(数据保留) docker compose pull docker compose up -d --force-recreate
bashdocker exec -it vibe-coder-server vibe-doctor # 交互式(推荐) docker exec -it vibe-coder-server vibe-doctor check # 仅诊断 docker exec vibe-coder-server vibe-doctor install # 非交互式批量安装 docker exec -it vibe-coder-server vibe-doctor android # 仅安装Android SDK docker exec -it vibe-coder-server vibe-doctor claude # Claude认证助手 docker exec -it vibe-coder-server vibe-doctor mcp # 基于提示的MCP选择器
PUID/PGID与主机不匹配。通过id -u; id -g获取主机值,更新.env,然后执行docker compose up -d --force-recreate。
运行构建环境安装器(Web UI)或vibe-doctor android。
可能是用root用户运行claude login(需加--user vibe),或令牌过期(≥30天未使用——重新登录)。v0.6.2+的诊断工具可检测这两种情况。
确保~/.claude/.mcp.json中有该条目。MCP目录UI会自动写入,手动安装需手动编辑。
将项目源码放在WSL2的Linux侧(/home/...),而非/mnt/c/...(I/O慢5-20倍)。
完整故障排除目录:https://github.com/siamakerlab/vibe-coder-server/wiki/Troubleshooting
PathSafety验证(无法从工作区逃逸..)。完整安全模型:https://github.com/siamakerlab/vibe-coder-server/wiki/Security-Model
bash# 常规开发推送(仅amd64,快速2-3分钟) docker buildx build --platform linux/amd64 \ -f docker/Dockerfile \ -t siamakerlab/vibe-coder-server:<ver> \ -t siamakerlab/vibe-coder-server:latest \ --push . # 里程碑版本(多架构——通过arm64模拟较慢10-15分钟) docker buildx build --platform linux/amd64,linux/arm64 ...
完整指南:https://github.com/siamakerlab/vibe-coder-server/blob/main/docker/README.md
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务