对照 ledgerly 自文档上次更新以来的全部改动,补充新功能文档、修正品牌与版本残留,并新增下载与安装页;配图已重新截取并上传 OSS,本地截图目录不纳入版本管理。 变更内容: - 新增「智能查数」「账单关系」两个使用文档页,并登记侧边栏与总览 - 设置页扩充为八个面板(账号安全、数据库实时进度、外观、导航等)并改为即时保存 - 收支记录补充关系列、批量操作、AI 搜索浮窗、可配置分页与「账单详情」弹窗 - 统计面板补充饼图/渠道图下钻与筛选双向联动;规则管理补充批量删除 - AI 能力补充智能查数与关系命名;新增下载与安装页 - 开发文档同步:AI 13 类调用、数据模型 24 张表、API、前端偏好、构建部署 - 统一「汇账 Ledgerly」品牌与「设置/日志」菜单文案,版本号对齐 0.1 - 截图脚本新增账单详情等场景并更新登记 说明: - download.md 的 OSS 下载链接保持待发布产物回填,暂不调整 - 已通过 npm run docs:build 与 npm run typecheck:scripts
3.3 KiB
3.3 KiB
智能查数
「智能查数」让你用自然语言直接查询账本,由 AI 生成一条只读 SQL 并执行,结果以统计卡片、表格或图表展示,无需自己拼筛选条件。
这是与统计面板的「AI 搜索」不同的能力:AI 搜索是「自然语言 → 统计面板筛选条件」,智能查数则是「自然语言 → SQL 查询」,适合更自由、更灵活的问答。
入口与前提
- 先在设置中启用 AI 并配置 API Key。
- 启用后,左侧菜单会出现「智能查数」(未启用时不显示)。
- 直接访问路由
/smart-query也可进入。
提问
在页面顶部的输入框用一句自然语言描述想查的内容,例如:
- 上个月一共花了多少钱
- 按分类统计今年的支出
- 今年收入最高的一个月
- 各渠道的支出占比
- 本月支出最高的 5 笔
输入框支持多行(自动增高),点击「查询」或按 Ctrl + Enter(Mac 为 ⌘ + Enter)提交;页面也会给出示例问题,点击即可直接查询。
结果展示
系统会根据查询结果自动选择展示方式:
| 结果形态 | 展示 |
|---|---|
| 只有一行 | 统计卡片,逐项展示各列的数值 |
| 多行且含数值列 | 动态表格,可切换为柱状图或饼图 |
| 多行但无数值列 | 表格 |
- 结果中的渠道列会自动显示渠道名称(含自定义渠道),而不是内部编码。
- 结果最多返回 1000 行;超过时会提示「仅展示前 1000 行」。
- 无结果的查询会显示空态提示。
生成的 SQL
查询结果上方会给出 AI 生成的 SQL,默认折叠:
- 使用
sql-formatter缩进、highlight.js语法高亮,便于阅读。 - 可点「复制 SQL」把格式化后的语句复制到剪贴板。
- 同时展示对查询意图的简要说明。
历史提问
页面下方是历史提问折叠面板,按账号在服务端持久化:
- 展示提问内容与时间(精确到分钟),默认展示最近若干条。
- 支持按关键字搜索历史。
- 点击某条历史可回填并立即重新查询;也可复制该次提问。
- 可一键清空历史。
当前会话内的提问与结果会缓存在浏览器会话中,切换账号时自动清除;结果超过 500 行时只缓存提问与视图,避免占用过多空间。
安全与隐私
智能查数始终以只读方式访问你自己的数据:
- 仅允许单条
SELECT查询,拒绝任何写操作、DDL、多语句、SELECT INTO、FOR UPDATE与危险函数。 - 只能查询系统白名单内的数据表,且每张表都会被强制注入当前用户的隔离条件,只能看到本人数据。
- 查询不返回原始数据(
rawData)与交易号等敏感字段。 - 生成的 SQL 会经过安全网关校验后才执行,并限制执行时间与返回行数。
AI 本身收到的信息仅为你的自然语言提问与可查询的表结构说明,不包含账单原始字段。
