Skip to content

Commit f17f5cf

Browse files
committed
feat:修改log,优化关系构建逻辑,节省token,
1 parent 723870b commit f17f5cf

File tree

10 files changed

+309
-328
lines changed

10 files changed

+309
-328
lines changed

src/chat/emoji_system/emoji_manager.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,8 +324,6 @@ async def clear_temp_emoji() -> None:
324324
os.remove(file_path)
325325
logger.debug(f"[清理] 删除: {filename}")
326326

327-
logger.info("[清理] 完成")
328-
329327

330328
async def clean_unused_emojis(emoji_dir: str, emoji_objects: List["MaiEmoji"], removed_count: int) -> int:
331329
"""清理指定目录中未被 emoji_objects 追踪的表情包文件"""
@@ -590,7 +588,7 @@ async def start_periodic_check_register(self) -> None:
590588
"""定期检查表情包完整性和数量"""
591589
await self.get_all_emoji_from_db()
592590
while True:
593-
logger.info("[扫描] 开始检查表情包完整性...")
591+
# logger.info("[扫描] 开始检查表情包完整性...")
594592
await self.check_emoji_file_integrity()
595593
await clear_temp_emoji()
596594
logger.info("[扫描] 开始扫描新表情包...")

src/chat/heart_flow/heartflow_message_processor.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -119,15 +119,15 @@ async def process_message(self, message: MessageRecv) -> None:
119119
# current_time = time.strftime("%H:%M:%S", time.localtime(message.message_info.time))
120120
current_talk_frequency = global_config.chat.get_current_talk_frequency(chat.stream_id)
121121

122-
# 如果消息中包含图片标识,则日志展示为图片
123-
124-
picid_match = re.search(r"\[picid:([^\]]+)\]", message.processed_plain_text)
125-
if picid_match:
126-
logger.info(f"[{mes_name}]{userinfo.user_nickname}: [图片] [当前回复频率: {current_talk_frequency}]")
127-
else:
128-
logger.info(
129-
f"[{mes_name}]{userinfo.user_nickname}:{message.processed_plain_text}[当前回复频率: {current_talk_frequency}]"
130-
)
122+
# 如果消息中包含图片标识,则将 [picid:...] 替换为 [图片]
123+
picid_pattern = r"\[picid:([^\]]+)\]"
124+
processed_plain_text = re.sub(picid_pattern, "[图片]", message.processed_plain_text)
125+
126+
logger.info(
127+
f"[{mes_name}]{userinfo.user_nickname}:{processed_plain_text}"
128+
)
129+
130+
logger.debug(f"[{mes_name}][当前时段回复频率: {current_talk_frequency}]")
131131

132132
# 8. 关系处理
133133
if global_config.relationship.enable_relationship:

