2025年12月13日,彼得把我拉进了一个WhatsApp群组,群里有他和他的新AI机器人。在群里,我亲眼见证了这个机器人的“诞生”。它不断被添加新的手臂和腿,功能也越来越强大,自动化程度也越来越高。
当我们提到“嘿 Felix,我们也应该给你设置一个机器人”时,Peter 的机器人兴奋极了,已经开始集思广益,想出了我们可以用它做的所有令人惊叹的事情,比如人工智能与人工智能之间的聊天。
几天后,12 月 19 日,我们在我的主 Mac 上安装了 Clawdis(在我为它购买单独的机器之前),一切都从那里开始。
接下来的几周,我自然而然地构建了各种集成(其中许多已在我的GitHub上开源),以实现生活诸多方面的自动化。在这篇文章中,我想重点介绍一下我设置的一些集成。
旅行
很多人以“预订机票”和“预订酒店”为例来说明 OpenClaw 的应用场景。但就目前而言,除了抓取不同日期组合的价格之外,我认为 OpenClaw 在实际预订过程中的价值有限。
相反,我希望专注于打造一个积极主动的旅行助手,能够在特定时刻主动为我提供所需的确切信息。
一些例子
- 出行前分享每日行程的概要信息
- 在您酒店退房前一晚,请主动给我发消息告知退房时间以及我可能需要的任何退房说明。
- 它会询问并提醒您未完成的预订。例如,如果您漏订了一晚酒店,或者已经安排了机场接送,它会询问您是否已经安排好,并主动分享公共交通和普通出租车的价格和路线。
- 定制行李清单:我曾花时间列出旅行中可能携带的所有物品。每次旅行,旅行社都会根据这些信息,分析我们的旅行类型(丛林探险、徒步旅行、度假、城市观光),并根据我们通常携带的物品,为我们准备一份定制的行李清单。
- 一些显而易见的事情,比如查看天气预报、提醒带上雨具、推荐附近的餐厅等等。
除了在旅行前和旅行中分享行程概览和详细信息外,它还会提醒您是否忘记预订某些项目。例如:
为此,我设置了一个简单的定时任务,它可以自动查找所有即将到来的旅行的预订确认信息(航班、酒店、门票等),并将它们以结构化的 Markdown 文件形式存储在一个名为“旅行”的文件夹中。这个“旅行”文件夹与我的专属“旅行机器人先生”共享一个 Git 仓库。“旅行机器人先生”是一个只读机器人,它只能读取生成的 Markdown 文件,其中包含所有预订确认信息,并拥有某些特定功能(例如 Google Maps Places API、Flight Info API、Routing API 等)。为了安全起见,它只解析标记为“旅行”的电子邮件,这是一个我手动添加的 Fastmail 标签。此外,Fastmail 本身也支持只读 API 令牌。

旅行机器人的核心功能是检查即将到来的行程、新的旅行预订以及当下可能有用的重要信息(例如登机前和登机过程中的登机口和座位信息)。我们在 Telegram 旅行群组中收到的消息就是这样,全是兴奋和期待:

语境
借助ContextSDK,我们致力于帮助应用开发者利用智能手机的动作感应来提升应用体验和盈利能力。而与 OpenClaw 的合作,则顺理成章地让我们想到,ContextSDK 如何帮助 AI 代理更好地理解用户及其意图。
大多数人通过 Telegram 或 WhatsApp 等即时通讯应用使用 OpenClaw。这些应用不会提供您用于发送消息的客户端信息(例如,移动端或桌面端)。
对我来说,在电脑前工作和外出办公时的工作方式截然不同。尤其现在有了编码代理和 OpenClaw,即使外出也能继续工作和处理工程任务,同时确保代理不会无任务可做,从而最大限度地利用令牌。
ContextSDK 可以可靠地检测手机当前的位置,例如是在桌面上、口袋里,还是在你行走、坐着或站着时拿着它。因此,我自然而然地研究了是否有办法将这些信息传递给 OpenClaw,以便它在解决任务时能够利用这些信息。

