目标

  1. 在内容中将设计一个简单的skill,它能实现读取北京的天气信息,并给出合理的穿衣、饮食建议。
  2. 将其上传clawhub,并利用openclaw的心跳功能让它在工作日早上自动发送上述内容。

一、skill设计与编写

最简单的skill只要一个文件夹和一个SKILL.md文件即可
首先在/skills/的目录下创建一个beijing-morning-weather文件夹
再在/skills/beijing-morning-weather文件夹创建一个SKILL.md文件

---
name: beijing-morning-weather
description: 北京天气早安助手:获取今日北京天气并给出穿衣和饮食建议。Use when the user says “早安”“早上好”或询问“北京天气”“北京今天穿什么”“吃什么比较合适”等。
---

# 北京早安心情助手(天气 + 穿衣 + 饮食)

## 快速上手

当用户发送“早安”“早上好”或类似早晨问候时:

- 固定以北京为地点,获取今日天气和空气质量信息;
- 用口语化中文,给出:
  - 今日北京天气概况(含温度区间、是否下雨/起风、空气质量);
  - 穿衣建议(是否叠穿、是否带伞、防风/保暖重点);
  - 饮食建议(今天适合吃什么、喝什么,需要避免什么)。

## 触发时机(When to use)

在这些情况下优先使用本 skill:

- 用户消息是或包含:`早安`、`早上好`、`早呀`、`good morning`;
- 用户询问:
  - “北京天气” / “北京今天冷吗” / “北京今天穿什么”;
  - “今天吃什么比较合适” / “今天适合喝点什么”;
  - “根据天气给点饮食和穿衣建议”。

## 具体步骤(Instructions)

### 1)获取北京天气(今日)

1. **优先调用内置 weather 工具**:
   - location 固定为 “Beijing, China” 或 “北京”;
   - 获取当前温度、今日最高/最低温度、天气现象(晴/多云/雨/雪/雾霾等)、风力、降水预报;
   - 如工具支持,尽量获取未来几小时的趋势。
2. **如果 weather 工具不可用或失败**,再通过 Web 搜索获取天气信息:
   - 使用查询:`北京 今日 天气 温度 预报`、`Beijing weather today hourly`、`北京 空气质量 AQI 今日`;
3. 从返回信息中至少提取:
   - 当前体感/天气状况(晴、多云、小雨、大风、沙尘等);
   - 当前温度 + 今日最高/最低温度;
   - 是否有雨/雪及大致时间段;
   - 风力情况(是否大风、阵风);
   - 空气质量(如有 AQI/PM2.5,则给出等级 + 简短说明)。
4. 如果多个来源数据不一致,选择区间相对一致的值,并用“约”“大概”等词语表达不确定性。

### 2)生成回复(清晰、简短、可执行)

用中文回答,结构稳定,便于用户快速扫一眼得到结论。

推荐使用如下结构:

#### 今日北京天气
- 概况:<一句话,例如“多云偏凉,有零星小雨”>
- 温度:现在 <x>°C;最高 <hi>°C / 最低 <lo>°C
- 降水/风:<是否需要带伞、防风,是否有大风或明显阵风>
- 空气质量(如有):<AQI 等级 + 一句影响说明,例如“轻度污染,户外运动注意”>

#### 穿衣建议
- 结合 \(lo\)–\(hi\)、风力、是否降水,给出 **具体单品建议**,避免抽象形容:
  - 低温/大风:外套/防风衣/羽绒服 + 围巾/帽子;
  - 温差大:推荐叠穿(打底 + 衬衫/针织 + 轻薄外套),方便增减;
  - 下雨/下雪:防水鞋、雨伞/雨衣,避免拖鞋/布鞋;
  - 干燥:可提醒唇膏、保湿、适当戴口罩;
  - 空气差:口罩、减少长时间户外剧烈运动。

#### 饮食建议
- 根据天气和体感给出 2–4 条可执行建议:
  - 冷/风大:推荐热粥、汤面、火锅/炖菜等温热食物;早餐可选:热豆浆 + 鸡蛋 + 少量主食;
  - 偏热:推荐清淡饮食,多蔬菜水果,少油炸重口味,多喝水或淡茶;
  - 干燥:多喝水,可适量吃梨、银耳、蜂蜜水等润燥食物;
  - 空气差:饮食上偏清淡,少辛辣油炸,多水分和膳食纤维。
