项目档案
这里不是“作品墙”,而是一份项目索引。每个条目说明要解决的问题、已经形成的交付物、当前状态和仍未完成的部分。旧项目根据代码提交、实验记录和可确认的产物补档;没有证据的数据不会被补写成成绩。
设备调试台
状态:持续整理
方向:串口采集、时间线、过滤、诊断导出
最初目标是捕获设备偶发重启前的完整日志。工具把接收时间、设备时间、通道、原始字节和人工操作标记合并到一个会话中。采集线程只负责读取与入队,界面卡顿不会直接阻塞串口。
现有记录:
- 《从串口日志到可视化:第一版设备调试台》
- 日志批量写入与滚动保存说明
- 错误编码和原始字节保留策略
下一步:统一蓝牙会话与串口会话格式,增加脱敏后的诊断包导出,并为长时间运行补充丢帧统计。
BLE 设备与蓝牙上位机
状态:原型后持续产品化
方向:连接参数、状态机、断线恢复、设备升级
设备端关注连接间隔、通知背压、任务阻塞和供电;桌面端关注扫描、连接、握手、同步、升级与恢复的完整生命周期。“链路已连接”与“设备可用”被明确分开,所有异步结果通过操作编号避免迟到回调覆盖新会话。
现有记录:
- 《蓝牙连接为什么总在最需要时断开》
- 《蓝牙上位机的状态机设计:连接只是第一步》
- 弱信号、高吞吐和长时间运行验证矩阵
下一步:完善升级中断恢复、能力协商和多设备列表稳定性测试。
ESP32 组件化固件
状态:维护中
方向:板级抽象、服务边界、构建配置、主机侧测试
工程按变化原因拆分为板级、传感器、BLE 协议、显示、存储和应用组装。公共接口保持窄小,具体任务和队列不对外泄漏。构建期能力、板级常量和用户运行配置分别管理。
现有记录:
- 《ESP32 项目目录如何长大而不失控》
- 《把一次难复现故障变成可重复实验》
- 《ST7789 屏幕初始化踩坑记录》
下一步:补齐协议编解码的主机测试、板型配置检查以及固件尺寸趋势报告。
Python 桌面发布链
状态:可用,继续减小环境差异
方向:可复现构建、启动性能、错误诊断、升级迁移
发布流程以干净虚拟环境为起点,spec 文件、依赖锁、版本资源和校验清单进入版本控制。正式交付优先使用目录模式与安装包,便携测试版才使用单文件模式。启动过程按阶段测量,重量级模块延迟导入。
现有记录:
- 《PyInstaller 发布包:体积、启动速度与可诊断性》
- 干净虚拟机安装清单
- 崩溃报告和配置迁移约定
下一步:建立自动化冒烟测试,覆盖无蓝牙、无网络、非管理员和升级降级场景。
LLM API 自动化工具链
状态:实验中
方向:结构化输出、任务队列、错误分类、幂等与回滚
工具链把模型调用视为一个不确定的外部服务。每项输入拥有稳定标识,请求遵守速率限制与重试预算,输出经过 JSON Schema 和业务规则双重校验。文件或数据库写入前保存原状态,任务中断后从检查点恢复。
现有记录:
- 《让 AI 自动化脚本可重试、可验证、可回滚》
- API 错误分类与指数退避约定
- 结构化输出验证与失败样本清单
下一步:为批处理增加幂等测试、配额观测和故障注入,并在独立副本上持续验证回滚。
自托管站点与恢复链
状态:运行中
方向:Halo、PostgreSQL、Nginx、HTTPS、备份恢复
站点曾出现两套 Halo 实例并存、代理指向空实例的情况。恢复过程先识别真实数据库和附件目录,再在内部验证后切换 upstream。域名、证书与 Halo 外部地址随后统一为 HTTPS。
现有记录:
- 《自托管服务清单与备份策略:恢复才是验收》
- 《恢复 Halo 博客:一次双实例事故复盘》
- 《从 HTTP 到 HTTPS:证书部署与代理访问排查记录》
下一步:执行自动续期检查、数据库逻辑备份、附件校验和隔离环境恢复演练。
档案状态说明
- 实验中:方向仍在验证,接口和结论可能变化;
- 维护中:核心路径稳定,继续补测试与文档;
- 可用:完成主要验收,但不表示停止维护;
- 归档:保留历史参考,不再作为当前推荐方案。
项目档案会随验证结果更新。文章保留过程,知识库保存当前步骤,状态变化会写明日期与原因。
评论区