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

139 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 能力
系统集成 **DeepSeek** 大模型,在分类打标、查询、记账等环节提供智能辅助。所有 AI 功能需先在「设置 → AI 模型配置」中启用并配置 API Key。
## 数据与隐私
系统仅向大模型发送完成功能所需的**最小字段**,**不会上传任何敏感数据**。所有 AI 请求均由你自行配置的接口地址发起。
**不会发送**:
- 账单导入的原始数据(`rawData`,可能含交易对方、商品名、订单号、对方账户/卡号等);
- 金额;
- 交易号、账户/卡号、姓名、地址、电话等可识别个人或账户的信息。
**实际发送**(按功能所需最小化):
- 分类/标签建议:记录的收支类型、备注、交易渠道;
- 智能查询 / 统计:你输入的自然语言,以及分类与标签名称;
- 智能记账:你输入的一句话;
- 生成分类/标签、推荐 Emoji/颜色:你输入的名称或描述;
- 生成规则:所选记录的类型、备注、交易渠道、已有分类与标签(不含金额与原始账单数据);
- 生成账单关系名称:所选账单的收支类型、交易渠道、分类名称与备注(不含金额与原始账单数据);
- 智能查数:你输入的自然语言,以及可供查询的表结构说明(不含账单原始字段);
- 图片记账:你**主动上传**的账单/支付截图会**整张**发送给视觉模型(可能含金额、交易对方、订单号等),视为你主动提供的输入。
图片同时会保存在本地(`data/ai-images/`),仅本人可查看;请勿上传包含他人敏感信息的图片。
API Key 仅保存在本地数据库中,仅用于向你配置的接口地址发起请求,不会随上述数据一并外发。
## 配置
在「设置 → AI 模型配置」中:
- 开启「启用 AI 建议」。
- 填写 **API Key**。
- 可选修改 **接口地址**(默认 `https://api.deepseek.com`)、**模型**(默认 `deepseek-chat`)与**视觉模型**(默认 `deepseek-flash`,用于图片记账)。
- 点击「测试连接」验证配置。
![设置](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/settings.png)
## 功能一览
| 功能 | 入口 | 说明 |
|---|---|---|
| 分类/标签建议 | 收支记录 → 一键设置 → AI 智能建议 | 对所选记录批量建议分类与标签(未勾选时为当前页),可一键采纳 |
| 单条建议 | 新增/编辑记录 → AI 推荐 | 推荐已有分类、标签或交易渠道 |
| 智能查询 | 收支记录 → AI 智能查询 | 自然语言解析为筛选条件 |
| 智能记账(文字) | 收支记录 → 智能记账 → 文字记账 | 一句话解析为一笔记录 |
| 智能记账(图片) | 收支记录 → 智能记账 → 图片记账 | 上传一至多张账单/支付截图,实时识别为多条记录,勾选后批量导入 |
| 生成分类 | 分类管理 → AI 生成 | 由用途描述生成分类 |
| 生成渠道 | 新增/编辑记录 → 交易渠道 → AI 新建 | 由账单描述生成渠道名称并创建 |
| 推荐 Emoji | 分类管理 → AI 推荐 | 为分类推荐 Emoji 图标 |
| 推荐颜色 | 标签管理 → AI 推荐 | 为标签推荐颜色 |
| 生成规则 | 规则管理 → AI 生成规则(已打标签记录)/收支记录 → 批量操作 → AI 生成规则(勾选账单) | 由所选记录归纳分类与标签规则,规则可编辑、去重实时重算,可同时应用到勾选账单(默认开启) |
| 统计搜索 | 统计面板 → AI 搜索 | 自然语言解析为统计筛选条件与维度 |
| 生成关系名称 | 收支记录 → 账单关系 → AI 生成 | 依据关联账单的类型、渠道、分类与备注生成关系名称与备注 |
| 智能查数 | 左侧菜单 → 智能查数 | 自然语言转只读 SQL 查询并展示结果 |
| 手动新建分类/标签/渠道 | 新增/编辑记录 → 新建分类 / 新建标签 / 新建渠道 | 不依赖 AI,直接创建并选中(始终可用) |
## 分类与标签建议
在收支记录页点「一键设置」,选择建议范围(分类与标签 / 仅分类 / 仅标签)后点「AI 智能建议」。作用范围为有勾选时的勾选记录、未勾选时的当前页记录;系统会按记录的类型、备注、交易渠道等聚合后请求模型,返回建议并进入 AI 建议弹窗。
弹窗中每条记录展示建议分类、建议标签与理由,默认全选。若建议了系统中不存在的分类或标签,会以「新建」标记,确认后自动创建。应用时分类会被覆盖、标签会被追加。
## 智能查询
在收支记录页点「AI 搜索」打开**可拖拽、可缩放的浮窗**,在输入框中用自然语言描述,例如:
- 「上个月餐饮」→ 时间范围 + 分类
- 「超过500的支出」→ 类型 + 金额区间
- 「待报销的支出」→ 标签 + 类型
- 「微信支付」→ 交易渠道
按 `Ctrl + Enter`(Mac 为 `⌘ + Enter`)提交,解析结果会直接应用为筛选条件并立即查询;浮窗的位置与大小会被记住。详见[收支记录](/guide/transactions)。
## 智能记账
「智能记账」弹窗提供「**文字记账**」与「[图片记账](#图片记账)」两个标签页,再次打开时会记住上次使用的方式。
在「文字记账」中描述一笔收支,AI 解析出类型、金额、分类、交易渠道、时间、备注、标签等字段,并预填到新增记录表单,确认后保存。
![AI 智能记账弹窗](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/ai-record.png)
## 图片记账
在「智能记账」弹窗切换到「**图片记账**」标签页,上传账单或支付截图,AI 会调用**视觉模型**一次性识别其中的每一笔交易。
![图片记账](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/ai-record-image.png)
- **多图上传**:一次最多 **5 张**,单张不超过 **10MB**、总大小不超过 **30MB**;支持 JPEG / PNG / GIF / WebP。
- **粘贴上传**:也可按 `Ctrl+V`(Mac 为 `⌘V`)直接粘贴剪贴板中的图片。
- **补充说明**(可选):在下方输入框补充提示(如「这是 9 月的账单」),帮助模型理解。
- 点击「识别图片」后,弹窗内会**实时显示识别进度**(校验图片、保存、调用模型、解析、查重等步骤),耗时较长的识别过程可见可控。
- 识别完成后进入**结果弹窗**:
![图片记账结果](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/elements/ai-record-result.png)
- 结果以表格逐条展示,**默认全选**(疑似重复项默认不勾选),可直接编辑**类型、金额、分类、时间、备注**。
- **来源图**列标注该笔交易来自第几张上传图片;**重复**列标记与已有记录或本批其它记录「类型+金额+时间」一致的疑似重复项。
- **原始数据**列可查看模型从图片中提取的原始字段(时间、对方、商品、订单号等),用于核对。
- 顶部摘要说明识别到的账单内容;勾选后点击「导入勾选」批量写入收支记录(导入时会再次按去重键跳过重复)。
- 未识别到有效交易时会给出提示,不会写入任何记录。
> 图片记账使用的是视觉模型,可在「设置 → AI 模型配置」中单独配置(默认 `deepseek-flash`)。详见[设置](/guide/settings)。
导入后的记录可在[收支记录](/guide/transactions)的「**详情**」弹窗中回看来源图片(默认加载缩略图,可点「加载原图」切换为原图)。
## AI 统计搜索
在统计面板顶部点「AI 搜索」打开浮窗,用一句自然语言描述统计意图,例如「上个月餐饮花了多少」「近半年交通支出趋势,按周看」。系统会解析为**时间范围、收支类型、分类、标签、交易渠道、金额区间、备注、统计口径与趋势粒度**并自动回填、刷新图表。详见[统计面板](/guide/dashboard)。
> 想要更自由的问答式查询(直接生成查询并返回明细),可使用[智能查数](/guide/sql-query)。
## AI 生成规则
有两种生成方式:
- **规则管理页**:点「AI 生成规则」,选择用于归纳的**已打标签记录**(默认全选当前页,支持搜索、筛选与分页),AI 依据这些记录的**类型、备注、交易渠道、已有分类与标签**生成规则建议;建议可**逐字段编辑**(名称、类型、关键词、金额区间、分类、标签),编辑后自动重算去重,勾选后批量创建。
- **收支记录页**:在**批量操作**区勾选若干账单后点「AI 生成规则」,直接以**勾选的账单**为依据归纳规则(不要求已打标签);规则同样可编辑、去重实时重算,弹窗中还可勾选「**同时应用到当前勾选的账单**」(**默认开启**并记住上次选择),命中时覆盖这些账单的分类并追加标签。
两种方式都会对与已有规则重复的建议标记「已存在」并禁止导入,且**编辑后实时重算**(改到不重复自动勾选、改成重复自动取消并禁用)。详见[规则管理](/guide/rules#ai-生成规则)与[收支记录](/guide/transactions#ai-生成规则从勾选账单)。
## 用量统计
「模型使用情况」页面(设置 → AI 模型配置 →「使用情况」)展示 AI 调用汇总与明细。
![模型使用情况](https://adcarac.oss-cn-beijing.aliyuncs.com/finance-app-docs/screenshots/ai-usage.png)
- **调用概览**:调用次数、成功、失败、总 Token。
- **Token 明细**:输入 Token、输出 Token、缓存命中。
- **最近调用记录**:时间、类型、分析条数、Token、耗时、状态。
## 说明
- AI 建议结果仅供参考,应用前可逐条取消勾选。
- 关闭「启用 AI 建议」后,系统不会发起任何 AI 请求,相关入口也会隐藏(分类/标签/渠道的**手动新建**入口不受影响,始终可用)。
- 账单类型识别(邮箱账单)使用的是**发件人规则**而非 AI,结果更确定、可预期。