实战!5分钟做一个天气查询 Skill(完整教程)

前言

本文手把手教你做一个天气查询 Skill。学完之后,对着 OpenClaw 说"北京天气",它就会告诉你北京的温度和天气状况。
预计耗时:15-20 分钟 | 难度:⭐ 入门

Step 1:创建目录

cd ~/.openclaw/skills/
mkdir weather
cd weather

Step 2:编写 SKILL.md

# SKILL.md - 天气查询技能
name: weather
description: 查询任意城市的天气情况

触发词:
- "天气"
- "查天气"
- "XX天气"

参数:city(正则:^(.+?)天气$)

脚本:./weather.js (js)

Step 3:编写 weather.js

const https = require("https");

async function main(params) {
  const city = (params.city || "北京").trim();
  const apiUrl = `https://wttr.in/${encodeURIComponent(city)}?format=j1`;
  
  return new Promise((resolve) => {
    https.get(apiUrl, (res) => {
      let data = "";
      res.on("data", (chunk) => data += chunk);
      res.on("end", () => {
        try {
          const info = JSON.parse(data);
          const current = info.current_condition[0];
          resolve({
            success: true,
            text: `📍 ${city}\n🌡️ 温度:${current.temp_C}°C\n🌤️ 天气:${current.weatherDesc[0].value}\n💧 湿度:${current.humidity}%`
          });
        } catch {
          resolve({ success: false, error: "获取天气失败" });
        }
      });
    }).on("error", (err) => {
      resolve({ success: false, error: err.message });
    });
  });
}

module.exports = main;

Step 4:测试

重启 OpenClaw,然后说:

  • "北京天气" → 📍 北京 🌡️ XX°C
  • "上海天气" → 📍 上海 🌡️ XX°C

常见报错

报错解决方法
获取天气失败检查城市名是否正确
Skill 没反应检查 SKILL.md 格式

恭喜你!现在你有了第一个能查天气的 Skill!

原创文章,作者:技术老牛,如若转载,请注明出处:https://jishubiji.com/p/926

(0)
技术老牛的头像技术老牛管理员
上一篇 1天前
OpenClaw 通过局域网访问Web界面
下一篇 8小时前

相关推荐

发表回复

登录后才能评论
微信公众号