ForcePilot/backend/package/yuxi/agents/middlewares/knowledge_base_middleware.py
Wenjie Zhang c772e5ca3a refactor: Agent 运行时架构重构 - 移除 RuntimeConfigMiddleware,统一上下文准备与工具解析
- 删除 runtime_config_middleware.py,将功能合并到:
  - prepare_agent_runtime_context(): 统一上下文准备入口
  - resolve_configured_runtime_tools(): 运行时工具解析
- context.py: 规范化函数重命名 (_names → _keys),重构 config 加载流程
- chatbot/deep_agent graph: 集成新上下文准备流程,移除 RuntimeConfigMiddleware 引用
- skills_middleware: 抽取 normalize_string_list 为共享工具函数
- subagent_service: get_subagents_from_names → get_subagents_from_slugs,支持 slug 查询
- 对应更新 repositories/services/routers 适配新接口
2026-05-26 17:40:17 +08:00

26 lines
946 B
Python

"""知识库中间件 - 提供通用知识库工具"""
from langchain.agents.middleware import AgentMiddleware
from yuxi.agents.toolkits.kbs import get_common_kb_tools
from yuxi.utils.logging_config import logger
class KnowledgeBaseMiddleware(AgentMiddleware):
"""知识库中间件 - 提供通用知识库工具,其他没有任何作用
提供通用知识库工具:
- list_kbs: 列出用户可访问的知识库
- get_mindmap: 获取指定知识库的思维导图
- query_kb: 在指定知识库中检索
- find_kb_document: 在指定文件内定位关键词或正则模式
- open_kb_document: 按 file_id 分段打开知识库文档
"""
def __init__(self):
super().__init__()
# 预加载通用知识库工具
self.kb_tools = get_common_kb_tools()
self.tools = self.kb_tools
logger.debug(f"Initialized KnowledgeBaseMiddleware with {len(self.kb_tools)} tools")