---
name: release-notes
description: 为本项目 rttys 编写或重写中英文 release notes，根据版本标签之间的实际变更生成英文在前、中文在后、按修复/改进/新功能分类及 GitHub 完整变更链接的 Markdown 发布说明，并默认写入文件。在本项目中用户说“写 release note”或类似请求时使用，无需用户另行要求保存。
---

# rttys 发布说明

本技能仅用于当前 rttys 项目。公开项目地址为 `https://github.com/zhaojh329/rttys`；本地 origin 可能指向私有镜像，发布说明仍使用公开 GitHub 比较链接。

采用本项目发布说明格式：英文在前，中文在后；每项使用加粗标题和缩进说明，两种语言之间用水平线分隔。用户明确指定其他结构、语言或参考文件时，优先遵循本次要求。

## 确认发布内容

- 用户只说“写 release note”而未指定版本时，优先采用当前分支最近可达的发布标签；如存在多条发布线等歧义且无法从上下文确定，再询问目标版本。
- 根据用户指定的目标版本和基准版本确定范围。未指定基准时，从仓库标签和发布历史确定同一发布线的上一版本，不直接将 HEAD 或标签排序中的相邻项视为正确范围。
- 阅读 `git log <base>..<target>` 和相关 `git diff`，以目标版本实际包含的行为为准。工作区改动、后续提交和讨论中尚未实现的方案不属于已发布内容。
- 参考文件用于确认结构和措辞，不能直接沿用其中的旧版本号、变更条目和链接；文件名也不保证与内容中的版本一致。
- 聚合同一功能的相关提交，以用户可感知的变化组织条目，不机械翻译提交列表。通常省略纯版本号更新、赞助配置和无实质内容的文档维护。
- 明确性能优化影响的方向和范围，例如浏览器到设备的上传与设备到浏览器的下载。没有测试依据时不承诺具体倍数或测量结果；兼容性、是否需要升级客户端等结论需有依据。
- 本仓库是 rttys 服务端与 Web UI；区分服务端变化、浏览器行为和设备端 rtty/rtty-go 行为，不把设备端尚未发布或未包含的修改写入本版本。

## 输出格式

按以下顺序分开列出类别，不使用合并标题 `Bug Fixes & Improvements`：

- `### Bug Fixes` / `### 问题修复`：纠正错误行为、资源泄漏或数据丢失等问题。
- `### Improvements` / `### 改进优化`：已有功能的性能、易用性及行为改善。
- `### New Features` / `### 新功能`：新增的用户能力或功能。

每项按主要用户价值归入一个类别，不重复列出。没有内容的类别省略，不为凑齐类别将优化包装成新功能。英文全部类别写完后，再写中文对应类别。默认不添加总标题或开场总结；模板中的尖括号内容须替换。

```markdown
### Bug Fixes

- **<English fix title>**
  - <Describe the corrected behavior and its benefit.>

### Improvements

- **<English improvement title>**
  - <Describe how an existing capability is improved.>

### New Features

- **<English feature title>**
  - <Describe the newly available capability.>

**Full Changelog**: https://github.com/zhaojh329/rttys/compare/<base>...<target>

---

### 问题修复

- **<中文修复标题>**
  - <说明修正后的行为及其价值。>

### 改进优化

- **<中文改进标题>**
  - <说明已有能力的改善。>

### 新功能

- **<中文功能标题>**
  - <说明新增的用户能力。>

**完整变更记录**: https://github.com/zhaojh329/rttys/compare/<base>...<target>
```

- 中英文条目的顺序、范围和事实保持一致；自然翻译，不逐词硬译。UI 改动可以沿用 `UI: ...` / `UI：...` 的标题前缀。
- 比较链接保留真实标签名（包括 `v` 前缀），例如 `https://github.com/zhaojh329/rttys/compare/v5.5.2...v5.5.3`；生成新版本说明时必须更新两端标签。
- 标题和列表前保留空行，说明条目缩进两个空格，文件末尾保留换行。

## 写入文件与交付

- 在本项目中，“写 release note”“写发布说明”等请求默认包含写入 Markdown 文件，不只在对话中输出，也不再询问是否保存。用户明确要求仅预览或只在对话中回答时除外。
- 优先使用用户指定路径或当前目标版本正在编辑的发布说明文件；否则写入仓库根目录的 `RELEASE_NOTES_<target>.md`，例如 `RELEASE_NOTES_v5.5.3.md`。已有其他版本的文件不作为覆盖目标。
- 用户要求“参考某文件重写”时，默认重写当前输出文件，保留参考文件。
- 写完核对版本范围、中英文对应关系、比较链接及 Markdown 结构，简短返回文件链接。
- 编写或保存发布说明本身不包含创建 Git 提交、修改标签或发布远端 Release；这些操作须有对应的用户指令。
