feat: 添加 AI Agent 对话测试工具 + 代码优化
主要变更: - 新增 tests/test_ai_chat.py: AI Agent 对话测试工具 - 优化 core/pydantic_ai_agent.py 和 db/chat_log_db.py - 清理归档文件,更新文档 Made-with: Cursor
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"daily": {
|
||||
"2026-02-26": 1.4850000000000005,
|
||||
"2026-02-27": 1.3200000000000007
|
||||
"2026-02-27": 1.3200000000000007,
|
||||
"2026-02-28": 0.25999999999999995
|
||||
},
|
||||
"monthly": {
|
||||
"2026-02": 2.8050000000000015
|
||||
"2026-02": 3.0650000000000017
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# 设计师在线查询 API(本端接入)
|
||||
|
||||
- **地址**:`.env` 中 `DESIGNER_ROSTER_API`,如 `http://huichang.online:8001/online`
|
||||
- **方法**:GET
|
||||
- **返回**:`{online_users: ["lz", "ZuoWei"], ...}`,本端用 `online_users` 同步本地后派单
|
||||
|
||||
## 调用时机
|
||||
|
||||
- **转人工时**按需 GET 一次,不轮询
|
||||
- 无人在线时:回退到 `transfer_groups.json` 静态配置,并发送企微「谁在线啊」提醒
|
||||
@@ -1,33 +0,0 @@
|
||||
# 设计师在线查询服务 - 需求(给另一台 AI)
|
||||
|
||||
## 你要做的
|
||||
|
||||
建库,从企微群解析「上线」「下线」消息并存储,提供 **GET 接口** 返回当前在线设计师名单。
|
||||
|
||||
## 接口
|
||||
|
||||
- **方法**:GET
|
||||
- **路径**:如 `/online`
|
||||
|
||||
## 返回格式(本端已适配)
|
||||
|
||||
```json
|
||||
{
|
||||
"online_count": 2,
|
||||
"online_users": ["lz", "ZuoWei"],
|
||||
"update_time": "2026-02-26 16:30:00"
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| online_users | 是 | 当前在线设计师名单,对应 init_designer_roster 的 wechat_user_id |
|
||||
|
||||
## 你这边的逻辑
|
||||
|
||||
1. 企微群消息 → 解析「上线」/「下线」→ 存库
|
||||
2. 接口从库查当前在线名单,按 `online_users` 返回
|
||||
|
||||
## 调用方
|
||||
|
||||
本端在**转人工时**按需 GET 一次,用 `online_users` 同步本地后派单。无人在线时发企微「谁在线啊」。
|
||||
@@ -1,4 +1,4 @@
|
||||
# 配置文件
|
||||
# 配置文件说明
|
||||
|
||||
## transfer_groups.json
|
||||
|
||||
@@ -18,19 +18,47 @@
|
||||
|
||||
---
|
||||
|
||||
## 设计师派单(SQLite,可选)
|
||||
## 设计师派单(SQLite)
|
||||
|
||||
同一设计师在不同店铺对应不同 group_id,转人工时按需查询在线状态,从在线设计师中轮询派单。
|
||||
|
||||
**初始化数据**:
|
||||
### 数据库
|
||||
|
||||
路径: `db/designer_roster_db/roster.db`
|
||||
|
||||
| 表 | 说明 |
|
||||
|---|------|
|
||||
| `designers` | 设计师(name, wechat_user_id)|
|
||||
| `designer_shops` | 设计师在某店铺的 group_id(同一人不同店铺不同分组)|
|
||||
| `designer_online` | 在线状态(转人工时按需查询外部 API 同步)|
|
||||
|
||||
### 初始化数据
|
||||
|
||||
```bash
|
||||
python scripts/init_designer_roster.py example # 写入示例
|
||||
python scripts/init_designer_roster.py list # 查看当前数据
|
||||
```
|
||||
|
||||
**数据库**:`db/designer_roster_db/roster.db`
|
||||
- `designers`:设计师(name, wechat_user_id)
|
||||
- `designer_shops`:设计师在某店铺的 group_id(同一人不同店铺不同分组)
|
||||
- `designer_online`:在线状态(转人工时按需查询外部 API 同步)
|
||||
### 在线查询 API
|
||||
|
||||
**接入**:`.env` 配置 `DESIGNER_ROSTER_API`(如 `http://xxx/online`),转人工时 GET 一次,用 `online_users` 同步。无人在线时发企微「谁在线啊」。
|
||||
`.env` 中配置 `DESIGNER_ROSTER_API`(如 `http://huichang.online:8001/online`)。
|
||||
|
||||
**接口**: GET,返回格式:
|
||||
|
||||
```json
|
||||
{
|
||||
"online_count": 2,
|
||||
"online_users": ["lz", "ZuoWei"],
|
||||
"update_time": "2026-02-26 16:30:00"
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `online_users` | 是 | 当前在线设计师名单,对应 `wechat_user_id` |
|
||||
|
||||
**调用时机**: 转人工时按需 GET 一次,不轮询。无人在线时回退到 `transfer_groups.json` 静态配置,并发企微「谁在线啊」提醒。
|
||||
|
||||
### 对接方要求(外部 AI 服务)
|
||||
|
||||
对端需实现:企微群消息 → 解析「上线」/「下线」→ 存库 → 提供 GET `/online` 接口,按上述格式返回在线名单。
|
||||
|
||||
Reference in New Issue
Block a user