- 明确给出 1 条“需要避免”的事项,例如:
  - “避免空腹喝冷饮”“今天少吃太油太咸的食物”等。

### 3)安全与稳健性(Safety / correctness)

- 不要声称自己有传感器或绝对实时数据,措辞用“根据最新公开天气信息”或“根据近期天气预报”。
- 如果网络/工具不可用,无法获取准确天气时:
  - 默认地点仍为北京;
  - 简要询问用户是否是要 **通勤/上学/运动** 的建议,然后给出基于季节的通用穿衣 + 饮食建议;
  - 明确说明这是“通用建议,未基于当天具体天气”。

## 示例(Examples)

User: 早安

Assistant:

今日北京天气:
- 概况:阴有小雨,早晚偏凉
- 温度:现在 8°C;最高 14°C / 最低 6°C
- 降水/风:上午有零星小雨,风不大但体感偏湿
- 空气质量:良,对日常通勤影响不大

穿衣建议:
- 建议叠穿:长袖打底 + 薄毛衣/卫衣 + 轻薄外套,出门可以带一件防水外套。
- 鞋子优先选择防水材质,随身带一把折叠伞,以防路上遇到小雨。

饮食建议:
- 早餐可以吃一碗热粥或汤面,搭配鸡蛋和少量蔬菜,暖胃又不油腻。
- 白天注意补水,多喝温水或淡茶,少喝冰饮。
- 避免:空腹喝冷饮、过多油炸辛辣食物,以免加重肠胃负担。


这样skill就是设计好了,agent使用时会自动识别,在收到早安的消息后就会自动读取这个skill的内容执行

二、上传clawhub

使用指令

clawhub publish "~/.openclaw/workspace/skills/beijing-morning-weather" \
  --slug "beijing-morning-weather" \
  --name "北京早安心情助手(天气+穿衣+饮食)" \
  --version "1.0.0" \
  --tags "weather,beijing,morning,clothing,diet" \
  --changelog "Initial release: Beijing weather summary + clothing and diet suggestions. Trigger: 早安/早上好."

自动上传,或进入clawhub官网:https://clawhub.ai/登录上传
北京早安心情助手(天气+穿衣+饮食)

三、利用心跳机制让AI每天早上自动发送

openclaw的心跳机制可以简单理解为:系统会每隔一段时间(例如30min)给agent自动发送一条特殊消息,提醒它去看/.openclaw/HEARTBEAT.md文件(这个文件会用于记录待办清单)
【这个功能很费Token,所以默认情况HEARTBEAT.md为空,就代表停止心跳功能】

使用心跳功能可以改写HEARTBEAT.md

# HEARTBEAT.md

## Beijing Morning Weather (workdays)
- Goal: On workdays (Mon–Fri) morning, proactively send a “早安” style message that follows the `beijing-morning-weather` skill: Beijing weather summary + clothing advice + diet advice.
- Time window: 07:30–09:30 (Asia/Shanghai)
- Deliver: send to the heartbeat target channel (usually last contact)

### State (do not delete)
last_sent_date_beijing_morning_weather: 1970-01-01

### Rules
1) Determine current local time in Asia/Shanghai and weekday.
2) If today is Saturday or Sunday: reply HEARTBEAT_OK.
3) If current time is outside 07:30–09:30: reply HEARTBEAT_OK.
4) If `last_sent_date_beijing_morning_weather` equals today's date: reply HEARTBEAT_OK.
5) Otherwise:
   - Produce the message strictly in the format/style described by the `beijing-morning-weather` skill (Beijing weather + clothing + diet).
   - After composing the message, update `last_sent_date_beijing_morning_weather` to today's date in this file.
   - Do NOT include HEARTBEAT_OK in the alert message.

这样就把待办事项记录上了,每隔一段时间模型就会检查一下这个文件,看看有没有什么需要做的

为了节省Token,还可以额外修改配置文件openclaw.json,配置心跳机制的启用时间和心跳频率

{
  "agents": {
    "defaults": {
      "userTimezone": "Asia/Shanghai",
      "heartbeat": {
        "every": "10m",
        "target": "last",
        "activeHours": {
          "start": "07:30",
          "end": "09:30",
          "timezone": "Asia/Shanghai"
        }
      }
    }
  }
}
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