Files
rosercode 41d1a4d5a9 docs: 补充管理页批量操作说明并同步规则/AI 规则文档
为规则、分类、标签管理页新增的「批量操作模式」与多选删除补充使用与开发文档,同时补上此前已完成但未同步的 AI 规则建议可编辑、编辑后实时重算去重等文档,并登记批量模式截图脚本。

变更内容:
- guide/categories-tags.md:补充分类与标签的批量删除说明,并回填 tags-batch.png、categories-batch.png 配图。
- guide/rules.md:批量删除与应用匹配账单改为需先进入「批量操作」模式(默认不显示勾选框)。
- dev/api.md:新增 DELETE /api/tag/batch、/api/category/batch,并补齐规则命中账单预览/一键应用、AI 规则去重校验等接口。
- dev/data-model.md:说明标签删除清理交易标签与规则标签关联、分类删除保留逻辑引用(账单显示未分类)。
- dev/rule-engine.md、dev/ai.md、dev/preferences.md、guide/ai.md、guide/transactions.md:同步 AI 规则建议可编辑、编辑后实时重算去重、应用开关默认开启并持久化等说明。
- scripts/ts/capture-elements.ts:新增 captureBatchModes()(标签/分类批量模式截图)并纳入 main()。

说明:
- 截图经测试环境(前端 5174 / 后端 8081,虚构数据)生成,已上传 OSS,正文以 OSS 长期地址引用;public/screenshots 目录不入库。
2026-10-14 01:07:46 +08:00

114 lines
6.6 KiB
Markdown

