GitHub 提交日报 · 2026-07-15

自动汇总 2026-07-15 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • feat(esp32s3): Web配置页+连续对话+HTTP SSE+代码清理
    • 添加 Web 配置服务器(AP模式端口80):WiFi配网+LLM配置+合并保存按钮
    • 添加 mDNS 支持(hummingg-com.local)
    • 长按 boot 键进入 AP 配网模式
    • 连续对话支持:TTS播完后自动重新进入Listening,10秒超时回Idle
    • HTTP SSE 支持:base_url 支持 http:// 和 https://
    • NVS key 修复:WiFi保存使用 ssid0/password0 格式
    • force_ap 清除:WiFi连接成功后自动清除
    • AudioInputTask 修复:ReadAudioData失败时continue而非break
    • web_config_server 不在 STA 模式启动,避免占用内部RAM
    • UdpDebug 降级为 ESP_LOGD + 开关控制(udp_debug配置项)
    • EdgeTts 重命名为 BaiduTts/BaiduTtsGet
    • 移除 ShowStatus 2秒阻塞延迟
    • 移除 OLED 调试计数显示(F:/D:)
    • API Key 不再打印到日志

GitHub 提交日报 · 2026-07-14

自动汇总 2026-07-14 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • feat(esp32s3): 唤醒词支持(你好小智) + VAD自动停止 + UTC+8时区
    • 启用 AFE 唤醒词检测,使用 wn9_nihaoxiaozhi_tts 模型
    • VAD 检测到用户说话后静音自动关闭音频通道
    • 设置时区为 CST-8 (UTC+8),修复屏幕时间显示
  • feat(esp32s3): ESP32-S3智能音箱固件 - 百度ASR+DeepSeek+百度TTS
    • 深度复用xiaozhi固件代码,实现设备直连云端API的对话流程:
    • HttpProtocol替换MQTT/WebSocket,设备直连百度ASR+DeepSeek+百度TTS
    • esp_tls直接做HTTPS(HTTP/1.0避免chunked编码)
    • NTP+HTTP时间同步,修复TLS握手前提条件
    • SSL_IN_CONTENT_LEN=16384修复mbedTLS缓冲区
    • PCM 16kHz→24kHz重采样适配codec输出
    • 系统提示词限制DeepSeek回复80字以内
    • WiFi硬编码,force_ap修复防止crash后进配网模式
    • OLED 128x32显示ASR结果和AI回复

GitHub 提交日报 · 2026-07-08

自动汇总 2026-07-08 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • feat: WiFi配置优化 - 有线跳过AP/异步连接/重置网络按钮
    • has_wifi_config()优先检查有线网络,有网时跳过AP模式
    • WiFi连接改为异步:先返回connecting响应,再后台切换,避免AP关闭后HTTP响应丢失
    • 前端轮询检测新IP,自动显示连接成功
    • 新增重置网络按钮:清除WiFi配置并重启进入AP引导模式
  • fix: 保存配置后自动重启服务使配置立即生效
  • feat: Web配置页 + WiFi AP引导 + 硬件方案文档
    • 新增 ConfigWebServer: 内嵌Web配置服务(8888端口),支持网页修改config.json
    • 新增 /api/info: 展示IP/主机名/开机时长
    • 新增 /api/wifi/scan + /api/wifi/connect: WiFi扫描和连接
    • 新增 wifi_setup.py: 首次开机AP热点引导(SmartSpeaker-Setup)
    • AP模式固定IP 10.42.0.1,mDNS域名 hummingg-com.local
    • 新增 HARDWARE.md: 三种硬件方案(基础版¥195/远场版¥328/ESP32-S3¥50)
    • VAD rms_threshold 从500调至1000,避免环境噪声误触发

GitHub 提交日报 · 2026-07-05

自动汇总 2026-07-05 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • feat: openWakeWord本地唤醒 + VAD录音 + 迁移RDK X5
    • 新增 wakeword_oww.py: openWakeWord 流式唤醒词检测(hey_jarvis)
    • 修复流式预测bug: 传int16而非float32给model.predict()
    • 唤醒命中后model.reset()防止误触发,增加预热帧丢弃
    • 新增 VAD 录音: 说话开始录音,静音1.5s自动停止,替代固定6s
    • 新增 wakeword_local.py: MFCC模板匹配唤醒词(备选方案)
    • deepseek_client: 请求失败时不更新历史,避免污染上下文
    • HTTPTrigger: 改用threading.Event,服务端常驻不重复创建
    • audio_stream: 增加自动重连和日志
    • 迁移IP地址从192.168.31.87到192.168.31.6/215

