diff --git a/src/chat/emoji_system/emoji_manager.py b/src/chat/emoji_system/emoji_manager.py index d17e6d643..b1a359d3c 100644 --- a/src/chat/emoji_system/emoji_manager.py +++ b/src/chat/emoji_system/emoji_manager.py @@ -1107,18 +1107,28 @@ class EmojiManager: if emoji_base64 is None: # 再次检查读取 logger.error(f"[注册失败] 无法读取图片以生成描述: {filename}") return False - description, emotions = await self.build_emoji_description(emoji_base64) - if not description: # 检查描述是否成功生成或审核通过 - logger.warning(f"[注册失败] 未能生成有效描述或审核未通过: {filename}") - # 删除未能生成描述的文件 - try: - os.remove(file_full_path) - logger.info(f"[清理] 删除描述生成失败的文件: {filename}") - except Exception as e: - logger.error(f"[错误] 删除描述生成失败文件时出错: {e!s}") - return False - new_emoji.description = description - new_emoji.emotion = emotions + task = asyncio.create_task(self.build_emoji_description(emoji_base64)) + + def after_built_description(fut: asyncio.Future): + if fut.cancelled(): + logger.error(f"[注册失败] 描述生成任务被取消: {filename}") + elif fut.exception(): + logger.error(f"[注册失败] 描述生成任务出错 ({filename}): {fut.exception()}") + else: + description, emotions = fut.result() + + if not description: # 检查描述是否成功生成或审核通过 + logger.warning(f"[注册失败] 未能生成有效描述或审核未通过: {filename}") + # 删除未能生成描述的文件 + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除描述生成失败的文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除描述生成失败文件时出错: {e!s}") + return False + new_emoji.description = description + new_emoji.emotion = emotions + task.add_done_callback(after_built_description) except Exception as build_desc_error: logger.error(f"[注册失败] 生成描述/情感时出错 ({filename}): {build_desc_error}") # 同样考虑删除文件 diff --git a/src/memory_graph/storage/graph_store.py b/src/memory_graph/storage/graph_store.py index bfc6ff306..eecfdeb2c 100644 --- a/src/memory_graph/storage/graph_store.py +++ b/src/memory_graph/storage/graph_store.py @@ -876,8 +876,6 @@ class GraphStore: logger.exception("同步图边到记忆.edges 失败") store._rebuild_node_edge_index() - - logger.info(f"从字典加载图: {store.get_statistics()}") return store def _sync_memory_edges_from_graph(self) -> None: @@ -942,8 +940,6 @@ class GraphStore: mem.edges.append(mem_edge) existing_edges.setdefault(mid, set()).add(mem_edge.id) - - logger.info("已将图中的边同步到 Memory.edges(保证 graph 与 memory 对象一致)") self._rebuild_node_edge_index() def remove_memory(self, memory_id: str, cleanup_orphans: bool = True) -> bool: diff --git a/src/plugins/built_in/affinity_flow_chatter/core/affinity_chatter.py b/src/plugins/built_in/affinity_flow_chatter/core/affinity_chatter.py index 509b7889c..71ce45875 100644 --- a/src/plugins/built_in/affinity_flow_chatter/core/affinity_chatter.py +++ b/src/plugins/built_in/affinity_flow_chatter/core/affinity_chatter.py @@ -97,7 +97,7 @@ class AffinityChatter(BaseChatter): **execution_result, } - logger.info( + logger.debug( f"聊天流 {self.stream_id} StreamContext处理成功: 动作数={result['actions_count']}, 未读消息={result['unread_messages_processed']}" )