特性:添加支持数据库查询的 AI 聊天功能

- 实现了一个新的 AI 聊天页面,用于自然语言查询,该页面会生成用于库存数据的只读 SQL 查询。
- 添加了本地内存存储,用于用户交互,允许 AI 记住最近的对话和笔记。
- 增强了聊天界面,增加了网络搜索和数据库查询执行选项。
- 更新了 README,包含了关于新 AI 聊天功能和其使用方法的详细信息。
- 引入了新的 CSS 样式以改善聊天界面的用户体验。
- 修改了现有模板以集成新的聊天功能,并提供从库存概览页面轻松访问。
This commit is contained in:
2026-03-14 01:34:29 +08:00
parent dc7efb8ff8
commit 21ad22a105
7 changed files with 1206 additions and 1 deletions

View File

@@ -134,6 +134,34 @@ $env:SILICONFLOW_MODEL="Qwen/Qwen2.5-7B-Instruct"
当 AI 补货建议出现“请求失败,请稍后重试”时,优先打开系统日志查看最近的 `ERROR``WARNING` 记录。
### 2.7 AI 数据库聊天
系统提供数据库聊天页,支持自然语言提问并自动生成只读 SQL 查询库存数据:
- 页面:`/ai/chat`
- 入口:`仓库概览` 右侧 AI 卡片中的 `聊天`
安全边界:
- 只允许 `SELECT/CTE` 查询
- 禁止写操作INSERT/UPDATE/DELETE/DDL 等)
- 禁止访问 `users`
- 默认自动补 `LIMIT`,避免一次性返回过多数据
若提问失败,可在系统日志中查看 `ai_chat_*` 相关记录。
联网补充(可选):
- 聊天页可勾选 `允许联网补充`
- 开启后会在数据库查询结果基础上补充公开来源线索
- 回答会区分“数据库结论”和“联网参考”,并展示来源可信度与链接
本地记忆:
- AI 聊天会为当前登录用户保存本地记忆(最近对话与“记住 ...”条目)
- 记忆文件:`data/ai_chat_memory.json`
- 聊天页可点击 `清空本地记忆` 按钮重置
## 3. 页面说明
### 3.1 首页 `/`