Rouse上下文

你的手机有人工智能没有的背景——你的健康数据、通知、应用程序使用情况。Rouse Context可按需将该上下文提供给AI助手,而无需将您的数据同步到云端。
这是一款Android应用程序,可以将您的手机变成 主控程序 服务器。像Claude这样的AI客户端连接到一个URL,你的手机会被唤醒,并建立一个直接加密的会话。人工智能会询问它需要什么,你的手机会回应,然后它会重新进入睡眠状态。除非通过实时会话,否则您的数据永远不会离开您的设备。
状态: v1.0已发布。可用 如需访问Google Play测试版,请发送电子邮件至 beta@rousecontext.com。适用于任何兼容MCP的客户端。入门指南
- 安装 --从下载APK 并将其侧面加载(您可能需要在Android设置中启用“从未知来源安装”)。或发送电子邮件
beta@rousecontext.com用于Google Play测试版访问。 - 登船 --打开应用程序,点击“开始”,授予通知权限。该应用程序向中继注册并提供设备的TLS证书(约10秒)。
- 启用集成 --点击主屏幕上的“添加集成”。选择一个(例如Health Connect),授予请求的权限,您将得到一个类似的URL
https://brave-health.abc123.rousecontext.com/mcp. - 连接您的AI客户端 --将该URL粘贴到Claude(设置→ 连接器→ 添加自定义连接器)或任何MCP客户端。第一个连接会触发您手机上的OAuth批准——点击批准。
- 用它 --向人工智能询问你的健康数据,给自己发送通知,检查你的屏幕时间。每次工具调用都会记录在应用程序的审计选项卡中。
运作原理
AI Client ──TLS──> Relay (SNI passthrough) ──mux WebSocket (mTLS)──> Your Phone- 您启用集成(例如Health Connect)并获得一个URL,如下所示
https://brave-health.abc123.rousecontext.com/mcp(集成由主机名前缀标识;路径始终为/mcp) - 将该URL添加到Claude或任何MCP客户端
- 当客户端连接时,中继器通过FCM推送唤醒您的手机
- 您的手机通过mTLS WebSocket连接回来,中继器将两个TLS流拼接在一起
- AI客户端通过端到端加密的TLS直接与您的手机通信——中继器永远看不到明文
会议是短暂的。当客户端断开连接时,手机会重新进入睡眠状态。
集成
每个集成都是独立启用的,并通过OAuth授权(PKCE)获得自己的MCP端点。4个集成中的22个工具:
健康连接(3个工具)
在7个类别(活动、身体、睡眠、生命体征、营养、生殖、正念)的36种记录类型中查询Android Health Connect数据。
| 工具 | 说明 |
|---|---|
list_record_types | 列出具有权限状态的Health Connect记录类型 |
query_health_data | 按类型和时间范围查询记录 |
get_health_summary | 一段时间内允许类型的运行状况摘要 |
通知(5个工具)
读取、搜索设备通知并与之交互。
| 工具 | 说明 |
|---|---|
list_active_notifications | 列出已发布的通知 |
search_notification_history | 按文本、包或时间范围搜索通知历史记录 |
get_notification_stats | 通知计数、热门应用程序和一段时间内最繁忙的时间 |
perform_notification_action | 在活动通知上调用操作按钮 |
dismiss_notification | 按键取消活动通知 |
外联(10个工具)
让AI在设备上采取行动——启动应用程序、打开链接、发送通知、管理DND。
| 工具 | 说明 |
|---|---|
launch_app | 按软件包名称启动已安装的应用程序 |
open_link | 在默认应用程序中打开http/https URL |
copy_to_clipboard | 将文本复制到剪贴板 |
send_notification | 发布带有可选操作按钮的通知,然后点击打开URL |
list_installed_apps | 列出已安装的应用程序 |
create_notification_channel | 创建通知通道 |
list_notification_channels | 列出AI创建的通知渠道 |
delete_notification_channel | 删除AI创建的通知通道 |
get_dnd_state | 获得请勿打扰状态 |
set_dnd_state | 设置“请勿打扰”状态 |
使用情况统计(4个工具)
应用程序使用模式和屏幕时间分析。
| 工具 | 说明 |
|---|---|
get_usage_summary | 一段时间内的屏幕时间总计和热门应用程序 |
get_app_usage | 一个应用程序的每日使用量 |
get_usage_events | 一个范围内的原始应用前景/背景事件 |
compare_usage | 比较两个时段之间的屏幕时间;最大的三角洲优先 |
建筑
应用程序
| 模块 | 目的 |
|---|---|
:app | 编写UI、Koin DI、导航、主题 |
:core:tunnel | Mux协议、WebSocket客户端、TLS接受、CertificateStore |
:core:mcp | MCP会话路由、HTTP服务器、OAuth(设备代码+身份验证代码+PKCE)、令牌管理 |
:core:bridge | 通过TLS将多路复用流桥接到MCP会话 |
:api | McpIntegration 接口, IntegrationStateStore |
:integrations | MCP提供商:健康连接、外展(呼叫/SMS/DND)、使用统计、通知捕获 |
:notifications | 跨领域通知基础设施、审计持久性(会议室) |
:work | 前台服务、FCM接收器、WorkManager |
:core:testfixtures | 用于启动真实中继二进制文件的集成层测试的共享夹具 |
中继服务器(relay/)
小型VPS上的Rust二进制文件。手柄:
- TLS透传 --通过SNI将AI客户端连接路由到设备,从不终止内部TLS
- 多路WebSocket --通过一个设备连接多路复用多个客户端会话
- FCM唤醒 --发送推送通知以唤醒睡眠设备
- ACME证书 -通过Google Trust Services DNS-01(Cloudflare API)颁发每个设备的TLS证书;Let’s Encrypt也支持
- 机器人保护 --在唤醒设备之前验证秘密URL前缀,加上FCM节流和IP速率限制
安全
- 端到端加密 --TLS在您的手机上终止。接力赛只让SNI通过。
- 无云同步 --数据从设备上的源读取并实时提供。没有远程存储的内容。
- 每台设备ACME证书 --每个设备通过谷歌信任服务(DNS-01)获得证书,安卓密钥库中的私钥(硬件支持)。
- mTLS设备身份验证 --中继在允许连接之前通过客户端证书对设备进行身份验证。
- 机密URL前缀 --每个设备URL都包含一个可旋转的每个集成密钥(
brave-health.abc123.rousecontext.com,在哪里brave-health是{adjective}-{integrationId}).发现设备子域的机器人无法在没有秘密的情况下唤醒它。 - 每个客户端的OAuth --每个AI客户端在访问工具之前必须通过设备上的批准进行授权。
- 审计跟踪 --每次工具调用都会在本地记录参数、响应和持续时间。
建筑
安卓
./gradlew assembleDebug需要Android SDK(compileSdk 36, targetSdk 35, minSdk 24).构建需要JDK 21(JAVA_HOME=/usr/lib/jvm/java-21-openjdk).
覆盖范围报告
./gradlew koverHtmlReport聚合每个模块的单元测试和 :core:tunnel:integrationTest 层(真正的中继子流程)。HTML登陆 build/reports/kover/html/index.html.CI发布的报告与 test-coverage 工件以及每个PR上的每个模块摘要。
中继
cd relay
cargo build --release端到端测试
e2e测试驱动了一个真实的设备 adb 通过(通常是局域网本地)主机 跑步 adbThe adb.host 系统属性是必需的,默认为空 --the :e2e:e2eTest 如果未设置,任务会很快失败。设备序列号是可选的 只有当多个设备连接到该主机时才需要。
./gradlew :e2e:e2eTest \
-Dadb.host= \
-Dadb.serial=这 :device-tests 模块有一个单独的运行器,用于构建指向 本地运行中继。它还需要可从设备访问的LAN IP:
./gradlew :device-tests:test -Dlan.ip=没有 lan.ip,设备测试通过JUnit假设清晰地跳过。
状态
v1.0已发布。4个集成中的22个工具,冷启动约3秒后唤醒,端到端加密。看 docs/design/ 详细设计文件和 隐私政策.
许可证
根据Apache许可证2.0版授权。看 许可证 了解详情。