Peter 向我介绍了 OpenClaw 的系统事件概念,OpenClaw 插件可以使 AI 代理访问这些事件。
OpenClaw 插件与 OpenClaw 代理技能并不相同:大多数 OpenClaw 用户大量使用技能,技能是指示代理执行特定任务的指令。而 OpenClaw 插件则可以扩展 OpenClaw 的功能,并使其与机器人的整个生命周期进行更深层次的集成。
iOS 对后台处理非常严格,因此对于此集成,我利用了后台位置更新触发器,这样每次我的手机移动时,ContextClaw Companion 应用都会获得后台时间来获取当前上下文,并将其共享给我的 OpenClaw 实例。
OpenClaw 有一个官方的 iOS 应用可以使用,但是出于各种原因,我很快就决定不使用它:
- 它使用与 OpenClaw 网关的直接网络连接,这意味着
- 您的 iPhone 需要始终连接到 Tailscale 网络
- 您需要更新 OpenClaw 配置,以允许网关接受发往
lan的网络请求(gateway.bind)(而不仅仅是本地loopback)。
- 入职培训期间的配对过程相当繁琐。
- 这个应用程序整体感觉有点臃肿,而且它的目标用户群体并非我所需或想要的(在这种情况下,我想要的是一个简单的辅助应用程序,可以在后台向我的经纪人提供数据)。
为了实现这个原型,我搭建了一个简单的 Firebase 服务,以便无需使用网关即可轻松快速地与我的 OpenClaw 代理实时共享当前上下文。ContextClaw Firebase 插件包含一个简单的 Firebase 实时监听器,用于监听我的当前上下文,因此一旦有新的上下文信息可用,它就能立即收到回调。
一旦我让它运行起来(或者我猜是gpt-5.3-codex ),我就向我的机器人问了一个简单的问题:

这个回复简直完美。它简洁明了,却精准地表达了我想要的意思。我的机器人知道我坐在办公桌前,没有使用手机。
但是,仅仅提供你目前正在做的事情是不够的。代理基本上只是粗略地浏览了一下,除非你明确询问,否则它不会真正使用这些信息。
所以,我必须更明确地告诉智能体,根据上下文输入的不同,它应该如何表现。经过与我的同事们集思广益,我们最终得到了以下方案:
| 层 | 描述 |
|---|---|
| 活动状态 | 用户实际在做什么:行走、坐在桌子前、在车里等等。包括注意力水平(高/低)和交互模式(免提与主动屏幕使用)。 |
| 沟通偏好 | 用户可自定义推送规则,使其与当前情境对应。例如:“我在办公桌前时,发送短信;我在行走时,发送短信和语音消息。” 这些规则均可由用户自行定制。 |
| 代理模式 | OpenClaw 本身的行为方式:执行模式(同步与异步)、紧急程度路由(紧急项立即处理,非紧急项分批处理成摘要)和子代理调度(后台处理,仅报告阻塞项/完成项)。 |
实现完成后,我询问我的机器人它掌握了哪些上下文信息,以及它如何改变响应策略,以下是它的回复:

太棒了!我得好好想想 Windows XP 的安装程序,它会在漫长的安装过程中每隔 5 到 10 分钟询问一些小信息,而不是像现在这样把所有问题都集中在开始或结束时问。有了这个改进,它会根据你是在路上、在沙发上放松还是在办公桌前,选择最智能的安装方式。
注意: OpenClaw ContextSDK Companion 应用主要是一个概念验证应用,它使用 Firebase 快捷方式,并且由于滥用 GPS 区域变更作为触发条件而消耗大量电量。为了获得更长久的解决方案,我们可以改用 ContextPush 静默后台通知,由 OpenClaw 插件定期触发获取当前上下文。
家
我一直以来都是Homey智能家居系统的用户,但现在它被LG收购了,我最终不得不迁移到其他平台。目前,我家大部分设备都是宜家Trådrfri的Zigbee设备,但由于他们也改用了Matter系统,而我的旧款Homey还不支持Matter,所以我也得迁移到其他平台。
我的未婚妻在医院上白班和夜班。多亏了 Homey 和 OpenClaw,我们家现在可以根据日历上的日期自动调整温度,以适应不同的班次。例如,早上 5:30 浴室会非常冷,而我们的公寓又无法实现中央供暖系统的自动化。因此,我在浴室里安装了一个电热红外线加热器,在她上白班的那天早上 5 点自动开启,提前温暖瓷砖。
┌─────────────────────────────────────────────────┐ │ 🌅 Day Shift Check — Daily 05:00 │ │ │ │ 1. Query CalDAV calendar for today │ │ 2. Look for shift events │ │ 3. If found → activate Homey button │ │ "Today is Day Shift" │ │ 4. Homey flow handles the rest │ │ (bathroom heating, lights) │ └─────────────────────────────────────────────────┘同样,在夜班结束后,它会自动打开卧室的通风系统以减少二氧化碳暴露,同时确保卧室的所有窗帘和灯光都设置为睡眠模式。┌─────────────────────────────────────────────────┐ │ 🌅 Day Shift Check — Daily 05:00 │ │ │ │ 1. Query CalDAV calendar for today │ │ 2. Look for shift events │ │ 3. If found → activate Homey button │ │ "Today is Day Shift" │ │ 4. Homey flow handles the rest │ │ (bathroom heating, lights) │ └─────────────────────────────────────────────────┘
消息
我一直是Beeper (以前叫Texts.com )的忠实用户,它将所有即时通讯软件(Telegram、WhatsApp、iMessage)合并在一个平台上——这才是它应有的样子。
它的优点在于对开发者友好,并且内置了原生 MCP 支持:

重要的是,它具有“只读”访问的概念,这正是我想要的:我希望我的代理能够从消息中提取相关信息,同时又不会造成任何破坏性后果。

最后,我了解到 MCP 在 iMessage 和其他一些细节方面存在一些限制。之后,Peter 向我展示了如何使用 Codex 正确地一次性构建大型项目,最终生成了beeper-cli项目。该项目使用本地文件而非 MCP,从而可以更好地控制对话,并根据需要进行交互式搜索和浏览。
另外,Peter 说命令行界面 (CLI) 是未来的发展方向,所以我们开始吧:
beeper-cli --help beeper-cli threads list --days 7 --limit 50 beeper-cli threads show --id "!abc123:beeper.local" beeper-cli messages list --thread "!abc123:beeper.local" --limit 50 beeper-cli search '"christmas party"' --limit 20 beeper-cli search 'party NEAR/5 christmas' --context 6 --window 60m beeper-cli search 'party NEAR/5 christmas' --limit 20 beeper-cli threads list --json beeper-cli search 'invoice' --json然后,我设置了一个简单的夜间定时任务,用于归档对话中的关键信息。为了更加安全,它只解析我过去回复过的对话。beeper-cli --help beeper-cli threads list --days 7 --limit 50 beeper-cli threads show --id "!abc123:beeper.local" beeper-cli messages list --thread "!abc123:beeper.local" --limit 50 beeper-cli search '"christmas party"' --limit 20 beeper-cli search 'party NEAR/5 christmas' --context 6 --window 60m beeper-cli search 'party NEAR/5 christmas' --limit 20 beeper-cli threads list --json beeper-cli search 'invoice' --json

这样,当我问我的机器人“我奶奶的圣诞派对是什么时候”时,它会自动搜索相关的群组和一对一聊天来找到该信息。
总而言之,这个机器人带来了许多生活质量方面的提升。我很喜欢随时随地都能给机器人发送简短的语音消息。另外,我还注意到,OpenClaw 的语音交互比其他任何智能助手都要好得多,原因如下:
- 它充分利用了 Telegram 非常稳定可靠的语音消息功能(再也不用担心“糟糕,我们丢失了您 3 分钟的录音”了)。
- 即使机器人解析语音消息时出现问题,语音消息也不会丢失,您只需在修复转录服务后将其再次转发给机器人即可。
- 它不会打断你!由于 OpenClaw 的响应速度较慢(因为它需要
thinking),所以交互过程非常自然流畅。我可以花上好几分钟,详细地描述我想要它做什么或构建什么,它会认真倾听,而不会打断我。即使我需要思考 15 秒钟,并且保持安静,也没问题。
我使用的其他集成包括:自动将包裹放在公寓门口( post-at-cli )、提醒我站立办公的站立式办公桌( linak-controller )、每日发送 HN 精选 25 篇热门文章、我观看的电视节目的新版本更新、管理和提醒我家务(例如更换滤芯)等等。

