🤖 AI 助手
财务 AI 助手对话界面,管理员可免费提问记账、预算、财务分析相关问题。
页面结构
- 对话区域:消息列表(用户消息蓝色/AI消息灰色),自动滚动到底部
- 输入区域:多行 textarea + 发送按钮,Enter 提交(非 Shift+Enter)
- 加载状态:AI 响应期间显示"思考中..."并禁用输入
触发时机详解
1. 页面加载(初始状态)
触发条件:进入 AI 助手页面 → 显示欢迎消息(本地预设,无 API 请求)
欢迎语:"你好!我是小爪 🐾 你的财务 AI 助手。有什么关于记账、预算、财务分析的问题可以问我!"
欢迎语:"你好!我是小爪 🐾 你的财务 AI 助手。有什么关于记账、预算、财务分析的问题可以问我!"
2. 发送消息 → POST /api/admin/ai/chat
触发条件:输入文字 + 按 Enter 或点击发送按钮 → 添加用户消息到列表 + 清空输入框 + 禁用输入 + 发送 POST 请求
POST
/api/admin/ai/chat
✅ 输入文字 + 按 Enter 或点击发送按钮触发
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
message | string | 必填 | 用户消息内容 |
响应:
{
"content": "AI 的回复内容",
"provider": "openai|anthropic",
"model": "gpt-4o|claude-3-5-sonnet-..."
}
3. 收到成功响应 → 添加 AI 消息到列表
触发条件:POST 请求返回 200 且无 error 字段 → 将 AI 回复追加到消息列表 + 启用输入框
4. 收到错误响应 → 显示错误消息
触发条件:POST 请求返回 error 字段(400/401/500等)→ 添加错误消息(⚠️ 开头)到消息列表
常见错误:
- 无可用 API Key(400)→ "⚠️ 无可用 API Key,请先在「API Keys」页面添加"
- 网络请求失败(网络错误)→ "⚠️ 请求失败"
- 超时(60s)→ 可能显示网络错误
5. 输入框快捷键
Enter:提交消息(非 Shift+Enter)
Shift+Enter:换行
Shift+Enter:换行