网淘吧来吧,欢迎您!

Skill

2026-03-29 新闻来源:网淘吧 围观:15
电脑广告
手机广告

Aster - 您的移动端AI副驾驶

您的AI副驾驶,适用于任何使用MCP(模型上下文协议)的安卓设备——或者为您的AI配备一部专用手机,让它能够自主通话、发短信和行动。完全开源且隐私优先——您的数据永远不会离开您的网络。

网站aster.theappstack.in|GitHubgithub.com/satyajiit/aster-mcp


如需查看安卓应用和网页仪表盘的截图,请访问aster.theappstack.in


设置

  1. 安装并启动服务器
npm install -g aster-mcp
aster start
  1. 在任何安卓设备上安装Aster安卓应用——可以是您的日常手机,或是为AI准备的备用机——从发布页面获取,并连接到终端显示的服务器地址。

  2. 在您的in your.mcp.json:

{
  "mcpServers": {
    "aster": {
      "type": "http",
      "url": "http://localhost:5988/mcp"
    }
  }
}

安全与隐私

Aster 采用安全至上、隐私至上的架构:

  • 自托管— 完全在您的本地机器上运行。无需云服务器,无需第三方中继。您的数据保留在您的网络中。
  • 零遥测— 无分析、无追踪、无使用数据收集。您的行为完全由您掌控。
  • 设备审批— 每台新设备在连接或执行命令前,都必须从控制面板手动批准。
  • Tailscale 集成— 通过 Tailscale 和 WireGuard 提供可选的加密网状 VPN。实现带自动 TLS (WSS) 的安全远程访问 — 无需端口转发。
  • 无需 Root 权限— 使用官方的 Android 无障碍服务 API(与驱动屏幕阅读器的系统相同)。无需 Root、无需 ADB 破解、无需漏洞利用。每个操作都受权限控制并在沙盒中运行。
  • 前台透明度— 服务运行时,您的Android设备上会显示常驻通知。不会在后台静默访问。
  • 仅限本地存储— 所有数据(设备信息、日志)均存储在本地SQLite数据库中。不会向外部发送任何信息。
  • 100% 开源— 采用MIT许可证,代码库完全可审计。您可以在GitHub上检查每一行代码。

可用工具

设备与屏幕

  • aster_list_devices- 列出已连接的设备
  • aster_get_device_info- 获取设备详情(电池、存储、规格)
  • aster_take_screenshot- 截取屏幕截图
  • aster_get_screen_hierarchy- 获取UI无障碍功能树

输入与交互

  • aster_input_gesture- 点击、滑动、长按
  • aster_input_text- 在聚焦字段中输入文本
  • aster_click_by_text- 通过文本点击元素
  • aster_click_by_id- 通过视图ID点击元素
  • aster_find_element- 查找UI元素
  • aster_global_action- 返回、主页、最近任务等

应用与系统

  • aster_launch_intent- 启动应用或意图
  • aster_list_packages- 列出已安装应用
  • aster_read_notifications- 读取通知
  • aster_read_sms- 读取短信消息
  • aster_send_sms- 向电话号码发送短信
  • aster_get_location- 获取GPS位置
  • aster_execute_shell- 在Android应用沙盒中运行Shell命令(无需root权限,仅限于应用数据目录和用户可访问的存储空间,30秒超时,1MB输出限制)

文件与存储

  • aster_list_files- 列出目录内容
  • aster_read_file- 读取文件内容
  • aster_write_file- 写入文件
  • aster_delete_file- 删除文件
  • aster_analyze_storage- 存储分析
  • aster_find_large_files- 查找大文件
  • aster_search_media- 使用自然语言搜索照片/视频

设备功能

  • aster_get_battery- 电池信息
  • aster_get_clipboard/aster_set_clipboard- 剪贴板访问
  • aster_show_toast- 显示Toast消息
  • aster_speak_tts- 文本转语音
  • aster_vibrate- 设备振动
  • aster_play_audio- 播放音频
  • aster_post_notification- 发布通知
  • aster_make_call- 发起电话呼叫
  • aster_make_call_with_voice- 拨打电话,接通后启用免提并通过TTS播报AI文本
  • aster_show_overlay- 在设备上显示网页悬浮层

媒体智能

  • aster_index_media_metadata- 提取照片/视频的EXIF元数据
  • aster_search_media- 使用自然语言查询搜索照片/视频

主动事件转发(OpenClaw回调)

Aster可以通过webhook将手机实时事件推送给您的AI智能体。启用后,这些事件会以HTTP POST载荷形式送达——您的智能体无需轮询,手机会主动告知当前动态。

可通过控制面板进行配置:/settings/openclaw或使用命令行工具:aster set-openclaw-callbacks

Webhook格式说明

事件将以HTTP POST形式发送至已配置的OpenClaw端点(/hooks/agent为默认路径)。AI智能体将读取message字段。所有事件上下文均通过标准化[键名] 数值标签格式封装至message字段中。

通知事件的原始HTTP POST载荷示例:

