用 OpenClaw + 本地 LLM,实现真正的 Token 自由
🤔 为什么要折腾本地 LLM?
作为一个 AI 工具重度用户,我每天都面临这些痛点:
- API 费用: 每月几百块的 Token 账单
- 网络依赖: 没网就抓瞎,想离线跑个脚本都不行
- 响应延迟: 高峰期卡顿,等回复等到焦虑
- 数据隐私: 敏感代码、个人笔记不敢往云端送
以前遇到问题要东问西查,还要亲自动手操作。现在?全自动搞定。
💻 我的“老爷机”配置
先上硬菜,看看我这台 8 年前的老电脑:
| 组件 |
规格 |
评价 |
| CPU |
Intel i7-7700 (4C8T) |
2017 年中端,廉颇老矣 |
| 内存 |
16GB DDR4 |
刚够用 |
| 显卡 |
RTX 4060 8GB |
入门级 AI 卡,性价比之选 |
| 系统 |
WSL2 + Ubuntu |
Windows 里的 Linux |
硬件成本: 显卡 ¥2200 + 其他旧件 ≈ ¥2500 以内
🚀 本地部署全过程
Step 1: LM Studio 一键安装
# 安装 LM Studio CLI
curl -fsSL https://lmstudio.ai/install-cli | bash
# 启动服务
lms server start
耗时: 5 分钟 ⏱️
Step 2: 导入模型
我选择的是 Qwen 2.5 7B Instruct:
- 中文能力强(阿里出品)
- 工具调用支持好
- 7B 参数,8GB 显存刚好跑
# 从 Ollama 导入(已有模型)
lms import-ollama qwen2.5:7b
# 加载到显存
lms load qwen2.5-7b --gpu max --context-length 16384
模型大小: 4.68 GB
加载时间: 8 秒 ⚡
Step 3: OpenClaw 接入
{
“providers”: {
“lms”: {
“baseUrl”: “http://127.0.0.1:1234”,
“models”: [{
“id”: “qwen2.5-7b”,
“alias”: “本地 Qwen 2.5 7B”
}]
}
}
}
切换命令:
/model lms/qwen2.5-7b # 切本地
/model kimi-coding/k2p5 # 切云端
📊 性能实测数据
跑分环节,上真实数据:
🏎️ 推理速度
| 指标 |
数值 |
对比 (Kimi API) |
| 生成速度 |
42 tok/s |
30-50 tok/s |
| 首 Token 延迟 |
0.44s |
0.5-2s |
| 上下文窗口 |
16k tokens |
4k-262k |
实测感受: 本地响应比云端还快!没有网络波动,体验丝滑。
🎮 资源占用
GPU: RTX 4060 8GB
├── 模型显存: 6.6 GB / 8 GB (82%)
├── 剩余显存: 1.4 GB (可加载小模型)
└── 温度: 49°C (安静运行)
系统:
├── WSL2 内存: 11 GB (升级后)
├── 交换空间: 4 GB (新建)
└── 磁盘占用: 4.7 GB (模型文件)
💰 成本对比
| 项目 |
云端 API |
本地部署 |
| 前期投入 |
¥0 |
¥2500 (一次性) |
| 每 1M tokens |
¥10-50 |
¥0 ✅ |
| 月使用量 |
~500K tokens |
无限 |
| 月成本 |
¥50-100 |
电费 ¥5 ✅ |
回本周期: 25-50 个月,但隐私无价。
🛠️ 踩坑记录(避坑指南)
坑 1: WSL2 内存默认只有 8GB
症状: 模型加载失败,OOM 错误
解决: 创建 .wslconfig 扩展内存
[wsl2]
memory=12GB
swap=4GB
processors=8
注意: 需要 Windows 完全重启生效!
坑 2: 上下文窗口默认只有 4k
症状: 长对话到一半报错:
Cannot truncate prompt with n_keep (20118) >= n_ctx (4096)
解决: 加载时指定 16k 上下文
lms load qwen2.5-7b --context-length 16384
代价: 显存占用 +1GB
坑 3: 小模型工具调用安全警告
OpenClaw 提示:
Small models require sandboxing and web tools disabled
解决: 目前本地使用,暂不启用沙盒。公网部署必须开!
🎯 实战场景展示
场景 1: 系统监控全自动
需求: 检查服务器状态,发现异常自动报警
以前: 手动 SSH → 敲命令 → 看输出 → 写脚本
现在: 一句话搞定
我: 检查本地系统状态
AI: [自动调用工具]
├── 执行: free -h, df -h, nvidia-smi
├── 分析: 内存 9.6G 可用,显存 82%
└── 报告: 系统健康,建议关注显存
场景 2: Token 监控预警
脚本: token-watchdog
📊 Token 监控报告
├── 输入: 5,500 tokens
├── 输出: 959 tokens
├── 缓存: 93% 命中率
├── 上下文: 112k / 262k (43%)
└── 状态: 🟢 正常
🚨 阈值提醒:
12k → 🟡 建议 /compact
14k → 🔴 建议 /reset
场景 3: 模型智能路由
配置不同 Agent 用不同模型:
| Agent |
模型 |
用途 |
main |
本地 7B |
日常问答 |
it_boss |
云端 K2.5 |
复杂运维 |
info_collector |
本地 7B |
信息采集 |
content_writer |
云端 K2.5 |
长文创作 |
切换: local → 本地, cloud → 云端
💡 本地 LLM 适合谁?
✅ 推荐人群
- 隐私敏感: 代码、数据不想上云
- 高频使用: 每天几小时 AI 辅助工作
- 网络不稳: 经常离线或网络差
- 技术折腾: 享受自己部署的乐趣
❌ 不适合人群
- 轻度使用: 一个月用不了几次
- 追求最强: 需要 GPT-4 级别推理
- 懒人: 不想花时间维护
🎁 福利:一键部署脚本
我把今天的配置整理成了脚本:
# 安装 LM Studio
bash <(curl -fsSL https://lmstudio.ai/install-cli)
# 导入模型
lms import-ollama qwen2.5:7b
# 启动服务
lms server start
lms load qwen2.5-7b --gpu max --context-length 16384
# 检查状态
lms ps
nvidia-smi
🎨 番外:顺手写了个文图生成器
部署完本地 LLM,我顺手让 AI 写了个文图生成器——把文字变成精美图片,适合发社交媒体。
功能特点
- 5 种模板: 淡雅白、深邃黑、暖色调、极简白、名言风
- 自动换行: 中英文智能排版
- 一键生成: 命令行输入,秒出图
使用示例
# 生成每日金句
textimage -t “生活不是等待暴风雨过去,而是学会在雨中跳舞。” \
-m quote --title “今日金句” -a “Vivian Greene”
# 程序员语录
textimage -t “代码改变世界,程序员改变代码” \
-m dark --title “程序员语录” -a “蓝克队长”
技术栈
- Python + Pillow
- 本地 LLM 生成代码
- 自动安装中文字体
这个项目从需求到完成,全程由 OpenClaw + 本地 Qwen 7B 完成,我只是提了需求和做了测试。如果你想了解更多关于大模型应用的开源实战技巧,欢迎来云栈社区交流探讨。
🚀 下一步计划
- 多模型切换: 同时加载 CodeQwen + Qwen 7B
- 量化优化: 试试 Q4_K_M 量化,省显存
- Agent 工作流: 让本地 Agent 自动写代码、跑测试
- 多端同步: iPad/手机也能连本地模型
- 文图生成器升级: 添加更多模板和自定义功能
📝 写在最后
今天从 0 到 1 部署了完整的本地 LLM 工作流,还顺手开发了一个文图生成器工具:
- ✅ 性能: 42 tok/s,比云端还快
- ✅ 成本: 一次性投入,永久免费
- ✅ 隐私: 数据不出本机
- ✅ 自动化: OpenClaw 工具调用全自动
- ✅ 创造力: AI 辅助开发新工具
最大的感受: 以前遇到问题要东问西查,还要亲自动手操作。现在有了 OpenClaw + 本地 LLM,从系统配置到代码编写,全自动搞定,真正实现 Token 自由!
老电脑也能玩转 AI,你也可以试试。
我的配置
- 显卡: RTX 4060 8GB
- 模型: Qwen 2.5 7B Instruct
- 平台: OpenClaw + WSL2
- 速度: 42 tok/s
- 上下文: 16k tokens