低代码开发用OpenClaw百川2-13B快速搭建个人天气查询机器人1. 为什么选择OpenClaw做天气机器人去年夏天我经常需要在外出前手动查询多个平台的天气预报这种重复劳动让我开始思考能否让AI自动完成这件事经过一番探索我发现OpenClaw大模型的组合特别适合解决这类轻量级自动化需求。与传统的爬虫脚本不同这个方案有三大优势自然语言交互直接告诉机器人明天上海会下雨吗不用记忆复杂指令零代码扩展性通过技能市场添加新功能无需修改核心代码隐私保护所有数据在本地处理天气API密钥不会上传到第三方服务器更重要的是整个过程不需要编写传统代码只需要配置YAML文件和自然语言指令这对非程序员特别友好。2. 准备工作与环境搭建2.1 获取天气API密钥我选择中国天气网的免费API作为数据源注册流程比想象中简单访问中国天气网开放平台申请开发者账号需邮箱验证在控制台创建新应用获得API Key记下基础请求地址http://api.weather.com.cn免费版每天1000次调用完全够个人使用。注意保管好密钥后续会用到。2.2 部署百川2-13B模型在星图平台找到百川2-13B-对话模型镜像一键部署后得到两个关键信息模型API地址http://你的服务器IP:5000/v1访问密钥在实例详情页查看这个4bit量化版本在我的RTX 3090上运行流畅显存占用约9.8GB响应速度在2-3秒/请求。2.3 OpenClaw基础配置使用npm安装OpenClaw汉化版sudo npm install -g qingchencloud/openclaw-zhlatest openclaw onboard在配置向导中选择模型提供商Custom基础URL填写刚才的百川模型地址API类型OpenAI兼容模式验证连接是否成功openclaw models list应该能看到百川模型已注册。3. 创建天气查询技能3.1 初始化技能骨架OpenClaw的skill开发不需要传统编程主要使用YAML和自然语言模板。新建技能目录mkdir -p ~/.openclaw/skills/weather cd ~/.openclaw/skills/weather touch skill.yaml prompts.yaml3.2 编写技能描述(skill.yaml)这个文件定义技能元数据和能力声明name: weather_query description: 查询国内城市天气情况 version: 0.1 author: your_name permissions: - http_request - file_read - file_write actions: - name: get_weather description: 获取指定城市天气数据 parameters: city: 城市名称(如上海) date: 查询日期(如今天明天)关键点是permissions声明这里需要网络请求权限调用天气API。3.3 设计自然语言交互(prompts.yaml)这是最有趣的部分——用自然语言编程intents: - name: weather_inquiry examples: - [%city%]天气怎么样 - [%date%][%city%]会下雨吗 - [%city%]明天温度多少 action: get_weather parameters: city: 用户提到的城市名 date: 用户提到的时间(默认为今天) templates: success: | 以下是[%date%][%city%]的天气情况 - 天气[%weather%] - 温度[%temp%]℃ - 风向[%wind%] - 建议[%suggestion%] error: | 无法获取[%city%]天气请检查 1. 城市名称是否正确 2. 网络连接是否正常这种设计让机器人能理解多种问法比如上海明天天气和明天上海会下雨吗本质是同一个查询。4. 实现天气数据获取4.1 创建API调用脚本在技能目录下新建actions/get_weather.jsconst axios require(axios); module.exports async ({city, date}) { try { const response await axios.get(http://api.weather.com.cn/data, { params: { key: process.env.WEATHER_API_KEY, city: city, date: date 明天 ? 1 : 0 } }); return { weather: response.data.weather, temp: ${response.data.temp_min}~${response.data.temp_max}, wind: response.data.wind, suggestion: response.data.suggestion || 适合普通户外活动 }; } catch (error) { throw new Error(天气查询失败: ${error.message}); } };4.2 配置环境变量在OpenClaw配置目录下编辑env.yamlWEATHER_API_KEY: 你的天气API密钥重启服务使配置生效openclaw gateway restart5. 测试与优化5.1 基础功能测试在OpenClaw控制台输入查询北京明天天气正常应该返回格式化的天气信息。如果报错检查API密钥是否正确城市名是否支持有些县级市需要完整名称网络是否能访问天气API5.2 自然语言理解优化发现机器人有时会把后天误解为城市名在prompts.yaml增加parameters: date: values: [今天, 明天, 后天, 大后天] fuzzy_match: true5.3 添加缓存机制为避免频繁调用API在get_weather.js开头添加const cache require(memory-cache); const cacheKey weather_${city}_${date}; if (cache.get(cacheKey)) { return cache.get(cacheKey); }在返回数据前添加cache.put(cacheKey, result, 60 * 60 * 1000); // 缓存1小时6. 部署到飞书机器人6.1 安装飞书插件openclaw plugins install m1heng-clawd/feishu6.2 配置飞书应用在飞书开放平台创建自建应用获取App ID和App Secret配置事件订阅关注接收消息事件6.3 关联天气技能编辑OpenClaw配置文件{ skills: { weather_query: { enabled: true, channels: [feishu] } } }现在可以直接在飞书群里机器人问上海明天要带伞吗获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
低代码开发:用OpenClaw+百川2-13B快速搭建个人天气查询机器人
低代码开发用OpenClaw百川2-13B快速搭建个人天气查询机器人1. 为什么选择OpenClaw做天气机器人去年夏天我经常需要在外出前手动查询多个平台的天气预报这种重复劳动让我开始思考能否让AI自动完成这件事经过一番探索我发现OpenClaw大模型的组合特别适合解决这类轻量级自动化需求。与传统的爬虫脚本不同这个方案有三大优势自然语言交互直接告诉机器人明天上海会下雨吗不用记忆复杂指令零代码扩展性通过技能市场添加新功能无需修改核心代码隐私保护所有数据在本地处理天气API密钥不会上传到第三方服务器更重要的是整个过程不需要编写传统代码只需要配置YAML文件和自然语言指令这对非程序员特别友好。2. 准备工作与环境搭建2.1 获取天气API密钥我选择中国天气网的免费API作为数据源注册流程比想象中简单访问中国天气网开放平台申请开发者账号需邮箱验证在控制台创建新应用获得API Key记下基础请求地址http://api.weather.com.cn免费版每天1000次调用完全够个人使用。注意保管好密钥后续会用到。2.2 部署百川2-13B模型在星图平台找到百川2-13B-对话模型镜像一键部署后得到两个关键信息模型API地址http://你的服务器IP:5000/v1访问密钥在实例详情页查看这个4bit量化版本在我的RTX 3090上运行流畅显存占用约9.8GB响应速度在2-3秒/请求。2.3 OpenClaw基础配置使用npm安装OpenClaw汉化版sudo npm install -g qingchencloud/openclaw-zhlatest openclaw onboard在配置向导中选择模型提供商Custom基础URL填写刚才的百川模型地址API类型OpenAI兼容模式验证连接是否成功openclaw models list应该能看到百川模型已注册。3. 创建天气查询技能3.1 初始化技能骨架OpenClaw的skill开发不需要传统编程主要使用YAML和自然语言模板。新建技能目录mkdir -p ~/.openclaw/skills/weather cd ~/.openclaw/skills/weather touch skill.yaml prompts.yaml3.2 编写技能描述(skill.yaml)这个文件定义技能元数据和能力声明name: weather_query description: 查询国内城市天气情况 version: 0.1 author: your_name permissions: - http_request - file_read - file_write actions: - name: get_weather description: 获取指定城市天气数据 parameters: city: 城市名称(如上海) date: 查询日期(如今天明天)关键点是permissions声明这里需要网络请求权限调用天气API。3.3 设计自然语言交互(prompts.yaml)这是最有趣的部分——用自然语言编程intents: - name: weather_inquiry examples: - [%city%]天气怎么样 - [%date%][%city%]会下雨吗 - [%city%]明天温度多少 action: get_weather parameters: city: 用户提到的城市名 date: 用户提到的时间(默认为今天) templates: success: | 以下是[%date%][%city%]的天气情况 - 天气[%weather%] - 温度[%temp%]℃ - 风向[%wind%] - 建议[%suggestion%] error: | 无法获取[%city%]天气请检查 1. 城市名称是否正确 2. 网络连接是否正常这种设计让机器人能理解多种问法比如上海明天天气和明天上海会下雨吗本质是同一个查询。4. 实现天气数据获取4.1 创建API调用脚本在技能目录下新建actions/get_weather.jsconst axios require(axios); module.exports async ({city, date}) { try { const response await axios.get(http://api.weather.com.cn/data, { params: { key: process.env.WEATHER_API_KEY, city: city, date: date 明天 ? 1 : 0 } }); return { weather: response.data.weather, temp: ${response.data.temp_min}~${response.data.temp_max}, wind: response.data.wind, suggestion: response.data.suggestion || 适合普通户外活动 }; } catch (error) { throw new Error(天气查询失败: ${error.message}); } };4.2 配置环境变量在OpenClaw配置目录下编辑env.yamlWEATHER_API_KEY: 你的天气API密钥重启服务使配置生效openclaw gateway restart5. 测试与优化5.1 基础功能测试在OpenClaw控制台输入查询北京明天天气正常应该返回格式化的天气信息。如果报错检查API密钥是否正确城市名是否支持有些县级市需要完整名称网络是否能访问天气API5.2 自然语言理解优化发现机器人有时会把后天误解为城市名在prompts.yaml增加parameters: date: values: [今天, 明天, 后天, 大后天] fuzzy_match: true5.3 添加缓存机制为避免频繁调用API在get_weather.js开头添加const cache require(memory-cache); const cacheKey weather_${city}_${date}; if (cache.get(cacheKey)) { return cache.get(cacheKey); }在返回数据前添加cache.put(cacheKey, result, 60 * 60 * 1000); // 缓存1小时6. 部署到飞书机器人6.1 安装飞书插件openclaw plugins install m1heng-clawd/feishu6.2 配置飞书应用在飞书开放平台创建自建应用获取App ID和App Secret配置事件订阅关注接收消息事件6.3 关联天气技能编辑OpenClaw配置文件{ skills: { weather_query: { enabled: true, channels: [feishu] } } }现在可以直接在飞书群里机器人问上海明天要带伞吗获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。