Relax searchChatHistory limits

This commit is contained in:
2026-04-27 11:52:33 +08:00
parent 200a404927
commit e629d37fa8
3 changed files with 8 additions and 8 deletions

View File

@@ -136,9 +136,9 @@ enableFavorabilitySystem: true
# 好感度每日基础偏移速度(点/天) # 好感度每日基础偏移速度(点/天)
favorabilityBaseShiftSpeed: 2.0 favorabilityBaseShiftSpeed: 2.0
# 聊天记录搜索最大天数 # 聊天记录搜索最大天数
searchHistoryMaxDays: 7 searchHistoryMaxDays: 30
# 聊天记录搜索最大查询条数,防止内存溢出 # 聊天记录搜索最大查询条数,防止内存溢出
searchHistoryMaxRecords: 500 searchHistoryMaxRecords: 5000
``` ```
## 系统提示词 ## 系统提示词

View File

@@ -133,8 +133,8 @@ object PluginConfig : AutoSavePluginConfig("Config") {
val maxToolOutputLength: Int by value(15000) val maxToolOutputLength: Int by value(15000)
@ValueDescription("聊天记录搜索最大天数") @ValueDescription("聊天记录搜索最大天数")
val searchHistoryMaxDays: Int by value(7) val searchHistoryMaxDays: Int by value(30)
@ValueDescription("聊天记录搜索最大查询条数,防止内存溢出") @ValueDescription("聊天记录搜索最大查询条数,防止内存溢出")
val searchHistoryMaxRecords: Int by value(500) val searchHistoryMaxRecords: Int by value(5000)
} }

View File

@@ -25,8 +25,8 @@ import java.time.format.DateTimeParseException
class SearchChatHistory : BaseAgent( class SearchChatHistory : BaseAgent(
tool = Tool.function( tool = Tool.function(
name = "searchChatHistory", name = "searchChatHistory",
description = "搜索群聊消息历史,可按关键词、发送者、时间范围筛选。用于回溯之前的讨论、查找某人说过的话等。" + description = "搜索群聊消息历史,可按关键词、发送者、时间范围筛选。用于回溯之前的讨论、查找某人说过的话、统计话题等。" +
"不指定时间范围时默认搜索最近7天。指定时间时范围不能超过7天,如需更长跨度可分多次查询。" + "不指定时间范围时默认搜索最近30天。指定时间时范围不能超过30天,如需更长跨度可分多次查询。" +
"可以通过多轮搜索来实现找到某条消息的上下文。", "可以通过多轮搜索来实现找到某条消息的上下文。",
parameters = Parameters.buildJsonObject { parameters = Parameters.buildJsonObject {
put("type", "object") put("type", "object")
@@ -49,7 +49,7 @@ class SearchChatHistory : BaseAgent(
} }
putJsonObject("limit") { putJsonObject("limit") {
put("type", "integer") put("type", "integer")
put("description", "返回消息数量上限默认20最大50") put("description", "返回消息数量上限默认20最大200")
} }
} }
} }
@@ -121,7 +121,7 @@ class SearchChatHistory : BaseAgent(
return "未找到匹配的聊天记录" return "未找到匹配的聊天记录"
} }
val limit = args["limit"]?.jsonPrimitive?.intOrNull?.coerceIn(1, 50) ?: 20 val limit = args["limit"]?.jsonPrimitive?.intOrNull?.coerceIn(1, 200) ?: 20
val total = filtered.size val total = filtered.size
val result = filtered.takeLast(limit) val result = filtered.takeLast(limit)