feat: 统一 JSON API 到 /v1 前缀,移除旧邮件兼容路由

- 删除旧邮件查询兼容路由 GET /mail-api/messages、/mail-api/messages/{id}、/mail-api/search
- 所有 JSON API 统一使用 /v1/...:邮件、上下文记忆、动态页面创建和健康检查接口
- 页面路由保持非 /v1 地址:/mail、/mail/messages/{id}、/mail/{slug}、/web/{page_type}/{slug}、/updates
- AI 内部工具调用同步改用 /v1/web/pages 与 /v1/context/memories...
- 无数据库结构变化,新增 0.1.14 升级日志记录
This commit is contained in:
2026-07-06 21:39:56 +08:00
parent 25dd0daa8b
commit 2669861af1
29 changed files with 1845 additions and 89 deletions
+55
View File
@@ -1,5 +1,60 @@
# 更新日志
## 0.1.14 - 2026-07-06
- 删除旧邮件查询兼容路由 `GET /mail-api/messages``GET /mail-api/messages/{id}``GET /mail-api/search`
- 所有 JSON API 统一使用 `/v1/...`:邮件、上下文记忆、动态页面创建和健康检查接口均迁移到新地址。
- 页面路由继续保持非 `/v1` 地址:`/mail``/mail/messages/{id}``/mail/{slug}``/web/{page_type}/{slug}``/updates`
- AI 内部工具调用同步改用 `/v1/web/pages``/v1/context/memories...`
- 无数据库结构变化;新增 `0.1.14` 升级日志记录。
## 0.1.13 - 2026-07-06
- 新增 `GET /v1/mail/messages``GET /v1/mail/messages/{id}``GET /v1/mail/search`,作为邮件查询 API 的新地址。
- 保留 `GET /mail-api/messages``GET /mail-api/messages/{id}``GET /mail-api/search` 兼容旧调用。
- 新增 `GET /mail` 邮件列表页面,支持关键词、账户、邮箱目录、来源和分页查询。
- 新增 `GET /mail/messages/{id}` 邮件预览页面,可查看邮件正文、元信息和原始头信息。
- 无数据库结构变化;新增 `0.1.13` 升级日志记录。
## 0.1.12 - 2026-07-06
- 增强邮件 HTTP 查询服务:`GET /mail-api/messages` 支持关键词、账户、邮箱目录、来源和分页查询。
- 新增 `GET /mail-api/search` 作为邮件查询别名,便于客户端直接按查询语义调用。
- 邮件列表响应新增 `page``per_page``total` 字段,保留 `limit` 参数的兼容行为。
- 查询关键词 `q` 会匹配发件人、主题、摘要、正文和 `Message-ID`
- 无数据库结构变化;新增 `0.1.12` 升级日志记录。
## 0.1.11 - 2026-07-06
- 修正 `ias mail pull [id]` 的手动拉取语义:现在会抓取最近 20 封邮件并入库,不再只处理未读邮件。
- `ias mail pull` 输出新增扫描数量,便于确认 IMAP 确实返回了最近邮件;同时继续显示其中未读、新增和已存在数量。
- 后台邮件轮询保持只处理未读邮件并发送微信提醒,手动拉取不发送微信提醒。
- 无数据库结构变化;新增 `0.1.11` 升级日志记录。
## 0.1.10 - 2026-07-06
- 新增 `ias mail pull [id]` 命令,可手动拉取最近 20 封中的未读邮件;不传 `id` 时拉取所有启用邮件账户,传 `id` 时拉取指定账户。
- 手动拉取会复用后台轮询的解析、去重、入库和邮件预览页生成逻辑,并输出本次未读、新增和已存在数量。
- 修复服务启动和版本更新通知使用 `ias-service` crate 版本的问题,改为读取根目录 `VERSION` 作为整体项目版本。
- 修复版本更新通知可能链接到不存在的 `/updates/0.1.0` 页面的问题;本版本通知会指向 `/updates/0.1.10`
- 无数据库结构变化;新增 `0.1.10` 升级日志记录。
## 0.1.9 - 2026-07-06
- 调整邮件轮询逻辑:每轮固定读取邮箱最近 20 封邮件,而不是仅搜索 `UNSEEN` 集合。
- 读取最近邮件时同步获取 `FLAGS`,只对未包含 `\Seen` 标记的邮件入库、生成预览页并发送微信提醒。
- 邮件正文抓取改用 `BODY.PEEK[]`,避免检查最近邮件时把未读邮件隐式标记为已读。
- 新增最近 20 封 sequence range 的单元测试,并通过 `cargo test -p ias-mail``cargo check` 验证。
- 无数据库结构变化;新增 `0.1.9` 升级日志记录。
## 0.1.8 - 2026-07-06
- 新增 `ias mail edit <id>` 命令,可交互式修改已保存的 IMAP 邮件账户配置,密码留空时保留原值。
- 新增 `ias mail check <id>` 命令,可使用已保存配置检查 IMAP 服务器连通性和邮箱目录可访问性。
- 邮件账户检查成功会更新 `last_checked_at` 并清空 `last_error`,失败会记录错误信息。
- 复用新增账户时的 IMAP 连接测试逻辑,TLS 证书错误仍支持交互式选择接受无效证书后重试。
- 无数据库结构变化;新增 `0.1.8` 升级日志记录。
## 0.1.7 - 2026-07-06
- 所有 Rust crate 统一加 `ias-` 前缀:`ai``ias-ai``common``ias-common``context``ias-context``mail``ias-mail``service``ias-service``wechat``ias-wechat`