老手机 本地部署小龙虾OpenClaw(使用本地千问大模型)实机演示 Termux+Ubuntu+Llama 新手完整安装教程(含代码)

本教程提供从 0 到 1 的详细步骤,在安卓手机上通过 Termux 运行 Ubuntu,部署本地 Llama 大模型,并集成 OpenClaw 进行 AI 交互,全程无需 Root。建议手机配置:≥4GB 内存,≥64GB 存储,Android 7+。

一、准备工作

1.1 安装 Termux

  1. F-DroidGitHub下载最新版 Termux(避免应用商店旧版本)
  2. 安装并打开,首次启动会自动配置基础环境

1.2 手机设置优化

  1. 开启开发者选项(设置→关于手机→连续点击版本号 7 次)
  2. 开启USB 调试(部分手机需要)
  3. 授予 Termux存储权限(后续步骤会自动请求)

二、Termux 基础配置与 Ubuntu 安装

2.1 Termux 初始化与换源(加速下载)

bash

运行

# 1. 更新系统包 pkg update -y && pkg upgrade -y # 2. 安装必要工具 pkg install -y proot-distro git curl wget termux-exec # 3. 授予存储权限(允许访问手机文件) termux-setup-storage # 4. 更换国内源(解决下载慢问题) echo "deb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main" > $PREFIX/etc/apt/sources.list pkg update -y 

2.2 安装 Ubuntu 系统(Proot 容器,无需 Root)

bash

运行

# 1. 安装Ubuntu(默认最新LTS版本,约200MB) proot-distro install ubuntu # 2. 验证安装并登录Ubuntu proot-distro login ubuntu --isolated # --isolated参数必须加,避免环境变量冲突 # 登录成功后,终端提示符变为:root@localhost:~# 

三、Ubuntu 环境配置(核心依赖安装)

在 Ubuntu 终端中执行以下命令(确保已通过proot-distro login ubuntu进入):

3.1 系统更新与基础工具

bash

运行

# 1. 更新Ubuntu软件源 apt update -y && apt upgrade -y # 2. 安装必要依赖 apt install -y build-essential git curl wget nano python3 python3-pip nodejs npm 

3.2 安装 Node.js(OpenClaw 依赖,必须 v22+)

bash

运行

# 卸载旧版本(如果有) apt remove -y nodejs npm # 安装Node.js v22 LTS curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt install -y nodejs # 验证版本(应显示v22+) node -v && npm -v # 安装pnpm(OpenClaw推荐包管理器) npm install -g pnpm 

四、本地 Llama 模型部署(两种方案,推荐 Ollama)

方案 A:Ollama(推荐,新手友好,自动管理模型)

bash

运行

# 1. 安装Ollama(一键脚本) curl -fsSL https://ollama.com/install.sh | sh # 2. 启动Ollama服务(后台运行) nohup ollama serve > ollama.log 2>&1 & # 后台运行,日志保存到ollama.log # 3. 验证安装 ollama --version # 4. 下载轻量级Llama模型(手机推荐0.5B~7B参数) # 下载Qwen2.5-0.5B(中文支持好,仅需约300MB空间) ollama pull qwen2.5:0.5b # 或下载Llama 3.1-8B(英文优秀,约4.7GB) # ollama pull llama3.1:8b # 5. 测试模型(交互模式) ollama run qwen2.5:0.5b # 输入"你好"测试,输入"/bye"退出 

方案 B:llama.cpp(手动编译,适合高级用户)

bash

运行

# 1. 克隆llama.cpp仓库 git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp # 2. 编译(手机CPU优化) make LLAMA_NATIVE=1 LLAMA_NO_ACCELERATE=1 # 禁用加速,适配手机CPU # 3. 下载GGUF格式Llama模型(推荐Q4_K_M量化版,体积小速度快) # 下载Qwen2.5-0.8B-UD-Q4_K_M.gguf(约500MB) wget https://hf-mirror.com/Qwen/Qwen2.5-0.8B-UD/resolve/main/Qwen2.5-0.8B-UD-Q4_K_M.gguf -P models/ # 4. 启动llama.cpp API服务(OpenClaw可通过API访问) ./server -m models/Qwen2.5-0.8B-UD-Q4_K_M.gguf -c 2048 --host 0.0.0.0 --port 8081 # -c 2048:上下文窗口大小 # --host 0.0.0.0:允许外部访问 # --port 8081:API端口 

