EcoLens 🌍 — 扫描任何物体,了解其碳足迹(为海地及资源受限环境打造)
Source: Dev.to
请提供您希望翻译的完整文本内容,我将为您翻译成简体中文。
我构建的
EcoLens 是一个网页应用,允许你拍摄任何物体——餐食、商品、车辆、电子设备——并即时了解其碳足迹,同时提供符合当地实际情况的环保替代方案和建议。
EcoLens 的独特之处在于:它专为 资源受限的环境如海地 而设计,而大多数“绿色”应用提供的解决方案在当地根本不存在(电动汽车、堆肥服务、有机超市……)。EcoLens 为你所在的实际环境提供切实可行的建议。
演示
(如果可用,可在此添加演示链接或嵌入。)
我正在解决的问题
大多数碳足迹工具都是为西方环境设计的。它们的建议包括:
- “购买电动汽车” ❌ 海地没有
- “使用堆肥服务” ❌ 并不存在
- “在有机超市购物” ❌ 无法获得
EcoLens 提供在您所在地区真正可行的建议。
How It Works
- 📸 用户上传任意物体的照片。
- ⚙️ React 前端将照片发送至 ASP.NET Core 后端。
- 🤖 后端通过 OpenRouter API 调用 Google AI 模型。
- 📊 AI 识别物体并计算其环境影响。
- ✅ 显示结果,包括碳排放得分、CO₂ 估算、环保替代方案以及本地化建议。
特别功能:海地菜肴识别
EcoLens 能识别海地菜肴名称并提供与文化相关的建议:
- 🍚 Diri djon djon(黑蘑菇饭)
- 🥩 Griot(海地炸猪肉)
- 🎃 Soup joumou(南瓜汤)
- 🍌 Bannann peze(双炸香蕉片)
- 🌽 Maïs moulu ak legim(碎玉米配蔬菜)
技术栈
| 层 | 技术 |
|---|---|
| 前端 | React 19 + Vite + Axios |
| 后端 | ASP.NET Core 9 (C#) |
| AI | Google Gemma via OpenRouter API |
| 开发助理 | GitHub Copilot |
为什么选择 OpenRouter 而不是直接使用 Gemini API?
Google Gemini API 对地理位置有限制,阻止海地及许多全球南方国家的免费层访问。通过 OpenRouter 路由可以在没有这些限制的情况下访问 Google 的 Gemma 模型,使 Google AI 仍然是核心,同时在全球范围内可用。
系统使用 跨五个模型的自动回退,以实现最高可靠性:
google/gemma-3-27b-it:freegoogle/gemma-3-12b-it:freegoogle/gemma-4-31b-it:freenvidia/nemotron-nano-12b-v2-vl:freegoogle/gemma-3-4b-it:free
使用 GitHub Copilot 的 AI 辅助开发
- 生成 ASP.NET Core 核心模板和控制器结构。
- 调试 OpenRouter API 集成。
- 建议改进 JSON 解析逻辑。
- 加速 React 组件开发。
我遇到的挑战
1. Google Gemini API 地理限制
最大的挑战是发现 Gemini 的免费层在海地被阻止。解决方案是使用 OpenRouter 搭配 Google Gemma 模型。
2. 免费模型在未警告的情况下被弃用
构建了一个自动回退系统,按顺序尝试五个不同的模型,确保应用永不宕机。
3. 从 AI 获取一致的 JSON
Gemma 有时会在 JSON 前后返回文本。通过一个稳健的提取方法解决,找到响应中的第一个 { 和最后一个 }。
我学到的
- 如何在 ASP.NET Core 中集成多模态 AI API(图像 + 文本)。
- 地理位置 API 限制对全球南方开发者的实际影响。
- 如何在多个免费 AI 模型之间构建可靠的回退系统。
- 为实际本地环境构建的重要性。
接下来
- 移动端优化的相机捕获。
- 每位用户的过去分析历史。
- 适用于低连接环境的离线模式。
- 支持更多加勒比和非洲地区的情境。
源代码
用 ❤️ 从海地构建,面向 DEV Weekend Challenge — 2026 年地球日 🌱
由 OpenRouter + Google Gemma AI + GitHub Copilot 驱动