feat(agent): support skills

This commit is contained in:
jxxghp
2026-03-24 08:48:27 +08:00
parent 309b7b8a77
commit e82494c444
13 changed files with 424 additions and 66 deletions

View File

@@ -11,10 +11,10 @@ from langchain.agents.middleware.types import (
PrivateStateAttr, # noqa
ResponseT,
)
from langchain_core.messages import SystemMessage, ContentBlock
from langchain_core.runnables import RunnableConfig
from langgraph.runtime import Runtime
from app.agent.middleware.utils import append_to_system_message
from app.log import logger
@@ -97,26 +97,6 @@ MEMORY_SYSTEM_PROMPT = """<agent_memory>
"""
def append_to_system_message(
system_message: SystemMessage | None,
text: str,
) -> SystemMessage:
"""将文本追加到系统消息。
参数:
system_message: 现有的系统消息或 None。
text: 要添加到系统消息的文本。
返回:
追加了文本的新 SystemMessage。
"""
new_content: list[ContentBlock] = list(system_message.content_blocks) if system_message else [] # noqa
if new_content:
text = f"\n\n{text}"
new_content.append({"type": "text", "text": text})
return SystemMessage(content_blocks=new_content)
class MemoryMiddleware(AgentMiddleware[MemoryState, ContextT, ResponseT]): # noqa
"""从 `AGENTS.md` 文件加载代理记忆的中间件。