fix agent

This commit is contained in:
jxxghp
2025-11-01 10:39:08 +08:00
parent d523c7c916
commit 438d3210bc
18 changed files with 145 additions and 71 deletions

View File

@@ -3,8 +3,14 @@
from langchain.tools import BaseTool
from pydantic import PrivateAttr
from app.chain import ChainBase
from app.helper.message import MessageHelper
from app.log import logger
from app.schemas import Notification
class ToolChain(ChainBase):
pass
class MoviePilotTool(BaseTool):
@@ -14,11 +20,15 @@ class MoviePilotTool(BaseTool):
_user_id: str = PrivateAttr()
_message_helper: MessageHelper = PrivateAttr()
def __init__(self, session_id: str, user_id: str, message_helper: MessageHelper = None, **kwargs):
def __init__(self, session_id: str, user_id: str,
channel: str = None, source: str = None, username: str = None, **kwargs):
super().__init__(**kwargs)
self._session_id = session_id
self._user_id = user_id
self._message_helper = message_helper or MessageHelper()
self.channel = channel
self.source = source
self.username = username
self._message_helper = MessageHelper()
def _run(self, **kwargs) -> str:
raise NotImplementedError
@@ -28,11 +38,13 @@ class MoviePilotTool(BaseTool):
def _send_tool_message(self, message: str, title: str = None, **kwargs):
"""发送工具执行消息"""
try:
self._message_helper.put(
message=message,
role="system",
title=title or "工具执行"
ToolChain().post_message(
Notification(
channel=self.channel,
source=self.source,
userid=self.user_id,
username=self.username,
title=title,
text=message
)
except Exception as e:
logger.error(f"发送工具消息失败: {e}")
)