难度:⭐⭐☆☆☆ | 20 分钟 | 学会用 SmallClaw + Ollama 零成本跑本地 AI 编程助手
目标读者
本文面向 1-3 年经验的开发者,包括:
- 对 AI Agent 感兴趣,注重隐私安全的开发者
- 希望在本地部署编程助手,控制成本的团队或个人
核心依赖
- Node.js 18+(建议 20+)
- Ollama(本地模型运行容器)
- 8GB+ RAM(16GB 体验更好)
一、OpenClaw 概述
OpenClaw 是一个功能完善的个人 AI 助手平台,支持 WhatsApp、Telegram、Discord、Slack、Google Chat、Signal、iMessage 等多种通讯渠道。它还提供语音模式(Voice Wake + Talk),能够与 macOS、iOS、Android 原生客户端深度集成。

然而,OpenClaw 的使用成本较高。官方推荐使用 Anthropic 的 Claude Pro/Max(每月 $100 起)或 OpenAI 的 ChatGPT/Codex。虽然理论上支持任何模型,但官方建议:需要长上下文和更强的 prompt 注入抗性?建议使用 Claude Opus 4.6。
具体费用:
- Claude Pro:$20/月
- Claude Max:$200/月
- 另需支付 Token 消耗费用
对于个人开发者而言,这是一笔不小的开销。事实上,许多场景并不需要 Claude 4.6 这样的顶级模型——例如简单的 Bug 修改、API 查阅、单元测试编写等,本地运行 4B/8B 的小模型完全可以胜任。
这正是 SmallClaw 诞生的原因。
二、SmallClaw:开源免费的本地方案
SmallClaw 定位很明确——一个本地优先的 AI Agent 框架,专为小模型优化,是 OpenClaw 的轻量级替代。
它的核心优势:
| 特性 | OpenClaw | SmallClaw |
|---|---|---|
| 费用 | $100+/月 | 免费 |
| 模型 | Claude/OpenAI API | 本地 Ollama |
| 渠道 | 10+ 通讯渠道 | Web UI + CLI |
| 语音 | 原生支持 | 不支持 |
| 平台 | macOS/iOS/Android | 跨平台 |
| 部署 | 需要公网暴露 | 完全本地 |
简单来说:
- OpenClaw:面向需要多用户、多渠道、强集成的团队场景
- SmallClaw:面向个人开发者,要的就是一个轻量、私密、免费的编程助手
架构设计
┌─────────────────────────────────────┐
│ Web UI (localhost:18789) │
│ 会话管理 · 聊天 · 进程日志 · 设置 │
└──────────────────┬──────────────────┘
│ SSE 流 + REST
▼
┌─────────────────────────────────────┐
│ Express Gateway (server-v2) │
│ 会话状态 · 工具注册 · SSE 流 │
└──────────────────┬──────────────────┘
│ 原生工具调用
▼
┌─────────────────────────────────────┐
│ handleChat() — 核心循环 │
│ 1) 构建系统提示 + 简短历史 │
│ 2) 单次 LLM 调用 │
│ 3) 模型决定:回复 OR 调用工具 │
│ 4) 执行工具 → 流式返回结果 │
│ 5) 重复直到最终回复 │
└─────────────────────────────────────┘
│ │ │
▼ ▼ ▼
文件工具 Web 工具 浏览器工具
与 OpenClaw 的多 Agent 架构不同,SmallClaw 采用单次调用模式——一次 LLM 调用即可决定是回复用户还是调用工具。这种设计非常适合小模型,因为小模型在多角色协调场景下往往表现不佳。
三、环境搭建
3.1 安装 Ollama 并拉取模型
首先从 ollama.ai 下载并安装 Ollama,安装完成后在终端执行以下命令:
# 检查安装
ollama --version
# 拉取轻量模型(8GB 内存可运行)
ollama pull qwen3:4b
# 拉取代码能力更强的模型(需要 16GB+ 内存)
ollama pull qwen2.5-coder:32b
# 查看已安装的模型列表
ollama list
TIP
建议从 qwen3:4b 开始体验。如果效果不理想,再切换到更大的模型。
3.2 安装 SmallClaw
# 克隆仓库
git clone https://github.com/xposemarket/smallclaw.git
cd smallclaw
# 安装依赖
npm install
# 构建项目
npm run build
# 软链接 CLI(可选)
npm link
WARNING
如果使用 Windows 系统,推荐使用 WSL2 或 Git Bash 运行。SmallClaw 的终端工具在纯 Windows 环境下可能存在兼容性问题。
3.3 启动 Web UI
# 方式一:用 npm link 后的命令
smallclaw gateway start
# 方式二:直接跑
npm run gateway
启动成功后,在浏览器中访问 http://localhost:18789,可以看到如下界面:

3.4 首次配置
点击右上角的 ⚙️ Settings 进行配置:
-
Models 标签页:
- Provider:选择
Ollama - Model:选择已安装的模型(如
qwen3:4b) - 点击 Save
- Provider:选择
-
Search 标签页(可选):
- 如需更精准的搜索结果,可配置 Tavily、Google CSE 或 Brave 的 API Key
- 未配置时,SmallClaw 会使用 DuckDuckGo 作为备用方案
-
Workspace 标签页:
- 设置工作目录,如
D:\my-projects或~/workspace
- 设置工作目录,如
配置保存后立即生效,无需重启服务。
四、功能对比实测
4.1 文件操作:精准编辑
两个工具均支持行级精确编辑,这是小模型的理想选择——可以避免模型不慎重写整个文件。
SmallClaw 的文件工具:
| 工具 | 作用 |
|---|---|
list_files | 列出目录内容 |
read_file | 读取文件(带行号) |
create_file | 创建新文件 |
replace_lines | 替换指定行 |
insert_after | 在某行后插入 |
delete_lines | 删除指定行 |
TIP
指示模型"先读取文件再进行修改",模型会先调用 read_file 获取行号,然后再决定如何编辑。
使用示例:
用户:帮我把 src/index.ts 里的 console.log 改成 logger.info
模型执行流程:
- 读取
src/index.ts - 定位
console.log所在行 - 调用
replace_lines替换为logger.info
整个过程可以在右侧面板查看工具调用日志。
4.2 Web 搜索:多提供商级联
SmallClaw 的搜索采用级联机制:
Tavily → Google CSE → Brave → DuckDuckGo
系统按顺序尝试各提供商,已配置的优先使用;均未配置时,使用 DuckDuckGo 作为备用方案,完全免费。
用户:帮我查一下 React 19 的新特性
模型调用 web_search,返回多个标题和摘要。用户指定查看第一个结果时,模型再调用 web_fetch 获取详细内容。
4.3 浏览器自动化
OpenClaw 使用专用 Chrome/Chromium 控制,通过 CDP 协议实现。
SmallClaw 基于 Playwright 实现自动化功能:
| 工具 | 作用 |
|---|---|
browser_open | 打开 URL |
browser_snapshot | 截图并获取页面元素 |
browser_click | 点击元素 |
browser_fill | 填写表单 |
browser_press_key | 按键(Enter、Tab、Esc) |
browser_wait | 等待加载 |
browser_close | 关闭标签 |
在浏览器集成深度方面,OpenClaw 更为完善;而 SmallClaw 的优势在于轻量级——无需启动 Chrome,仅需一个 Playwright 浏览器实例即可。
4.4 Skills 系统:自定义扩展
这是 SmallClaw 的核心功能之一——SKILL.md 文件。
开发者可以在 .localclaw/skills/<skill-name>/SKILL.md 编写 Markdown 文件,模型会自动加载相关内容。
例如,创建一个代码审查 Skill:
# 代码审查 Skill
当审查代码时,遵循以下原则:
1. 先看整体架构,再看细节
2. 性能问题优先于代码风格
3. 每次审查最多指出 3 个问题
4. 必须给出可运行的修复示例
禁止:
- 过度设计
- 为了风格牺牲可读性
- 提出没有解决方案的问题
当用户请求代码审查时,模型会自动应用此 Skill 的规则。
五、模型怎么选?
内存对照表
| 内存 | 推荐模型 | 适用场景 |
|---|---|---|
| 8GB | qwen3:4b | 日常聊天、简单改 Bug、查文档 |
| 16GB+ | qwen2.5-coder:32b | 多文件代码任务、复杂重构 |
| 32GB+ | llama-3.3:70b | 复杂推理、长链任务 |
WARNING
注意资源限制!如果模型发生 OOM,请立即切换到更小的模型。8GB 内存运行 32B 模型不推荐。
小模型优化技巧
SmallClaw 为小模型做了专门优化:
- 短历史窗口:默认只保留最近 5 轮对话,降低模型上下文负担
- 行号优先读取:强制先读取文件再修改,防止模型丢失上下文信息
- 单次路由:一次调用决定响应或调用工具,避免多 Agent 调度开销
- 精准编辑:使用
replace_lines而非全文件重写
六、什么时候选哪个?
| 场景 | 推荐 |
|---|---|
| 个人编程助手 | SmallClaw + Ollama,免费够用 |
| 需要微信/Telegram 机器人 | OpenClaw |
| 隐私敏感(数据不出本机) | SmallClaw |
| 需要语音对话 | OpenClaw |
| 团队多用户协作 | OpenClaw |
| 预算有限的学生党 | SmallClaw |
总结:个人使用、低预算、无需多渠道场景,推荐使用 SmallClaw。其他场景建议选择 OpenClaw。
七、常见问题
Q1: Ollama 连不上?
# 确保 Ollama 在运行
ollama serve
# 验证
curl http://localhost:11434/api/tags
Q2: 模型不调用工具?
- 前往 Settings 确认模型已选中并保存
- 尝试切换其他模型——qwen3 在工具调用方面表现更稳定
- 如果模型持续无响应,建议使用更大的模型(8B 或 32B)
Q3: 内存不够用?
- 换小模型(qwen3:4b)
- 关闭其他吃内存的应用
- 在配置文件里设
llm_workers: 1
Q4: 工具调用报权限错误?
Windows 上用管理员权限打开终端,或者在 WSL2 里跑。
八、总结
SmallClaw 并非 OpenClaw 的替代品,而是面向不同场景的产品。
适用 SmallClaw 的场景:
- 不想每月支付云服务费用
- 仅需本地编程助手
- 隐私数据不离开本地
SmallClaw + Ollama 组合完全可以满足上述需求。
需要选择 OpenClaw 的场景:
- 需要微信、Telegram、Discord 机器人集成
- 需要语音对话功能
- 需要团队多用户协作
以上就是本文的全部内容,欢迎在评论区交流讨论。