五、OpenClaw 安装与配置

5.1 安装 OpenClaw

bash

运行

# 1. 克隆OpenClaw仓库(或直接下载最新版) git clone https://github.com/openclaw/openclaw.git cd openclaw # 2. 安装依赖 pnpm install # 3. 初始化配置(自动生成.env文件) pnpm run setup 

5.2 配置 OpenClaw 连接本地 Llama 模型

情况 1:连接 Ollama(推荐)

在初始化过程中,按以下提示配置:

plaintext

? 请选择默认模型提供商: Ollama ? Ollama API 地址: http://localhost:11434 # Ollama默认端口 ? 请设置Ollama API密钥: ollama-local # 任意值即可,Ollama不需要真实密钥 ? 请选择默认模型: qwen2.5:0.5b # 选择已下载的模型 
情况 2:连接 llama.cpp API

bash

运行

# 修改.env文件 nano .env # 添加以下内容(替换原有Ollama配置) MODELS_PROVIDERS_CUSTOM_API_BASE_URL=http://localhost:8081/v1 MODELS_PROVIDERS_CUSTOM_API_KEY=sk-local # 任意值 DEFAULT_MODEL=custom:llama # 保存并退出(Ctrl+O,回车,Ctrl+X) 

5.3 启动 OpenClaw

bash

运行

# 开发模式启动(适合调试) pnpm run dev # 或生产模式启动(推荐,性能更好) pnpm run build pnpm run start # 启动成功后,会显示: # > OpenClaw is running on http://localhost:8080 

六、访问与使用 OpenClaw

6.1 本地访问(手机浏览器)

  1. 保持 Termux/Ubuntu 终端运行,不要关闭
  2. 打开手机浏览器,输入:http://localhost:8080
  3. 进入 OpenClaw 界面,在左侧选择 "模型交互"
  4. 右侧选择已配置的模型(如 qwen2.5:0.5b)
  5. 输入问题,点击 "发送",等待回复(手机性能有限,首次可能需要 10-30 秒)

6.2 局域网访问(其他设备)

bash

运行

# 查看手机IP地址(在Ubuntu终端执行) ip a # 查找inet后的地址,如192.168.1.100 # 其他设备浏览器输入:http://手机IP:8080 # 例如:http://192.168.1.100:8080 

七、常见问题解决

问题 1:Ollama 启动失败

bash

运行

# 查看日志 cat ollama.log # 常见修复:重启服务 pkill ollama nohup ollama serve > ollama.log 2>&1 & 

问题 2:OpenClaw 连接模型失败

bash

运行

# 1. 检查模型服务是否运行 # Ollama: curl http://localhost:11434/v1/models # 应返回模型列表 # llama.cpp: curl http://localhost:8081/v1/models # 应返回模型列表 # 2. 检查.env配置是否正确 cat .env # 3. 重启OpenClaw pnpm run restart 

