签到检查功能增强:返回签到时间和内容
问题: - 用户询问'我什么时候签到的'时,AI 说'系统只记录是否签到,没有时间戳' - 实际上数据库 signs 表有完整的 sign_time 和 sign_text 字段 解决方案: - 修改 executeCheck 方法,改用 ListSigns 查询今天的签到记录 - 返回完整的签到详情:签到时间(HH:MM:SS格式)+ 签到内容 - 未签到时仍返回简单提示 改动内容: - executeCheck 使用 ListSigns 替代 HasSignedOnDay - 构建 ListOptions 查询今天的签到记录(过滤 NodeID + 时间范围) - 返回格式:'XXX 今天已经签到过了。\n签到时间:10:30:45\n签到内容:上海-Kevin-GAT562签到' - 更新测试验证返回内容包含时间和签到文本 - 更新 mockSignStore.ListSigns 支持 NodeID 和 Limit 过滤 使用效果: - 用户:'我今天签到了吗?' → 返回是否签到 + 时间 + 内容 - 用户:'我什么时候签到的?' → 返回签到时间:10:30:45 测试: - ✅ 未签到场景测试通过 - ✅ 已签到场景测试通过(验证时间和内容) - ✅ 所有签到工具测试通过 - ✅ 项目编译成功 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,9 +32,9 @@
|
||||
### 3. 检查操作 (action=check) **新增**
|
||||
|
||||
检查当前节点今天是否已签到:
|
||||
- 用于回答"我今天签到了吗"之类的问题
|
||||
- 用于回答"我今天签到了吗"、"我什么时候签到的"之类的问题
|
||||
- 直接查询数据库,不依赖对话历史
|
||||
- 返回明确的已签到/未签到状态
|
||||
- 返回明确的签到状态,**包括签到时间和签到内容**
|
||||
|
||||
## 修改内容
|
||||
|
||||
@@ -102,15 +102,21 @@ AI 调用:
|
||||
```
|
||||
|
||||
返回(未签到):
|
||||
```
|
||||
```text
|
||||
Test Node 今天还没有签到。
|
||||
```
|
||||
|
||||
返回(已签到):
|
||||
```
|
||||
```text
|
||||
Test Node 今天已经签到过了。
|
||||
签到时间:10:30:45
|
||||
签到内容:上海闵行-Kevin-GAT562签到
|
||||
```
|
||||
|
||||
**用户**:"我什么时候签到的?"
|
||||
|
||||
AI 同样调用 check 操作,返回包含签到时间和内容的完整信息。
|
||||
|
||||
#### 查询今天的签到情况
|
||||
```json
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user