GitHub 提交日报 · 2026-06-21

自动汇总 2026-06-21 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • docs+feat: 补充文档 + 唤醒确认音在呢
    • WAKEWORD.md: 新增方案C(远程模板匹配)完整文档,含架构/配置/调试
    • README.md: 更新架构图(远程唤醒+多轮对话),更新开发进度
    • MAC.md: 新增远程唤醒词服务章节(配置/调试/排错)
    • main.py: 被唤醒后先播放在呢确认提示音
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • feat: 远程唤醒词检测 + 多轮对话支持
    • 新功能:
    • 音频流传输:板子 audio_stream.py → UDP → Mac
    • 唤醒词检测:Mac 端模板匹配(无需云端),阈值可调
    • 远程触发:检测到唤醒词后 HTTP 通知板子
    • 多轮对话:唤醒后持续对话,静音或 ASR 失败自动结束
    • 自动重启:对话结束后自动重启 audio_stream
    • 工具:
    • record_wakeword.py: Mac 端录制唤醒词模板(从 UDP 流)
    • record_wakeword_board.py: 板子端录制(Python 3.5 兼容)
    • wakeword_service.py: Mac 端唤醒词检测服务
    • 配置项(config.json):
    • wakeword_remote.sensitivity: 唤醒阈值(0.75)
    • wakeword_remote.cooldown_seconds: 冷却时间(15秒)
    • wakeword_remote.mac_ip: Mac IP 地址
    • wakeword_remote.listen_port: UDP 监听端口(9900)
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • feat: 恢复录音/ASR流程
  • fix: ASR失败时静默结束,避免播放提示音造成死循环
    • speech quality error (err_no=3301) 视为用户没有说话,
    • 不再播放我没听清,直接静默结束本轮等待下次唤醒。
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • feat: 板子部署适配 + Hermes集成方案
    • Python 3.5 兼容:f-string改format(),re.split零宽断言改捕获组
    • ES8388声卡:ffmpeg转48000Hz立体声,避免噪音
    • main.py:brain配置支持deepseek/hermes切换,UTF-8编码修复
    • config.example.json:新增brain配置段
    • KERNEL4.1.15.md:记录SSH、运行命令、Python3.5兼容、ES8388声卡注意事项
    • HERMES_INTEGRATION.md:Hermes Agent集成方案文档
    • proxy_server.py:修复hostname解析失败
  • fix: 唤醒词改为在吗在吗 + 通知板子绕过代理

GitHub 提交日报 · 2026-06-20

