- 将 `get_tavily_search` 导入移至新的工具包结构中。 - 更新 `skill_service.py` 以获取所有工具而不仅仅是内置工具。 - 引入 `tool_service.py` 用于管理工具元数据和初始化。 - 从 `models.py` 中删除了旧的数据库模型。 - 添加了新的 `tool_api.js` 用于工具管理API端点。 - 创建了 `ToolsManagerComponent.vue` 用于在UI中显示和管理工具。 - 更新了 `ExtensionsView.vue` 以包含工具管理的新标签页。
26 lines
755 B
Python
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]}
|