diff --git a/.agent/skills/release-guide/SKILL.md b/.agent/skills/release-guide/SKILL.md index 03d1d6c5..561ce08b 100644 --- a/.agent/skills/release-guide/SKILL.md +++ b/.agent/skills/release-guide/SKILL.md @@ -7,7 +7,18 @@ description: "Wavelet 项目专用:根据自上一个正式版本 Tag 以来 ## 目标 -当用户准备发布 Wavelet 新版本时,本 Skill 只负责生成用于版本提交的 Commit Message。 +当用户准备发布 Wavelet 新版本时,本 Skill 负责: + +1. 根据上一正式版本 Tag 以来的提交,整理面向用户的发版说明; +2. 新建 **独立的** `chore(release): vX.Y.Z` 提交(可附带将 `docs/changelog` 从 `[unreleased]` 落版)。 + +## 硬性约束(禁止改写历史) + +- **禁止** `git commit --amend` 修改任何**已经 push 到远端**的提交。 +- **禁止** 为了发版去改写已有功能/修复提交的 message 或内容。 +- **禁止** 发版流程中的 force-push(除非用户明确要求且知晓后果)。 +- 发版提交必须是 **新增 commit**:在当前 `HEAD` 之上 `git commit` 一次。 +- 默认 **不要 push、不要打 tag**;生成并完成本地 release commit 后,把后续 `push` / `git tag` 命令交给用户确认执行。 ## 生成提交信息 @@ -26,7 +37,11 @@ description: "Wavelet 项目专用:根据自上一个正式版本 Tag 以来 固定使用以下分类: -text ### 🛠 修复 ### ⚡️ 优化与改进 ### 💄 其他/体验 +```text +### 🛠 修复 +### ⚡️ 优化与改进 +### 💄 其他/体验 +``` 分类规则: @@ -37,6 +52,8 @@ text ### 🛠 修复 ### ⚡️ 优化与改进 ### 💄 其他/体验 示例: ``` +chore(release): v3.3.0 + ### 🛠 修复 - 修复了通过 MCP 接口操作时笔记库范围限制未正确生效的问题。 - 修复了 MCP 接口返回数据格式不一致的问题。 @@ -49,6 +66,39 @@ text ### 🛠 修复 ### ⚡️ 优化与改进 ### 💄 其他/体验 - 优化了 WebSocket 错误日志,增加请求路径信息,方便问题排查。 ``` -## 提交 +## 提交步骤 -生成完 Commit Message 后调用命令工具修改最后一次提交信息, 不要提交, 不要推送, 你的任务到此结束。 \ No newline at end of file +1. 确认工作区干净,且 `HEAD` 与将要发布的代码一致(通常已与 `origin/main` 对齐或仅含未 push 的合法新提交)。 +2. 将 `docs/changelog/index.md` 中 `[unreleased]` 落版为 `[vX.Y.Z] - YYYY-MM-DD`(按需整理条目)。 +3. **新建** release 提交(不要 amend): + +```bash +git add docs/changelog/index.md # 及其他发版所需文件 +git commit -m "$(cat <<'EOF' +chore(release): vX.Y.Z + +### 🛠 修复 +- ... + +### ⚡️ 优化与改进 +- ... + +### 💄 其他/体验 +- ... +EOF +)" +``` + +4. 向用户展示完整 commit message,并说明后续可由用户执行: + +```bash +git push origin main +git tag vX.Y.Z +git push origin vX.Y.Z +``` + +(打 tag 后由 CI 创建双语 Release。) + +## 任务结束条件 + +本地已存在 **新的** `chore(release): vX.Y.Z` 提交,且**未**改写任何已 push 提交、**未**擅自 push/tag。 diff --git a/docs/changelog/index.md b/docs/changelog/index.md index 54e4b2bc..c5f4c1b0 100644 --- a/docs/changelog/index.md +++ b/docs/changelog/index.md @@ -21,40 +21,33 @@ sidebar: false ## [unreleased] +## [v3.4.0] - 2026-07-18 + ### 新增 - Pages 现支持上传 zip、tar.gz、tar.xz、tar.bz2、tar、7z 等常用压缩格式的部署包。 - 管理员可在运维设置中配置 Pages 部署包大小上限与每个项目的历史部署保留数量。 +- Pages 支持从 URL 导入部署包:填写下载链接后由控制面代为拉取并创建部署。 +- 观测存储新增 `of_node_edge_health` 与 `of_access_log_hourly`,业务趋势优先读访问日志小时汇总。 +- 访问日志增加 `request_length` / `request_time_ms`,用于接收数据与耗时统计。 ### 修复 -- 修复数据看板「OpenResty 入站/出站」近 24 小时趋势严重偏低的问题:边缘侧改为上报进程累计字节,并与访问日志中的已提供数据(响应体字节)口径对齐,避免按 60 秒窗口计数做差分导致流量被大量丢弃。 +- 修复数据看板业务流量趋势与已提供数据口径不一致的问题:业务量统一由访问日志聚合,避免边缘预聚合窗口差分导致趋势偏低。 +- 修复节点地图在缺少精确经纬度时,把香港/新加坡/台湾等地区错误标到占位坐标(例如南美)的问题。 ### 变更 -- Agent 离线观测补传默认保留窗口由 15 分钟调整为 60 分钟,断线恢复后可补报更长时间范围内的访问与指标数据。 -- Agent 默认心跳/上报间隔由 10 秒调整为 3 秒,节点离线判定默认阈值由 120 秒调整为 60 秒,状态与观测数据刷新更及时。 -- 边缘观测按「访问日志为业务唯一真相」收敛:Agent 上报访问明细、主机指标与 OpenResty 健康/连接,不再上报业务预聚合;看板请求趋势与已提供/接收数据改由访问日志聚合,宿主机网卡单独展示。 -- 本机 `/openflare/observability` 改为返回探活与当前连接快照;访问日志增加 `request_length` / `request_time_ms` 字段用于接收数据与耗时统计。 -- 看板全局 UV 改为窗口内真正去重;状态码/Top 域名分布与节点行请求量均改为访问日志聚合;网络趋势 API 增加 `bytes_provided` / `bytes_received` 字段。 -- 观测协议与 API 去掉兼容层(Agent 销毁重建升级):心跳仅 `host_metrics` / `edge_health` / `access_logs` / `buffered`;管理端不再返回 `traffic_reports` 与 `openresty_rx|tx`;网络趋势仅 `bytes_provided` / `bytes_received` + 宿主机网卡。 -- 观测存储 M5:新增 `of_node_edge_health` 与 `of_access_log_hourly`;移除已废弃的请求预聚合表与 OpenResty 吞吐观测表,业务趋势优先读访问日志小时汇总。 -- 观测清理目标对齐为 `node_edge_health`;边缘健康完整写入 status;提供历史小时汇总回填 SQL。 -- 看板与节点 UV 文案改为「24h / 查询窗口独立访客」(整窗 `uniqExact`);小时趋势图仅展示请求/错误,不绘分时 UV。 -- Agent 二进制替换升级时,若本地观测补传缓冲仍是旧格式或损坏,则直接删除该文件并在运行中重建,避免半迁移数据或阻塞心跳。 -- Zone 流量图:顶部独立访客为整窗去重;曲线标明为分桶 UV(桶内去重,不可跨桶相加)。 -- 明确 OpenResty 健康权威:当前 status/message 以节点表为准,ClickHouse 仅存 status 与连接时序(不含 message)。 -- 看板与节点观测不再展示或采集宿主机网卡入/出站;网络趋势仅保留访问日志的已提供/接收数据。 -- 宿主机磁盘读/写趋势改为按小时速率(B/s)展示,摘要为近 24 小时平均速率。 -- 修复节点地图在缺少精确经纬度时把香港/新加坡/台湾等地区回退到错误占位坐标的问题;补全质心数据并改进复合地名匹配。 -- Pages 部署包上传体积限制改为系统动态配置,默认仍为 100 MiB,可按环境调整。 -- 上传新部署后会按保留策略自动清理超出数量的历史部署包,减少磁盘占用。 -- Agent 在同步 Pages 部署时信任控制面已完成的包校验,不再重复限制文件数与展开体积,仅校验下载完整性并安全解压到本地。 -- 明确 Pages 历史部署保留语义为每个项目最多 N 条(激活必留、其余按从新到旧填充),裁剪失败会记录日志且不回滚已成功上传。 -- 主配置版本与 Pages 部署双轨管理:Agent 以 Pages 项目 ID 为锚点请求最新激活部署包,项目内切换激活版本无需重新发布主配置即可在边缘自动更新。 -- Agent 边缘仅保留每个 Pages 项目的最新部署包,新包就绪并切换成功后清理旧 release;拉取 latest 时增加 hash 二次校验与重试以降低激活竞态失败;单个项目同步失败不再阻塞同批其它项目。 -- Pages 支持从 URL 导入部署包:填写下载链接后由控制面代为拉取并创建部署。 -- 优化 Pages 部署包校验性能:上传时不再为包内每个文件计算哈希,文件清单仅记录路径与声明大小;完整性改由整包校验和保障,并避免将整个压缩包装入内存后再逐文件读取。 +- 边缘观测改为「访问日志为业务唯一真相」:Agent 仅上报明细、主机指标与 OpenResty 健康/连接;协议去掉旧兼容字段,**升级需重建或替换 Agent**。 +- Agent 默认心跳改为 3 秒、离线判定 60 秒,离线补传窗口默认 60 分钟。 +- 看板 UV 使用窗口内真正去重;Zone 曲线标明分桶 UV;磁盘读写改为按小时速率(B/s)展示。 +- 不再采集或展示宿主机网卡入/出站;网络趋势仅保留访问日志已提供/接收数据。 +- Pages 包大小与历史保留可配置,边缘按项目只保留最新激活部署;创建规则表单与详情一致支持直连/隧道/Pages 源站类型。 +- 优化 Pages 部署包校验性能:不再为包内每个文件计算哈希,整包校验和保障完整性。 + +### 移除 + +- 移除请求预聚合表与 OpenResty 吞吐观测相关路径;管理端不再返回 `traffic_reports` 与 `openresty_rx|tx`。 ## [v3.3.0] - 2026-07-14