{
  "message": "[skill] aster\n[event] notification\n[device_id] 6241e40fb71c0cf7\n[model] samsung SM-S938B, Android 16\n[data-app] messaging\n[data-package] com.google.android.apps.messaging\n[data-title] John\n[data-text] Hey, are you free tonight?",
  "wakeMode": "now",
  "deliver": true,
  "channel": "whatsapp",
  "to": "+1234567890"
}
  • message——包含标准标题的结构化事件文本(此为AI实际读取内容)
  • wakeMode——始终为"现在"(立即唤醒代理)
  • 发送— 总是针对真实事件,针对测试ping
  • 频道/— 发送频道和接收方,在仪表板中配置

事件格式

每个事件都遵循一个标准化结构,包含4个固定头部和[data-*]字段:

[skill] aster
[event] <event_name>
[device_id] <device_uuid>
[model] <manufacturer model, Android version>
[data-key] value
[data-key] value
  • [skill]— 总是aster
  • [event]— 事件名称:短信通知设备在线,设备离线,配对
  • [设备ID]— 设备的UUID(使用此ID通过Aster工具定位设备)
  • [型号]— 设备制造商、型号和操作系统
  • [数据-*]— 特定于事件的字段,每个字段均以data-为前缀(例如[数据-应用][数据-发送者]

事件类型

短信— 接收短信

[skill] aster
[event] sms
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-sender] +1234567890
[data-body] Hey are you free tonight?

通知— 应用通知(针对短信进行去重)

[skill] aster
[event] notification
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-app] whatsapp
[data-package] com.whatsapp
[data-title] John
[data-text] Meeting moved to 3pm

设备在线— 已批准设备上线

[skill] aster
[event] device_online
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-status] connected

设备离线— 设备离线

[skill] aster
[event] device_offline
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-status] disconnected

配对— 新设备需要批准(使用[device_id]进行批准)

[skill] aster
[event] pairing
[device_id] e5f6g7h8-9012-cdef
[model] Samsung SM-S924B, Android 15
[data-status] pending_approval
[data-action] approve this device from the Aster dashboard or via aster devices approve

如何响应事件

当您收到包含[skill] aster的消息时,解析[event][device_id]以确定发生了什么以及应对哪个设备进行操作。

短信 — 回复、提取信息或上报处理:

[event] sms | [device_id] a1b2c3d4 | sender: +1234567890 | body: Running late, be there in 20
→ aster_send_sms (deviceId: a1b2c3d4) to +1234567890: "No worries, see you soon!"

[event] sms | [device_id] a1b2c3d4 | sender: +1800555 | body: Your OTP is 482913
→ Extract OTP "482913", use aster_input_text (deviceId: a1b2c3d4) to enter it

通知 — 监控并代表用户采取行动:

[event] notification | [device_id] a1b2c3d4 | app: driver | text: Your driver is arriving
→ aster_speak_tts (deviceId: a1b2c3d4) "Your Uber is almost here"

[event] notification | [device_id] a1b2c3d4 | app: mShop | text: Your package was delivered
→ aster_send_sms (deviceId: a1b2c3d4) to user: "Your Amazon package just arrived"

设备生命周期 — 管理连接状态:

[event] device_offline | [device_id] a1b2c3d4
→ Pause pending automations for device a1b2c3d4

[event] device_online | [device_id] a1b2c3d4
→ Resume queued tasks, aster_read_notifications (deviceId: a1b2c3d4) to catch up

配对 — 批准或发出警报:

[event] pairing | [device_id] e5f6g7h8 | model: Samsung SM-S924B
→ If expected: approve device e5f6g7h8 via dashboard API
→ If unexpected: alert user "Unknown device SM-S924B trying to connect"

使用示例

您的移动端副驾驶:

"Open YouTube and search for cooking videos"
→ aster_launch_intent → aster_click_by_id → aster_input_text

"Find photos from my trip to Mumbai last month"
→ aster_search_media with query "photos from Mumbai last month"

"Take a screenshot and tell me what's on screen"
→ aster_take_screenshot → aster_get_screen_hierarchy

AI专属手机 — 让它为您代劳:

"Call me and tell me my flight is delayed"
→ aster_make_call_with_voice with number, text "Your flight is delayed 45 min, new gate B12", waitSeconds 8

"Text me when my delivery arrives"
→ aster_read_notifications → aster_send_sms with number and message

"Reply to the delivery guy: Thanks, I'll be home"
→ aster_send_sms with number and message

命令

aster start              # Start the server
aster stop               # Stop the server
aster status             # Show server and device status
aster dashboard          # Open web dashboard

aster devices list       # List connected devices
aster devices approve    # Approve a pending device
aster devices reject     # Reject a device
aster devices remove     # Remove a device

aster set-openclaw-callbacks  # Configure event forwarding to OpenClaw

要求

  • Node.js >= 20
  • 任何安装了Aster应用的Android设备(您的手机或专用AI设备)
  • 设备和服务器在同一网络(或使用Tailscale进行安全的远程访问)

网站aster.theappstack.in|GitHubgithub.com/satyajiit/aster-mcp

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第309265名访客 今日有312篇新文章/评论