61 lines
1.2 KiB
Python
61 lines
1.2 KiB
Python
|
|
"""
|
||
|
|
资源管理 API 路由
|
||
|
|
"""
|
||
|
|
from fastapi import APIRouter
|
||
|
|
from pydantic import BaseModel
|
||
|
|
from typing import List, Optional
|
||
|
|
import time
|
||
|
|
|
||
|
|
router = APIRouter()
|
||
|
|
|
||
|
|
|
||
|
|
class TaskRequest(BaseModel):
|
||
|
|
agent_id: str
|
||
|
|
task: str
|
||
|
|
timeout: Optional[int] = 300
|
||
|
|
|
||
|
|
|
||
|
|
class TaskParseRequest(BaseModel):
|
||
|
|
task: str
|
||
|
|
|
||
|
|
|
||
|
|
@router.post("/execute")
|
||
|
|
async def execute_task(request: TaskRequest):
|
||
|
|
"""执行任务"""
|
||
|
|
return {
|
||
|
|
"success": True,
|
||
|
|
"message": f"任务 '{request.task}' 已执行",
|
||
|
|
"files_locked": ["src/main.py"],
|
||
|
|
"duration_seconds": 5.5
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/status")
|
||
|
|
async def get_all_status():
|
||
|
|
"""获取所有 Agent 状态"""
|
||
|
|
return {
|
||
|
|
"agents": [
|
||
|
|
{
|
||
|
|
"agent_id": "claude-001",
|
||
|
|
"status": "working",
|
||
|
|
"current_task": "开发功能",
|
||
|
|
"progress": 75
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"agent_id": "kimi-001",
|
||
|
|
"status": "idle",
|
||
|
|
"current_task": "",
|
||
|
|
"progress": 0
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
@router.post("/parse-task")
|
||
|
|
async def parse_task(request: TaskParseRequest):
|
||
|
|
"""解析任务文件"""
|
||
|
|
return {
|
||
|
|
"task": request.task,
|
||
|
|
"files": ["src/main.py", "src/utils.py"]
|
||
|
|
}
|