feat: async score jobs — POST /api/score/async + 评分记录 page
Each async score job:
- Runs InlineScorer.score() in thread pool
- Writes standard run artifacts (metadata.json, scores.csv, summary.md)
- Runs optimization_advisor => optimization_advice.md
- Result appears in 运行列表 and 报告详情 with full report
New endpoints:
- POST /api/score/async (202, job_id immediate)
- GET /api/score/jobs (list all jobs)
- GET /api/score/jobs/{id} (single job status)
Frontend:
- 评分记录 nav page with card list
- 5s auto-polling for queued/running jobs
- 查看报告 button navigates to existing 报告详情 page
Dify: change /api/score -> /api/score/async, no response parsing needed
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -28,6 +28,9 @@
|
||||
<button class="nav-item" data-view="profiles">
|
||||
<span class="nav-ico">⚙</span><span>LLM 配置</span>
|
||||
</button>
|
||||
<button class="nav-item" data-view="scorejobs">
|
||||
<span class="nav-ico">📋</span><span>评分记录</span>
|
||||
</button>
|
||||
<button class="nav-item" data-view="apidocs">
|
||||
<span class="nav-ico">⎔</span><span>API 文档</span>
|
||||
</button>
|
||||
@@ -234,6 +237,22 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 评分记录视图 -->
|
||||
<section class="view" id="view-scorejobs" hidden>
|
||||
<div class="panel">
|
||||
<div class="panel-head">
|
||||
<h2>评分记录</h2>
|
||||
<span class="muted" style="font-size:13px">来自 Dify 异步评分任务(POST /api/score/async)</span>
|
||||
</div>
|
||||
<p class="muted">评分完成后自动生成完整报告(含指标得分与 LLM 优化建议),点击「查看报告」跳转报告详情页。</p>
|
||||
</div>
|
||||
<div id="scorejobs-list"></div>
|
||||
<div class="empty" id="scorejobs-empty" hidden>
|
||||
<p>暂无评分记录。</p>
|
||||
<p class="muted">在 Dify 工作流中调用 <code>POST /api/score/async</code> 后,记录将在此显示。</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- API 文档视图 -->
|
||||
<section class="view" id="view-apidocs" hidden>
|
||||
<iframe
|
||||
@@ -251,6 +270,7 @@
|
||||
<script src="/static/js/report.js"></script>
|
||||
<script src="/static/js/profiles.js"></script>
|
||||
<script src="/static/js/runner.js"></script>
|
||||
<script src="/static/js/score_jobs.js"></script>
|
||||
<script src="/static/js/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user