26 lines
840 B
Python
26 lines
840 B
Python
"""当前用户的 Agent Run 查询页面。"""
|
|
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.core.paginator import Paginator
|
|
from django.shortcuts import get_object_or_404, render
|
|
|
|
from .services import runs_for_user
|
|
|
|
|
|
@login_required
|
|
def run_list(request):
|
|
"""分页显示当前用户的运行记录。"""
|
|
|
|
page = Paginator(runs_for_user(request.user), 20).get_page(request.GET.get("page"))
|
|
return render(request, "agent_runtime/run_list.html", {"page": page})
|
|
|
|
|
|
@login_required
|
|
def run_detail(request, run_id):
|
|
"""越权与不存在统一返回 404,避免泄露资源存在性。"""
|
|
|
|
run = get_object_or_404(
|
|
runs_for_user(request.user).prefetch_related("events", "tool_calls", "approvals"), pk=run_id
|
|
)
|
|
return render(request, "agent_runtime/run_detail.html", {"run": run})
|