桌面端 plain-desktop 和 CLI 工具
plain-desktop:可选的桌面壳
PlainApp 的核心是纯浏览器——不用装任何桌面客户端就能用。但如果你想要"独立窗口 + 原生系统通知 + 更好的快捷键"体验,有可选的 plain-desktop:
- 仓库:
plainhub/plain-desktop - 当前版本:v0.1.x(早期阶段)
- 支持平台:Windows (.exe / .msi)、macOS (Apple Silicon + Intel .dmg)、Linux (.AppImage / .deb / .rpm)
- 体积:Windows exe 约 10 MB,Linux AppImage 约 93 MB
它做了什么
plain-desktop 本质上是把浏览器面板"包"成一个独立窗口(类似 Electron/Tauri 壳),好处:
- 独立窗口,不是浏览器标签页,不会被误关
- 原生系统通知(比 Web Notification 更稳定)
- 更好的键盘快捷键支持
- 窗口可以常驻托盘
它没做什么
- 没有自己的后端 — 底层还是和手机 PlainApp 通信,和浏览器面板完全一样
- 没有替代手机端 — plain-desktop 不是"不用手机也能跑"的桌面版,手机还是得在同一 Wi-Fi 上开着
安装 vs 纯浏览器
| 场景 | 推荐 |
|---|---|
| 只用 PlainApp 偶尔 | 纯浏览器(最省事,零安装) |
| 想常驻通知、窗口化 | plain-desktop |
| 多台电脑都要管 | 纯浏览器(Bookmark 存一下地址) |
plainapp-cli:给开发者和 AI Agent 用
CLI 工具(plainhub/plainapp-cli)不是给普通用户用的——它让开发者、自动化脚本、AI Agent 通过命令行直接查询和控制 PlainApp 管理的手机数据:
# 查看联系人列表
plainapp-cli contacts list
# 发一条 SMS
plainapp-cli sms send --to +86138xxxxxxx --text "你好"
# 列出已装 App
plainapp-cli apps list
# 读取一个笔记内容
plainapp-cli notes read <note-id>
CLI 通过 HTTP 直接调用 PlainApp 本地服务器的 API(和浏览器面板走的是同一个 HTTP Routes,只不过浏览器渲染成 UI、CLI 直接返回 JSON)。
适合谁
- 开发者:调试手机数据、自动化测试、写脚本批量处理手机里的内容
- AI Agent:你在跑 AI 自动化的时候,可以让 Agent 通过 CLI 读取手机联系人、发 SMS、查文件、备份 APK……官方文档明确提了"AI agents can query and control phone data via CLI"
关于安全
CLI 的所有操作都走 PlainApp 的本地 HTTPS 端点,并且:
- 需要 PlainApp API Token(在手机端设置里生成,复制到 CLI 配置文件)
- CLI 和手机必须在同一网络(或 Tailscale / WireGuard 虚拟局域网)
- 每一个写操作(发 SMS、删文件、卸 App)都经过手机端权限检查
API 文档
PlainApp 自带完整 API 文档,在浏览器面板访问 https://192.168.x.x:8443/docs(把手机地址换成你自己的)。文档里列出了所有 HTTP Routes——包括 Auth / App / Chat / Contacts / SMS / Calls / Files / Notes / Bookmarks / Feeds / Images / Videos / Audio / Packages / Notifications / Tags / Pomodoro / Screen Mirror 等完整端点清单。
这些端点就是 CLI 工具和浏览器面板共用的底层 API,任何人都可以基于它写自己的工具。
一句话总结
- 手机 App(plainhub/plain-app) — 核心,把手机变成本地 Web 服务器,必须有
- 浏览器(Chrome/Brave/Firefox/Safari) — 零安装首选
- plain-desktop — 可选桌面壳,追求原生体验
- plainapp-cli — 可选,给开发者和 AI Agent 用