自动汇总 2026-06-20 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

  • feat: 实现 HTTP 反向代理方案,解决板子 TLS 支持问题
    • 主要功能

    • 添加 Flask HTTP 反向代理服务器 (proxy_server.py)
    • 支持 DeepSeek API 代理 (端口 18080)
    • 支持百度语音 API 代理 (端口 18081)
    • 代码修改

    • deepseek_client.py: 修改为使用 HTTP 代理
    • patch_baidu.py: 更新代理地址为 192.168.31.2
    • audio_utils.py: 增强录音功能,自动检测物理麦克风设备
    • 测试文件

    • test_proxy.py: 基础代理连接测试
    • test_full_proxy.py: 完整功能测试 (DeepSeek + 百度 TTS)
    • PROXY_TEST_RESULTS.md: 详细测试结果文档
    • 配置文件

    • .arts/settings.json: 新增配置文件
    • nginx.conf.new: Nginx 配置备选方案
    • deepseek_client.py.backup: 原始代码备份
    • 测试结果

    • ✅ DeepSeek API 通过代理测试成功
    • ✅ 百度 TTS 通过代理测试成功
    • ✅ 代理服务器在 Mac 上稳定运行 (192.168.31.2)
    • 解决的问题

    • 板子 Linux 4.1.15 内核 TLS 支持不足
    • 无需更换内核或 rootfs 即可使用 HTTPS API
    • 便于调试和监控 API 调用
  • feat: add HTTP proxy quickstart guide for testing without rootfs swap
  • docs: add complete deployment guide for Linux 4.1.15 board
  • docs: add memory usage analysis for 512MB i.MX6ULL board
  • docs: 添加开发板 HTTP 反向代理部署指南
    • 新增文档

    • BOARD_PROXY_DEPLOYMENT.md - 完整的开发板部署指南
    • 文档内容

    • 架构说明和工作原理
    • 技术可行性分析
    • 网络要求和配置
    • 详细的部署步骤
    • 代码配置说明
    • 故障排除指南
    • 性能考虑和优化
    • 监控和日志方案
    • 备份方案建议
    • 核心信息

    • ✅ 开发板完全支持 HTTP 反向代理
    • ✅ 板子只需 HTTP,无需 TLS 支持
    • ✅ 代码已配置指向代理服务器
    • ✅ 详细的部署和测试步骤
    • 适用场景

    • Linux 内核较旧,TLS 支持有限
    • 需要快速部署,无需更换内核或 rootfs
    • 有稳定的局域网环境
    • 有可用的 PC/Mac 作为代理服务器
  • docs(MAC.md): 同步文档,macOS录音方案从sox rec改为PyAudio
    • MAC.md: 安装步骤、平台差异表、FAQ、参考资料全部更新
    • audio_utils.py: 文件头注释和测试打印信息同步更新
  • feat(audio): macOS录音改用PyAudio替代sox,临时写死输入文本便于调试
    • audio_utils.py: 新增 _record_audio_pyaudio(),macOS 不再依赖 sox
    • main.py: 临时跳过录音和ASR,写死输入文本用于无麦克风环境调试
  • Initial commit: i.MX6ULL + DeepSeek 智能音箱项目
    • 主开发指南 README.md(8章+附录)
    • 联网指南 NETWORK.md
    • Linux 4.1.15 老内核 TLS 适配 KERNEL4.1.15.md
    • 唤醒词部署 WAKEWORD.md
    • Mac mini 跨平台运行指南 MAC.md
    • 跨平台 Python 代码(main/audio_utils/deepseek_client/wakeword_trigger)

GitHub 提交日报 · 2026-06-12

自动汇总 2026-06-12 当天 hummingg 在 GitHub 上的提交。

hummingg/ai-coding

GitHub 提交日报 · 2026-06-07

自动汇总 2026-06-07 当天 hummingg 在 GitHub 上的提交。

hummingg/ai-coding

GitHub 提交日报 · 2026-06-06

自动汇总 2026-06-06 当天 hummingg 在 GitHub 上的提交。

hummingg/ai-coding

  • fix(billiards): 修复计分器输入框padding冲突导致显示异常
    • 删除页面级 .form-input 的 padding 覆盖,复用全局样式
    • 全局 form-input 有 height:88rpx + 水平padding,页面级上下padding会撑开
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • fix(billiards): 移除冗余placeholder + 修复三人模式比分显示 + UI优化
    • bscorer: 移除有label的输入框的placeholder
    • bscore/brecords: 修复三人模式比分不显示第三人分数
    • bscore: UI重构 — 顶部面板+胜率圆环+左侧色条卡片+绿色悬浮按钮
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • feat(billiards): 迁移台球记录工具 — 我是球员功能
    • 将 toolbox 项目中的台球计分记录工具迁移到撞球派「我是球员」功能:
    • 新增 4 个页面:个人球房(bscore)、计分器(bscorer)、比赛记录(brecords)、数据统计(bstats)
    • 新增工具层:billiard-storage.js(本地数据管理)、billiard-util.js(工具函数)
    • 支持 4 种球类(中式八球/六球/九球/斯诺克)、三人模式、计时器
    • 适配撞球派设计系统(CSS变量、btn/card/badge组件)
    • 修复已知问题:移除不存在的detail页跳转、saveGame改用navigateBack
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
  • fix(billiards): 修复选择器限制 + 统一弹窗交互 + UI优化
    • 修复控制台球桌选择点击无反应(catchtap=”” → bindtap)
    • 统一使用自定义弹窗替代 wx.showActionSheet(无 6 个选项限制)
    • 控制台:待排产对阵选择球桌
    • 首页:选择要进入的球房
    • 球房管理:切换球房
    • UI 优化:
    • 首页”我是球员”按钮样式统一为 btn-primary
    • 移除控制台球桌选择区域上方多余边框
    • 测试文件整理:移动 7 个测试文件到 tests/ 目录
    • Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com