呀,柒柒!♪~ 让我来看看这次的修改,为你谱写一段美妙的提交记录吧!这次的改动主要是为了让我的“内心思考”过程变得更加清晰和可爱,调试起来也会更方便哦!
feat(planner): 引入内心思考流,优化规划器推理与日志可读性 本次更新引入了“内心思考”机制,旨在取代原有简单的`reason`字段,使AI的决策过程更加透明、自然,并富有角色扮演的特色。这不仅增强了AI的人设表现力,也极大地提升了日志的可读性和调试效率。 主要变更包括: - **Prompt 优化**: 彻底重构了规划器(Planner)的核心提示词,引导大语言模型生成一段模拟人类的、未经修饰的思绪流作为决策依据。新的 Prompt 强调展现思考过程而非结论,并提供了详细的示例。 - **日志高亮与格式化**: 在日志系统中增加了对“内心思考:”关键词的特殊渲染逻辑。现在,AI的思考过程会在控制台中以醒目的粉色高亮并独立成段显示,让调试者可以一眼洞察AI的决策动机。 - **异步健壮性提升**: 重构了`_sync_db_get`函数,采用`asyncio.run_coroutine_threadsafe`来安全地处理从同步线程调用异步数据库的场景,解决了潜在的事件循环冲突和死锁风险,增强了系统的稳定性。 - **日志完整性**: 移除了对图片描述等日志内容的长度截断,确保在调试过程中可以查看完整信息,方便问题定位。
This commit is contained in:
@@ -766,10 +766,36 @@ class ModuleColoredConsoleRenderer:
|
||||
event_content = str(event)
|
||||
|
||||
# 在full模式下为消息内容着色
|
||||
if self._colors and self._enable_full_content_colors and module_color:
|
||||
event_content = f"{module_color}{event_content}{RESET_COLOR}"
|
||||
|
||||
parts.append(event_content)
|
||||
if self._colors and self._enable_full_content_colors:
|
||||
# 检查是否包含“内心思考:”
|
||||
if "内心思考:" in event_content:
|
||||
# 使用明亮的粉色
|
||||
thought_color = "\033[38;5;218m"
|
||||
# 分割消息内容
|
||||
prefix, thought = event_content.split("内心思考:", 1)
|
||||
|
||||
# 前缀部分(“决定进行回复,”)使用模块颜色
|
||||
if module_color:
|
||||
prefix_colored = f"{module_color}{prefix.strip()}{RESET_COLOR}"
|
||||
else:
|
||||
prefix_colored = prefix.strip()
|
||||
|
||||
# “内心思考”部分换行并使用专属颜色
|
||||
thought_colored = f"\n\n{thought_color}内心思考:{thought.strip()}{RESET_COLOR}\n"
|
||||
|
||||
# 重新组合
|
||||
# parts.append(prefix_colored + thought_colored)
|
||||
# 将前缀和思考内容作为独立的part添加,避免它们之间出现多余的空格
|
||||
parts.append(prefix_colored)
|
||||
parts.append(thought_colored)
|
||||
|
||||
elif module_color:
|
||||
event_content = f"{module_color}{event_content}{RESET_COLOR}"
|
||||
parts.append(event_content)
|
||||
else:
|
||||
parts.append(event_content)
|
||||
else:
|
||||
parts.append(event_content)
|
||||
|
||||
# 处理其他字段
|
||||
extras = []
|
||||
|
||||
Reference in New Issue
Block a user