← 返回信息流

dev.to #ai短讯

TrailQuest AI:用本地 Python、Gemma 和 Ollama 强制自己接触自然

dev.to作者:Riya Dhami开源AI评分:50/100

为 Hacktoberfest 开源 AI 挑战赛开发的离线优先户外冒险生成器。利用本地推理(Gemma & Ollama)将屏幕交互压缩至30秒内,旨在通过物理户外任务缓解屏幕疲劳。

这是 Hacktoberfest 开源 AI 挑战第一周:“接触自然(Touch Grass)”的参赛作品。

我构建了什么

我构建了 TrailQuest AI,这是一款离线优先、本地运行的 AI 户外冒险生成器,旨在通过将本地 AI 推理转化为实际的户外任务,来打破屏幕疲劳。

作为一名工程专业的学生,我每天长时间坐在台式电脑前,我发现自己在试图休息时很容易陷入“屏幕锁定”状态。TrailQuest AI 将屏幕交互时间缩短至 30 秒以内:

  1. 你选择可用时间(10 到 120 分钟)和挑战等级。
  2. 你选择一种户外氛围(正念与放松、寻宝游戏、活力漫步或自然摄影)以及当前的天气/环境设定。
  3. 几秒钟内,本地推理会流式传输一张结构化的三步“任务卡”,包含路线目标、正念观察任务、反思照片挑战和徒步安全提示。

一旦卡片出现,你的屏幕体验就结束了——你走出门去接触大自然。

演示

TrailQuest AI Running Locally
TrailQuest AI Running Locally

示例任务卡输出(阳光小憩:一次正念漫步): 第一步(路线与目标):完成公园周围 1 英里的环形路线。 第二步(观察与正念):注意阳光如何透过树叶洒下,在地面上形成舞动的图案。在行走过程中,数出至少 5 种不同形状或颜色的叶子。 第三步(反思与照片挑战):在你感到最放松和宁静的地方拍一张照片。反思为什么这一刻让你感觉如此焕然一新。 安全与徒步提示:保持水分充足并涂抹防晒霜,以保护自己免受阳光照射。

代码

RiyaDhami13 / trailquest-ai

TrailQuest AI 是一个轻量级的本地优先 Web 应用程序,它将屏幕时间转化为离线的现实世界户外冒险。

与其无休止地刷社交媒体或纠结于户外该做什么,用户只需选择可用时间(例如 10–120 分钟)、期望的户外氛围(正念与放松、寻宝游戏、活力漫步、自然摄影、雨天漫步、秋叶追踪、夜空观测等)、天气/季节设定以及当前位置。

几秒钟内,TrailQuest AI 就会生成一张个性化的三步实体“任务卡”,包含明确的目标、观察挑战、反思提示和安全建议。生成后,屏幕体验结束,用户走出门外去“接触自然”。

它专为学生、远程工作者以及任何希望在不暴露日常位置习惯的情况下打破屏幕疲劳的人而设计……

我是如何构建它的

TrailQuest AI 围绕纯 Python、生产级本地 AI 架构构建:

  • 前端与仪表板:使用 Streamlit 构建,拥有干净的深色模式 UI,包括实时遥测数据、模型状态指示器和本地侧边栏控件。
  • 本地 AI 引擎:由 Ollama 驱动,在桌面硬件上本地运行开放权重模型(gemma:2b / qwen2.5:3b)。
  • 实时 Token 流式传输:随着 Token 直接从本地 LLM 运行时流式传输,逐字符渲染生成的任务卡。
  • Pydantic 模式验证:使用结构化 JSON 输出强制实施,确保每个生成的任务都包含有效的路线、观察、反思和安全部分。
  • 多模型回退:实现具有弹性的回退逻辑(qwen2.5:3b -> llama3.2:1b / gemma:2b),即使主模型忙碌或未初始化,也能成功生成任务。
  • 离线连胜与任务记录:内置 SQLite 数据库(trailquest.db),可在没有云端遥测的情况下跟踪本地户外连胜记录和任务完成历史。

在本地运行

为什么开放创新至关重要?

在本地使用开放权重模型使这个项目从根本上优于依赖封闭的云端 API:

  1. 100% 习惯与位置隐私:个人日常习惯、空闲时间安排以及所在社区的特征严格保留在我的台式机上。没有任何提示日志或位置数据离开这台机器。
  1. 零运营成本:通过 Ollama 在本地进行推理,该应用无需任何云端 API 密钥或月度订阅费用,使得开源 AI 工具对学生开发者免费可用。
  1. 真正的离线徒步能力:开放权重模型直接在消费级硬件上执行,无需活跃的网络连接——这使得任务生成器可以在没有手机信号的偏远徒步起点,在笔记本电脑上无缝运行。

## [](  )走出户外 🥾

为了测试该应用,我在 PC 上选择了一张“正念与放松”主题的 15 分钟任务卡,将台式机设为睡眠模式,然后在附近街区散步一圈。

应用要求我观察阳光透过树叶的光影模式,并收集 5 种不同形状的叶子,且过程中不看手机。让 AI 生成结构化的轻量级体力任务,使我能够毫不费力地离开工作站——屏幕使用时间不到 30 秒,而接下来的 20 分钟我完全处于离线状态。

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

阅读原文