## 引言:当AI成为你的编程伙伴

想象一下这样的场景:
你有一个网站想法,想要把它变成现实,但你不懂HTML、CSS、JavaScript。以往你只能花几个月时间学习编程,或者花几万块钱找人开发。
现在,情况完全不同了。
你只需要打开一个对话框,用自然语言告诉AI你想做什么——「帮我做一个可以上传图片的博客网站」——AI就会帮你写代码、调试、运行,甚至帮你解释每一行代码是什么意思。
这不是科幻,而是**OpenClaw**正在做的事情。
OpenClaw是一个开源的AI网关(Gateway),它可以连接各种通讯工具到你喜欢的AI编程助手(如qwen,minimax,智谱等)。简单来说,它让你的AI助手变得「随时随地可用」——你可以通过微信、飞书甚至短信来指挥AI帮你写程序。
本文将手把手教你从零开始使用OpenClaw,即使你从来没有接触过编程,也能跟着本文完成以下成就:
1. 在自己的电脑上安装并运行OpenClaw
2. 连接Telegram或微信,开始与AI助手对话
3. 让AI帮你写一个完整的小程序
4. 理解AI编程助手的工作原理
准备好了吗?让我们开始吧!
---
## 第一部分:OpenClaw是什么?为什么要用它?
### 1.1 重新定义「编程」这件事
在传统观念里,编程是一项专业技能,需要多年学习才能掌握。你需要理解变量、函数、循环、面向对象等一堆抽象概念,还需要记住各种编程语言的语法规则。
但现在,AI改变了这一切。
以OpenClaw为例,它背后的AI助手可以:
-**理解自然语言**:你用中文说「帮我写一个计算器」,AI知道你要什么
-**自动写代码**:AI会根据你的需求生成完整的代码
-**调试和修复**:代码出错了,AI会自动找出问题并修复
-**解释代码**:有任何不懂的地方,AI会用通俗易懂的语言解释
这就是所谓的「AI编程」——你负责「做什么」,AI负责「怎么做」。
### 1.2 OpenClaw的核心优势
市面上有很多AI编程工具,OpenClaw有什么特别之处?
**优势一:完全自托管,数据安全**
OpenClaw是开源软件,你可以把它安装在自己的电脑上。这意味着你的聊天记录、代码、项目文件都保存在本地,不会上传到任何第三方服务器。对于注重隐私的人来说,这一点非常重要。
**优势二:多渠道接入**
OpenClaw支持同时连接多个通讯平台:
- 飞书
- 微信
- 甚至更多(通过插件)
这意味着你可以在飞书上发消息,让AI帮你写代码,然后通过微信收到结果。
**优势三:强大的工具生态**
OpenClaw不仅仅是一个聊天界面,它内置了一套完整的工具链:
| 工具 | 功能 |
|------|------|
| exec/process | 执行Shell命令 |
| browser | 控制浏览器(点击、填表、截图) |
| web_search/web_fetch | 搜索和获取网页内容 |
| read/write/edit | 文件读写操作 |
| image | 图片分析和生成 |
| cron | 定时任务管理 |
这些工具让AI不只是「会聊天」,而是真正能够「干活」。
**优势四:技能系统(Skills)**
OpenClaw支持「技能」(Skills)机制。你可以给AI安装各种技能包,让它具备特定能力。比如:
- 视频提取帧
- 天气查询
- 邮件发送
- 日历管理
这些技能可以来自官方,也可以来自社区(ClawHub),甚至可以自己编写。
### 1.3 谁适合使用OpenClaw?
OpenClaw适合以下人群:
1.**编程零基础但想尝试AI开发的人**:你不需要会写代码,只需要会用自然语言描述需求
2.**想提高开发效率的程序员**:AI可以帮你写样板代码、调试bug、解释代码
3.**需要随时随地调用AI的人**:通过手机短信或通讯软件就能指挥AI工作
4.**注重隐私的开发者**:不想把项目文件上传到第三方云服务
---
## 第二部分:环境准备与安装
### 2.1 准备工作:在安装之前
在开始安装OpenClaw之前,你需要准备以下环境:
**必备条件:**
1.**一台电脑**(台式机或笔记本)
- 支持 macOS、Linux、Windows(推荐使用Windows WSL2或原生Windows)
- 最低配置:4GB内存,10GB可用硬盘空间
2.**Node.js运行环境**
- 推荐:Node.js 24
- 最低要求:Node.js 22.16+
3.**一个AI提供商的API密钥**
- 可以是 qwen\)等
- 新手推荐:先使用OpenClaw内置的Pi模型(免费试用)
4.**网络环境**
- 能够访问 GitHub(下载安装包)
- 如果需要使用Telegram,需要能够访问telegram.org
**检查你的Node.js版本:**
打开终端(Windows用户按Win+R,输入cmd回车;Mac用户打开Terminal),输入以下命令:
```bash
node--version
```
如果显示版本号(如v22.16.0或更高),说明Node.js已安装。如果显示「找不到命令」,需要先安装Node.js。
**安装Node.js:**
-**Windows**:访问 https://nodejs.org 下载LTS版本
-**Mac**:推荐使用Homebrew:`brew install node`
-**Linux**:使用包管理器,如`sudo apt install nodejs`或`sudo yum install nodejs`
### 2.2 安装OpenClaw:三种方式
OpenClaw提供了多种安装方式,推荐使用官方安装脚本。
**方式一:官方安装脚本(推荐)**
**macOS / Linux:**
```bash
curl-fsSLhttps://openclaw.ai/install.sh | bash
```
**Windows(PowerShell):**
```powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
```
这个命令会自动下载并安装OpenClaw。安装过程中可能会提示你输入管理员密码(Mac/Linux)或确认安装(Windows)。
**方式二:npm全局安装**
如果你已经安装了Node.js,也可以通过npm安装:
```bash
npminstall-gopenclaw@latest
```
**方式三:Docker安装**
对于熟悉Docker的用户:
```bash
dockerrun-d--nameopenclaw\
-p 18789:18789 \
-v~/.openclaw:/home/openclaw/.openclaw\
openclaw/openclaw
```
### 2.3 首次启动:向导模式
安装完成后,打开终端,输入以下命令启动初始化向导:
```bash
openclawonboard--install-daemon
```
这个命令会:
1. 检查你的环境配置
2. 引导你选择AI提供商
3. 让你输入API密钥
4. 配置网关设置
5. 安装系统服务(可选)
**步骤详解:**
**第一步:选择AI提供商**
向导会显示可选的AI提供商列表:
- Anthropic (Claude)
- OpenAI (GPT)
- Google (Gemini)
- Pi (默认,内置)
- minimax
……
国内用户,建议选择minimax,目前性价比最高的模型。需要到minimax的官网注册并购买coding plan服务,然后复制api key过来。
**第二步:输入API密钥**
如果你选择了需要API密钥的提供商,向导会提示你输入密钥。以minimax为例:
```
请输入你的mimimax密钥 (sk-xxx):
```
**注意**:这些API密钥需要付费使用,但新用户通常有免费额度。Pi模型可以免费使用,但功能相对基础。
**第三步:配置网关端口**
OpenClaw默认使用端口18789。你可以直接按回车使用默认值,或者输入自定义端口。
**第四步:安装系统服务(可选)**
如果选择安装为系统服务,OpenClaw会在电脑开机时自动启动。推荐选择「是」。
### 2.4 验证安装成功
安装完成后,验证OpenClaw是否正常运行:
```bash
openclaw gateway status
```
如果成功,会显示类似以下信息:
```
✅ Gateway 正在运行
监听地址: http://127.0.0.1:18789
已连接渠道: (无)
```
现在,你已经成功安装了OpenClaw!接下来,让我们学习如何使用它。
---
## 第三部分:快速上手OpenClaw
### 3.1 控制面板:第一个AI交互界面
OpenClaw安装完成后,你可以通过多种方式与它交互。最简单的方式是使用内置的Web控制面板。
**打开控制面板:**
```bash
openclaw dashboard
```
这会在浏览器中打开一个本地网页(通常是 http://127.0.0.1:18789)。
**控制面板界面:**
打开后,你会看到一个类似微信的聊天界面。顶部显示当前会话信息,底部是输入框。

在输入框中输入你想让AI做的事情,比如:
```
你好!帮我写一个Hello World程序
```
几秒钟后,AI会回复你,并可能帮你创建一个文件。并告诉你文件夹位置,你要记住这个位置,一般来说,是一个叫workspace的文件,你需要记住它,因为后面所有文件都会放在这里。
### 3.2 连接通讯渠道:让AI来到你身边
除了网页控制面板,你还可以把OpenClaw连接到日常使用的通讯软件上。这样就可以在微信、飞书上直接和AI对话了。
**推荐:先连接飞书(最简单)**
3.2.1、准备工作:在飞书开放平台创建应用
登录 飞书开放平台(国际版用 Lark Developer Console)。 新建 企业自建应用,填写名称(如 OpenClaw Agent)、描述。 进入 凭证与基础信息,复制 App ID(cli_xxx)和 App Secret。 进入 事件订阅: 订阅方式选择 WebSocket(长连接)(不要用 Webhook)。 添加事件: im.message.receive_v1(接收消息)。发布应用版本并提交审核(企业自建应用通常可快速通过)。
3.2.2安装 OpenClaw 飞书插件
bash中输入:
bash中输入:
按提示选择:
通道类型:Feishu/Lark(飞书) 输入 App ID、App Secret 连接模式:WebSocket 域名:feishu.cn(中国) 群聊策略:open(需 @机器人)
3.2.4 启动网关 & 验证连接
在bash中输入:
3.2.5、首次配对(私聊)
在飞书给机器人发消息,会收到 6 位配对码。 在终端批准配对:
### 3.3 第一次AI编程:Hello World
现在,让我们开始真正的AI编程体验!
**任务**:让AI帮你写一个简单的程序
**操作步骤**:
1. 打开控制面板(`openclaw dashboard`)或Telegram
2. 输入以下请求:
```
帮我用Python写一个Hello World程序,并保存为hello.py文件
```
3. 等待AI响应
**AI会做什么:**
AI会分析你的请求,然后:
1. 创建文件 `hello.py`
2. 写入代码:
```python
print("Hello, World!")
```
3. 可能还会告诉你如何运行这个程序
**验证结果:**
在终端中运行:
```bash
pythonhello.py
```
你应该能看到输出:`Hello, World!`
恭喜你!你已经完成了第一次AI编程!
--
## 第四部分:核心功能详解
### 4.1 文件操作:让AI读写你的项目
OpenClaw最常用的功能之一是文件操作。你可以让AI帮你读取、创建、编辑文件。
**读取文件:**
```
帮我看一下workspace目录下的README.md文件内容
```
AI会使用`read`工具读取文件内容并展示给你。
**创建文件:**
```
帮我创建一个index.html文件,里面放一个简单的网页,显示"欢迎来到我的网站"
```
AI会创建文件并写入完整的HTML代码。
**编辑文件:**
```
把刚才的index.html标题改成"我的博客"
```
AI会定位并修改相关代码。
### 4.2 执行命令:让AI操控你的电脑
除了文件操作,AI还可以执行Shell命令。
**运行代码:**
```
运行刚才的hello.py看看输出什么
```
AI会使用`exec`工具执行Python脚本。
**安装依赖:**
```
帮我用npm安装express框架
```
AI会执行`npm install express`。
**操作git:**
```
帮我把代码提交到GitHub
```
AI会帮你完成git add、git commit、git push的流程。
### 4.3 浏览器控制:让AI帮你操作网页
OpenClaw集成了浏览器控制功能,AI可以帮你:
- 打开网页
- 点击按钮
- 填写表单
- 截图
**示例任务:帮我注册一个网站账号**
1. 告诉AI:「帮我注册一个GitHub账号」
2. AI会打开浏览器,访问GitHub注册页面
3. 填写你提供的用户名、邮箱、密码
4. 完成人机验证
5. 告诉你注册结果
这个功能非常强大,但也很危险——AI可以代表你操作任何网页,所以使用时要小心。
### 4.4 搜索与抓取:让AI帮你查资料
OpenClaw可以帮你搜索互联网并获取网页内容。但是需要你安装搜索的插件,这里推荐使用tavily,免费,好用,虽然有额度,但是够用。
**搜索:**
```
搜索最新的React 19教程
```
AI会使用web_search工具搜索相关内容。
**抓取网页:**
```
帮我提取https://example.com这个页面的主要内容
```
AI会使用web_fetch工具获取网页内容并总结。
### 4.5 定时任务:让AI定时工作
通过cron功能,你可以设置定时任务,让AI在特定时间执行操作。
**示例:每天早上9点发送天气**
```bash
openclawcronadd--schedule"0 9 * * *"--message"查询北京天气并发送给我"
```
这会创建一个定时任务,每天早上9点自动查询天气。
---
## 第五部分:实战案例——做一个「待办事项」应用
### 5.1 案例目标
接下来,让我们通过一个完整案例来展示AI编程的完整流程。
**目标**:做一个命令行待办事项应用(Todo App)
**功能需求**:
1. 可以添加待办事项
2. 可以查看所有待办事项
3. 可以标记事项为「已完成」
4. 可以删除待办事项
5. 数据保存在本地文件
### 5.2 需求分析与分解
在开始写代码之前,我们先和AI一起分析需求。
**你发给AI的消息:**
```
我想做一个命令行待办事项应用(Todo App),需要以下功能:
1. 可以添加待办事项
2. 可以查看所有待办事项
3. 可以标记事项为"已完成"
4. 可以删除待办事项
5. 数据保存在本地文件(todos.json)
我使用的是Windows系统,请用Python来实现。
```
**AI的分析:**
AI会回复你,大致包含以下内容:
- 技术选型建议(Python + JSON文件存储)
- 代码结构设计
- 各个功能的实现思路
### 5.3 让AI写代码
确认方案后,让AI开始写代码。
**消息:**
```
好的,请帮我实现这个Todo应用。先创建所有需要的文件。
```
**AI会创建以下文件:**
**文件1:todo.py(主程序)**
```python
import json
import os
from datetime import datetime
TODO_FILE = "todos.json"
defload_todos():
"""加载待办事项"""
ifnot os.path.exists(TODO_FILE):
return []
withopen(TODO_FILE, 'r', encoding='utf-8') as f:
return json.load(f)
defsave_todos(todos):
"""保存待办事项"""
withopen(TODO_FILE, 'w', encoding='utf-8') as f:
json.dump(todos, f, ensure_ascii=False, indent=2)
defadd_todo(content):
"""添加待办事项"""
todos = load_todos()
todo = {
"id": len(todos) + 1,
"content": content,
"completed": False,
"created_at": datetime.now().isoformat()
}
todos.append(todo)
save_todos(todos)
print(f"✅ 已添加待办事项: {content}")
deflist_todos():
"""列出所有待办事项"""
todos = load_todos()
ifnot todos:
print("📝 当前没有待办事项")
return
print(f"\n📝 共 {len(todos)} 个待办事项:\n")
for i, todo inenumerate(todos, 1):
status = "✅"if todo["completed"] else"⏳"
print(f"{i}. {status}{todo['content']}")
print()
defcomplete_todo(index):
"""标记待办事项为完成"""
todos = load_todos()
if0 < index <= len(todos):
todos[index - 1]["completed"] = True
save_todos(todos)
print(f"✅ 已标记为完成: {todos[index - 1]['content']}")
else:
print("❌ 无效的序号")
defdelete_todo(index):
"""删除待办事项"""
todos = load_todos()
if0 < index <= len(todos):
deleted = todos.pop(index - 1)
# 重新编号
for i, todo inenumerate(todos):
todo["id"] = i + 1
save_todos(todos)
print(f"🗑️ 已删除: {deleted['content']}")
else:
print("❌ 无效的序号")
defshow_help():
"""显示帮助"""
print("""
📌 命令行待办事项应用
用法: python todo.py <命令>
命令:
add <内容> 添加新的待办事项
list 列出所有待办事项
complete <序号> 标记事项为完成
delete <序号> 删除事项
help 显示帮助信息
示例:
python todo.py add 买牛奶
python todo.py list
python todo.py complete 1
python todo.py delete 2
""")
if__name__ == "__main__":
import sys
iflen(sys.argv) < 2:
show_help()
else:
command = sys.argv[1]
if command == "add"andlen(sys.argv) > 2:
content = " ".join(sys.argv[2:])
add_todo(content)
elif command == "list":
list_todos()
elif command == "complete"andlen(sys.argv) > 2:
try:
index = int(sys.argv[2])
complete_todo(index)
exceptValueError:
print("❌ 请输入有效的序号")
elif command == "delete"andlen(sys.argv) > 2:
try:
index = int(sys.argv[2])
delete_todo(index)
exceptValueError:
print("❌ 请输入有效的序号")
elif command == "help":
show_help()
else:
print("❌ 未知命令,输入 python todo.py help 查看帮助")
```
### 5.4 测试与调试
代码写完了,现在测试一下是否正常工作。
**测试场景1:添加待办事项**
```bash
pythontodo.pyadd买牛奶
pythontodo.pyadd学习OpenClaw
pythontodo.pyadd写完这篇文章
```
输出:
```
✅ 已添加待办事项: 买牛奶
✅ 已添加待办事项: 学习OpenClaw
✅ 已添加待办事项: 写完这篇文章
```
**测试场景2:查看列表**
```bash
pythontodo.pylist
```
输出:
```
📝 共 3 个待办事项:
1. ⏳ 买牛奶
2. ⏳ 学习OpenClaw
3. ⏳ 写完这篇文章
```
**测试场景3:标记完成**
```bash
pythontodo.pycomplete1
pythontodo.pylist
```
输出:
```
✅ 已标记为完成: 买牛奶
📝 共 3 个待办事项:
1. ✅ 买牛奶
2. ⏳ 学习OpenClaw
3. ⏳ 写完这篇文章
```
**测试场景4:删除事项**
```bash
pythontodo.pydelete3
pythontodo.pylist
```
输出:
```
🗑️ 已删除: 写完这篇文章
📝 共 2 个待办事项:
1. ✅ 买牛奶
2. ⏳ 学习OpenClaw
```
### 5.5 案例总结
通过这个案例,我们可以看到:
1.**你不需要会编程**:整个过程你只需要用自然语言描述需求,AI会帮你写代码
2.**代码质量有保障**:AI生成的代码结构清晰,有注释,易于理解和修改
3.**遇到问题随时问**:如果代码有bug,直接告诉AI「运行时报错了」,它会帮你修复
这就是AI编程的魔力——你「命令」AI工作,而不是自己写代码。
---
## 第六部分:进阶技巧与最佳实践
### 6.1 如何写出更好的Prompt
与AI沟通时,Prompt(提示词)的质量直接决定结果的好坏。以下是一些技巧:
**技巧一:明确任务类型**
❌ 模糊:「帮我写个程序」
✅ 明确:「用Python写一个计算器,支持加减乘除四种运算」
**技巧二:提供上下文**
❌ 模糊:「帮我优化这个代码」
✅ 明确:「这个Python脚本是用来处理CSV文件的,但现在运行很慢,请帮我优化性能」
**技巧三:指定输出格式**
❌ 模糊:「给我一个README」
✅ 明确:「给我一个README.md,包含以下章节:1.项目简介 2.安装步骤 3.使用方法 4.示例代码」
**技巧四:分步骤请求**
对于复杂任务,不要一次性要求太多。可以分成多轮:
1. 第一轮:「帮我设计数据库结构」
2. 第二轮:「根据这个结构,帮我写SQL语句」
3. 第三轮:「写一个Python脚本来创建这些表」
### 6.2 安全管理:避免意外操作
AI虽然强大,但也可能做出意想不到的事情。以下是安全建议:
**建议一:使用沙盒环境**
OpenClaw支持沙盒(Sandbox)模式,会限制AI的操作范围,防止它删除重要文件或执行危险命令。
在配置文件中启用:
```json
{
"sandbox": {
"enabled": true
}
}
```
**建议二:设置工具白名单**
只允许AI使用特定工具:
```json
{
"tools": {
"allow": ["read", "write", "exec"],
"deny": ["exec:rm", "exec:format"]
}
}
```
**建议三:敏感操作需要确认**
对于危险操作(如删除文件、执行删除命令),可以设置需要用户确认:
```json
{
"security": {
"exec": {
"approval": "always"
}
}
}
```
### 6.3 使用技能(Skills)扩展AI能力
OpenClaw的技能系统可以扩展AI的能力。
**安装技能:**
```bash
openclawskillsinstall <skill-name>
```
**查看可用技能:**
```bash
openclawskillslist
```
**常用技能推荐:**
| 技能名称 | 功能 |
|----------|------|
| weather | 查询天气 |
| video-frames | 提取视频帧 |
| feishu-doc | 操作飞书文档 |
| summarize | 长文摘要 |
### 6.4 多渠道协作
OpenClaw支持多渠道同时使用。以下是一些有趣的组合:
**场景:飞书指挥,微信接收结果**
1. 配置飞书为输入渠道
2. 配置微信为输出渠道
3. 在飞书发命令,结果通过微信发送
### 6.5 常见问题与解决
**问题一:API密钥用完了**
解决:
- 检查API使用量
- 切换到免费模型(如Pi)
- 设置使用限额提醒
**问题二:AI回答太慢**
解决:
- 使用更快的模型
- 检查网络连接
- 减少对话历史长度
**问题三:代码运行报错**
解决:
- 直接把错误信息发给AI
- AI会分析错误并给出修复方案
---
## 第七部分:OpenClaw的未来与生态
### 7.1 开源社区
OpenClaw是一个开源项目,托管在GitHub上:
- https://github.com/openclaw/openclaw
你可以在GitHub上:
- 报告Bug
- 提出新功能
- 贡献代码
- 查看文档
### 7.2 ClawHub:技能市场
ClawHub(https://clawhub.com)是OpenClaw的官方技能市场。
你可以在这里:
- 发现新技能
- 安装他人分享的技能
- 发布自己的技能
### 7.3 持续进化
AI编程是一个快速发展的领域。OpenClaw也在持续更新:
- 更强的AI模型支持
- 更多渠道接入
- 更丰富的工具生态
- 更完善的安全机制
建议关注官方更新,及时升级到最新版本:
```bash
npminstall-gopenclaw@latest
```
---
## 结语:拥抱AI编程时代
恭喜你!看到这里,你已经掌握了OpenClaw的基本使用方法。
回顾一下,我们学到了:
1.**什么是OpenClaw**:一个强大的AI网关,让AI编程变得触手可及
2.**如何安装部署**:只需几行命令,就能把AI请进你的电脑
3.**如何与AI对话**:通过网页、飞书、微信随时指挥AI工作
4.**如何让AI编程**:用自然语言描述需求,AI帮你写代码
5.**实战案例**:完整实现了一个Todo应用
6.**进阶技巧**:如何写出更好的Prompt,如何保证安全
现在,编程不再是少数人的专利。只要你愿意尝试,AI可以帮助你:
- 学习新技术
- 快速实现想法
- 自动化日常任务
- 构建自己的应用
**下一步,你可以尝试:**
1. 搭建自己的OpenClaw环境
2. 连接飞书,体验手机控制
3. 让AI帮你写一个自己的项目
4. 探索更多技能和插件
这个世界正在被AI改变。拥抱变化,才能赢得未来。
祝你玩得开心!
---
**参考资源:**
- OpenClaw官方文档:https://docs.openclaw.ai
- ClawHub技能市场:https://clawhub.com
- GitHub仓库:https://github.com/openclaw/openclaw
夜雨聆风