feat:记录使用的表达方式

This commit is contained in:
SengokuCola
2025-08-12 21:44:35 +08:00
parent 04bd05c1fe
commit 4ffcc61f4b
12 changed files with 102 additions and 363 deletions

View File

@@ -84,7 +84,8 @@ async def generate_reply(
return_prompt: bool = False,
request_type: str = "generator_api",
from_plugin: bool = True,
) -> Tuple[bool, List[Tuple[str, Any]], Optional[str]]:
return_expressions: bool = False,
) -> Tuple[bool, List[Tuple[str, Any]], Optional[Tuple[str, List[Dict[str, Any]]]]]:
"""生成回复
Args:
@@ -123,7 +124,7 @@ async def generate_reply(
reply_reason = action_data.get("reason", "")
# 调用回复器生成回复
success, llm_response_dict, prompt = await replyer.generate_reply_with_context(
success, llm_response_dict, prompt, selected_expressions = await replyer.generate_reply_with_context(
extra_info=extra_info,
available_actions=available_actions,
choosen_actions=choosen_actions,
@@ -144,10 +145,16 @@ async def generate_reply(
logger.debug(f"[GeneratorAPI] 回复生成成功,生成了 {len(reply_set)} 个回复项")
if return_prompt:
return success, reply_set, prompt
if return_expressions:
return success, reply_set, (prompt, selected_expressions)
else:
return success, reply_set, prompt
else:
return success, reply_set, None
if return_expressions:
return success, reply_set, (None, selected_expressions)
else:
return success, reply_set, None
except ValueError as ve:
raise ve

View File

@@ -21,7 +21,7 @@
import traceback
import time
from typing import Optional, Union, Dict, Any
from typing import Optional, Union, Dict, Any, List
from src.common.logger import get_logger
# 导入依赖
@@ -49,6 +49,7 @@ async def _send_to_target(
reply_message: Optional[Dict[str, Any]] = None,
storage_message: bool = True,
show_log: bool = True,
selected_expressions:List[int] = None,
) -> bool:
"""向指定目标发送消息的内部实现
@@ -121,6 +122,7 @@ async def _send_to_target(
is_emoji=(message_type == "emoji"),
thinking_start_time=current_time,
reply_to=reply_to_platform_id,
selected_expressions=selected_expressions,
)
# 发送消息
@@ -208,6 +210,7 @@ async def text_to_stream(
set_reply: bool = False,
reply_message: Optional[Dict[str, Any]] = None,
storage_message: bool = True,
selected_expressions:List[int] = None,
) -> bool:
"""向指定流发送文本消息
@@ -230,6 +233,7 @@ async def text_to_stream(
set_reply=set_reply,
reply_message=reply_message,
storage_message=storage_message,
selected_expressions=selected_expressions,
)