## Description

简要说明改了什么、解决了什么问题。

## Related Issues

> **⚠️ 必须关联 Issue**
>
> - 分支带 Issue ID（如 `feat/123-description`）→ 必须填入对应编号：`Resolves #123`
> - 分支无 Issue ID（如 `feat/description`）→ 必须新建 Issue 或确认无需关联后填 `Refs #N`
> - **禁止留空或填占位符**（如 `# (issue)`、`#xxx`），CI 会拒绝无数字的提交

Resolves #18
Refs # (issue)

## Type of Change

- [ ] :bug: Bug fix（非破坏性修复）
- [ ] :sparkles: New feature（新增功能）
- [ ] :fire: Breaking change（破坏性变更，可能影响现有功能）
- [ ] :books: Documentation update（文档更新）
- [ ] :rocket: Performance improvement（性能优化）
- [ ] :white_check_mark: Testing update（测试更新）

## Checklist

- [ ] 代码符合 [CONTRIBUTING.md](../CONTRIBUTING.md) 规范
- [ ] `make lint` 通过
- [ ] 新增测试覆盖此次改动（或确认无需测试）
- [ ] `make test` 本地通过
- [ ] 文档已同步更新
- [ ] 无新增警告

## Screenshots (if applicable)

Pull Request reviewers would love to see UI changes or performance graphs!

