Skip to content

容器与镜像

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-headlessopenjdk-25-jdk-headless,回车默认选第一个)。基础工具始终会装。

3. 手动安装(不再提示)

跳过安装,之后进终端不再弹这个菜单,工具你自己装。想让菜单回来就重置容器。

4. 退出

这次不装,下次进终端还会问。

装包失败不会影响你进入 shell,重进终端可以再试一次。

软件源选择

换源时可以选:

  • 1) 自动探测(推荐):实测各个镜像源在当前包管理器下的真实可达性,自动跳过失效或被墙的源。
  • 2~6) 指定某个镜像源:华为云、清华 tuna、中科大 ustc、腾讯云、阿里云。
  • 0) 不换源,保持默认。

换源前会备份原配置,失败自动恢复,不影响后续安装。内置 Alpine 的 rootfs 保持官方源,需要国内源就在这个菜单里换。

自定义镜像

想用 Debian、Ubuntu 或者别的发行版,看自定义容器镜像,那里讲了内置下载和手动导入两种方式,以及镜像从哪里获取。

全部删掉会怎样

即使删掉所有容器(包括内置 Alpine),App 也不会不可用——AI 执行命令时会回退到内置 Alpine 兜底。重新打开「容器与镜像」页,在空态页面可以恢复内置 Alpine 或添加新镜像。

基于 GPL-3.0 协议开源