住在手机里的“小龙虾” (OpenClaw):接入本地模型,解决记忆“装死”顽疾

最近在 Termux 的 Debian 环境下折腾 OpenClaw(小龙虾),发现升级新版后它容易"装死":发消息不回,后台卡死。

核心病因: 记忆功能触发了"内嵌模型加载",8 核 CPU 瞬间过载导致 Node.js 事件循环堵死,系统由于发热直接把进程"猎杀"了。

终极药方: 架构解耦。用 PM2 守护原生的 C++ llama-server 独立跑在后台,OpenClaw 通过端口轻量调用。

第一步:搭建底层------编译与模型准备

在手机端,我们要先手动编译一个原生的"微服务"引擎,这比任何 Node.js 插件都高效。

1. 编译原生推理引擎

复制代码
# 安装基础编译环境
sudo apt update && sudo apt install build-essential git cmake -y

# 克隆并编译 llama-server (仅编译服务端,省时省力)
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build --config Release -j 4 --target llama-server

2. 准备模型

手动下载量化版模型(建议放在家目录):此模型就是openclaw官方示例的模型大小0.6G

复制代码
wget https://hf-mirror.com/ggml-org/embeddinggemma-300M-GGUF/resolve/main/embeddinggemma-300M-Q8_0.gguf

第二步:进阶管理------使用 PM2 守护记忆引擎

为了让模型服务像系统服务一样稳定,我们使用 PM2 来接管。这样即使程序崩溃,它也会秒级自动重启。

1. 安装 PM2

复制代码
npm install pm2 -g

2. 编写启动脚本 start_mem.sh

llama.cpp/build/bin/ 目录下创建脚本。核心技巧是锁定 4 线程,主动"示弱"以绕过系统温控墙。

复制代码
#!/bin/bash
# 路径请根据实际情况修改
MODEL="/data/data/com.termux/files/home/embeddinggemma-300M-Q8_0.gguf"

./llama-server -c 4096 -b 4096 -ub 4096 -m "$MODEL" --host 127.0.0.1 --port 8080 -t 4 --embedding

3. 使用 PM2 启动并持久化

复制代码
# 启动并命名为 llama-mem
pm2 start ./start_mem.sh --name llama-mem

# 查看运行状态
pm2 status

# 保存列表,确保下次启动 Debian 时能自动复活
pm2 save

第三步:配置龙虾------偷天换日接入 API

模型服务立起来后,修改 OpenClaw 的配置文件( ~/.openclaw/openclaw.json),把最累的活"外包"给 PM2 守护的那个端口。

复制代码
agents: {
  defaults: {
    memorySearch: {
      provider: "openai",
      model: "embeddinggemma-300M-Q8_0",
      remote: {
        baseUrl: "http://127.0.0.1:8080/v1/",
        apiKey: "sk-任意",
        headers: { "X-Custom-Header": "value" }
      }
    }
  }
}

第三步:更新小龙虾记忆索引

复制代码
openclaw memory index
相关推荐
jwn999几秒前
Laravel3.x:PHP框架的经典里程碑
android
Elastic 中国社区官方博客1 分钟前
Elasticsearch:运用 JINA 来实现多模态搜索的 RAG
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
lishutong10064 分钟前
基于 Perfetto 与 AI 的 Android 性能自动化诊断方案
android·人工智能·自动化
REDcker4 分钟前
Android Bionic Libc 原理与实现综述
android·c++·c·ndk·native·bionic
葱段9 分钟前
Flutter 设置Android System Navigation/Status Bar背景色
android·flutter
小手智联老徐10 分钟前
OpenClaw 三小时连更三个版本
llm·ai编程·openclaw
木斯佳16 分钟前
前端八股文面经大全:腾讯前端一面(2026-04-04)·深度解析
前端·ai·鉴权·monorepo
Digitally23 分钟前
荣耀手机数据迁移至 iPhone 教程
智能手机·cocoa·iphone
半条-咸鱼27 分钟前
如何通过 ADB 连接安卓设备(USB + 无线 TCP/IP)
android·adb
UltraLAB-F30 分钟前
GPU显存不足时的分配策略:渲染与仿真的显存争夺战解决方案
图像处理·算法·3d·ai·硬件架构