首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >我用OpenClaw搭了个个人自动化助手

我用OpenClaw搭了个个人自动化助手

作者头像
烟雨平生
发布2026-05-25 10:19:16
发布2026-05-25 10:19:16
90
举报

一天24小时,你有多少时间花在重复琐事上?

查天气、定闹钟、发邮件、整理文件、看新闻、记笔记...这些事每件都要5分钟,一天加起来就是1-2小时。

我之前也是这样,直到我用OpenClaw搭了个个人自动化助手。

现在我只说一句话,它就帮我搞定所有琐事。

"查一下明天天气,如果有雨就提醒我带伞,顺带给老板发个请假邮件,把今天的Todo列表整理一下,最后把明天的日程同步到日历。"

这句话包含了6个任务,以前我要切换5个APP,花15分钟。现在一句话,30秒搞定。

这篇文章讲我是怎么做到的。

核心思路:把你的日常操作变成Skill

OpenClaw的核心概念是Skill——一个能完成特定任务的小模块。

比如"查天气"是一个Skill,"定闹钟"是另一个Skill,"发邮件"是第三个Skill。

你把这些Skill串起来,就能完成复杂任务。

你输入: "查天气、定闹钟、发邮件" ↓ OpenClaw分析意图 ↓ 匹配Skill: WeatherSkill + AlarmSkill + EmailSkill ↓ 按顺序执行 ↓ 返回结果

关键点:不是每次都重新写代码,而是把常用的操作封装成Skill,复用。

搭建过程:三步走

▪ 第一步:安装OpenClaw

# 克隆项目 git clone https://github.com/helloworldtang/openclaw.git cd openclaw # 安装依赖 npm install # 启动 npm start

踩坑1:Node版本问题

我一开始用Node 16启动,报错"Cannot find module 'xxx'"。查了半天发现OpenClaw需要Node 18+。

# 查看Node版本 node -v # 升级到Node 18+ nvm install 18 nvm use 18

代价:查了30分钟,差点放弃。

▪ 第二步:配置环境变量

OpenClaw需要一个配置文件config.yaml

skills: enabled: - weather - alarm - email - calendar - todo weather: apiKey: "your-weather-api-key" email: smtp: host: "smtp.gmail.com" port: 587 user: "your-email@gmail.com" password: "your-app-password" calendar: apiKey: "your-calendar-api-key"

踩坑2:API Key配置错误

我一开始把Weather API Key写错了,结果每次查天气都返回"API Key无效"。

解决方法:在OpenClaw的Web界面测试API Key是否有效,而不是直接填到配置文件里。

# 测试Weather API curl "https://api.weather.com/v1/current?apikey=your-key&location=Beijing"

代价:排查了1小时,以为是代码bug,结果是API Key写错。

▪ 第三步:创建自定义Skill

OpenClaw内置了常用Skill(天气、闹钟、邮件等),但你需要自定义一些Skill才能满足个人需求。

比如我创建了一个"整理Todo列表"的Skill:

class TodoOrganizerSkill(Skill): name = "todo-organizer" description = "整理Todo列表,标记已完成的任务" def execute(self, context): # 读取Todo列表 todos = self.read_todos() # 标记已完成的任务 completed = [t for t in todos if t['status'] == 'completed'] # 保存到文件 self.save_todos(todos) return f"已整理Todo列表,完成了{len(completed)}个任务" def read_todos(self): with open('todos.json', 'r') as f: return json.load(f) def save_todos(self, todos): with open('todos.json', 'w') as f: json.dump(todos, f)

踩坑3:JSON文件权限问题

我一开始把todos.json放在系统目录,结果OpenClaw没有写入权限,报错"Permission denied"。

解决方法:把数据文件放在data/目录下,确保OpenClaw有读写权限。

# 创建data目录 mkdir -p data # 修改权限 chmod 755 data

代价:排查了45分钟,以为是代码逻辑错误,结果是权限问题。

我的5个高频Skill

▪ Skill 1:天气查询 + 自动提醒

早上起床后,我只需说"今天天气怎么样",OpenClaw会:

  1. 查询天气预报
  2. 判断是否下雨
  3. 如果下雨,提醒我带伞
  4. 自动发消息到我的手机

class WeatherWithReminderSkill(Skill): name = "weather-reminder" description = "查询天气并自动提醒" def execute(self, context): # 查询天气 weather = self.get_weather("Beijing") # 判断是否下雨 if weather['condition'] == 'rain': self.send_notification("今天有雨,记得带伞!") return f"今天{weather['condition']},温度{weather['temp']}度"

▪ Skill 2:自动整理Todo列表

每天晚上睡前,我只需说"整理今天的Todo",OpenClaw会:

  1. 读取Todo列表
  2. 标记已完成的任务
  3. 把未完成的任务移到明天
  4. 生成今日总结

