OpenClaw接入模型并基于WebUI完成智能操作

OpenClaw接入自定义模型并基于WebUI完成智能操作

背景介绍

OpenClaw(原 Clawdbot)是一个开源的 AI 代理框架,支持通过配置文件或 GUI 界面进行灵活配置。安装 OpenClaw 后,用户可以通过修改工作目录下的配置文件 openclaw.json 来接入不同的 LLM 模型提供商。

OpenClaw 支持众多主流模型提供商,包括 OpenAI、Anthropic、Moonshot AI(Kimi)、OpenRouter、Vercel AI Gateway、Amazon Bedrock 等。完整的提供商目录可参考官方文档 模型提供商快速入门

要使用自定义的提供商,需要通过 models.providers 配置进行设置。这种方式允许用户接入官方支持列表之外的其他兼容 OpenAI API 或 Anthropic 格式的模型服务。

接入配置说明

核心配置参数解析

OpenClaw 的模型配置主要分为两个部分:models 字段用于定义提供商和模型信息,agents.defaults 用于设置默认使用的模型。

以 Kimi(Moonshot AI)为例,完整的 JSON 配置如下:

{"agents":{"defaults":{"model":{"primary":"moonshot/kimi-k2.5"}}},"models":{"mode":"merge","providers":{"moonshot":{"baseUrl":"https://api.moonshot.ai/v1","apiKey":"${MOONSHOT_API_KEY}","api":"openai-completions","models":[{"id":"kimi-k2.5","name":"Kimi K2.5"}]}}}}
关键参数说明
参数位置说明
primaryagents.defaults.model必填。指定默认使用的主模型,格式为 提供商/模型ID。必须与 providers 中配置的提供商名称和模型 ID 对应
modemodels配置模式,merge 表示合并到现有配置,replace 表示完全替换
providersmodels定义模型提供商的配置集合,每个键值对代表一个提供商

重要提示providers 配置完成后,必须同步配置 agents.defaults.model.primary 字段,否则 OpenClaw 无法知道应该使用哪个模型作为默认主模型。

providers 内部参数说明
参数说明
baseUrl模型 API 的基础 URL 地址
apiKey认证密钥,支持环境变量引用格式 ${ENV_NAME} 或直接填写
apiAPI 类型,通常为 openai-completions 表示兼容 OpenAI 格式
models该提供商支持的模型列表,包含模型的 idname

接入模型 LongCat

LongCat 平台介绍

LongCat 是一个美团开发的大语言模型,同时提供了API 开放平台,提供高性能的通用对话模型和深度思考模型。目前平台支持以下模型:

模型名称API 格式描述
LongCat-Flash-ChatOpenAI/Anthropic高性能通用对话模型
LongCat-Flash-ThinkingOpenAI/Anthropic深度思考模型
LongCat-Flash-Thinking-2601OpenAI/Anthropic升级版深度思考模型
LongCat-Flash-LiteOpenAI/Anthropic高效轻量化 MoE 模型

账号注册与 API Key 获取

  1. 访问 LongCat 开放平台 注册账号
  2. 新用户注册后可获得 500 万 Token 的免费使用额度
  3. 进入 API Keys 页面 创建并获取 API Key
  4. 用量信息页面 可随时查看 Token 消耗情况

完整配置示例

以下配置参考自 LongCat OpenClaw 配置文档,展示了如何完整接入 LongCat 模型:

{"agents":{"defaults":{"model":{"primary":"longCat/LongCat-Flash-Chat"},"models":{"LongCat-Flash-Chat":{}},"workspace":"/Users/user/.openclaw/workspace","compaction":{"mode":"safeguard"},"maxConcurrent":4,"subagents":{"maxConcurrent":8}}},"models":{"mode":"merge","providers":{"longCat":{"baseUrl":"https://api.longcat.chat/openai","apiKey":"YOUR_API_KEY_HERE","api":"openai-completions","authHeader":true,"models":[{"id":"LongCat-Flash-Chat","name":"LongCat-Flash-Chat","reasoning":false,"input":["text"],"contextWindow":200000,"maxTokens":8192,"compat":{"maxTokensField":"max_tokens"}}]}}}}

