ARTICLE · 1246741
在安卓手机上跑一个 AI 编程工作台:Termux + Fizz 实战
在安卓手机上跑一个 AI 编程工作台:Termux + Fizz 实战Fizz 是一款自托管的 AI Agent 工作台(项目地址:https://github.com/bbuugg/fizz)。把 Fizz 部署在一台机器上,浏览器打开网址,就能让 AI 读代码、改文件、跑命令、管 Git、连服务器——不必在每台电脑装客户端。它的所有能力都跑在一个 Node 进程里:HTTP 接口、SSE 对话流、Web 页面、终端(PTY)、SSH/SFTP 同源提供,部署只需一个端口。 更妙的是,Fizz 还提供了一个「手机版网页」构建入口(build:mobile:hosted)。配合本地 server,我们可以在安卓手机上用 Termux 把它跑起来,得到一个随时可用的「口袋 AI 编程工作台」。本文就带你一步步在 Android + Termux 上部署 Fizz,并配置好模型开始使用。 适用场景:本文面向想在手机上自托管 Fizz 的朋友,整体思路是「在 Termux 里跑 server + 构建手机版 web 用浏览器访问」。如果你只在 Termux 内使用,可以跳过 SSH 一节,直接用本地终端操作。 一、Termux 与 SSH 远程访问 Termux 默认没有开启 SSH 服务。如果你希望从电脑远程连接手机(方便复制粘贴命令、传文件),需要先安装 OpenSSH、设置密码并启动 sshd。 注意:Termux 的 SSH 端口不是 22,而是 8022——因为 Android 不允许非 root 应用监听 1024 以下的端口。 pkg update && pkg upgrade pkg install openssh pkg install termux-auth sshd passwd 设置完密码后,用 whoami 和 ifconfig 查看用户名与局域网 IP,就可以从电脑上连接了: ssh u0_a123@192.168.1.5 -p 8022 这一步本身不复杂,但建议把 sshd 加到 ~/.bashrc 里自动启动,免得每次重开 Termux 都要手动拉起服务。 
Termux 中启动 sshd 并查看连接信息 二、拉取项目与 Node.js 依赖的特殊处理 克隆仓库、切换 npm 镜像源都是常规操作: pkg install python nodejs git git clone https://github.com/bbuugg/fizz.git npm config set registry https://registry.npmmirror.com 真正需要留意的是 node-pty。这个包在 Termux 上直接安装上游版本大概率会编译失败或运行异常,原因是它依赖的原生模块没有为 Android/Bionic 环境提供预编译产物。社区维护的 fork 版本 node-pty-android-arm64 专门解决了这个问题。用 npm alias 的方式安装,可以让项目代码继续 require('node-pty'),而实际加载的是 Android 适配版: npm install node-pty@npm:node-pty-android-arm64 划重点:这一步是整个搭建过程中最关键的平台适配点,漏掉它,终端功能基本不可用。 三、浏览器依赖:为什么需要 Chromium 如果 Fizz 涉及 Playwright 或类似的浏览器自动化能力,Termux 上的处理方式与桌面 Linux 完全不同。Playwright 官方包会尝试下载捆绑的浏览器二进制,但在 Android 上会触发平台检查并报错(Unsupported platform: android)。 正确做法是:使用系统安装的 Chromium,放弃 Playwright 自带的浏览器下载。Termux 的 X11 仓库提供了 Chromium 包: pkg install x11-repo pkg update pkg install chromium 同时,需要设置环境变量 PLAYWRIGHT_BROWSERS_PATH=0,作用是禁用 Playwright 默认的浏览器缓存路径逻辑,避免它在 Android 上执行不支持的平台检查。因此 ~/.bashrc 中还应写入: export PLAYWRIGHT_BROWSERS_PATH=0 另外,termux-wake-lock 也值得加上。Android 的深度休眠机制会在息屏后限制 CPU 活动,对于需要持续运行的服务,持有 wake lock 可以防止进程被系统挂起。 四、配置文件与服务启动 复制环境变量模板后,把监听地址改为 0.0.0.0,这样局域网内的其他设备才能访问到服务: cp .env.example .env # 编辑 .env,设置 FIZZ_HOST=0.0.0.0 
编辑 .env,将监听地址改为 0.0.0.0 你也可以修改用户名和密码用于登录;未修改则任意「用户名 + 密码」组合都能登录(开发态全放行)。生产环境建议把 FIZZ_AUTH_USER / FIZZ_AUTH_PASS / FIZZ_JWT_SECRET 三项一起配齐。 
设置登录用户名与密码 接下来构建手机版网页: npm run build:mobile:hosted 
构建手机版网页 然后启动服务: npm run server 
服务启动成功的日志界面 启动成功后,日志里会打印一个对外提供服务的监听地址。把它复制出来,用浏览器打开即可。注意:手机版 URL 后面需要加上 /m。 例如:http://10.168.200.169:7801/m 
在浏览器中打开手机版地址(末尾带 /m) 五、手机端访问与首次配置 如果是本机(手机)直接访问,不需要填写服务地址,直接输入用户名和密码登录即可。 
本地访问时直接输入用户名密码登录 登录后,选择工作区,点击右上角的终端进入终端,安装可选的 opencode: 
进入终端,准备安装 opencode 安装完成后,输入 opencode 并回车,按提示完成 opencode 的后续安装操作。安装完毕后,进入设置拉取模型: 
在终端中运行 opencode 
进入设置页 
在设置中拉取 / 配置模型 
模型配置完成 退出设置,打开任意会话,选择刚刚添加的模型,就可以开始对话了: 
选择模型并开始会话 六、注意事项与小贴士 · 鉴权三项要配齐:FIZZ_AUTH_USER / FIZZ_AUTH_PASS / FIZZ_JWT_SECRET 一起设置才会启用登录鉴权,缺任何一项都等于「谁都能直接用」。对外暴露时务必加上鉴权,并在前面套一层 HTTPS 反代。 · node-pty 必须用 Android fork:npm install node-pty@npm:node-pty-android-arm64,否则终端无法工作。 · 保持唤醒:termux-wake-lock 防止息屏后被系统挂起。 · 手机版路径带 /m:访问手机版网页时,URL 末尾一定要加 /m。 · 容器型项目不可用:本文的 Termux 环境没有 docker,Fizz 的「容器型项目」功能会显示「docker 不可用」,不影响其他功能。 · 凭据不随包带走:导出主机 / 接口请求 / 脚本时,凭据加密绑定本机,导入后需重填。 结语 到这里,你就拥有了一个跑在安卓手机上的自托管 AI 编程工作台:随时随地打开浏览器,让 AI 读代码、改文件、跑命令、管 Git。配合 Termux 的 SSH 与唤醒锁,它能在后台稳定运行,真正把「口袋里的开发环境」变成现实。 如果你在部署中遇到问题,欢迎在评论区交流;也别忘了给 Fizz 项目点个 Star ⭐:https://github.com/bbuugg/fizz 本应用同时支持web,桌面端,手机app以及手机网页版,详情请阅读仓库文档 — 完 —




























































































