ForcePilot/backend/server/routers/tool_router.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
759 B
Python

from fastapi import APIRouter, Depends
from yuxi.services.tool_service import get_tool_metadata
from server.utils.auth_middleware import get_admin_user
from yuxi.storage.postgres.models_business import User
tools = APIRouter(prefix="/system/tools", tags=["tools"])
@tools.get("")
async def list_tools(
category: str = None,
user: User = Depends(get_admin_user),
):
"""获取工具列表"""
return {"success": True, "data": get_tool_metadata(category)}
@tools.get("/options")
async def get_tool_options(
user: User = Depends(get_admin_user),
):
"""获取工具选项(前端下拉框用)"""
all_tools = get_tool_metadata()
return {"success": True, "data": [{"label": t["name"], "value": t["slug"]} for t in all_tools]}