
Fonino
io.github.Fonino由 GitHub 帳號 Fonino 發布v0.1.0更新於 Nov 7, 2026
Let your AI agent use your real iPhone or Android phone, with your OK before anything is sent.
概覽
讓 AI 代理操控你真實的 iPhone 或 Android 手機:查看螢幕、開啟應用程式、點擊、滑動與輸入,送出前需你核准。
- 可以做什麼
- 列出並租用已連線的手機,每台裝置僅允許一個代理
- 擷取螢幕截圖並讀取介面元素
- 在手機上點擊、滑動、輸入並開啟應用程式
- 讀取簡訊、傳送簡訊、等待回覆,並在登入時把手機交還給你
- 對高風險動作暫停並等待你一鍵核准
- 適用情境
- 適合讓程式開發代理直接操作你的真實手機,例如傳簡訊給某人、在應用程式內操作或查看螢幕內容,同時對傳送、發佈、購買與刪除等動作保留人工核准關卡。
- 執行需求
- 在搭載 Apple 晶片、macOS 15 或更新版本的 Mac 上本機執行,需要 Node 22.18 或更新版本。iPhone 需要 USB 輔助程式(Xcode、用於簽署的 Apple ID、開發者模式、傳輸線)或 iPhone Mirroring(macOS 15+、iOS 18+、同一個 Apple 帳號,歐盟地區不適用);Android 需開啟 USB 偵錯並安裝 adb。HTTP 傳輸需使用命令列產生的 Bearer 權杖;手機須保持解鎖。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Fonino,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Fonino
Let your AI agent use your real iPhone or Android phone, with your OK before anything is sent.
Fonino lets Claude Code, Codex, Hermes or any MCP client see your phone's screen, open apps, tap, swipe and type. Anything that sends, posts, buys or deletes waits for your one-tap approval first. It runs on your Mac, with your own phone: no jailbreak, no cloud phone, nothing to install on an Android phone and only a small helper on an iPhone.
[An agent asks Fonino to text Sam; the approval card waits for the owner; after Approve the phone sends the text in Google Messages]A real run, in real time, on an Android emulator with a demo number. The same tools and approvals work on iPhone.
Get started
Paste this into your coding agent (Claude Code, Codex…) on a Mac:
Or install it from npm:
Or from source:
Don't want to set it up yourself? Fonino for Mac is the signed app built on this code. It does the iPhone setup for you (no Xcode) and connects your phone to Grok Bot, Muse, Claude and ChatGPT from anywhere, with approvals on your phone.
Two ways to connect the iPhone
Android
Turn on USB debugging (Settings → About phone → tap Build number 7 times, then Settings →
System → Developer options → USB debugging), plug the phone in and tap Allow on the phone.
Fonino finds it through adb (Android platform-tools);
an Android emulator works too. Nothing is installed on the phone.
Same tools and the same safety rules as on iPhone: screenshots in points, taps checked against the button under them, texts sent through Google Messages and verified before Send, Settings, Wallet, Play Store and calls off limits. Typing is plain ASCII (texts can hold any characters).
Step-by-step for both iPhone ways and Android: docs/setup.md.
Use it from your agent (MCP)
Full toolset, with approvals (recommended): run the local HTTP server and add it to your client.
Tools include phone_list_devices, phone_acquire / phone_release (one agent per phone),
phone_get_screen (screenshot + elements), phone_tap, phone_swipe, phone_type,
phone_open_app, phone_read_messages, phone_send_message, phone_wait_for_reply,
phone_await_approval, phone_request_help (hand the phone to you for logins) and more.
Basic control only: fonino mcp (stdio; tap, type, swipe, screen). This repo's
.mcp.json registers it for Claude Code.
Safety
The rules are in the code, not in a prompt, so an agent can't talk its way past them:
- Approvals. Sending, posting, buying and deleting pause until you approve the exact app,
recipient and text. Fonino checks the button under every tap too: Send, Post, Reply, Buy Now
and Place your order always need your OK, even if the agent didn't say what it was doing.
fonino approvalslists pending requests;fonino approve <id>(--for-taskcovers the rest of the task,--alwaysallows that kind of action in that app, with a daily cap). - Off limits. Settings, Wallet, Passwords, Mail, Phone, FaceTime, Find My and the App Store.
- Your logins stay yours. The agent hands you the phone for passwords, Face ID and verification codes; one-time codes in messages are hidden from it.
- Texting limits. Rate limits per phone and recipient; anyone who replies STOP is never texted again.
- Local and private. Tokens, approvals and screenshots stay in
~/.fonino, readable only by your macOS user.
Other commands
How it works
Background on why the USB helper and what we measured: docs/iphone-control-research.md.
Requirements: an Apple-silicon Mac on macOS 15 or later, Node 22.18 or later.
Tests: npm test.
Limits
- The phone has to stay unlocked (iPhone: Auto-Lock Never; Android: the longest screen timeout).
- The first start of the helper may show a passcode prompt titled "XCTest": that's the helper asking to use the screen. Enter it on the phone; it asks again only after a restart.
- No multi-touch, camera or Face ID flows. Some apps add their own checks.
License
MIT. See LICENSE.
來源:README.md,提交 92a4a25
工具
0版本歷史
1- v0.1.0最新Nov 7, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
