← 返回信息流

dev.to #ai短讯

我构建了 ESCAPE:通过接触自然解锁社交媒体——基于离线 AI

dev.to作者:Ahitagni Saha开源AI评分:50/100

这是 Hacktoberfest 开源 AI 挑战第一周的参赛作品。作者构建了一款实验性 Android 应用 ESCAPE,旨在帮助沉迷于无限滚动的用户。该应用不显示屏幕使用时间图表,而是鼓励用户走出户外、散步并重新发现自然。其核心创意是将现实世界作为“密码”,利用离线 AI 技术实现这一交互逻辑。

这是我为 Hacktoberfest 开源 AI 挑战赛第一周“去户外走走(Touch Grass)”主题提交的作品。

我做了什么

如果 YouTube 的密码不是 PIN 码,而是一次小小的户外冒险呢?

认识 ESCAPE —— 世界就是你的密码 🌱

我为那些发现自己无休止刷手机的人构建了一款实验性 Android 应用。ESCAPE 不展示另一张屏幕使用时间图表,而是鼓励你走出家门、散步、触摸草地,重新发现大自然。

理念很简单:现实世界就是你的密码!

每次户外探索包含三个步骤:

  1. 移动 🚶 — 走出家门,利用手机的计步传感器和计时器完成步行目标。
  2. 发现 🌳 — 在自然中发现有趣的事物:草地、美丽的树木、花朵,或水中的倒影。
  3. 捕捉 📸 — 拍摄你的发现,预览图像,然后点击“分析”。ESCAPE 会在本地检查证据。

完成探索任务,即可赢得有限的社交媒体访问权限!

ESCAPE outdoor quest
ESCAPE outdoor quest

但为什么只限于走路呢?

在周末,ESCAPE 还鼓励自行车探险,并帮助发现附近的公园、绿地和骑行路线。

下午 6 点前,探险活动侧重于户外运动。下午 6 点后,用户可以选择进行户外探险或室内自然灵感挑战。已经进行中的活动不会重置,将继续进行。

演示

🎬 观看 ESCAPE 的实际操作

▶ 在 YouTube 上观看真实的 Android 演示

视频展示了 ESCAPE 在真实 Android 手机上的体验:阻止 YouTube、追踪步行任务、捕捉和预览自然照片,以及批准证据。

YouTube blocked
YouTube blocked
Offline photo verification
Offline photo verification

最让我兴奋的是:我在手机断开互联网的情况下测试了图像分析,ESCAPE 仍然批准了那张自然照片!

录像显示了批准结果,尽管它没有独立显示网络断开的过程。演示使用了加速的演示模式以缩短步行要求。

🌐 访问 ESCAPE 项目展示页

代码

💻 ESCAPE — GitHub 仓库

ESCAPE 是一个使用 Flutter 和 Kotlin 构建的开源 Android 原型。源代码公开可用,尽管该应用尚未发布到 Google Play。

我是如何构建它的

ESCAPE 将开放权重 AI 与 Android 原生能力相结合:

  • Gemma 3 1B IT + LiteRT-LM:在手机本地生成基于自然的创意任务。任务会被缓存,以避免为通知重复运行模型。
  • Flutter + Kotlin:提供用户界面、应用监控、屏蔽覆盖层和任务管理。
  • Android 传感器:追踪步行时间、步数以及可选的基于 GPS 的骑行进度。
  • Google ML Kit:完全在设备端分析捕捉到的照片,检查广泛的自然主题,如树木、植物和水。
  • OpenStreetMap/Overpass:在互联网可用时,发现附近的公园和骑行基础设施,并缓存结果以便离线使用。

一个重要的区别是:Gemma 3 1B 是一个文本模型。它生成创意任务,而 ML Kit 负责图像识别。

我还将创造力与验证分离开来:

AI 创造冒险。Android 追踪进度。本地图像识别评估证据。

即使 AI 的回答有所变化,这也能确保解锁规则的可预测性。

为什么开放创新很重要?

想象一下,在没有移动数据的情况下穿过公园。一款由 AI 驱动的户外伴侣应该停止工作吗?

使用具有设备端推理功能的开放权重 Gemma,允许 ESCAPE 在不频繁联系云 API 的情况下创建新的任务创意。照片分析也在本地进行,无需将图片上传到服务器。

初始设置完成后,核心探险体验可以离线工作。下载模型和发现附近的新地点仍需要互联网连接。

对我来说,最有趣的部分是一种讽刺:

我构建了一个 AI 应用程序,其最终目标是让人们减少花在手机上的时间。

有时,技术的最佳用途是鼓励我们体验超越技术本身的事物。

我的 Agent 会话

在开发过程中,我使用 GitHub Copilot CLI 来检查任务验证和奖励规则,提高测试覆盖率,并添加自动化的 Flutter 验证。

我没有捕获 DevRelay agent-session 嵌入内容,但以下是 Copilot CLI 开发工作的证据:

GitHub Copilot CLI validation
GitHub Copilot CLI validation

你也可以查看 GitHub Actions 工作流。

奖项类别

Gemma 的最佳应用

Gemma 3 1B 通过 LiteRT-LM 在本地运行,无需持续联网即可生成创意户外任务。

GitHub Copilot 的最佳应用

GitHub Copilot CLI 通过测试和 CI 工作流开发帮助提高了项目的可靠性。

ESCAPE —— 少一点刷屏,多一点漫步。去亲近自然吧!🌿

译文已达到本站中文翻译的字数上限,剩余内容请查看原文。

阅读原文