问题 3:内存不足 / 运行缓慢

  1. 选择更小的模型(如 0.5B~2B 参数)
  2. 关闭其他后台应用
  3. 降低模型上下文窗口(llama.cpp 中-c 512代替-c 2048

七、完整操作流程总结(快速参考)

bash

运行

# 1. 启动Termux # 2. 进入Ubuntu proot-distro login ubuntu --isolated # 3. 启动Ollama服务(如果未启动) nohup ollama serve > ollama.log 2>&1 & # 4. 进入OpenClaw目录 cd openclaw # 5. 启动OpenClaw pnpm run start # 6. 打开浏览器访问http://localhost:8080 

八、进阶技巧

后台运行与进程管理

bash

运行

# 1. 查看后台进程 jobs # 2. 将前台进程转为后台(Ctrl+Z后) bg # 3. 恢复后台进程到前台 fg [进程号] # 4. 永久后台运行(重启后仍生效) echo "nohup ollama serve > ollama.log 2>&1 &" >> ~/.bashrc echo "cd /root/openclaw && pnpm run start" >> ~/.bashrc 

模型推荐(手机性能友好)

表格

模型名称参数大小占用空间推荐指数特点
Qwen2.5-0.5B0.5B~300MB★★★★★中文支持好,速度快
Llama 3.1-1B1B~600MB★★★★☆英文优秀,轻量级
Mistral-7B-Instruct-v0.37B~4GB★★★☆☆性能强,需≥8GB 内存

常见问题 Q&A

  1. 是否需要 Root?不需要!全程使用 Proot 容器技术,安全无风险
  2. 手机最低配置要求?建议≥4GB RAM,≥64GB 存储,Android 7+
  3. 模型下载慢怎么办?使用国内镜像源,如hf-mirror.com,或在电脑下载后通过 USB 传输到手机
  4. 如何关闭服务?
    • OpenClaw:Ctrl+C
    • Ollama:pkill ollama
    • Ubuntu:exit 退出,然后关闭 Termux

老手机 本地部署小龙虾OpenClaw(使用本地千问大模型)

现在你已经成功在手机上搭建了完整的本地 AI 环境,可以开始使用 OpenClaw 与 Llama 模型进行交互了!

大模型交流群:959957732

Read more

前端小案例——网页井字棋

前端小案例——网页井字棋

前言:我们在学习完了HTML、CSS和JavaScript之后,就会想着使用这三个东西去做一些小案例,不过又没有什么好的案例让我们去练手,本篇文章就提供里一个案例——网页井字棋。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-ZEEKLOG博客 目录 写在前面         ——该案例的全部代码已经放在文章末尾,有兴趣的读者可以到最后将全部代码复制到自己的编译器上运行,感受一下井字棋案例的最终效果!!! ——首先先让我们了解一下我们需要了解的前置知识: 1.HTML骨架 2.CSS装饰 1. 引入字体和全局样式 2.设置 body 样式 3 设置 .wrapper 样式 4.设置 .current-status 和其中的元素样式  5.设置 board 和 .cell 样式 6.鼠标悬浮时的图片效果 7.设置 game-end-overlay 样式 8 设置 .winning-message 样式 9.

AI Skills:前端新的效率神器

AI Skills:前端新的效率神器

近来,AI 领域有个火爆的话题:Skills。 Github 上被疯狂 star 的仓库,很多都是和 skills 有关的。 有的仓库仅仅上线三个月就获得了快 50K 的 star,Skills 的火热可见一斑。 不管是大模型,还是 Cursor、Codex、Claude、Trae、Copilot 等编程 IDE 都在争先支持 Skills。 围绕 Skills,它们在做的就是为了完成一件事情:技能是通过学习和反复练习获得的,而 Skills 是把经验和最佳实践沉淀为 AI 能力,将“知道”转化为“做到”的本领。 详解什么是 Skills 要说清楚什么是 Skills,先来了解一下关于 AI 的 2

前端监控:别等用户告诉你应用崩了

前端监控:别等用户告诉你应用崩了 毒舌时刻 这代码写得跟网红滤镜似的——仅供参考。 各位前端同行,咱们今天聊聊前端监控。别告诉我你还在等用户截图告诉你应用崩了,那感觉就像等邻居来告诉你你家着火了——能知道,但已经晚了。 为什么你需要前端监控 最近看到一个项目,生产环境崩溃了 3 小时,开发团队却一无所知。我就想问:你是在做应用还是在做猜谜游戏? 反面教材 // 反面教材:没有监控 // components/Checkout.jsx export default function Checkout() { const [loading, setLoading] = useState(false); const handleSubmit = async () => { setLoading(true); try { await api.checkout(); // 成功处理 } catch (error) { // 只在控制台打印错误 console.error(

前端SSG:静态站点生成的艺术

前端SSG:静态站点生成的艺术 毒舌时刻 前端SSG?这不是给博客用的吗? "我的应用需要动态内容,SSG不适合"——结果首屏加载慢,SEO差, "SSG就是静态HTML,太简单了"——结果构建时间长,数据更新困难, "我用SSR就够了"——结果服务器压力大,响应慢。 醒醒吧,SSG不是简单的静态HTML,而是一种现代化的前端架构! 为什么你需要这个? * 性能优异:静态文件加载快,无需服务器渲染 * SEO友好:所有内容都是静态的,搜索引擎容易收录 * 部署简单:可以部署到任何静态文件服务器 * 安全性高:没有服务器端代码,减少攻击面 反面教材 // 反面教材:纯静态HTML <!DOCTYPE html> <html> <head>