你的智能体现在可以响应现实世界中的事件。
Paul Scanlon·2026年11月6日
·5 分钟阅读
你的 Mastra 智能体现在可以使用 Ring Signals.
通知信号,其优先级可配置。 通知信号 ,其优先级可配置。随后,智能体可以从 Ring API 获取快照或视频片段,并在有人来到你家门口时决定如何处理。
Ring 信号把门铃变成智能体可以响应的事件源。家庭安防智能体可以监视 human 动作,查看快照,并标记可能需要紧急关注的到访。配送助手可以使用 package_delivery 动作来通知你包裹已送达,或者由车道智能体记录 vehicle 动作,以追踪哪些车辆停靠。
智能体通常被配置为响应软件事件,例如来自 Slack、Discord、iMessage 以及其他受支持 渠道提供商真实世界。启用记忆后,你可以教会智能体识别它见过的事物,告诉它要识别哪些人、车辆和活动,这样它就能在未来的事件中记住它们。默认情况下,智能体会收到每个事件的快照图像。在 tools.clip 上设置 visibleToModel: true,并使用能够接收视频输入的模型,智能体就能观看视频了。开始使用 Ring 信号需要一个与你的 Ring 账户关联的 Ring 开发者应用。按照 Ring 集成指南中的设置操作,然后安装以下依赖 现实世界。借助 记忆 启用后,你可以教会智能体识别它见过的事物,告诉它要识别哪些人、车辆和活动,这样它就能在未来的事件中记住它们。
默认情况下,智能体会收到每个事件的快照图像。设置 visibleToModel: true 上 tools.clip 并使用能够接收视频输入的模型,智能体也能观看这些视频。
开始使用
Ring 信号需要一个与你的 Ring 账户关联的 Ring 开发者应用。请按照以下设置操作: Ring 集成指南,然后安装以下依赖:
npm install @mastra/ring-signals @mastra/libsql @mastra/memory@mastra/ring-signals@0.1.0 以及 @mastra/core@1.81.0 或更高版本,新增于 PR #28864.
将 RingSignals 到你的智能体 signals:
import { Agent } from "@mastra/core/agent";
import { Memory } from "@mastra/memory";
import { RingSignals } from "@mastra/ring-signals";
export const homeSecurityAgent = new Agent({
id: "home-security-agent",
name: "Home Security Agent",
instructions: "Watch the front door and say briefly whether each event needs attention.",
model: "google/gemini-3.8-flash",
memory: new Memory({
options: {
observationalMemory: true
}
}),
signals: [
new RingSignals({
events: {
button_press: { priority: "high", summary: "Doorbell was pressed." },
motion_detected: {
priority: "medium",
summary: "Motion was detected at the front door.",
attributes: (event) => ({
...event.data.attributes,
location: "front door"
})
},
device_offline: {
priority: "low",
summary: "Device went offline.",
coalesce: true
}
},
tools: {
clip: { visibleToModel: true, durationMs: 15_000 }
}
})
]
});observationalMemory: true:开启观察记忆。events:为每个 Ring 事件设置优先级和摘要。attributes:添加智能体在通知上看到的属性。coalesce: true:将同一事件的重复项合并为一条通知。visibleToModel: true:将片段传递给模型。(需要支持视频输入的模型)。durationMs:以毫秒为单位设置片段长度。
在你的 Mastra 实例上注册该智能体和存储适配器:
import { Mastra } from "@mastra/core";
import { LibSQLStore } from "@mastra/libsql";
import { homeSecurityAgent } from "./agents/home-security-agent";
export const mastra = new Mastra({
agents: { homeSecurityAgent },
storage: new LibSQLStore({
id: "mastra-storage",
url: "file:./mastra.db"
})
});多玩家警报
默认情况下, RingSignals 会将事件发送到它自己的线程,但你也可以配置 RingSignals 使用以下属性订阅现有的频道线程: target 属性。
频道
本示例使用 iMessage该频道和 RingSignals 和,这样 Ring 事件就会到达 iMessage 对话中。 resourceId , threadId,这样 Ring 事件就会到达 iMessage 对话中。
安装 iMessage 适配器:
npm install @photon-ai/chat-adapter-imessage将 iMessage 频道和 RingSignals 到同一线程:
import { Agent } from "@mastra/core/agent";
import { Memory } from "@mastra/memory";
import { RingSignals } from "@mastra/ring-signals";
import { createiMessageAdapter } from "@photon-ai/chat-adapter-imessage";
const resourceId = "home-security-agent";
const threadId = "ring-alerts";
export const homeSecurityAgent = new Agent({
// ...
id: resourceId,
channels: {
resolveResourceId: () => resourceId,
resolveThreadId: () => threadId,
adapters: {
imessage: { adapter: createiMessageAdapter() }
}
},
signals: [
new RingSignals({
target: { resourceId, threadId }
})
]
});Mastra 客户端 SDK
Web 应用也可以通过以下方式使用同一线程: subscribeToThread() 来自 Mastra 客户端 SDK:
npm install @mastra/client-js和,它们被频道和所使用:src/app/subscribe.ts 如需了解更多信息及完整配置选项,请参阅:Ring 集成指南 RingSignals 参考 Signals iMessage 集成指南 通知信号 Channels 观察记忆 Mastra 客户端 Client SDK agents 参考 Signals 研讨会 如需深入了解信号,请观看《用信号唤醒、通知和引导长时间运行的智能体》研讨会:
在 X 或 LinkedIn 上分享 Paul Scanlon 技术产品营销经理 Paul Scanlon 介于开发者 resourceId 和 threadId 所使用的,以及 RingSignals:
import { MastraClient } from "@mastra/client-js";
const client = new MastraClient({ baseUrl: "http://localhost:4111" });
const subscription = await client.getAgent("home-security-agent").subscribeToThread({
resourceId: "home-security-agent",
threadId: "ring-alerts"
});
await subscription.processDataStream({
onChunk: (chunk) => {
console.log(chunk.type, chunk);
}
});如需了解更多信息及完整配置选项,请参阅:
Signals 研讨会
如需深入了解信号,请观看《 用信号唤醒、通知和引导长时间运行的智能体 研讨会:
分享到 或 LinkedInPaul Scanlon技术产品营销经理Paul Scanlon 在 Mastra 负责开发者教育与产品营销之间的工作。此前,他曾在 Neon 担任技术产品营销经理,并在 Gatsby 从事开发者关系工作,负责创建教育内容和开发者体验。Paul Scanlon 的所有文章 →更多关于 Agents所有文章博客2026年11月5日推出 Mastra 自定义 Harness 计划掌控你的智能体系统,摆脱供应商锁定,掌控工作的完成方式。 或 LinkedIn
Paul Scanlon技术产品营销经理Paul Scanlon 在 Mastra 负责开发者教育与产品营销之间的工作。此前,他曾在 Neon 担任技术产品营销经理,并在 Gatsby 从事开发者关系工作,负责创建教育内容和开发者体验。
Paul Scanlon 的所有文章 →更多关于 Agents
所有文章博客 2026年11月5日推出 Mastra 自定义 Harness 计划
掌控你的智能体系统,摆脱供应商锁定,掌控工作的完成方式。我们的前置部署工程师会在 Mastra 上与你共同构建你的 harness,并根据你的目标量身定制。
文章2026年8月17日AI 智能体架构:模式、组件与生产设计
了解 AI 智能体架构:从组件到编排模式、记忆、可观测性,以及构建可靠智能体的生产设计选择。
文章 2026年8月9日智能体构建器:如何构建、测试和部署 AI 智能体
了解什么是 AI 智能体构建器、AI 智能体的核心构建模块,以及如何构建、测试并将你的第一个智能体部署到生产环境。