快速入门与配置
CLI 初始化项目
安装完成 OpenClaw 后,使用 CLI 工具初始化一个新项目是最快捷的起步方式。在终端中执行以下命令:
openclaw init my-chatbot
该命令会在当前目录下创建 my-chatbot 文件夹,并自动生成项目骨架代码和默认配置文件。初始化过程中,CLI 会以交互方式询问以下信息:
- 项目名称:默认使用输入的目录名
- 使用的 AI 模型:可选择 Anthropic Claude 或 OpenAI GPT
- 默认平台:可选择 Telegram、Discord 或使用内置 Web Chat
- 包管理器:支持 npm、yarn 和 pnpm
回答完这些问题后,项目即创建完成。
项目结构说明
初始化后的项目结构如下:
my-chatbot/
├── openclaw.config.ts # 主配置文件,配置模型、机器人、插件等
├── bots/ # 机器人实例目录
│ └── my-bot.ts # 示例机器人逻辑文件
├── plugins/ # 自定义插件目录
│ └── hello-world.ts # 示例插件文件
├── prompts/ # 提示词模板目录
│ └── system.md # 系统提示词模板
├── data/ # 运行时数据目录(会话、日志等)
├── .env # 环境变量文件(API Key 等敏感信息)
├── package.json # 项目依赖配置
├── tsconfig.json # TypeScript 配置
└── README.md # 项目说明文档
各文件/目录的作用如下:
| 文件/目录 | 作用 | 是否需要手动修改 |
|---|---|---|
| openclaw.config.ts | 项目核心配置,定义模型、机器人、通道、插件等 | 是 |
| bots/ | 存放机器人行为逻辑文件 | 按需 |
| plugins/ | 存放自定义插件 | 按需 |
| prompts/ | 存放系统提示词和角色模板 | 推荐修改 |
| .env | 存放 API Key 等敏感环境变量 | 是 |
| data/ | 运行时数据存储,由框架自动管理 | 否 |
主配置文件详解
openclaw.config.ts 是 OpenClaw 项目的核心配置文件,几乎所有行为都在这里定义。以下是一个完整的配置示例:
import { defineConfig } from 'openclaw';
export default defineConfig({
// AI 模型配置
model: {
provider: 'anthropic',
model: 'claude-sonnet-4-20250514',
apiKey: process.env.ANTHROPIC_API_KEY,
maxTokens: 4096,
temperature: 0.7,
},
// 机器人实例列表
bots: [
{
name: 'my-assistant',
platform: 'telegram',
token: process.env.TELEGRAM_BOT_TOKEN,
systemPrompt: '你是一个友好的 AI 助手,用中文回答用户的问题。',
allowGroups: true,
adminIds: ['123456789'],
},
],
// 插件配置
plugins: [
{
name: 'logger',
package: '@openclaw/plugin-logger',
options: { level: 'info' },
},
],
// 会话管理
session: {
strategy: 'memory', // 可选: memory | redis | database
ttl: 1800, // 会话超时时间(秒)
maxContext: 20, // 最大上下文轮数
},
});
配置项说明:
- model.provider:大模型提供商,目前支持
anthropic和openai - model.model:具体模型名称,如
claude-sonnet-4-20250514、gpt-4o - model.maxTokens:每次生成的最大 token 数
- bots[].platform:机器人部署的平台,支持
telegram、discord、wecom、lark、dingtalk、slack - bots[].systemPrompt:系统提示词,定义机器人的角色和行为风格
- session.strategy:会话存储策略,memory 适合开发,redis 适合生产
配置你的第一个机器人
以下示例配置了一个基于 Claude 模型的 Telegram 客服机器人:
import { defineConfig } from 'openclaw';
export default defineConfig({
model: {
provider: 'anthropic',
model: 'claude-sonnet-4-20250514',
apiKey: process.env.ANTHROPIC_API_KEY,
},
bots: [
{
name: 'customer-service',
platform: 'telegram',
token: process.env.TELEGRAM_BOT_TOKEN,
systemPrompt: `你是一家电商公司的客服代表。
你的职责是:解答用户咨询、处理订单问题、提供退换货指导。
请始终保持礼貌和专业,使用中文回复。`,
temperature: 0.5,
},
],
});
配置完成后,在项目根目录创建 .env 文件填入真实的 API Key:
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx
TELEGRAM_BOT_TOKEN=7234567890:AAHxxxxxxxxxxxx
启动开发模式
一切准备就绪后,运行以下命令启动开发服务器:
openclaw dev
启动成功后,终端会显示类似以下输出:
[OpenClaw] Development server starting...
[OpenClaw] Model: claude-sonnet-4-20250514 (anthropic)
[OpenClaw] Platform: telegram | Bot: customer-service
[OpenClaw] Web Chat: http://localhost:3000
[OpenClaw] Press Ctrl+C to stop
Web Chat 界面测试
OpenClaw 内置了 Web Chat 界面,方便在开发阶段快速测试。打开浏览器访问 http://localhost:3000,即可看到一个简洁的聊天界面。你可以直接在界面上输入消息,观察机器人的回复效果。Web Chat 模式无需配置任何外部平台,是最快捷的测试方式。
在下一章中,我们将深入了解 OpenClaw 的系统架构和核心概念,帮助你从原理层面理解框架的工作方式。