Rodger-Wang
|
f2dfa09d97
|
client:EMAI 耳机与车载共用位置日期,定位只有市名时用高德补路名;Xcode 打开前把生成的 SPM 包对齐到 iOS 16.0,避免反复报平台版本不够。构建号 1.0.2+26
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2 days ago |
Rodger-Wang
|
2a913260e6
|
车载香薰:会话带上用户位置与当前时间,填百炼提示词里的 ${location} / ${date}
- 定位插件新增 getCurrentPlace:安卓高德定位(华为上高德只回坐标时退回系统 Geocoder),
iOS CoreLocation + CLGeocoder;不在插件里弹权限框,失败回原因
- DeviceLocationService:启动/回前台刷新、10 分钟节流、落盘缓存;香薰首次连上(前台)申请一次
「使用期间」定位权限,拒绝后不再追问;建会话只读缓存,不拖慢唤醒
- BailianMultimodalService.start:仅对登记的应用(车载香薰)带
client_info.location{latitude,longitude,city_name} 与 biz_params.user_prompt_params{location,date},
date 精确到分;拿不到地名时用坐标描述。EMAI 耳机的 Start 报文不变
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Rodger-Wang
|
4ec8932aef
|
车载香薰 AI 对话:唤醒问候、按键插话、自动回连、退出聊天、前后台与状态同步(均只对香薰生效,恒玄耳机流程不变)
- 会话:服务端放弃回复(requestAccepted)时停播解门控,修掉互等 90s 的卡死;会话中再按唤醒键=打断重听;
唤醒后用应用音色随机回一句「我在」;退出(0x07 03)无应答不再干等 2s;设备上线复位 AI 状态,
防 App 被杀后设备停在 AI 模式、再唤醒 0 帧上行;Android 会话期间开前台服务,防切后台被冻结断 WS
- 指令:extra_info.commands 为 JSON 字符串时也能解出 quit(新车载应用下发形状)
- 连接:香薰断线/冷启动自动回连(带退避、OTA 与主动断开不回连);回连带上记住的 MAC;
设备断开后界面显示最后连接的那台(DeviceHub 落盘 lastUsedVendor)
- iOS 经典蓝牙判断按 MAC 首字节±1/设备名匹配,连着就不再弹配对提示
- Android 播放器:车载会话(playbackOnly)回复间垫静音,防 A2DP 流挂起吞掉「我在」
- 聊天页:设备对话中底部按钮可「改用手机」;离开正显示香薰对话的页面时结束会话并通知设备
- 车载助手百炼应用 ID 改为 mm_127ddb82ba1244a99d2feaef0c1f
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
2 weeks ago |
Rodger-Wang
|
6f1686a8fd
|
client: EaiCar 设备设置面板(按能力出现、按设备回的 items 渲染)
「设备 → 设备管理」里 EaiCar 那一行整块可点(解绑按钮除外),弹底部面板拉 0x15
显示并可改:启停 0x0D / 音量 0x0B / 亮度 0x0A / 行车感应 0x11 / 摇摆 0x14 /
随机表情频次 0x13 / 随机播一个表情 0x06。
- 面板是厂商无关的:只认 DeviceCapability.settingsPanel 与 DeviceFeatures.settings*
通用键,按 settings.query 返回的 items 画控件,缺哪项不画哪项。EaiCar 插件把
通用键映射成字节(EaiCarSession.settingsCommand,纯函数,金测试逐字节钉死)。
以后耳机/支架要露设置,各自插件声明即可。
- 状态只有 0x15 一个来源:六条写命令只回 0x64 成功码,不回显新值也没有主动上报。
插件写成功后本地回填并派 settings.changed;面板从不自己推断状态。原先
_applySummary 解完 14 字节只留固件和电量,这次整份留下。
- 0x11 双向语义不同:AA 11 是行车感应开关,CC 11 是设备上报 AI 唤醒,按帧头分发。
- 「随机表情」设备只有频次(9 档秒数);「现在随机播一个」没有原生命令,
由 app 在 0x00~0x09 里挑一个发 0x06。
- 未连接的 EaiCar 行也可点(按设备名猜品类),进去是「未连接 / 去连接」;
其它品类的行 onTap 仍为 null,行为一字不差。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
3 weeks ago |
Rodger-Wang
|
c1dcfcfc60
|
client: 车载香薰 Dart 侧整体改名 Smartcar → EaiCar
目录、类名、文案键、路由、测试全部改成 EaiCar。刻意保留:原生插件 device_smartcar、
持久化厂商键 'smartcar'、模块 id 'smartcarChat'、GetStorage 两个键(改了会丢老装机的编排/白名单)。
广播名准入白名单本来就只认 EaiCar,旧名 Smartcar 在测试里仍作为被拒绝的样本保留。
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
3 weeks ago |