Your AI CoPilot on Mobile — or give your AI its own phone. Make calls, send SMS, speak via TTS on speakerphone, automate UI, manage files, search media, and 40+ more tools via MCP. Open source, self-hosted, privacy-first.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install aster或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install aster⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/aster/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: aster version: 0.1.13 description: Your AI CoPilot on Mobile — or give your AI its own phone. Make calls, send SMS, speak via TTS on speakerphone, automate UI, manage files, search media, and 40+ more tools via MCP. Open source, self-hosted, privacy-first. homepage: https://aster.theappstack.in metadata: {"aster":{"category":"device-control","requires":{"bins":["node"]},"mcp":{"type":"http","url":"http://localhost:5988/mcp"}}} ---
Your AI CoPilot for any Android device using MCP (Model Context Protocol) — or give your AI a dedicated phone and let it call, text, and act on its own. Fully open source and privacy-first — your data never leaves your network.
Website: aster.theappstack.in | GitHub: github.com/satyajiit/aster-mcp
---
For screenshots of the Android app and web dashboard, visit aster.theappstack.in.
---
npm install -g aster-mcp
aster start
.mcp.json:{
"mcpServers": {
"aster": {
"type": "http",
"url": "http://localhost:5988/mcp"
}
}
}
---
Aster is built with a security-first, privacy-first architecture:
---
aster_list_devices - List connected devicesaster_get_device_info - Get device details (battery, storage, specs)aster_take_screenshot - Capture screenshotsaster_get_screen_hierarchy - Get UI accessibility treeaster_input_gesture - Tap, swipe, long pressaster_input_text - Type text into focused fieldaster_click_by_text - Click element by textaster_click_by_id - Click element by view IDaster_find_element - Find UI elementsaster_global_action - Back, Home, Recents, etc.aster_launch_intent - Launch apps or intentsaster_list_packages - List installed appsaster_read_notifications - Read notificationsaster_read_sms - Read SMS messagesaster_send_sms - Send an SMS text message to a phone numberaster_get_location - Get GPS locationaster_execute_shell - Run shell commands in Android app sandbox (no root, restricted to app data directory and user-accessible storage, 30s timeout, 1MB output limit)aster_list_files - List directory contentsaster_read_file - Read file contentaster_write_file - Write to fileaster_delete_file - Delete fileaster_analyze_storage - Storage analysisaster_find_large_files - Find large filesaster_search_media - Search photos/videos with natural languageaster_get_battery - Battery infoaster_get_clipboard / aster_set_clipboard - Clipboard accessaster_show_toast - Show toast messageaster_speak_tts - Text-to-speechaster_vibrate - Vibrate deviceaster_play_audio - Play audioaster_post_notification - Post notificationaster_make_call - Initiate phone callaster_make_call_with_voice - Make a call, enable speakerphone, and speak AI text via TTS after pickupaster_show_overlay - Show web overlay on deviceaster_index_media_metadata - Extract photo/video EXIF metadataaster_search_media - Search photos/videos with natural language queries---
Aster can push real-time events from the phone to your AI agent via webhook. When enabled, these events arrive as HTTP POST payloads — your agent doesn't need to poll, the phone tells you what's happening.
Configure via the dashboard at /settings/openclaw or CLI: aster set-openclaw-callbacks.
Events are sent as HTTP POST to the configured OpenClaw endpoint (/hooks/agent by default). The AI reads the message field. All event context is packed into message using standardized [key] value tags.
Example raw HTTP POST payload for a notification event:
{
"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 — structured event text with standard headers (this is what the AI reads)wakeMode — always "now" (wake the agent immediately)deliver — always true for real events, false for test pingschannel / to — delivery channel and recipient, configured in the dashboardEvery event follows a standardized structure with 4 fixed headers and [data-*] fields:
[skill] aster
[event] <event_name>
[device_id] <device_uuid>
[model] <manufacturer model, Android version>
[data-key] value
[data-key] value
[skill] — always aster[event] — event name: sms, notification, device_online, device_offline, pairing[device_id] — UUID of the device (use this to target the device with Aster tools)[model] — device manufacturer, model, and OS[data-*] — event-specific fields, each prefixed with data- (e.g. [data-app], [data-sender])sms — Incoming SMS
[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?
notification — App notification (deduplicated against SMS)
[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
device_online — Approved device came online
[skill] aster
[event] device_online
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-status] connected
device_offline — Device went offline
[skill] aster
[event] device_offline
[device_id] a1b2c3d4-5678-90ab
[model] samsung SM-S938B, Android 15
[data-status] disconnected
pairing — New device needs approval (use [device_id] to approve)
[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 后,可以对 AI 说这些话来触发它
Send a Slack message to the #engineering channel about the deployment
Formats and sends the message with relevant context, tagging the right people
Summarize all unread messages in my inbox from today
Reads messages across connected channels and returns a prioritized summary
Draft a reply to this customer complaint and send it for review
Writes an empathetic, professional response and routes it to the approval queue
将技能文件夹放到 ~/.claude/skills/aster/ 目录(个人级,所有项目可用),或 .claude/skills/aster/(项目级)。重启 AI 客户端后,用 /aster 主动调用,或让 AI 根据上下文自动发现并使用。
Skill 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Skill 可免费安装使用。请查阅仓库了解许可证信息。
Your AI CoPilot on Mobile — or give your AI its own phone. Make calls, send SMS, speak via TTS on speakerphone, automate UI, manage files, search media, and 40+ more tools via MCP. Open source, self-hosted, privacy-first.
Skill 属于「Communication」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。