【社会服务赛道】LightPath 光径|为视障者点亮最后 20 米的 AI 语音导航 🌟

【社会服务赛道】LightPath 光径|为视障者点亮最后 20 米的 AI 语音导航 :glowing_star:

标签:社会服务、社会公益

赛道:社会服务

作者:AlbertZhang

1. Demo 简介

地图导航能把人带到目的地附近,但真正难的,常常是最后 20 米:入口在哪个方向,盲道有没有被占,前方是不是台阶,是否需要绕行。LightPath 光径想把这些“到了附近却仍然不安全”的细节,用 AI 场景识别和语音导航补上。

LightPath 光径是一个面向视障者的 AI 语音导航网站,聚焦“最后 20 米”出行场景。它通过场景路线、AI 扫描、语音播报、自动导航和公益反馈,让视障者能更安心地完成就医、办事、校园通行和日常出行的最后一段路。

核心功能包括:

  1. :compass: 自动语音导航:点击开始后,系统自动完成 AI 扫描,并进入语音导航流程。路线步骤会按倒计时自动推进,也可以暂停、继续或立即进入下一步。
  2. :speaker_high_volume: Web Speech API 语音播报:每一步导航提示都会用中文语音播报,不依赖第三方 TTS 服务。
  3. :hospital: 真实场景路线:内置地铁口到医院门诊楼、公交站到社区服务中心、校园门口到图书馆、商场入口到卫生间等场景。
  4. :eye: AI 场景识别:接口结构支持多模态视觉识别,能够返回识别项、风险、语音提示和置信度;未配置 API Key 时自动降级为数据库预置结果,保证演示稳定。
  5. :seedling: 公益反馈闭环:用户到达后可以提交盲道被占、无障碍入口不明、台阶无提示等问题,反馈会入库并更新公益看板。
  6. :star: 贡献积分系统:用户提交反馈后会记录贡献,个人中心可以查看导航记录、反馈和贡献。
  7. :technologist: 管理后台:管理员可以管理场景、审核无障碍问题、管理用户角色。

产品运行截图 :sparkles:

2. Demo 创作思路

视障者出行的难点并不只在“从城市 A 点到 B 点”,更在最后几十米的现场判断。地图能告诉你目的地附近在哪里,却很难告诉你医院入口在哪个方向、盲道是否被电动车占用、前方台阶有没有提示。这些信息缺口,会直接影响一个人能否独立完成就医、办事或日常出行。

最初版本是一个单文件 HTML 演示,可以展示交互流程,但数据不能保存,也没有用户体系,导航每一步还需要手动点击“下一步”。这次我把它升级成完整 Web 应用,并把导航改为自动推进:语音播报、路线高亮、倒计时推进和暂停控制结合在一起,更接近真实视障导航体验。

这个方向有两个关键取舍:

  1. 语音优先:界面文字可以辅助展示,但核心信息必须能被听懂。
  2. 方位口语化:提示尽量使用“1 点钟方向,约 4 米”这样的表达,而不是抽象的角度或地图坐标。

和 IdeaPilot 的关系 :seedling:

这次我同时提交了另一个学习工作赛道作品 IdeaPilot。LightPath 更像是 IdeaPilot 方法的一次具体落地:先把“视障者最后 20 米导航”这个想法拆成用户、场景、痛点和 MVP,再用 TRAE 把它做成可体验的 Web Demo。

两个作品不是简单并列关系,而是一前一后的创作链路:IdeaPilot 关注“怎样把想法打磨成可开发方案”,LightPath 关注“怎样把一个真实社会服务场景做成可体验产品”。一个提供方法,一个交出样例。

3. Demo 体验地址

在线体验地址https://lightpath-bay.vercel.app

测试账号

  • 普通用户:ming@lightpath.dev / user123456
  • 管理员:admin@lightpath.dev / admin123456

快速体验路径:

  1. 打开首页,查看公益数据。
  2. 进入“场景列表”,选择“地铁口到医院门诊楼”。
  3. 点击“开始导航”。
  4. 等 AI 扫描完成后,系统自动进入语音导航,每一步自动倒计时推进。
  5. 听语音播报,观察路线步骤自动高亮。
  6. 点击“暂停导航”暂停,再点击“继续导航”恢复。
  7. 抵达后提交一条反馈。
  8. 进入公益看板,查看反馈数字变化。

完整体验路径:

  1. 注册账号并登录。
  2. 选择场景开始导航。
  3. 完成导航后提交反馈。
  4. 查看个人中心中的导航记录、我的反馈和贡献积分。
  5. 使用管理员账号进入后台,查看场景管理和问题审核。

4. TRAE 实践过程 :hammer_and_wrench:

LightPath 使用 TRAE 完成从单文件 HTML 演示到完整 Web 应用的升级。开发重点是把原来的“可看演示”改成“可体验、可保存、可反馈、可管理”的产品。

阶段 1:产品边界与项目规则

Session ID1910275011515216:5b2f188fa0e4a0eea81137ee924f6556_6a310657567d2861dce7df28.6a5734a0e2c4737a85f7bf3c.6a5734a0e2c4737a85f7bf3a:TRAE Work CN.0.1.35.no_sid.no_ppe.T(2026/7/15 15:20:00)