配置说明

  • YOUR_API_KEY_HERE 替换为从 LongCat 官网申请的实际 API Key
  • contextWindow: 20000 表示支持 2 万 Token 的上下文窗口
  • maxTokens: 8192 表示单次响应最大 Token 数
  • 修改保存后配置立即生效,无需重启服务

GUI 界面配置方式

除了直接修改配置文件,也可以通过 Web 控制页面进行可视化配置:

  1. 访问 http://127.0.0.1:18789 打开 OpenClaw Web 控制页面
  2. 进入 Config → Models → Providers
  3. 添加以下配置项:
配置项
Apiopenai-completions
Api Key你的 LongCat API Key
Base Urlhttps://api.longcat.chat/openai
models - idLongCat-Flash-Chat
models - nameLongCat-Flash-Chat

效果演示

1.启动后现实AgentModel为我们自定义的LongCat-Flash

在这里插入图片描述


2.询问具备的能力与使用的模型

在这里插入图片描述


3.完成本地桌面文件查找

在这里插入图片描述

(此处补充实际使用截图)

注意事项

  1. 配置文件位置:OpenClaw 的配置文件位于 ~/.openclaw/openclaw.json
  2. WebUI 访问地址:默认访问地址为 http://127.0.0.1:18789
  3. 通信协议:OpenClaw 使用 WebSocket 进行全双工通信。如需通过 Chrome 开发者工具调试接口,可连接 ws://127.0.0.1:18789/
  4. 配置生效:修改 openclaw.json 后保存即可立即生效,无需重启 Gateway 服务

参考

Read more

【STL】手撕 vector:从 0 到 1 模拟实现 STL 容器

【STL】手撕 vector:从 0 到 1 模拟实现 STL 容器

前言 STL 容器是 C++ 开发中绕不开的 “神兵利器”,而vector作为最常用的动态数组容器,更是新手入门 STL 的核心内容。但多数时候,我们只是 “会用”vector,却对它的底层逻辑一知半解 —— 比如它如何动态扩容?push_back的内存管理是怎样的?构造函数的匹配规则为何如此复杂? 与其停留在 “黑盒调用” 的层面,不如亲手模拟实现一个 vector:从底层的指针管理(_start/_finish/_endofstorage),到核心接口(push_back/resize/operator[]),再到构造、拷贝等特殊函数的实现,一步步揭开 STL 容器的面纱。 本文不会纠结过于晦涩的标准细节,而是以 “实用、易懂” 为核心,带你用 C++ 手动实现一个具备基础功能的vector—— 既能加深对容器原理的理解,也能锻炼 C++ 的底层编程能力。

By Ne0inhk
C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现

C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现

🔥@雾忱星: 个人主页 👀专栏:《数据结构与算法入门指南》、《C++学习之旅》 💪学习阶段:C/C++、数据结构与算法 ⏳“人理解迭代,神理解递归。” 文章目录 * 引言 * 一、拷贝构造函数 * 1.1 解析:拷贝构造特点 * 1.2 关键:拷贝构造的调用 * 二、赋值运算符重载 * 2.1 铺垫:运算符重载特点 * 2.1.1 核心:理解运算符重载 * 2.2 进阶:赋值运算符重载特点 * 2.2 核心:理解赋值运算符重载 * 总结 引言 在C++面向对象编程中,对象的复制操作无处不在。无论是函数传参、返回值传递,

By Ne0inhk
走进Java:String字符串的基本使用

走进Java:String字符串的基本使用

❀❀❀  大佬求个关注吧~祝您开心每一天  ❀❀❀ 目录 一、什么是String 二、如何定义一个String 1. 用双引号定义 2. 通过构造函数定义 三、String中的一些常用方法 1 字符串比较 1.1 字符串使用 == 1.2 字符串使用equals()  1.3 使用 equalsIgnoreCase() 1.4 cpmpareTo和compareToIgnoreCase 2 字符串大小写转换   2.1 toUpperCase() 2.2 toLowerCase() 3  字符串长度获取 3.1 length() 4  判断是否包含一段字符串 4.1 contains() 5 字符串切割和拼接  5.1

By Ne0inhk