src/chat/message_receive/storage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ async def update_message(
131131
if matched_message:
132132
# 更新找到的消息记录
133133
Messages.update(message_id=qq_message_id).where(Messages.id == matched_message.id).execute()
134-
logger.info(f"更新消息ID成功: {matched_message.message_id} -> {qq_message_id}")
134+
logger.debug(f"更新消息ID成功: {matched_message.message_id} -> {qq_message_id}")
135135
else:
136136
logger.debug("未找到匹配的消息")
137137

src/chat/normal_chat/normal_chat.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -585,10 +585,19 @@ async def reply_one_message(self, message: MessageRecv) -> None:
585585
)
586586
response_set, plan_result = results
587587
except asyncio.TimeoutError:
588-
logger.warning(
589-
f"[{self.stream_name}] 并行执行回复生成和动作规划超时 ({gather_timeout}秒),正在取消相关任务..."
590-
)
591-
print(f"111{self.timeout_count}")
588+
gen_timed_out = not gen_task.done()
589+
plan_timed_out = not plan_task.done()
590+
591+
timeout_details = []
592+
if gen_timed_out:
593+
timeout_details.append("回复生成(gen)")
594+
if plan_timed_out:
595+
timeout_details.append("动作规划(plan)")
596+
597+
timeout_source = " 和 ".join(timeout_details)
598+
599+
logger.warning(f"[{self.stream_name}] {timeout_source} 任务超时 ({global_config.chat.thinking_timeout}秒),正在取消相关任务...")
600+
# print(f"111{self.timeout_count}")
592601
self.timeout_count += 1
593602
if self.timeout_count > 5:
594603
logger.warning(

src/chat/utils/chat_message_builder.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,9 @@ def build_readable_messages(
551551
show_actions: 是否显示动作记录
552552
"""
553553
# 创建messages的深拷贝,避免修改原始列表
554+
if not messages:
555+
return ""
556+
554557
copy_messages = [msg.copy() for msg in messages]
555558

556559
if show_actions and copy_messages:

src/common/database/database_model.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,7 @@ class PersonInfo(BaseModel):
252252
know_times = FloatField(null=True) # 认识时间 (时间戳)
253253
know_since = FloatField(null=True) # 首次印象总结时间
254254
last_know = FloatField(null=True) # 最后一次印象总结时间
255-
familiarity_value = IntegerField(null=True, default=0) # 熟悉度,0-100,从完全陌生到非常熟悉
256-
liking_value = IntegerField(null=True, default=50) # 好感度,0-100,从非常厌恶到十分喜欢
255+
attitude = IntegerField(null=True, default=50) # 态度,0-100,从非常厌恶到十分喜欢
257256

258257
class Meta:
259258
# database = db # 继承自 BaseModel

src/common/logger.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -321,14 +321,13 @@ def reconfigure_existing_loggers():
321321
# 核心模块
322322
"main": "\033[1;97m", # 亮白色+粗体 (主程序)
323323
"api": "\033[92m", # 亮绿色
324-
"emoji": "\033[92m", # 亮绿色
324+
"emoji": "\033[33m", # 亮绿色
325325
"chat": "\033[92m", # 亮蓝色
326326
"config": "\033[93m", # 亮黄色
327327
"common": "\033[95m", # 亮紫色
328328
"tools": "\033[96m", # 亮青色
329329
"lpmm": "\033[96m",
330330
"plugin_system": "\033[91m", # 亮红色
331-
"experimental": "\033[97m", # 亮白色
332331
"person_info": "\033[32m", # 绿色
333332
"individuality": "\033[34m", # 蓝色
334333
"manager": "\033[35m", # 紫色
@@ -339,8 +338,7 @@ def reconfigure_existing_loggers():
339338
"planner": "\033[36m",
340339
"memory": "\033[34m",
341340
"hfc": "\033[96m",
342-
"base_action": "\033[96m",
343-
"action_manager": "\033[32m",
341+
"action_manager": "\033[38;5;166m",
344342
# 关系系统
345343
"relation": "\033[38;5;201m", # 深粉色
346344
# 聊天相关模块
@@ -356,11 +354,9 @@ def reconfigure_existing_loggers():
356354
"message_storage": "\033[38;5;33m", # 深蓝色
357355
# 专注聊天模块
358356
"replyer": "\033[38;5;166m", # 橙色
359-
"expressor": "\033[38;5;172m", # 黄橙色
360-
"processor": "\033[38;5;184m", # 黄绿色
361357
"base_processor": "\033[38;5;190m", # 绿黄色
362358
"working_memory": "\033[38;5;22m", # 深绿色
363-
"memory_activator": "\033[38;5;28m", # 绿色
359+
"memory_activator": "\033[34m", # 绿色
364360
# 插件系统
365361
"plugin_manager": "\033[38;5;208m", # 红色
366362
"base_plugin": "\033[38;5;202m", # 橙红色
@@ -386,11 +382,9 @@ def reconfigure_existing_loggers():
386382
"tool_executor": "\033[38;5;64m", # 深绿色
387383
"base_tool": "\033[38;5;70m", # 绿色
388384
# 工具和实用模块
389-
"prompt": "\033[38;5;99m", # 紫色
390385
"prompt_build": "\033[38;5;105m", # 紫色
391386
"chat_utils": "\033[38;5;111m", # 蓝色
392387
"chat_image": "\033[38;5;117m", # 浅蓝色
393-
"typo_gen": "\033[38;5;123m", # 青绿色
394388
"maibot_statistic": "\033[38;5;129m", # 紫色
395389
# 特殊功能插件
396390
"mute_plugin": "\033[38;5;240m", # 灰色
@@ -402,16 +396,13 @@ def reconfigure_existing_loggers():
402396
# 数据库和消息
403397
"database_model": "\033[38;5;94m", # 橙褐色
404398
"maim_message": "\033[38;5;100m", # 绿褐色
405-
# 实验性模块
406-
"pfc": "\033[38;5;252m", # 浅灰色
407399
# 日志系统
408400
"logger": "\033[38;5;8m", # 深灰色
409-
"demo": "\033[38;5;15m", # 白色
410401
"confirm": "\033[1;93m", # 黄色+粗体
411402
# 模型相关
412403
"model_utils": "\033[38;5;164m", # 紫红色
413404
"relationship_fetcher": "\033[38;5;170m", # 浅紫色
414-
"relationship_builder": "\033[38;5;117m", # 浅蓝色
405+
"relationship_builder": "\033[38;5;93m", # 浅蓝色
415406
}
416407

417408
RESET_COLOR = "\033[0m"

src/person_info/person_info.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"points": None,
4949
"forgotten_points": None,
5050
"relation_value": None,
51+
"attitude": 50,
5152
}
5253

5354

0 commit comments

Comments
 (0)