better:优化做梦表现
This commit is contained in:
54
src/dream/tools/get_chat_history_detail_tool.py
Normal file
54
src/dream/tools/get_chat_history_detail_tool.py
Normal file
@@ -0,0 +1,54 @@
|
||||
import time
|
||||
from typing import Optional
|
||||
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.database_model import ChatHistory
|
||||
|
||||
logger = get_logger("dream_agent")
|
||||
|
||||
|
||||
def make_get_chat_history_detail(chat_id: str): # chat_id 目前未直接使用,预留以备扩展
|
||||
async def get_chat_history_detail(memory_id: int) -> str:
|
||||
"""获取单条 chat_history 的完整内容"""
|
||||
try:
|
||||
logger.info(f"[dream][tool] 调用 get_chat_history_detail(memory_id={memory_id})")
|
||||
record = ChatHistory.get_or_none(ChatHistory.id == memory_id)
|
||||
if not record:
|
||||
msg = f"未找到 ID={memory_id} 的 ChatHistory 记录。"
|
||||
logger.info(f"[dream][tool] get_chat_history_detail 未找到记录: {msg}")
|
||||
return msg
|
||||
|
||||
# 将时间戳转换为可读时间格式
|
||||
start_time_str = (
|
||||
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(record.start_time))
|
||||
if record.start_time
|
||||
else "未知"
|
||||
)
|
||||
end_time_str = (
|
||||
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(record.end_time))
|
||||
if record.end_time
|
||||
else "未知"
|
||||
)
|
||||
|
||||
result = (
|
||||
f"ID={record.id}\n"
|
||||
# f"chat_id={record.chat_id}\n"
|
||||
f"时间范围={start_time_str} 至 {end_time_str}\n"
|
||||
f"主题={record.theme or '无'}\n"
|
||||
f"关键词={record.keywords or '无'}\n"
|
||||
f"参与者={record.participants or '无'}\n"
|
||||
f"概括={record.summary or '无'}\n"
|
||||
f"关键信息={record.key_point or '无'}"
|
||||
)
|
||||
logger.debug(
|
||||
f"[dream][tool] get_chat_history_detail 成功,预览: {result[:200].replace(chr(10), ' ')}"
|
||||
)
|
||||
return result
|
||||
except Exception as e:
|
||||
logger.error(f"get_chat_history_detail 失败: {e}")
|
||||
return f"get_chat_history_detail 执行失败: {e}"
|
||||
|
||||
return get_chat_history_detail
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user