release: 发布服务 v0.7.3 全平台安装包

包含串口扫描选择、授权状态与更新检查修复,以及此前未单独发布的 Windows 蓝牙电量采集修复。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-11-08 11:55:32 +08:00
co-authored by Cursor
parent 443d1db68a
commit 6de9272019
12 changed files with 217 additions and 9 deletions
+9
View File
@@ -0,0 +1,9 @@
version=0.7.3
source_repository=https://git.eehut.com/liuchuansen/agentmate_service
source_commit=6061ee2c94549b88a7d9c6dc0f2136b85d1ad892
build_date=2026-11-07
build_script=release/build.sh
targets=darwin/arm64 darwin/amd64 linux/amd64 linux/arm64 windows/amd64 windows/arm64
cgo_enabled=darwin:1 linux:0 windows:0
go version go1.27.1 darwin/arm64
verification=TMPDIR=/tmp go test ./...; shasum -a 256 -c SHA256SUMS; archive architectures
+116
View File
@@ -0,0 +1,116 @@
# Changelog
本文件记录 AgentMate 的用户可见变更。版本号遵循语义化版本,源码默认值见 `internal/version.Version`。
## Unreleased
## [0.7.3] - 2026-11-07
### Added
- 面板增加串口管理,列出系统串口并保存允许扫描的选择;默认不探测任何串口,取消选择会停止通信并释放连接,避免影响其他串口。
### Fixed
- 修复 Claude Code 手动拒绝授权后设备长时间保持“等待授权”提示的问题:使用工具调用 ID 识别后续新调用并恢复工作状态;对已关联的待授权调用继续保持等待,缺少调用 ID 时保持保守行为。
- 将服务更新检查结果与历史升级记录分开显示,避免旧的升级失败覆盖本次检查结果。
- 将服务检查更新的总超时延长到 45 秒、TLS 握手超时延长到 20 秒,避免更新源响应较慢时检查失败。
## [0.7.2] - 2026-10-26
### Fixed
- 修复 Windows 蓝牙键鼠电量始终采集失败(日志报 `read Windows Bluetooth devices (PowerShell/WinRT required): exit status 1`):改为不再依赖会挂起的 WinRT `DeviceInformation.FindAllAsync` AEP 查询,改用可靠的设备接口枚举配合 `BluetoothLEDevice.FromIdAsync` 判断连接状态,并通过标准 GATT 电量服务或 PnP 缓存属性读取电量。
- 采集脚本拆分为 WinRT 与 PnP 两个独立进程并发执行,避免同一进程内混用两套 API 导致互相拖慢数倍;整体采集耗时由超时失败降至约 13 秒,稳定处于 25 秒超时预算之内。
### Compatibility
- 设备身份改为按蓝牙地址计算,与此前基于 AEP 设备路径的身份不同;由于该功能在 0.7.1 中于 Windows 上从未成功采集过设备,实际上不存在需要迁移的已保存“显示到设备”选择。
## [0.7.1] - 2026-10-25
- 增加最多四台蓝牙键鼠“显示到设备”选择,私有配置持久化;接通 AGM-C3 v3.0 原子电量同步与旧固件能力兼容。
- 面板和设备使用 30%/60% 电量分级;采集失败、断开或过期不会向设备传递旧读数。
### Added
- 服务端面板“设备”页增加本机蓝牙键盘、鼠标电量:macOS 系统/HID/BLE 与 Logitech HID++ 查询,Linux BlueZ 系统总线,以及 Windows 系统/PnP 属性与 BLE 电量服务。
- 新增受面板认证保护的只读 `GET /v1/peripherals`;后台每分钟采集,显示未知电量、低电量、充电状态与采集失败后的过期提示,按设备身份区分同名外设。
### Compatibility
- 外设快照仅保存在内存中,仅展示服务所在电脑的数据,不同步到远程节点;可将最多四台选中外设同步到本节点 USB 设备,按可选 AT+BATTERY 能力兼容旧固件。电量可用性取决于外设、驱动与系统授权;macOS 原生补充采集需要 cgo。
## [0.5.1] - 2026-10-11
### Fixed
- 修复 macOS/Linux 自动升级在候选程序版本检查时报 `permission denied` 的问题:候选程序使用保留执行权限的私有保护,Unix 权限为 `0700`,Windows 继续使用当前用户与 SYSTEM 的 ACL。
- 增加完整升级准备流程的回归测试,实际执行解包后的候选程序并检查候选程序及独立 updater 的权限,避免仅验证下载或解包而漏掉执行失败。
### Compatibility
- 已运行的旧版升级器仍包含此权限缺陷,首次升级到修复版需要下载对应平台包并运行安装脚本;安装保留配置与 hooks,重启监控服务,不停止 Agent。
## [0.5.0] - 2026-10-11
### Added
- Web 面板增加密码登录,首次打开时弹窗设定 8~64 个字符的密码;首次设密仅允许本机访问,密码采用随机盐与 PBKDF2-SHA256 哈希存储。
- 设置页增加“外部访问”开关:默认监听 `127.0.0.1`,开启并重启后监听 `0.0.0.0`,保持端口不变;局域网用户登录后可查看会话、管理来源和本节点设备。
- 支持在网页请求重启服务,重新读取配置、释放连接并初始化运行时;适用于手动运行及系统管理的服务,保留当前登录并清空内存会话,不停止 Agent。
- 支持修改密码、退出登录、24 小时登录有效期和登录尝试限流;修改密码会注销其他浏览器,页面数据接口要求认证,写操作要求同源请求。
### Changed
- Web 面板调整为会话、来源、设备与设置四个页面,改进会话状态和来源筛选、上下文占用、任务结果详情及连接中断提示。
- 未设置密码时,即使配置了外部监听,也先退回同端口的本机监听;显式 `-listen` 参数优先于保存的配置,页面显示当前监听及是否需要重启。
- 保留独立的 Unix socket/Windows 回环 hook 接口;显式面板 HTTP hook 地址仅接受本机非浏览器客户端,无需面板密码。节点凭据导出和服务升级继续限制为本机操作。
### Compatibility
- 面板 HTTP 仍未加密,外部访问适用于可信局域网;节点订阅 HTTPS 和设备协议保持不变。
- 面板 API 客户端需先调用密码登录接口并携带登录 cookie;健康检查及私有 hook 投递不受影响。
## [0.4.0] - 2026-10-11
### Added
- 本机 Web 面板与 HTTP API 支持手动检查最新稳定版和服务升级,使用公开发布仓库、当前平台包与 SHA256 校验。
- 三平台通过独立用户管理任务执行升级,保留服务定义、配置及 hooks;启动失败时回退旧二进制,并通过持久化升级记录在重启后展示结果。
- 更新接口限制为本机同源,不提供预发布、降级、定时升级、远程节点或设备固件升级。
## [0.3.3] - 2026-10-11
### Fixed
- 修复 Codex resume 后会话状态无法恢复和投影到设备的问题;通过新 turn 与替代 CLI 进程确认恢复,并保留已结束 turn 的守卫,避免迟到事件重新打开旧工作。
- 解耦串口发现与设备历史:先检查串口,再通过 HELLO 验证设备,最后按设备 ID 更新历史,支持不同设备先后使用同一串口及同一设备更换串口。
- 修复历史设备误显示“识别中”和误操作旧串口的问题;安全移除只作用于当前已识别的连接,恢复后以实际接入的设备 ID 为准。
- 检测到串口拔出时中断对应连接;避免并发枚举的旧结果解除新建的串口暂停,保留烧录期间的串口释放保证。
## [0.3.2] - 2026-10-09
### Added
- 设备投影支持 Codex 上下文读数:已知时下发 token 数、窗口大小、已用百分比和采集时间,未知或读数失效时下发四个 `?`。
- 支持固件在会话页每 5 秒轮换五小时/七天配额与当前会话上下文。
- 增加 Codex 上下文更新、清除、revision 递增及无变化不重复发送的设备回归测试。
### Compatibility
- AT 协议保持为 `2`,使用现有 SESSION 字段;需与支持 Codex context 的新版固件同步升级。
## [0.3.1] - 2026-10-06
### Added
- 面板和节点配置支持会话空闲超时(`session_timeout`),默认 5 分钟,可在本机设置中调整。
- 设备卡片支持“安全移除”和“重新连接”:烧录前释放串口并暂停自动重连,完成后可恢复,不影响其他设备与会话监控。
- 设备列表增加 `released`、`ejecting` 状态,以及 `can_eject`、`can_reconnect` 操作能力字段。
### Fixed
- 修复 Codex 运行时等待状态投影:等待用户输入或授权时不再被普通 active/idle 观察误判为结束或重新开工。
- 改进 Codex 上下文占用读取,减少窗口大小未知或订阅失败时的错误展示。
- 修复 Windows 首次安装失败:停止计划任务不再通过 `powershell -Command` 内联脚本(命令行转义会破坏脚本),改为写入 `stop-tasks.ps1` 后以 `-File` 执行;没有旧任务时直接跳过。
+76
View File
@@ -0,0 +1,76 @@
# AgentMate 服务端 v0.7.3
发布日期:2026-11-07。
源码提交:[6061ee2c94549b88a7d9c6dc0f2136b85d1ad892](https://git.eehut.com/liuchuansen/agentmate_service/commit/6061ee2c94549b88a7d9c6dc0f2136b85d1ad892)。
本版本在面板增加串口管理。设备页列出系统串口,只扫描勾选并保存的端口;默认不探测任何串口。取消选择会停止通信并释放连接,避免占用其他程序正在使用的串口。升级后需要在面板中重新勾选 AgentMate 设备所在端口,服务才会探测和连接。
同时修复 Claude Code 手动拒绝授权后,设备长时间保持“等待授权”的问题。服务更新检查结果与历史升级记录分开显示;检查更新的总超时为 45 秒,TLS 握手超时为 20 秒。
已发布的上一版是 v0.7.1。本版本同时包含当时未单独发布的 Windows 蓝牙键鼠电量采集修复:不再依赖会挂起的 WinRT AEP 查询,改用设备接口枚举,并通过标准 GATT 电量服务或 PnP 缓存属性读取电量。Windows 上的设备身份改为按蓝牙地址计算。该功能在 v0.7.1 的 Windows 上从未成功采集过,没有需要迁移的已保存显示选择。
保留蓝牙电量显示、自定义 RGB 时钟配色等既有功能。服务升级不会自动升级设备固件。详细变更见 [CHANGELOG.md](CHANGELOG.md)。
## 下载
| 平台 | 架构 | 发布包 |
| --- | --- | --- |
| macOS | arm64 | [agentmate-v0.7.3-darwin-arm64.tar.gz](agentmate-v0.7.3-darwin-arm64.tar.gz) |
| macOS | amd64 | [agentmate-v0.7.3-darwin-amd64.tar.gz](agentmate-v0.7.3-darwin-amd64.tar.gz) |
| Linux | amd64 | [agentmate-v0.7.3-linux-amd64.tar.gz](agentmate-v0.7.3-linux-amd64.tar.gz) |
| Linux | arm64 | [agentmate-v0.7.3-linux-arm64.tar.gz](agentmate-v0.7.3-linux-arm64.tar.gz) |
| Windows | amd64 | [agentmate-v0.7.3-windows-amd64.zip](agentmate-v0.7.3-windows-amd64.zip) |
| Windows | arm64 | [agentmate-v0.7.3-windows-arm64.zip](agentmate-v0.7.3-windows-arm64.zip) |
校验清单:[SHA256SUMS](SHA256SUMS)。构建来源及工具链:[BUILDINFO.txt](BUILDINFO.txt)。
## 校验与安装
macOS/Linux 下载对应发布包和校验清单后,可校验该包;以下以 macOS arm64 为例:
```sh
shasum -a 256 agentmate-v0.7.3-darwin-arm64.tar.gz
# 将输出与 SHA256SUMS 中对应行比较。
tar -xzf agentmate-v0.7.3-darwin-arm64.tar.gz
cd agentmate-v0.7.3-darwin-arm64
./agentmate version
./install.sh
```
Linux 也可用 `sha256sum` 校验。Linux 安装方式相同,按系统和架构替换文件名。
Windows 解压对应 ZIP 后,在 PowerShell 中进入包目录运行:
```powershell
.\agentmate.exe version
.\install.ps1
```
Windows 可用 `Get-FileHash` 计算下载包的 SHA256,再与校验清单比较。
安装默认使用脚本旁的二进制;包内 `README.md` 提供对应平台的详细说明。安装后面板地址为 `http://127.0.0.1:8765/`。
## 访问与升级说明
- 安装或升级后刷新面板,首次使用会弹窗要求在服务所在电脑设置 8~64 个字符的密码;后续访问需要登录。
- 在“设置 → 访问与服务”开启“外部访问”,保存后点击“重启服务”,监听从默认 `127.0.0.1` 切换为 `0.0.0.0`,端口保持不变。其他电脑使用服务所在电脑的局域网 IP 访问。
- 网页重启重新加载配置、释放连接并初始化服务,清空内存会话,不停止 Agent;关闭外部访问后需要回到本机面板。
- 显式 `-listen` 启动参数优先,使用时页面开关不可编辑;未设密码时外部监听会先退回本机。
- 面板 HTTP 未加密,仅用于可信局域网。私有 hook 无需面板密码,节点订阅 HTTPS 与设备协议保持不变。
- 面板 API 调用需先登录并携带 cookie;节点接入信息导出与服务升级继续限制本机操作。
- 本版本支持在本机面板检查最新稳定版并升级服务,升级要求使用官方用户级安装。使用未提供检查更新功能的旧版本时,先下载对应平台包并运行安装脚本。
- 早于 v0.5.1 的升级器会把候选程序改为不可执行。从这些版本首次升级时,下载对应平台包并运行安装脚本;已有配置、凭据和 hooks 保留,监控短暂重启,Agent 本身继续运行。macOS/Linux 已配置 hooks 时运行 `./install.sh --skip-hooks`;Windows 运行 `.\install.ps1 -SkipHooks`。
## 构建
本版本使用源码提交中的 `release/build.sh`,构建 macOS、Linux、Windows 的 amd64/arm64 六种目标;macOS 启用 cgo,Linux/Windows 不启用 cgo。每份包包含安装脚本、平台 README、`BUILDINFO.txt`、统一节点说明和服务升级说明。
完整构建需要 macOS、Go、Xcode Command Line Tools、tar、zip 和 SHA256 工具。源码检出对应提交后运行:
```sh
TMPDIR=/tmp go test ./...
./release/build.sh
```
将 `release/dist/` 的六份归档和 `SHA256SUMS` 复制到本仓库对应版本目录,并记录源码提交和构建工具链。真实 USB 连接和其他平台的安装、自启动行为需在对应平台验证。
+6
View File
@@ -0,0 +1,6 @@
9b9ef8bdfd3c513c0ad646a433e4a7accc43defa288cd7e37b3254e36a7eff73 agentmate-v0.7.3-darwin-arm64.tar.gz
f6636b396205487545a1b7cd423351c285a3924dd21a8270ca3966cb3cf91ea6 agentmate-v0.7.3-darwin-amd64.tar.gz
2a55f25fc1644a66676facec64c3cc7653d08a809497b2cd6ec9aa6985242ac6 agentmate-v0.7.3-linux-amd64.tar.gz
115e9e633da0214d735423cca56d33f11b2215b9c8eff33addcb746c8a6a2ac5 agentmate-v0.7.3-linux-arm64.tar.gz
5d83b2a905a1156e275506ca66fee53db984af719cfedfd37fcf2c1797d01657 agentmate-v0.7.3-windows-amd64.zip
fbf9b1620e91db1499e87cfbc71ab8dcc7b700ad8cdc3f94f417fe1fcd93db3e agentmate-v0.7.3-windows-arm64.zip
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.