嗨,HN,
我是尼古拉伊,DroidRun 的软件工程师和联合创始人。我们开发了 DroidRun,这是一个基于大型语言模型(LLM)的代理,利用 Android 可访问性树来精确控制和理解用户界面元素。它可以在真实手机和模拟器上运行,并且是开源的。
**起源:**
我们的联合创始人尼尔斯·施密特(你将在演示中看到他)编写了一个原型并分享了一段快速视频。视频迅速走红,在 X 平台上不到两个小时就获得了大约 5 万次观看。那一刻促使我们全力以赴投入到 DroidRun 的开发中,并不久后将其开源。
**工作原理:**
大多数代理仅依赖截图作为上下文。我们不仅这样做,还将可访问性树输入到 LLM 中。这提供了关于用户界面元素的结构性、层次性和空间元数据。
**示例:**
真实用户界面的截图:
[https://imgur.com/a/ePRLpyv](https://imgur.com/a/ePRLpyv)
与之匹配的可访问性 JSON 片段:
```json
{
"index": 3,
"resourceId": "com.android.settings:id/search_action_bar",
"className": "LinearLayout",
"text": "search_action_bar",
"bounds": "42, 149, 1038, 338",
"children": [
{
"index": 4,
"resourceId": "com.android.settings:id/search_bar_title",
"className": "TextView",
"text": "In Einstellungen suchen",
"bounds": "189, 205, 768, 282",
"children": []
}
]
}
```
我们还在截图中用数字标注用户界面区域,然后在树中进行匹配。这种结构使代理能够深入理解屏幕上显示的内容,即使在不同设备类型(如平板电脑)之间也是如此。
这使得在不同设备和屏幕尺寸之间的泛化能力更强。代理可以更自信地执行操作,减少错误。
**当前状态:**
- 最近在 AndroidWorld 排名第一(现在竞争非常激烈)
- 支持真实设备和模拟器
- 在简单和复杂的用户界面任务上表现良好
- 目前 Gemini 2.5 Pro 的表现最佳,但我们正在快速迭代
**接下来的计划:**
我们正在开发一个云平台,您可以在 Android 设备上运行提示,而无需任何设置。想象一下,LLM 在云中控制手机,随时准备测试您的自动化。
**我们在寻找:**
- 来自 HN 的反馈
- 热爱 Android、LLM 和代理的合作者
- 开源贡献者
返回首页
一周热榜
我在看到多个团队意外将API密钥发布到前端代码中后,构建了这个工具。
问题是:现代网页开发节奏很快。你正在快速编码、发布新功能,突然间你的AWS密钥就出现在一个可被任何打开开发者工具的人看到的<script>标签中。在过去一年里,我亲眼目睹至少有3-4个生产应用出现过这种情况。
KeyLeak Detector会通过你的站点(无头浏览器 + 网络拦截)检查50多种泄露的秘密,包括:AWS/Google密钥、Stripe令牌、数据库连接字符串、LLM API密钥(如OpenAI、Claude等)、JWT令牌等。
它并不完美——可能会有误报——但它在我自己的项目中捕捉到了真实的问题。可以把它看作是发布前的快速检查。
使用场景:在部署前在预发布环境中运行,或者审计你现有的网站。每页大约需要30秒。
采用MIT许可证,仅用于授权测试。
<a href="https://github.com/Amal-David/keyleak-detector" rel="nofollow">https://github.com/Amal-David/keyleak-detector</a>