容器与镜像
AiCode 里 AI 执行命令的地方叫「容器」。入口在「设置 → 容器与镜像」,列表是单选的,选中哪个,AI 的命令、文件读写和终端就都在哪里执行。
后端分两类:本地容器(在手机上跑一个 Linux 系统)和远程 SSH(在你的服务器上跑),两者必选其一。远程模式见远程 SSH 模式。
容器列表
每一行是一个容器配置,名称后面有来源标记:内置、自定义、SSH,颜色区分。
三种操作对所有容器一致:
- 编辑:行尾的铅笔图标。
- 重置:编辑弹窗右上角的刷新图标。这是破坏性操作,会删掉容器里已装的工具和配置,需要二次确认。
- 删除:行上左滑露出红色删除按钮。删本地镜像会一并清理它的 rootfs 释放空间;删远程 SSH 只删配置,不动服务器上的数据。
内置 Alpine 也可以删。删光了列表会显示空态,上面有个按钮一键恢复内置 Alpine,所以不用担心删错。
容器运行起来后,App 会自动识别里面装的是什么系统,在列表左侧显示对应的系统图标(目前支持 Alpine、Ubuntu、Debian、CentOS),识别不出来就显示默认图标。
内置 Alpine 容器
App 自带一个 Alpine 镜像,首次启动会自动加进列表并选中,shell 路径自动选好,不用配置任何东西。
首次使用必须先进终端页
容器的首次准备工作(解压 rootfs、装基础工具)只在你进入终端页面时才会触发。在那之前,Git 页、AI 的命令执行、依赖本地容器的 MCP 都会提示"请先进入终端页面完成初始化"。这是故意的——避免多个入口同时初始化互相打断。
首次进终端的初始化菜单
不管是内置 Alpine 还是你自己导入的镜像,rootfs 解压完成后第一次进终端都会弹出一个菜单,四个选项:
1. 自动安装依赖(推荐)
先列出要装的东西(bash、curl、ripgrep、git 这些基础工具,加 Node.js 和 Python 3),输入 y 确认后先选软件源,然后开始装。
2. 自定义安装
逐个问你要不要装 Node.js、Python 3、Java、Go、Rust、PHP(前两个默认装,其余默认跳过)。选 y 之后会列出这个运行时在软件仓库里可用的主版本让你挑(比如 Debian 下 Java 会列 openjdk-21-jdk-headless 和 openjdk-25-jdk-headless,回车默认选第一个)。基础工具始终会装。
3. 手动安装(不再提示)
跳过安装,之后进终端不再弹这个菜单,工具你自己装。想让菜单回来就重置容器。
4. 退出
这次不装,下次进终端还会问。
装包失败不会影响你进入 shell,重进终端可以再试一次。
软件源选择
换源时可以选:
1) 自动探测(推荐):实测各个镜像源在当前包管理器下的真实可达性,自动跳过失效或被墙的源。2~6)指定某个镜像源:华为云、清华 tuna、中科大 ustc、腾讯云、阿里云。0)不换源,保持默认。
换源前会备份原配置,失败自动恢复,不影响后续安装。内置 Alpine 的 rootfs 保持官方源,需要国内源就在这个菜单里换。
自定义镜像
想用 Debian、Ubuntu 或者别的发行版,看自定义容器镜像,那里讲了内置下载和手动导入两种方式,以及镜像从哪里获取。
全部删掉会怎样
即使删掉所有容器(包括内置 Alpine),App 也不会不可用——AI 执行命令时会回退到内置 Alpine 兜底。重新打开「容器与镜像」页,在空态页面可以恢复内置 Alpine 或添加新镜像。