class TodoDailySummarySkill(Skill): name = "todo-daily-summary" description = "整理Todo列表并生成今日总结" def execute(self, context): todos = self.read_todos() completed = [t for t in todos if t['status'] == 'completed'] pending = [t for t in todos if t['status'] == 'pending'] summary = f"今天完成了{len(completed)}个任务,还有{len(pending)}个任务未完成" self.save_todos(todos) return summary

▪ Skill 3:自动发邮件

有时候我需要给老板发请假邮件,只需说"发个请假邮件给老板,说我明天有事",OpenClaw会:

  1. 生成邮件内容
  2. 自动发送
  3. 回复发送结果

class AutoEmailSkill(Skill): name = "auto-email" description = "自动发送邮件" def execute(self, context): recipient = context.get('recipient') subject = context.get('subject') content = context.get('content') self.send_email(recipient, subject, content) return f"已发送邮件给{recipient},主题:{subject}"

▪ Skill 4:同步日程到日历

每周一,我只需说"同步本周日程到日历",OpenClaw会:

  1. 读取Todo列表中的时间敏感任务
  2. 自动创建日历事件
  3. 回复同步结果

class CalendarSyncSkill(Skill): name = "calendar-sync" description = "同步日程到日历" def execute(self, context): todos = self.read_todos() for todo in todos: if todo['has_deadline']: self.create_calendar_event(todo) return f"已同步{len(todos)}个日程到日历"

▪ Skill 5:新闻摘要

每天早上,我只需说"今天的新闻",OpenClaw会:

  1. 获取今日热点新闻
  2. 生成摘要
  3. 过滤掉我不感兴趣的话题

class NewsSummarySkill(Skill): name = "news-summary" description = "生成今日新闻摘要" def execute(self, context): news = self.fetch_news() # 过滤不感兴趣的话题 filtered = [n for n in news if not self.is_blacklisted(n['topic'])] # 生成摘要 summary = self.generate_summary(filtered) return summary

效果:每天节省2小时

我用了一周OpenClaw,效果很明显:

任务

以前耗时

现在耗时

节省时间

查天气 + 定闹钟

10分钟

30秒

9.5分钟

整理Todo列表

15分钟

1分钟

14分钟

发邮件

10分钟

1分钟

9分钟

同步日程到日历

20分钟

2分钟

18分钟

查新闻

30分钟

5分钟

25分钟

总计

85分钟

9.5分钟

75.5分钟

每天节省1小时15分钟,一周就节省了8.75小时,相当于多了一个工作日。

踩坑总结

▪ 坑1:Skill之间的数据共享问题

我一开始想让"天气查询"和"自动提醒"两个Skill共享数据,但发现Skill之间无法直接传递数据。

解决: 用文件系统作为中转。

# Skill 1: 查询天气 def execute(self, context): weather = self.get_weather() # 保存到文件 with open('weather.json', 'w') as f: json.dump(weather, f) return "天气查询完成" # Skill 2: 读取天气数据 def execute(self, context): # 读取文件 with open('weather.json', 'r') as f: weather = json.load(f) if weather['condition'] == 'rain': self.send_notification("今天有雨,记得带伞!") return "提醒已发送"

代价:排查了2小时,查了文档才发现需要用文件系统。

▪ 坑2:Skill执行顺序问题

我一开始以为Skill是按我配置的顺序执行的,结果发现是按OpenClaw内部匹配的顺序执行的。

解决:dependencies字段指定依赖关系。

class EmailSkill(Skill): name = "email" description = "发送邮件" dependencies = ["todo-daily-summary"] # 依赖Todo整理完成后才能发送 def execute(self, context): summary = context.get('todo_summary') self.send_email("boss@example.com", "今日总结", summary) return "邮件已发送"

代价:排查了1.5小时,以为是bug,结果是缺少依赖声明。

▪ 坑3:Skill的输入输出格式不一致

我一开始以为所有Skill的输入输出都是JSON,结果发现有些Skill需要字符串,有些需要字典。

解决: 统一用JSON格式,在Skill内部做转换。

def execute(self, context): # 统一从context中提取参数 if isinstance(context, str): context = json.loads(context) # 处理逻辑... # 统一返回JSON格式 return json.dumps({"status": "success", "result": result})

代价:排查了1小时,以为是数据类型错误,结果是格式不统一。

你可以学到什么

三个模式,适用于任何个人自动化场景:

模式1:封装高频操作为Skill

不要每次都从头写代码,把常用的操作封装成Skill,复用。

模式2:用文件系统做数据共享

Skill之间无法直接传递数据,用文件系统作为中转。

模式3:用dependencies字段控制执行顺序

不要依赖OpenClaw的默认顺序,显式声明Skill的依赖关系。

GitHub项目

完整代码:https://github.com/helloworldtang/my-personal-assistant

包含5个Skill的完整实现,可以直接运行。

一句话

最好的自动化不是你每天记着做什么,而是系统自动帮你做。

用OpenClaw搭个个人自动化助手,让你从琐事中解放出来,把时间花在真正重要的事情上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档