mirror of https://github.com/Mai-with-u/MaiBot.git
56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
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
|
|
|
|
|
|
|
|
|