# 规则管理
规则用于**自动归类**:命中条件后自动应用指定的分类与标签,减少手动整理。
![规则管理](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/rules.png)
## 创建规则
1. 在规则管理页右上角点击「**新增规则**」。
2. 填写规则名称,并按需设置条件与结果:
| 字段 | 说明 |
|---|---|
| 类型 | 不限类型 / 支出 / 收入 |
| 关键词 | 匹配备注、交易对方、商品名称(包含即命中) |
| 金额区间 | 最小值 ~ 最大值(可只填一端) |
| 目标分类 | 命中后应用的分类 |
| 目标标签 | 命中后应用的标签(可多选) |
| 启用 / 排序 | 是否启用、优先级(越小越优先) |
3. 点击「确定」保存。
![新增规则弹窗](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/add-rule.png)
## 规则条件
一条规则可组合以下条件:
| 条件 | 说明 |
|---|---|
| 类型 | 不限类型 / 支出 / 收入 |
| 关键词 | 匹配备注、交易对方、商品名称,**包含即命中**(忽略大小写) |
| 金额区间 | 最小值 ~ 最大值(含边界,可只填一端) |
| 目标分类 | 命中后应用的分类(可不选) |
| 目标标签 | 命中后应用的标签(多选,可不选) |
| 优先级 | 排序值越小越优先 |
| 启用 | 可随时启用或停用 |
## 命中规则
- **分类**:取优先级最高(排序值最小)且与交易类型一致的命中规则。
- **标签**:取所有命中规则标签的并集。
- 规则在**账单导入的解析预览阶段**即会展示命中的规则名与建议分类/标签;确认导入时,**规则建议的分类优先于面板默认分类**,标签与默认标签合并去重。
## 搜索与分页
规则列表支持按条件检索与分页:
- **搜索**:按**规则名称或关键词**模糊匹配。
- **筛选**:**启用状态**(已启用 / 已停用)、**收支类型**(收入 / 支出)。
- **分页**:每页 10 / 20 / 50 / 100 条。
点击「搜索」按条件查询,「清空」重置全部条件。新增规则后回到第一页,便于查看新规则。
## 多选与批量删除
为保持列表清爽,规则表格默认不显示勾选框。需要进行批量操作时,点右上角「**批量操作**」进入批量选择模式,此时每行前会出现勾选框,表头可**全选当前页**;完成后点「**退出批量**」退出并清空勾选。
- 勾选若干规则后,点右上角「**批量删除**」并确认,即可一次性删除选中的规则。
- 未勾选任何规则时「批量删除」不可点击。
> 删除规则只影响后续导入与手动应用,已应用的历史记录分类与标签不会被撤销。
## 一键应用到匹配账单
规则默认只在**账单导入**时对新增记录生效,不会自动改写已有记录。如需把规则应用到**历史账单**,可在规则列表使用「应用」:
1. **单条规则**:点击规则行的「**应用**」按钮。
2. **多条规则**:点右上角「**批量操作**」进入批量选择模式,勾选若干规则后点「**应用匹配账单**」。
两种方式都会先弹出**预览**:按规则条件(类型 + 关键词 + 金额区间)列出全部命中的账单,并显示每条账单的**当前分类/标签 → 目标分类/标签**,以及命中总数、将更新分类数与将追加标签数;确认后点「**确认应用**」执行。
![应用规则到匹配账单](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/rule-apply-preview.png)
- **分类**:覆盖写入(仅当规则分类与账单收支类型一致时)。
- **标签**:追加到账单已有标签之后,**不会删除**原有标签。
- 匹配范围为**全部历史账单**;**停用的规则**也可手动应用(应用后再启用不影响本次结果)。
- 命中超过 500 条时预览仅展示前 500 条,应用仍作用于全部命中;重复执行不会产生重复标签(幂等)。
- 全程本地运算,不调用 AI。
## AI 生成规则
启用 AI 后,规则管理页右上角会出现「**AI 生成规则**」按钮,可让 AI 依据**已打标签的记录**自动归纳出「关键词 → 分类/标签」规则,无需手工逐条编写。
流程为两步:
1. **选择记录**:列出当前用户**已打标签**的记录,默认全选当前页。可按**备注关键字**搜索,并按**收支类型、标签**筛选;支持分页与每页条数切换,可「全选本页」或「清空选择」。跨页选择会保留。
![AI 生成规则 · 选择记录](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/ai-rule-select.png)
2. **预览与编辑规则**:AI 依据所选记录的**类型、备注、交易渠道、已有分类与标签**归纳出规则建议,展示规则名称、类型、关键词、金额区间、目标分类与标签、理由。所有字段都可**直接编辑**(名称、类型、关键词、金额区间、分类、标签),AI 建议的新分类/新标签以下拉里的「**新建:xxx**」选项保留;勾选后点击「创建勾选规则」批量创建,系统会自动创建建议中不存在的新分类与标签。
![AI 生成规则 · 预览规则](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/ai-rule-preview.png)
> 此外,也可在[收支记录页的批量操作区](/guide/transactions#ai-生成规则从勾选账单)勾选账单后直接生成规则(不要求已打标签),并可选「同时应用到勾选账单」(默认开启,会记住上次选择)。
::: tip 与已有规则去重
AI 建议若与**数据库中已有规则重复**(按「类型 + 关键词 + 分类 + 标签集合」判定),会标注「**已存在**」,默认不勾选且不可勾选。**编辑规则后会自动重新判定**:改成不重复会自动勾选,改成重复会自动取消勾选并禁用,避免产生重复规则。
:::
## 示例
| 规则名 | 条件 | 结果 |
|---|---|---|
| 星巴克归入餐饮 | 关键词「星巴克」、类型支出 | 分类:餐饮;标签:咖啡 |
| 滴滴出行归入交通 | 关键词「滴滴」、类型支出 | 分类:交通 |
| 大额支出标记 | 金额 ≥ 500、类型支出 | 标签:大额消费 |
## 使用建议
- 先建立少量高频规则(餐饮、交通、外卖等),再逐步补充。
- 关键词尽量选择稳定、唯一的商户或商品名,避免误命中。
- 同一笔记录可能命中多条规则,分类取最优先的一条,标签会全部应用。