release: 发布服务 v0.6.0 与 AGM-C3 v2.1 固件

This commit is contained in:
2026-10-13 08:44:29 +08:00
parent ad1bc7805d
commit ee86bd4bf7
20 changed files with 366 additions and 12 deletions
+2 -1
View File
@@ -6,8 +6,9 @@
| 固件版本 | 发布日期 | AT 协议 | 发布说明 |
| --- | --- | --- | --- |
| v2.1 | 2026-10-13 | 2 | [下载与烧录](v2.1/README.md) |
| v1.4 | 2026-10-11 | 2 | [下载与烧录](v1.4/README.md) |
v1.4 增加 Codex 配额与上下文轮换显示,推荐搭配 [AgentMate 服务端 v0.3.3](../../service/v0.3.3/README.md)。
v2.1 提供新版界面、待机配色、串口 OTA 和启动回滚,推荐搭配 [AgentMate 服务端 v0.6.0](../../service/v0.6.0/README.md)。旧设备请先安装完整烧录包中的回滚 bootloader。
[设备型号索引](../README.md) · [仓库首页](../../README.md)
+24
View File
@@ -0,0 +1,24 @@
model=AGM-C3
firmware_version=2.1
at_software_version=v2.1
protocol_version=2
target=esp32c3
chip_revision_min=0.3
flash_size=4MB
flash_mode=dio
flash_frequency=80m
app_offset=0x20000
app_partition_size=0x1A0000
app_size_bytes=652640
bootloader_app_rollback_enabled=1
ota_test_fail_boot=0
build_date=2026-10-13
source_repository=https://git.eehut.com/liuchuansen/agentmate_esp32
source_commit=c859021f029a1f2595b091fdc2b89892d28729f5
components_commit=0d64650af522f1871cf2d96133d9ed78711d8234
esp_idf=v5.5.1-789-g8d036f2edc
esptool=4.10.0
compiler=riscv32-esp-elf-gcc (crosstool-NG esp-14.2.0_20251107) 14.2.0
configuration=sdkconfig.defaults (fresh SDKCONFIG)
verification=idf.py build; image checksum/hash; font CRC; ASan/UBSan UI/LED/XMODEM/OTA host tests
hardware_flash_test=not_performed
+81
View File
@@ -0,0 +1,81 @@
# 更新日志
## 2.1 — 2026-10-13
### 串口升级
- 新增备用 OTA 槽升级流程:XMODEM1K/CRC 传输、整文件 SHA-256、长度与 AgentMate 应用身份验证,接收成功后需显式 COMMIT 才切换启动槽。
- 升级页展示接收、验证、完成或失败状态;支持传输取消、原样重传、超时与失败清理,拒绝固件更新期间的普通业务命令。
- 发布 bootloader 启用应用回滚;新镜像首次启动完成硬件、UART、UI/灯环检查并持续健康 10 秒后确认,30 秒未通过则回滚。发布镜像关闭强制自检失败测试选项。
### 待机配色
- 默认采用暖琥珀 AMBER,支持 WHITE、MINT、CODEX 配色与查询,并保存到 NVS。
- 设置成功后立即预览时间待机页 5 秒;等待输入或批准的会话优先显示,重复设置不重复写入 NVS。
### 兼容性
- 软件版本 v2.1,AT 协议仍为 2,引脚和 Flash 分区布局不变。推荐搭配服务 v0.6.0。
- 旧设备必须先安装本版完整烧录包中的回滚 bootloader;单独更新应用无法更新 bootloader。完整烧录保留 NVS,但重置 OTA 槽选择到 ota_0。
- 本次通过构建与主机自动测试,没有执行真机烧录或实际串口 OTA 验收。
## 2.0 — 2026-10-12
### 界面改版
- 按 `docs/design/session_page_five_rows.html` v6.2 实现当前支持的全部页面:启动、连接、Session、时间日期待机、Codex 用量、设备信息和产测。
- 默认屏幕背景统一纯黑;连接顶栏使用更明显的弧形下边界,Session 头部使用 agent 代表色描边和目录文字。
- Session 图标放大并直接融入黑底,主状态与明细合并布局;状态区保留黑底和彩色动态边框,等待输入与批准沿用原有动效。
- 明细按工作时长 10 秒、有效 agent 用量 3 秒、有效上下文 3 秒轮换,无效项跳过。单个用量窗口保持原宽度;配额使用紫色面板,上下文使用蓝色面板。
- 上下文增加 CTX 标题,token 数值右对齐并支持 K/M 单位和三位有效数字;已用与总量使用等高、深浅不同的面板。
- 待机时间采用 52 px 方正数字,日期放大;Codex 待机用量改为卡片,保留百分比、进度条和重置时间,支持双窗口与单窗口。
- 产测页面采用统一中文布局,保留原有颜色、字体、背光、LED 测试和自动测试流程。
### 资源与刷新
- ESP32-C3 目录仅显示可打印 ASCII,其他 Unicode 字符逐个替换为 `?`;协议保存和回读的原始 UTF-8 不变。
- 移除完整中文目录字库,仅保留固定文案字形;数字按字形绘制,继续使用局部刷新与共享小块缓冲。
- 增加弧形顶栏缓存、单双用量切换和产测返回的重绘检查,保持状态边框、冒号闪烁与明细轮换独立更新。
### 验证与兼容性
- 固件构建、主机 ASan/UBSan 渲染回归及真实设备 UI/产测串口检查通过;屏幕颜色与观感仍需目视验收。
- 软件版本升级为 `v2.0`,主机渲染测试从构建配置读取版本;AT 协议仍为 `2`,引脚、分区及 NVS 格式不变。配对认证仍为二期范围。
## 1.4 — 2026-10-09
### 新增
- Codex 会话支持接收和显示上下文已用百分比、已用 token 数和窗口 token 数。
- 会话页图标下方每 5 秒轮换配额组(五小时/七天剩余用量)与上下文组;未知上下文显示灰色 `--`。
- 增加上下文轮换边界、会话切换、局部重绘以及真机 context 写入/回读与非法字段测试。
### 改进
- 普通上下文和配额刷新不重置轮换计时,切换会话、状态组或连接代际后从配额组开始。
- Codex 会话页的五小时用量整体下移 3 px,两组用量数字由 15 px 放大为 17 px。
### 兼容性
- AT 协议保持为 `2`,Codex context 复用现有四字段;服务端与固件需同步升级。
- Codex 四字段全空保留为不支持上下文语义,此时仅显示配额;Claude 显示保持不变。
## 1.3 — 2026-10-06
### 新增
- Codex 会话页在图标下方显示五小时和一周的剩余用量,上下固定排列,不显示窗口标题。
- 每组使用整数数字和下方细进度条;数字保持原有大小,进度条从左到右显示剩余比例。
- 数字和进度条按显示值使用绿色(≥50)、橙色(20–49)或红色(0–19);未知用量显示 `--` 和空轨道。
- 增加主机像素回归与真机串口测试,覆盖用量舍入、颜色边界、窗口选择、原子提交、清空及局部重绘。
### 改进
- 会话页与独立用量页共用 Codex 配额选择规则,用量刷新不重置会话轮播或页面淡入。
- 主机标识与会话短名之间统一使用中点,例如 `LOCAL·S1`。
- 固件版本更新为 `v1.3`,同步更新主机测试和 AT 指令文档中的版本信息。
### 兼容性
- AT 协议版本保持为 `2`,复用现有 `USAGE` 数据,无需扩展电脑端协议。
- Claude 会话的上下文用量显示保持不变。
+61
View File
@@ -0,0 +1,61 @@
# AGM-C3 固件 v2.1
发布日期:2026-10-13。设备型号:`AGM-C3`;芯片:ESP32-C3,最低修订版本 v0.3;Flash:4 MB,DIO / 80 MHz;AT 协议:`2`。
本版本包含新版页面、四种时间待机配色、串口 OTA 和启动自检回滚。推荐搭配 [AgentMate 服务端 v0.6.0](../../../service/v0.6.0/README.md),详细变更见 [CHANGELOG.md](CHANGELOG.md)。
## 下载
- [完整烧录包 agentmate-AGM-C3-v2.1.zip](https://git.eehut.com/agentmate/agentmate_release/raw/branch/main/device/AGM-C3/v2.1/agentmate-AGM-C3-v2.1.zip):包含应用、支持回滚的 bootloader、分区表、OTA 初始化数据、字库、构建信息和烧录说明。
- [单独应用固件 agentmate-AGM-C3-v2.1.bin](https://git.eehut.com/agentmate/agentmate_release/raw/branch/main/device/AGM-C3/v2.1/agentmate-AGM-C3-v2.1.bin):仅供已有兼容分区和回滚 bootloader 的设备通过面板串口 OTA 更新,不适用于空白芯片。
- [SHA256SUMS](SHA256SUMS) · [BUILDINFO.txt](BUILDINFO.txt)。
下载后使用 `shasum -a 256 <文件>`、`sha256sum <文件>` 或 PowerShell `Get-FileHash <文件> -Algorithm SHA256` 与清单核对;ZIP 内另有全部烧录文件的校验清单。
## 首次安装与旧版设备升级
v1.4 等旧设备需先使用完整烧录包安装支持回滚的 bootloader。仅通过 OTA 上传 v2.1 应用不能替换 bootloader。烧录前在 AgentMate 面板安全移除设备,等待“已移除,可烧录”,并关闭其他串口工具。
电脑需要 Python 和本次构建配套的 esptool 4.10.0:
```sh
python -m pip install esptool==4.10.0
```
解压 ZIP,进入 `agentmate-AGM-C3-v2.1` 目录,将 `PORT` 替换为实际串口(macOS `/dev/cu.usbserialXXXX`、Linux `/dev/ttyUSB0` 或 Windows `COM3`),执行:
```sh
python -m esptool --chip esp32c3 --port PORT --baud 460800 write_flash @flash_args
```
| 文件 | 烧录地址 | 用途 |
| --- | --- | --- |
| bootloader.bin | 0x000000 | 启用应用回滚的引导程序 |
| partition-table.bin | 0x008000 | 分区表 |
| ota_data_initial.bin | 0x00F000 | 重置初始启动槽为 ota_0 |
| agentmate_esp32.bin | 0x020000 | v2.1 应用 |
| hzk16.bin | 0x380000 | 16×16 字库 |
此命令不清空整片 Flash,保留 `0x9000` 开始的 NVS 配置。完整烧录会重置 OTA 槽选择到 ota_0。仅适用于 AGM-C3,不能混用其他设备型号。
## 已有 OTA 基础固件的设备
若已经安装支持串口 OTA 和应用回滚的基础固件,可在服务 v0.6.0 的设备面板选择本地应用 `.bin`,或检查官方固件更新。服务先验证文件和目标版本,通过备用槽升级,重启后等待自检再确认运行版本。在线升级只允许较新稳定版;同版本重刷或降级使用本地文件升级。
应用 OTA 保留 NVS、字库、分区表和 bootloader。上传结束只表示镜像接收成功;提交后设备重启,新镜像首次启动自检失败会回滚。服务会等待自检窗口后重新发现并检查版本。首次安装本版后,当前最新版本为 v2.1,检查更新不会再次提供同版本在线升级。
不确定分区布局、bootloader 或当前启动槽时,请使用完整烧录包。不要直接把应用写入固定槽地址作为通用升级方法。
## 首次启动与恢复连接
新 NVS 首次启动进入 `FACTORY` 产测模式;产测完成后,通过 UART0(115200、8N1、CRLF)发送 `AT+MODE=NORMAL`,设备保存模式并重启。`AT+INFO?` 应报告型号 `AGM-C3`、软件版本 `v2.1` 和协议 `2`。
关闭烧录工具后,在面板点击“重新连接”,或拔出后重新插入设备。原有设备 ID、模式、亮度和主题保存在 NVS。
## 构建来源与验证
源码提交:[c859021f029a1f2595b091fdc2b89892d28729f5](https://git.eehut.com/liuchuansen/agentmate_esp32/commit/c859021f029a1f2595b091fdc2b89892d28729f5);components 子模块:`0d64650af522f1871cf2d96133d9ed78711d8234`。版本由源码 `CMakeLists.txt` 的 `project(... VERSION 2.1)` 定义。
使用 ESP-IDF `v5.5.1-789-g8d036f2edc`,由受版本控制的 `sdkconfig.defaults` 生成独立发布配置。包内 `sdkconfig`、`partitions.csv` 和 `BUILDINFO.txt` 记录配置与工具链;`CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y`,强制启动自检失败测试关闭,UART0 不输出普通控制台日志。
已通过 ESP-IDF 构建、应用镜像校验、字库 CRC、ASan/UBSan UI/LED 与 XMODEM/OTA 生命周期主机测试。本次没有执行真机烧录或实际串口升级验收。
+2
View File
@@ -0,0 +1,2 @@
a723b627030760f431c2797b6430ced3d937d0246b90c53b897ba519dd2f915e agentmate-AGM-C3-v2.1.bin
704f95f53f5dfe458545a45cbc45bbf183270d11b28237d637de964da10ba961 agentmate-AGM-C3-v2.1.zip
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -2,7 +2,7 @@
| 设备型号 | 芯片与 Flash | 最新版本 | 固件索引 |
| --- | --- | --- | --- |
| AGM-C3 | ESP32-C3,4 MB | v1.4 | [版本列表](AGM-C3/README.md) |
| AGM-C3 | ESP32-C3,4 MB | v2.1 | [版本列表](AGM-C3/README.md) |
固件按 `device/<设备型号>/v<版本>/` 保存。每次发布同步更新设备型号索引、版本索引和仓库首页。