📋 问题总览
视角:在编写 API 文档过程中,发现的 Bug、可完善点及其分析。对照文档:按 API 分类 · 按触发条件分类
目录结构
📋 问题记录
├── 00-index.md — 问题总览与索引(本文)
├── 01-critical.md — 严重问题(🔴 影响数据安全或核心功能)
└── 02-minor.md — 一般问题(🟡 影响体验或可改进点)
问题列表
| # | 严重程度 | 位置 | 问题 | 可能后果 | 状态 |
| P01 | 🔴 严重 | transactions CSV 导入 | 覆盖式导入,全量 DELETE 再 INSERT | 用户历史数据被不可恢复地清除 | 已知 |
| P02 | 🔴 严重 | bills invite | 邀请接口无任何通知机制,被邀请人完全无感知 | 邀请功能实际不可用 | 已知 |
| P03 | 🔴 严重 | auth 验证码 | 图形验证码存内存 Map,重启后全部失效 | 验证码系统形同虚设 | 已知 |
| P04 | 🟡 中等 | transactions | category_id 始终为 NULL | 分类筛选功能无效 | 已知 |
| P05 | 🟡 中等 | transactions | tx_year/tx_month 未生成,始终 NULL | 按年月统计功能无法实现 | 已知 |
| P06 | 🟡 中等 | apikeys | api_key_encrypted 只用 Base64 编码,非真正加密 | 任何能访问 DB 的人可直接解码 Key | 已知 |
| P07 | 🟡 中等 | ai chat | Anthropic provider 在 /chat 端点不走 SSE 流 | 客户端流式渲染逻辑失效 | 已知 |
| P15 | 🟡 中等 | ai whisper | Whisper 语音转写仅支持 OpenAI,多 Provider 兜底失效 | 使用 Anthropic/Gemini 的用户无法使用语音输入 | 已知 |
| P16 | 🟡 中等 | ai chat | 所有 Provider 失败时返回 502,无友好错误提示 | 用户收到 502 而非友好提示 | 已知 |
| P17 | 🟡 中等 | ai chat | AI 日志记录在 Provider 层,异常时不记录 | 失败的 AI 请求不在 api_logs 中留下痕迹 | 已知 |
| P08 | 🟡 中等 | auth 游客 | 同 IP 24h 最多2个游客,但无频率展示给用户 | 用户不知道限制原因 | 已知 |
| P09 | 🟡 中等 | auth refresh | Refresh Token 过期后无任何恢复手段,强制登出 | 用户被迫重新登录 | 已知 |
| P10 | 🟡 中等 | auth session | 多端同时在线,但无主动登出管理接口 | 无法远程注销其他设备 | 已知 |
| P11 | 🟡 中等 | apikeys 导入 | 跨账单导入 Key 时明文复制,无重加密 | 源账单可访问目标 Key | 已知 |
| P12 | 🟡 中等 | apikeys | expires_at 字段存在但前端无过期管理 UI | 用户不知道 Key 即将过期 | 已知 |
| P13 | 🟡 中等 | bills prompt | 前端发送 prompt,后端期望 custom_prompt | AI Custom Prompt 功能完全失效 | 已知 |
| P14 | 🟡 中等 | bills members | 成员列表暴露所有成员手机号(viewer 也可见) | 隐私泄漏,不符合最小权限原则 | 已知 |
| P15 | 🟡 中等 | ai whisper | Whisper 语音转写仅支持 OpenAI,多 Provider 兜底失效 | 使用 Anthropic/Gemini 的用户无法使用语音输入 | 已知 |
| P16 | 🟡 中等 | ai chat | 所有 Provider 失败时返回 502,无友好错误提示 | 用户收到 502 而非友好提示 | 已知 |
| P17 | 🟡 中等 | ai chat | AI 日志记录在 Provider 层,异常时不记录 | 失败的 AI 请求不在 api_logs 中留下痕迹 | 已知 |
| P18 | 🟡 中等 | transactions | coupon 字段前端期望字符串,后端返回数字 | 前端类型检查失败,coupon 字段可能显示异常 | 已知 |
| P19 | 🟡 中等 | transactions | CSV 解析时 category 和 coupon 列从未被使用 | 用户填写的分类和优惠券信息被忽略 | 已知 |
| P15 | 🟡 中等 | ai whisper | Whisper 语音转写仅支持 OpenAI,多 Provider 兜底失效 | 使用 Anthropic/Gemini 的用户无法使用语音输入 | 已知 |
| P16 | 🟡 中等 | ai chat | 所有 Provider 失败时返回 502,无友好错误提示 | 用户收到 502 而非友好提示 | 已知 |
| P17 | 🟡 中等 | ai chat | AI 日志记录在 Provider 层,异常时不记录 | 失败的 AI 请求不在 api_logs 中留下痕迹 | 已知 |
| P18 | 🟡 中等 | transactions | coupon 字段前端期望字符串,后端返回数字 | 前端类型检查失败,coupon 字段可能显示异常 | 已知 |
| P19 | 🟡 中等 | transactions | CSV 解析时 category 和 coupon 列从未被使用 | 用户填写的分类和优惠券信息被忽略 | 已知 |