diff --git a/README.md b/README.md index 15f1e3f..2a364e0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,11 @@ ## 设备固件 -目前尚未发布 ESP32 固件;后续按设备型号和固件版本存放,并在 [设备索引](device/README.md) 中添加下载和烧录说明。 +| 设备型号 | 最新固件 | 下载与说明 | +| --- | --- | --- | +| AGM-C3(ESP32-C3,4 MB Flash) | v1.4 | [烧录包、应用固件与安装说明](device/AGM-C3/v1.4/README.md) | + +完整设备版本列表见 [设备索引](device/README.md)。服务端与设备固件分别维护版本号。 ## 目录约定 diff --git a/device/AGM-C3/README.md b/device/AGM-C3/README.md new file mode 100644 index 0000000..4d82fdb --- /dev/null +++ b/device/AGM-C3/README.md @@ -0,0 +1,13 @@ +# AGM-C3 固件 + +型号由固件源码中的 `AM_PRODUCT_MODEL` 定义,HELLO 和 INFO 均报告 `AGM-C3`。 + +硬件:ESP32-C3、4 MB Flash、CH340 UART0、240×240 GC9A01 TFT 和 16 颗 RGB LED 灯环。当前构建要求芯片修订版本至少为 v0.3。 + +| 固件版本 | 发布日期 | AT 协议 | 发布说明 | +| --- | --- | --- | --- | +| v1.4 | 2026-10-11 | 2 | [下载与烧录](v1.4/README.md) | + +v1.4 增加 Codex 配额与上下文轮换显示,推荐搭配 [AgentMate 服务端 v0.3.3](../../service/v0.3.3/README.md)。 + +[设备型号索引](../README.md) · [仓库首页](../../README.md) diff --git a/device/AGM-C3/v1.4/BUILDINFO.txt b/device/AGM-C3/v1.4/BUILDINFO.txt new file mode 100644 index 0000000..5cfbba5 --- /dev/null +++ b/device/AGM-C3/v1.4/BUILDINFO.txt @@ -0,0 +1,22 @@ +model=AGM-C3 +firmware_version=1.4 +at_software_version=v1.4 +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=1464544 +build_date=2026-10-11 +source_repository=https://git.eehut.com/liuchuansen/agentmate_esp32 +source_commit=eaf25e125e30b95789eaabe2cbb35a960209ae6a +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; host UI/LED tests +hardware_flash_test=not_performed diff --git a/device/AGM-C3/v1.4/CHANGELOG.md b/device/AGM-C3/v1.4/CHANGELOG.md new file mode 100644 index 0000000..6892dd9 --- /dev/null +++ b/device/AGM-C3/v1.4/CHANGELOG.md @@ -0,0 +1,39 @@ +# 更新日志 + +## 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 会话的上下文用量显示保持不变。 diff --git a/device/AGM-C3/v1.4/README.md b/device/AGM-C3/v1.4/README.md new file mode 100644 index 0000000..a6033a4 --- /dev/null +++ b/device/AGM-C3/v1.4/README.md @@ -0,0 +1,67 @@ +# AGM-C3 固件 v1.4 + +发布日期:2026-10-11。设备型号:`AGM-C3`;芯片:ESP32-C3,最低修订版本 v0.3;Flash:4 MB,DIO / 80 MHz;AT 协议:`2`。 + +本版本支持 Codex 会话的上下文占用读数,并每 5 秒轮换配额与上下文显示。推荐搭配 AgentMate 服务端 v0.3.3;具体变更见包内或版本目录中的 `CHANGELOG.md`。 + +## 下载 + +- [完整烧录包 agentmate-AGM-C3-v1.4.zip](https://git.eehut.com/agentmate/agentmate_release/raw/branch/main/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.zip):包含应用、bootloader、分区表、OTA 初始化数据、字库和烧录说明。 +- [单独应用固件 agentmate-AGM-C3-v1.4.bin](https://git.eehut.com/agentmate/agentmate_release/raw/branch/main/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.bin):仅供已有兼容 bootloader 和分区布局的设备更新应用,不能直接用于空白芯片。 +- [下载校验清单 SHA256SUMS](https://git.eehut.com/agentmate/agentmate_release/raw/branch/main/device/AGM-C3/v1.4/SHA256SUMS)。 + +下载后用 `shasum -a 256 <文件>`、`sha256sum <文件>` 或 PowerShell `Get-FileHash <文件> -Algorithm SHA256` 与清单中的对应行核对。解压后还可使用包内 `SHA256SUMS` 校验全部烧录文件。 + +## 烧录准备 + +在 AgentMate 面板安全移除当前设备,等待显示“已移除,可烧录”,关闭其他串口工具。电脑需要 Python 和 esptool;以下命令使用本次构建配套的 esptool 4.10.0: + +```sh +python -m pip install esptool==4.10.0 +``` + +将命令中的 `PORT` 替换为实际端口,例如 macOS `/dev/cu.usbserialXXXX`、Linux `/dev/ttyUSB0` 或 Windows `COM3`。 + +## 首次烧录或完整安装 + +解压 ZIP,进入 `agentmate-AGM-C3-v1.4` 目录,执行: + +```sh +python -m esptool --chip esp32c3 --port PORT --baud 460800 write_flash @flash_args +``` + +`flash_args` 使用下列文件及地址,来自本次构建的分区表和烧录配置: + +| 文件 | 烧录地址 | 用途 | +| --- | --- | --- | +| bootloader.bin | 0x000000 | 引导程序 | +| partition-table.bin | 0x008000 | 分区表 | +| ota_data_initial.bin | 0x00F000 | 选择初始 OTA 应用槽 | +| agentmate_esp32.bin | 0x020000 | v1.4 应用,写入 ota_0 | +| hzk16.bin | 0x380000 | 16×16 汉字库 | + +以上命令保留 `0x9000` 开始的 NVS 分区,不包含清空整片 Flash 操作;完整安装会重置 OTA 槽选择到 ota_0。不要将这份固件用于其他设备型号。 + +## 已有设备仅更新应用 + +仅适用于相同分区布局、当前从 ota_0(0x20000)启动的 AGM-C3。使用 ZIP 内的 `agentmate_esp32.bin`: + +```sh +python -m esptool --chip esp32c3 --port PORT --baud 460800 write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x20000 agentmate_esp32.bin +``` + +若仅下载单独应用文件,将最后的文件名替换为 `agentmate-AGM-C3-v1.4.bin`。分区布局或当前 OTA 槽不确定时,使用完整烧录包;不清空 NVS 即可保留设备 ID、模式及亮度等设置。 + +## 首次启动与恢复连接 + +新 NVS 首次启动进入 `FACTORY` 产测模式。产测完成后,通过 UART0(115200、8N1、CRLF)发送 `AT+MODE=NORMAL`;设备保存模式并重启。`AT+INFO?` 应报告型号 `AGM-C3`、软件版本 `v1.4` 和协议 `2`。 + +关闭烧录或串口工具后,在 AgentMate 面板点击“重新连接”,或拔出后再插入设备。 + +## 构建来源与验证 + +源码提交:`eaf25e125e30b95789eaabe2cbb35a960209ae6a`;components 子模块:`0d64650af522f1871cf2d96133d9ed78711d8234`。固件版本来自源码根目录 `CMakeLists.txt` 的 `project(... VERSION 1.4)`。 + +使用 ESP-IDF `v5.5.1-789-g8d036f2edc`,从受版本控制的 `sdkconfig.defaults` 生成独立发布配置。包内 `BUILDINFO.txt`、`sdkconfig` 和 `partitions.csv` 记录本次构建信息与 Flash 布局。 + +已通过 ESP-IDF 构建、镜像校验、字库 CRC 校验及主机 UI/LED 回归测试。本次没有执行真机烧录或串口验收。 diff --git a/device/AGM-C3/v1.4/SHA256SUMS b/device/AGM-C3/v1.4/SHA256SUMS new file mode 100644 index 0000000..350975d --- /dev/null +++ b/device/AGM-C3/v1.4/SHA256SUMS @@ -0,0 +1,2 @@ +5be3a7196b36d32354d38b15ba3598cd7e6b4cf940063a840f6af81da500062f agentmate-AGM-C3-v1.4.bin +caac121d71eb8458dbcbfa64f6af50e75e839e03b284fe018ef94ee3e81559b4 agentmate-AGM-C3-v1.4.zip diff --git a/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.bin b/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.bin new file mode 100644 index 0000000..5f271ed Binary files /dev/null and b/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.bin differ diff --git a/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.zip b/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.zip new file mode 100644 index 0000000..fceb3ef Binary files /dev/null and b/device/AGM-C3/v1.4/agentmate-AGM-C3-v1.4.zip differ diff --git a/device/README.md b/device/README.md index 19c7605..53ceb41 100644 --- a/device/README.md +++ b/device/README.md @@ -1,8 +1,10 @@ # ESP32 设备固件索引 -目前尚未发布设备固件。本次发布仅包含 [AgentMate 服务端](../service/README.md)。 +| 设备型号 | 芯片与 Flash | 最新版本 | 固件索引 | +| --- | --- | --- | --- | +| AGM-C3 | ESP32-C3,4 MB | v1.4 | [版本列表](AGM-C3/README.md) | -后续固件按 `device/<设备型号>/v<版本>/` 保存。每次发布在此添加设备型号、固件版本、下载链接及对应服务端兼容信息。 +固件按 `device/<设备型号>/v<版本>/` 保存。每次发布同步更新设备型号索引、版本索引和仓库首页。 每个固件版本目录应包含固件产物、`SHA256SUMS` 和 `README.md`;烧录说明应标明硬件型号、Flash 布局、烧录地址和命令,避免不同设备的固件混用。