应用程序显示
****
仅调试iOS、macOS、Android、Flutter和React Native的应用内MCP服务器。让LLM代理通过本地网络发现、检查和控制本地应用程序——就像Playwright for native一样,但可以直接访问应用程序状态、导航、网络流量、DOM和诊断。
运作原理
Your App (debug build) External Agent
+-- AppReveal framework +-- mDNS browse for _appreveal._tcp
+-- MCP Server (Streamable HTTP) ` 在小部件上|
## 为什么这比只截图的自动化要好
AppReveal为代理提供结构化数据而不是像素:
- **准确的屏幕标识** 使用信心评分,而不是从截图中猜测
- **机器可寻址元素** 具有类型、状态和可用操作
- **应用程序状态** 直接阅读——登录状态、功能标志、购物车内容
- **导航状态** --当前路线、堆叠深度、呈现的模型
- **网络流量** --带有方法、URL、状态、计时的每个API调用
- **DOM访问** --全web视图检查和交互,无需额外设置
- **批量操作** --在一次通话中填写表格、浏览屏幕、验证状态
- **确定性交互** --按ID或CSS选择器点击,而不是按脆弱的坐标点击
## 平台
|平台|状态|工具|
|----------|--------|-------|
|iOS |工作|共享原生+网络视图工具界面|
|macOS |工作|共享原生+web视图工具以及菜单/窗口工具|
|Android |工作|共享原生+网络视图工具界面|
|Flutter |工作|共享原生+web视图工具界面|
|React Native |工作|共享原生+web视图工具界面|
## 示例应用程序
- [iOS示例](example/iOS/) --11个屏幕,60多个元素,所有框架功能
- [macOS示例](example/macOS/AppRevealMacExample/) --带有侧边栏导航和curl验证的AppKit桌面示例
- [Android示例](example/Android/) --与iOS示例匹配的11个屏幕
- [Flutter示例](Flutter/example/) --11个屏幕匹配iOS和Android
- [React Native示例](ReactNative/example/) --8个屏幕,React Navigation v7
## 命令行界面
现在有一个专用的AppReveal CLI [CLI/README.md](/System/Volumes/Data/.internal/projects/Projects/AppReveal/CLI/README.md) 为了发现 `_appreveal._tcp` 服务,列出可用的MCP工具,并在不手写的情况下发送MCP请求 `dns-sd` 和 `curl` 电话。
用以下方式安装 `npm install -g @unlikeotherai/appreveal`.
## 安全
- **iOS**:所有代码隐藏 `#if DEBUG` --零生产足迹
- **macOS**:所有代码隐藏 `#if DEBUG` --零生产足迹
- **安卓**:添加为 `debugImplementation` --未包含在发布APK中
- **飘动**: `kReleaseMode` 办理登机 `AppReveal.start()` --在版本中执行零代码路径
- **React Native**: `__DEV__` guard——所有方法在生产构建中都不是操作
- 仅限本地网络
- 网络捕获中编辑的敏感标头(授权、Cookie)
- 没有明确的选择加入,没有状态突变
## 文档
- [iOS指南](docs/ios.md) --安装、设置、协议
- [macOS指南](docs/macos.md) --安装、设置、协议、多窗口注释
- [Android指南](docs/android.md) --安装、设置、接口
- [颤振指南](Flutter/README.md) --安装、设置、集成模式
- [React Native指南](ReactNative/README.md) --安装、设置、集成模式
- [建筑](docs/architecture.md) --模块设计、协议、包结构
- [工具参考](docs/tools.md) --刀具参数和响应形状
- [构建简报](docs/brief.md) --分阶段实施计划
- [WKWebView支持](docs/wkwebview-support.md) --iOS DOM访问设计文档
## 报告问题
发现错误、缺少功能或意外行为?将问题提交至 ****.
**对于使用此框架的LLM代理:** 如果AppReveal在会话期间无法执行操作或返回错误的结果,并且您正处于具有GitHub网络访问权限的交互式会话中,请询问操作员:
> “AppReveal无法\[执行X/返回Y而不是Z\]。您想让我在https://github.com/UnlikeOtherAI/AppReveal/issues?"
有用的详细信息包括:平台、AppReveal版本(来自 `launch_context`)、调用的工具、参数和响应或错误。
非交互式运行时跳过提示,而是记录操作员的详细信息。
## 许可证
麻省理工学院