第7篇:OpenClaw 代码技能实战|用Python给AI加API能力,自动查天气/抓数据
(AI养虾日记 · 实战进阶篇)
上一篇我们用 0 代码 SKILL.md 实现了桌面整理、文档生成等基础技能。 但 OpenClaw 真正的强大,在于代码技能(Code Skill)—— 可以调用 API、联网查询、处理数据、对接第三方,让 AI 从“本地工具”变成全能自动化助手。
这一篇不讲虚的,直接带大家做一个可联网、可查天气、可输出格式化结果的代码技能,新手也能跟着抄作业。
一、先搞懂:什么是代码技能?
代码技能 = Skill 描述 + 可执行代码 OpenClaw 会根据你的指令,自动调用对应代码,拿到结果后再自然语言回复你。
你只需要写:
SKILL.md:告诉 AI 什么时候触发、怎么描述 代码文件:真正执行逻辑(Python 为主,最简单)
二、代码技能标准结构
一个完整技能只需要这 3 个文件:
skill-weather/
├── SKILL.md # 技能描述
├── main.py # 执行代码
└── README.md # 说明(可选)
存放路径:
~/.openclaw/skills/skill-weather/
三、实战:做一个「AI 自动查天气」技能
我们做一个最常用、最容易成功的:查询任意城市天气。
1. 创建技能目录
mkdir -p ~/.openclaw/skills/skill-weather
cd ~/.openclaw/skills/skill-weather
2. 编写 SKILL.md(触发规则)
---
name: skill-weather
description: 根据城市查询实时天气
Use when: 用户问“天气怎么样”“XX天气”“今天会下雨吗”
command: python main.py "{city}"
---
你是一个天气查询助手,只需要提取用户说的城市,然后调用命令获取天气结果,用简洁自然的话回复。
3. 编写 main.py(核心代码)
import sys
import json
import urllib.request
def get_weather(city):
try:
# 免费天气API(可自行替换)
url = f"https://api.qweather.com/v7/weather/now?location={city}&key=YOUR_KEY"
req = urllib.request.urlopen(url)
data = json.loads(req.read().decode())
w = data["now"]
return f"{city} 当前:{w['text']},温度 {w['temp']}℃,风向 {w['windDir']}"
except:
return f"无法获取 {city} 的天气,请检查API或网络"
if __name__ == "__main__":
if len(sys.argv) < 2:
print("请输入城市名")
else:
city = sys.argv[1]
print(get_weather(city))
4. 重启 OpenClaw 加载技能
openclaw restart
5. 开始使用
直接对 AI 说:
深圳今天天气怎么样? 北京会下雨吗? 上海温度多少
AI 会:
自动识别城市 调用你的 Python 代码 联网获取真实天气 自然语言回复你
完全自动化,不用你碰代码!
四、代码技能能做什么?(超级实用)
只要你会一点点 Python,就能做这些:
查天气、查快递、查油价、查汇率 爬取网页新闻、价格、榜单 自动发邮件、发企业微信、发钉钉 自动处理 Excel、批量重命名、压缩文件 自动监控网页更新、服务器状态 对接钉钉/飞书机器人
AI 帮你调用,你只负责发指令。
五、新手必看 3 个避坑点
API 需要自己申请 key (免费天气接口很多,直接搜即可)
代码必须能命令行运行 OpenClaw 是通过命令行调用的:
python main.py 深圳输出必须是纯文本 不要打印多余日志,AI 只看最终输出。
六、本篇总结
0 代码技能 = 流程自动化 代码技能 = AI + 联网 + API + 全能力 一个技能 = 3 个文件,复制就能用 你写一次代码,AI 终身帮你调用
OpenClaw 一旦开启代码技能,直接变成私人自动化工程师。
下一篇预告
第8篇:OpenClaw + 飞书/企业微信 打造 24 小时在线机器人,远程发指令、自动报表、自动监控,真正解放双手。
关注 AI养虾日记,持续更新最真实、最能落地的 OpenClaw 实战。
夜雨聆风