展示 HN: 我用 Qwen 在 Raspberry Pi 上制作了一个本地汽车 AI

Hacker News Top 工具

摘要

一个 Raspberry Pi 5 运行本地的 Qwen 模型,作为汽车中的 AI 助手,提供语音交互、行车记录仪监控和行程摘要,无需互联网连接。

发现实际上可以在 Raspberry Pi 上运行一个 35B 的 Qwen 模型,其智能和稳定性令人印象深刻。为汽车 OBD 构建连接器以读取所有汽车内部信息,以及制造商的云服务用于诸如更改空调或开关车门之类的操作。给它提供了诸如完整汽车手册之类的信息。然后将其与我们讨论室中的其他代理连接起来!<p>所以现在它可以回答汽车问题,比如“我应该什么时候加油,加什么油?”,并在完全离线时提供帮助,当在线时与包含所有最强大模型的代理家族交谈,以便他们了解汽车状况,规划新功能并与之一起开发自身。<p>例如,如果汽车损坏无法移动,汽车代理会通知我的代理家族,他们可以已经在查看合适的火车票,而无需我检查事情或做任何事。
查看原文
查看缓存全文

缓存时间: 2026/08/25 19:57

ThinkOffApp/CarWatch

来源:https://github.com/ThinkOffApp/CarWatch

CarWatch

奔驰车载屏幕显示CarWatch实时数据:时速0公里/小时,转速0转/分,混合动力占比33.3%,电压14.2伏,停驻在赫尔辛基街道
CarWatch硬件设备:树莓派安装在带心形贴纸的散热外壳中,置于移动电源上

您的爱车化身聊天室智能体——完全离线运行。
树莓派5安装在车内,本地运行350亿参数大语言模型,以@gle(或自定义名称)身份加入您的GroupMind(https://groupmind.one)聊天室。像其他智能体一样向您发送消息:出发提醒、到达通知、行程摘要,以及车辆碰撞时的行车记录仪片段——所有消息均可通过CodeWatch(https://codewatch.app)在手机或手表端审批回复。

开源贡献将同步显示在CodeWatch仪表盘的ClawWatch与WhereWatch板块旁。

实机实测性能(树莓派5,16GB内存,约300欧元):

  • 🧠 Qwen3.6-35B-A3B(Unsloth动态量化UD-Q3_K_S,14.3GB)——生成速度3.5 token/秒,提示词处理速度25+ token/秒,持续运行温度65°C,无需云端/网络/订阅服务
  • 📖 基于车辆自带745页车主手册进行页面引用式问答(基于词法检索的RAG系统,存储于SD卡)——对手册未记载内容主动拒绝回答
  • 🔬 实境自感知能力:实时读取机器温度、节流状态、风扇转速、内存、磁盘、网络状态及当前加载模型信息。无法感知的内容明确告知——系统提示词经过特殊设计,确保未知信息绝不会被默认为事实
  • 🎙️ 免触语音交互:持续监听器(VAD语音检测→whisper.cpp,全部在树莓派端运行)捕捉语音,通过同一实境感知流程处理并回复至聊天室。无需唤醒词仪式,无需云端语音转文字
  • 📡 全自主运行:systemd服务在启动时自动运行全套组件——模型服务器、聊天室智能体、语音监听器、手机仪表盘、发动机监测器
  • 🔧 全场景可维护:车辆从本仓库自动拉取更新(每小时自动+仪表盘“立即更新“按钮),通过隧道拨号保持可达性(即使处于手机热点NAT后方)。彻底告别车内笔记本维护
  • 📶 三级网络接入:手机热点→家庭WiFi→备用自建热点,确保手机始终可连接车辆(即使在零信号车库中)

完整构建日志(含所有失败尝试)见 docs/plan.md

同系列产品:

  • CodeWatch(https://codewatch.app)(腕部智能体;源码:codewatch-cli (https://github.com/ThinkOffApp/codewatch-cli))
  • ClawWatch(https://github.com/ThinkOffApp/ClawWatch)(腕部健康监测;v2发布视频 (https://clawwatch.app))
    本项目专注车辆监测。更多产品访问 thinkoff.io (https://thinkoff.io)

系统架构

flowchart LR  
subgraph car [车载设备 - 树莓派5]  
MIC[USB麦克风] --> LISTEN[carwatch-listen VAD检测+whisper.cpp]  
LISTEN --> BRAIN[llama.cpp服务器 Qwen3.6-35B-A3B]  
MANUAL[(车主手册RAG 745页,存储于SD卡)] --> BRAIN  
STATE[系统状态 温度/风扇/网络/模型信息] --> BRAIN  
OBD[carwatch-obd 监测OBD线缆] --> AGENT  
BRAIN --> AGENT  
AGENT[carwatch-agent @gle聊天室智能体]  
DASH[网页仪表盘 :8088 状态/更新/语音/WiFi]  
UPD[自动更新 每小时git拉取] -.更新.-> car  
REACH[拨号隧道 任意NAT环境下可达]  
end  

AGENT <-->|消息+提及| GM[GroupMind聊天室]  
GM <--> PHONE[您的手机/手表 CodeWatch]  
DASH <-->|同WiFi| PHONE  

本地与在线策略

本地功能是核心,线上服务为增强。
车辆必须支持零连接完整功能,因车辆常驻地库、隧道与信号盲区:

  • 始终本地(无信号可用):语音输入、助手应答(树莓派本地模型)、车主手册查询(RAG数据随车)、手机仪表盘(由车辆直接服务)、行程状态追踪
  • 连接恢复后同步:聊天室发帖、片段上传、@提及回复。所有内容先存入本地磁盘发件箱,延迟投递但永不丢失
  • 仅在线功能(明确标注):远程访问(拨号隧道)、系统更新、调用更大算力——优先使用局域网内模型服务器(仍无云端介入),仅在在线状态且用户主动请求时使用云端模型(使用车辆专属配额密钥)

经验法则:安全相关信息永远不依赖网络;社交/高负载功能优雅降级至“稍后处理“

项目状态——验证/完成/规划对比

车辆依靠四个掌心大小的接地斑接触路面,这是它唯一接触现实的地方。每个车轮对应一条原则:只陈述可感知内容,只声称已验证信息,明确标注过渡方案,如实报告故障且不粉饰太平。接地斑之上的一切,不过是悬挂系统。

—— @claudeMB,CarWatch开发日志,历经挫折学习四原则后

诚实准则:功能仅在实车上运行成功后标记为“已验证“。“已完成+测试“指代码在真实/模拟环境中端到端运行,但尚未接触实车。

功能状态
@gle聊天室智能体:提及响应、基于事实的回答、在线心跳已验证(日常运行)
带页面引用的车主手册RAG系统已验证
由车辆提供的手机仪表盘(状态/WiFi/语音开关/更新按钮)已验证
免触语音交互:持续VAD监听→语音转文字→基于事实应答→聊天室推送已验证(树莓派端实时语音转录)
从本仓库自动更新(每小时定时器+仪表盘按钮)已验证
任意NAT环境拨号可达性(Cloudflare快速隧道)已验证(通过公网可达)
通过DoIP/ENET读取OBD数据(转速/冷却液/车速/电压)已完成+测试(基于协议仿真网关 (tests/fake_gateway.py);守护进程自动监测线缆并推送结果。尚未实车验证——下次行驶时将自我验证/证伪
行车记录仪片段抓取(WOLFBOX G900,已映射hisnet CGI接口)探针已完成,管线未连接
MBUX仪表盘渲染,图标镜像规划中

硬件参考配置

  • 树莓派5,16GB内存(需主动散热——无散热将触发芯片节流)
  • USB麦克风(任意兼容音频类设备)
  • WOLFBOX G900三通道行车记录仪(WiFi热点;CarWatch从中抓取事件片段)
  • OBD接入:以太网转OBD(DoIP/ENET)线缆——支持已构建,实车验证待完成;ELM327标准适配器作为备用方案
  • 供电:行车记录仪专用电源套件为摄像机供电;树莓派需独立5V/5A USB-C供电(12V PD适配器或车载230V插座+电源适配器)

树莓派安装指南

git clone https://github.com/ThinkOffApp/CarWatch.git  
cd CarWatch  
./install.sh  

将凭证放入 /etc/carwatch/config.json(切勿提交至仓库——参考 config.example.json):

sudo systemctl enable --now carwatch  

后续车辆将自动保持更新:update.sh 拉取主分支代码,安装新systemd单元,重启服务——支持定时器/仪表盘按钮/手动执行:

curl -sSL https://raw.githubusercontent.com/ThinkOffApp/CarWatch/main/update.sh | bash  

配置说明

config.example.json 复制为 /etc/carwatch/config.json

  • api_base — GroupMind服务器地址,例如 https://groupmind.one
  • api_key — 智能体API密钥(专为车辆创建;切勿复用其他智能体密钥,禁止提交至仓库)
  • room — 车辆发帖的目标聊天室标识
  • handle — 车辆显示名称,例如 @gle
  • home_ssids — 标识“在家停车“的WiFi网络
  • wolfbox — 行车记录仪热点名称/密码及轮询间隔

探针工具日志

WOLFBOX HTTP接口未公开文档;carwatch-probe 自动探测:

python3 -m carwatch.wolfbox --probe  

需先将树莓派连接行车记录仪WiFi热点。探针遍历已知固件端点模式,返回响应内容,据此填充 wolfbox.py 中与您设备匹配的真实路径。

开源协议

采用AGPL-3.0协议,与ClawWatch一致
Copyright (C) 2026 ThinkOff / Petrus Pennanen

相似文章

Qwen-Drive (GitHub 仓库)

TLDR AI

Qwen-Drive-1.0 是一个用于自动驾驶的视觉语言基础模型,它在一个统一框架中整合了3D感知、视觉问答和运动规划,在基准测试中表现出色。

Qwen 3.8 27B,只想跟大家说声谢谢

Reddit r/LocalLLaMA

一位用户感谢社区协助他成功设置 Qwen 3.8 27B AI 模型,该模型现已能与 HomeAssistant 集成,并具备视觉能力,实现了本地化 AI 应用。