先用 TRAE 明确产品边界:MVP 只做最后 20 米导航,不做完整地图导航;用户分普通用户和管理员;数据实体包括用户、场景、路线步骤、识别项、风险提醒、导航记录、反馈、问题和贡献。确定边界后,再生成项目规则文件,约束后续开发不随意更换技术栈或扩大范围。

阶段 2:数据结构与工程分层

Session ID1910275011515216:ef065e450ee947c3b553eb016dc972e2_6a324eb9567d2861dce7f2e0.6a573451e2c4737a85f7bf1a.6a573450e2c4737a85f7bf18:TRAE Work CN.0.1.35.no_sid.no_ppe.T(2026/7/15 15:18:41)

TRAE 协助设计 10 张数据表,编写 Prisma schema,并建立 Repository、Service、Server Actions 三层。反馈提交流程使用事务:一次提交会写入 feedback 表、更新 navigation_records 状态、写 contributions 贡献记录、给 user 计数加一,四个操作要么同时成功,要么同时回滚。

阶段 3:核心页面与业务闭环

Session ID1910275011515216:ef065e450ee947c3b553eb016dc972e2_6a324eb9567d2861dce7f2e0.6a573451e2c4737a85f7bf1a.6a573450e2c4737a85f7bf18:TRAE Work CN.0.1.35.no_sid.no_ppe.T(2026/7/15 15:18:41)

这一阶段把原来的 LightPath HTML 交互模拟器拆成 React 组件:NavSimulator 管状态机,ScanProgress、VoicePrompt、RouteSteps、RiskAlerts、ArrivalFeedback 分别负责扫描、语音提示、路线步骤、风险提醒和到达反馈。首页、场景列表、导航体验页和公益看板组成“选场景、导航、反馈、看板”的闭环。

阶段 4:接入登录与 AI 能力

Session ID1910275011515216:ef065e450ee947c3b553eb016dc972e2_6a324eb9567d2861dce7f2e0.6a573451e2c4737a85f7bf1a.6a573450e2c4737a85f7bf18:TRAE Work CN.0.1.35.no_sid.no_ppe.T(2026/7/15 15:18:41)

认证使用 NextAuth 的 Credentials Provider,密码用 bcrypt 加密。AI 识别接口设计为统一入参出参结构:传入图片 base64 和场景上下文,返回识别项、语音提示、风险、置信度和 source 字段。source 用来区分真实 AI 结果与降级模拟结果,避免演示时因为接口不可用而中断。

阶段 5:自动导航、管理后台与上线

Session ID1910275011515216:218e27a1add5dd2f93ef0183a96f0e95_6a4f0ca87836dd0fb19a9374.6a5732aee2c4737a85f7bf0f.6a5732ade2c4737a85f7bf0d:TRAE Work CN.0.1.35.no_sid.no_ppe.T(2026/7/15 15:11:42)

TRAE 先写 autoNavigation 纯函数测试,验证“当前步到下一步、抵达、暂停、继续”的状态转换,再把倒计时逻辑接入 NavSimulator。最终版本支持自动推进、暂停继续、立即下一步、导航记录保存、反馈入库、公益看板统计和管理员后台。lint、build 和测试通过后部署到 Vercel。

5. 社区报名帖

报名帖已通过审核:LightPath 报名帖

6. 技术栈

  • Next.js 16 App Router
  • TypeScript
  • TailwindCSS v4
  • Prisma ORM:本地 SQLite,生产 PostgreSQL
  • NextAuth.js:Credentials Provider + JWT sessions
  • Web Speech API:浏览器原生语音播报
  • AI 多模态视觉识别:真实接口 + mock 降级
  • Vitest:自动化测试
  • Vercel:部署

7. 相关链接 :link:

8. 写在最后

LightPath 关注的是一个很具体、也很真实的社会服务问题:视障者出行的最后 20 米。相比做一个概念页,我更希望这个 Demo 能让评审直接体验到路线选择、AI 扫描、语音提示、自动导航和反馈入库。它现在仍是初赛版本,但已经具备继续扩展真实摄像头识别、更多场景和公益数据协作的基础。

如果 IdeaPilot 是“把想法推出第一步”的工具,那么 LightPath 就是我把其中一个想法继续向真实世界推进的尝试。希望有一天,每一段“快到了”的路,都能更安全一点。:glowing_star:

1 个赞

补充:开发踩坑与心得

分享几个 LightPath 开发中遇到的坑和解决方式:

  1. Web Speech API 兼容性:部分浏览器需要用户交互后才能播放语音。在开始导航按钮的 click 事件中初始化 SpeechSynthesis,而不是页面加载时就创建。

  2. 自动导航状态机设计:最初用 setTimeout 嵌套实现倒计时,暂停时清理逻辑很混乱。后来改用纯函数状态机 nextStep(currentState) => newState,测试和暂停继续都清晰了。

  3. 反馈事务一致性:用户提交反馈要同时写 4 张表,用 Prisma 的 transaction 包起来,避免部分成功导致数据不一致。

  4. AI 识别降级策略:加了 source 字段区分真实 AI 和降级结果,让 Demo 任何环境都能跑通。

如果你也在用 TRAE 做社会服务类项目,欢迎交流!也欢迎到我的另一个作品 IdeaPilot 看看怎样把一个模糊想法打磨成可执行方案。

2 个赞