ForcePilot/server/routers/tool_router.py
Wenjie Zhang b4ea2ab948 feat: 重构工具管理并集成新工具API
- 将 `get_tavily_search` 导入移至新的工具包结构中。
- 更新 `skill_service.py` 以获取所有工具而不仅仅是内置工具。
- 引入 `tool_service.py` 用于管理工具元数据和初始化。
- 从 `models.py` 中删除了旧的数据库模型。
- 添加了新的 `tool_api.js` 用于工具管理API端点。
- 创建了 `ToolsManagerComponent.vue` 用于在UI中显示和管理工具。
- 更新了 `ExtensionsView.vue` 以包含工具管理的新标签页。
2026-03-03 23:44:57 +08:00

26 lines
755 B
Python

from fastapi import APIRouter, Depends
from src.services.tool_service import get_tool_metadata
from server.utils.auth_middleware import get_admin_user
from src.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["id"]} for t in all_tools]}