OpenClaw 使用指南
简介
OpenClaw 是一个 AI 驱动的代码编辑工具,作为 VS Code 扩展存在。它通过自然语言对话帮助开发者完成代码编写、解释、优化等任务,支持多种 AI 模型后端。
核心特点
- VS Code 原生集成:无需离开 IDE 即可使用 AI 功能
- 多模型支持:支持 OpenAI GPT、Anthropic Claude、Google Gemini 等
- 对话式交互:通过聊天界面描述需求,AI 生成代码
- 上下文感知:理解当前项目结构和选中文本
- 轻量级:相比 Claude Code 更专注于 IDE 内编辑
安装
系统要求
- VS Code 1.80+
- Node.js 18+(部分功能需要)
- 有效的 API 密钥(OpenAI/Claude 等)
安装步骤
方式一:VS Code 扩展市场
- 打开 VS Code
- 按
Ctrl+Shift+X打开扩展面板 - 搜索 OpenClaw
- 点击「安装」
方式二:命令行安装
code --install-extension nickcoutsos.openclaw
验证安装
- 安装完成后,VS Code 侧边栏会出现 OpenClaw 图标
- 点击图标打开侧边面板
- 首次使用会提示配置 API 密钥
配置
获取 API 密钥
OpenAI API Key
- 访问 OpenAI Platform
- 登录后进入「API Keys」页面
- 创建新密钥(sk-…)
- 建议设置使用限制避免超额
Anthropic API Key
- 访问 Anthropic Console
- 注册并登录
- 创建 API 密钥
配置 API 密钥
方式一:VS Code 设置
- 按
Ctrl+,打开设置 - 搜索「OpenClaw」
- 填写 API Key 和默认模型
方式二:settings.json
{
"openclaw.apiKey": "sk-...",
"openclaw.model": "gpt-4o",
"openclaw.temperature": 0.7,
"openclaw.maxTokens": 4096
}
完整配置项
{
"openclaw.apiKey": "your-api-key",
"openclaw.provider": "openai", // openai | anthropic | google
"openclaw.model": "gpt-4o",
"openclaw.temperature": 0.7,
"openclaw.maxTokens": 4096,
"openclaw.baseUrl": "https://api.openai.com/v1", // 自定义端点
"openclaw.streaming": true,
"openclaw.autoScroll": true,
"openclaw.promptPrefix": "You are a helpful coding assistant."
}
多模型切换
OpenClaw 支持在对话中切换模型:
/model gpt-4o
/model claude-3-5-sonnet
/model gemini-pro
基础使用
打开 OpenClaw
- 快捷键:
Ctrl+Shift+P→ 输入「OpenClaw」 - 侧边栏:点击左侧 OpenClaw 图标
- 快捷键:
Ctrl+Shift+A(可自定义)
核心功能
1. 代码生成
输入:写一个 Python 函数,计算斐波那契数列第 n 项
示例:
def fibonacci(n):
"""计算斐波那契数列第 n 项"""
if n <= 0:
return 0
if n == 1:
return 1
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
2. 代码解释
选中代码后输入:
解释这段代码
或使用指令:
/explain
3. 代码优化
优化这个函数的性能
重构这段代码,提高可读性
4. Bug 修复
这个函数报错,找出原因并修复
5. 测试生成
为这个函数生成单元测试
对话操作
| 操作 | 说明 |
|---|---|
/new | 开始新对话 |
/clear | 清空当前对话 |
/model <name> | 切换模型 |
/context | 查看当前上下文 |
/export | 导出对话记录 |
/help | 显示帮助 |
常用插件/扩展
OpenClaw 本身是扩展,通过扩展增强功能:
OpenClaw 生态
| 插件 | 功能 | 用途 |
|---|---|---|
| OpenClaw Core | 核心功能 | 必装 |
| OpenClaw Snippets | 代码片段生成 | 快速生成常用代码 |
| OpenClaw Refactor | 重构助手 | 代码重构建议 |
| OpenClaw Docs | 文档生成 | 生成注释和 API 文档 |
推荐搭配扩展
| 扩展 | 功能 | 互补性 |
|---|---|---|
| GitHub Copilot | 代码补全 | 与 OpenClaw 互补 |
| GitLens | Git 历史 | 查看代码来源 |
| Error Lens | 错误显示 | 快速定位问题 |
| Thunder Client | API 测试 | 配合生成 API 代码 |
扩展配置示例
{
"openclaw.plugins": {
"snippets": {
"enabled": true,
"languages": ["python", "javascript", "typescript"]
},
"refactor": {
"enabled": true,
"autoSuggest": true
}
}
}
实用案例
案例一:文档写作辅助
场景: 编写技术文档、README、项目说明
操作:
- 打开 OpenClaw
- 输入需求:
帮我写一个 Python 项目的 README.md,包含:
1. 项目简介
2. 安装方法
3. 使用示例
4. 贡献指南
- AI 生成文档内容
- 根据项目实际情况修改
提示词模板:
为 {项目名称} 编写 README.md,结构如下:
- 一句话简介
- 功能特性(用 emoji 列表)
- 快速开始
- 详细文档链接
- 许可证
项目信息:
- 语言/框架:{技术栈}
- 主要功能:{功能列表}
- 目标用户:{用户群体}
案例二:快速生成脚本
场景: 日常办公自动化、小工具开发
示例 1:文件处理脚本
需求: 批量重命名文件夹中的文件
写一个 Python 脚本,将当前目录下所有 .jpeg 文件改为 .jpg
生成代码:
import os
import glob
def rename_jpeg_to_jpg(directory="."):
"""将 .jpeg 文件重命名为 .jpg"""
pattern = os.path.join(directory, "*.jpeg")
files = glob.glob(pattern)
renamed_count = 0
for filepath in files:
old_name = filepath
new_name = filepath.replace(".jpeg", ".jpg")
if not os.path.exists(new_name):
os.rename(old_name, new_name)
renamed_count += 1
print(f"重命名: {old_name} -> {new_name}")
print(f"\n完成!共重命名 {renamed_count} 个文件")
if __name__ == "__main__":
rename_jpeg_to_jpg()
示例 2:数据处理脚本
需求: 解析 CSV 并生成统计报告
写一个 Python 脚本,读取 data.csv,计算每列的平均值和最大值,输出为报告
生成代码:
import csv
from collections import defaultdict
def analyze_csv(filepath):
"""分析 CSV 文件并生成统计报告"""
with open(filepath, 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
data = defaultdict(list)
for row in reader:
for key, value in row.items():
try:
data[key].append(float(value))
except (ValueError, TypeError):
pass # 跳过非数值列
# 生成报告
report = []
report.append("=" * 50)
report.append("CSV 统计分析报告")
report.append("=" * 50)
for column, values in data.items():
if values:
avg = sum(values) / len(values)
max_val = max(values)
min_val = min(values)
report.append(f"\n列: {column}")
report.append(f" 记录数: {len(values)}")
report.append(f" 平均值: {avg:.2f}")
report.append(f" 最大值: {max_val:.2f}")
report.append(f" 最小值: {min_val:.2f}")
report_text = "\n".join(report)
print(report_text)
# 保存报告
with open("report.txt", "w", encoding="utf-8") as f:
f.write(report_text)
if __name__ == "__main__":
import sys
if len(sys.argv) > 1:
analyze_csv(sys.argv[1])
else:
print("用法: python analyze.py <csv文件路径>")
案例三:代码审查
场景: 检查代码质量、发现潜在问题
操作:
- 打开待审查的代码文件
- 全选或选中关键代码
- 在 OpenClaw 输入:
审查这段代码,检查:
1. 潜在的 Bug
2. 性能问题
3. 安全风险
4. 代码风格
提示词模板:
作为代码审查专家,审查以下代码:
1. 正确性 - 逻辑错误、边界情况
2. 安全性 - 注入风险、敏感数据处理
3. 性能 - 时间/空间复杂度
4. 可维护性 - 代码结构、命名规范
5. 最佳实践 - 是否符合语言特性
提供具体的改进建议。
案例四:学习新技术
场景: 快速了解新框架/库的使用
示例:学习 Pandas DataFrame
用简单的例子解释 Pandas DataFrame 的基本操作:
1. 创建 DataFrame
2. 筛选数据
3. 聚合统计
生成内容:
import pandas as pd
# 1. 创建 DataFrame
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'score': [85, 92, 78]
}
df = pd.DataFrame(data)
# 2. 筛选数据
df[df['age'] > 25] # 年龄大于25的记录
df[df['name'].str.startswith('A')] # 名字以A开头的记录
# 3. 聚合统计
df['score'].mean() # 平均分
df.groupby('age').count() # 按年龄分组计数
案例五:正则表达式生成
场景: 需要匹配特定模式的文本
输入:
写一个正则表达式,匹配:
1. 邮箱地址
2. 手机号(中国大陆,1开头11位)
3. URL
生成:
import re
# 邮箱地址
email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
# 中国大陆手机号
phone_pattern = r'^1[3-9]\d{9}$'
# URL
url_pattern = r'^https?://[\w\-.]+(:\d+)?(/[\w\-./?%&=]*)?$'
# 测试
test_email = "user@example.com"
test_phone = "13812345678"
test_url = "https://example.com/path"
print(f"邮箱: {bool(re.match(email_pattern, test_email))}")
print(f"手机: {bool(re.match(phone_pattern, test_phone))}")
print(f"URL: {bool(re.match(url_pattern, test_url))}")
案例六:SQL 查询生成
场景: 生成复杂的数据库查询
输入:
写一个 SQL 查询,统计每个月的订单数量和总金额,
筛选状态为"已完成"的订单,按月份排序
生成:
SELECT
DATE_FORMAT(order_date, '%Y-%m') AS month,
COUNT(*) AS order_count,
SUM(total_amount) AS total_revenue
FROM orders
WHERE status = '已完成'
GROUP BY DATE_FORMAT(order_date, '%Y-%m')
ORDER BY month;
与 Claude Code 对比
| 特性 | OpenClaw | Claude Code |
|---|---|---|
| 运行环境 | VS Code 内 | 终端 |
| 交互方式 | 图形界面 | 命令行对话 |
| 文件编辑 | 集成编辑器 | 独立编辑 |
| 扩展性 | 依赖 VS Code 生态 | Commands/Skills/Agents |
| 记忆系统 | 有限 | 强大 |
| 多文件任务 | 一般 | 强大 |
| 学习曲线 | 低 | 中 |
选择建议:
- VS Code 重度用户 → OpenClaw
- 需要复杂任务处理 → Claude Code
- 两者可同时安装互补使用
快捷键参考
| 功能 | 快捷键 |
|---|---|
| 打开 OpenClaw | Ctrl+Shift+A |
| 新建对话 | Ctrl+Shift+N |
| 发送消息 | Enter |
| 多行输入 | Shift+Enter |
| 清除对话 | Ctrl+L |
常见问题
Q: API 密钥如何保护?
建议:
- 使用环境变量而非硬编码
- 不将密钥提交到 Git
- 定期更换密钥
# 设置环境变量
export OPENAI_API_KEY="sk-..."
Q: 请求超时怎么办?
{
"openclaw.timeout": 120,
"openclaw.retries": 3
}
Q: 如何查看使用量?
访问各平台的用量统计: