From bf6cbc02b17e609ef626f92af49dc020591d7a00 Mon Sep 17 00:00:00 2001 From: zizi Date: Fri, 31 Jul 2026 11:02:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6(=E7=9C=8B=E6=9D=BF):=20?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E8=AE=B0=E5=BD=95=E8=90=BD=E5=9C=B0=E9=A1=B5?= =?UTF-8?q?=E5=80=99=E9=80=89/=E5=86=B3=E7=AD=96=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=E7=9C=9F=E5=AE=9E=E5=88=97=E8=A1=A8=EF=BC=8899=20=E5=B7=B2?= =?UTF-8?q?=E5=BB=BA=EF=BC=8C=E9=9A=8F=E5=88=9B=E4=BD=9C=E9=93=BE=E7=82=B9?= =?UTF-8?q?=E4=BA=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dashboard/server.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/dashboard/server.py b/dashboard/server.py index ebb7f4c..a15063d 100644 --- a/dashboard/server.py +++ b/dashboard/server.py @@ -470,10 +470,27 @@ def view_runs(): runs_html = (f"
运行(最近 50)
" + _RUN_COLS + _run_rows(runs) + "
") if runs else \ empty_gap("暂无运行记录", "创作链落库后,每次运行登记一行(example_run)。") - cand = (empty_gap("待审候选 · 待落库", "候选表(99)未建,AI 候选正文暂无持久化登记。") - if not table_exists("example_candidate") else "
候选表已建 · 暂无候选
") - dec = (empty_gap("用户决策 · 待落库", "决策记录表(99)未建,接受/合并/丢弃暂以 git 提交留痕。") - if not table_exists("example_user_decision") else "
决策表已建 · 暂无决策
") + if table_exists("example_candidate"): + _, cands = q("SELECT id, work_id, target_chapter, candidate_version, run_type, state, source_role " + "FROM example_candidate WHERE deleted=false AND state IN ('draft','checking','passed') " + "ORDER BY create_time DESC LIMIT 30") + cand = ("
待审候选(活跃)
" + "" + + "".join(f"" + f"" for c in cands) + + "
id作品章版本类型状态角色
{esc(c[0])}{esc(c[1])}{esc(c[2])}{esc(c[3])}{esc(c[4])}{chip(c[5])}{esc(c[6])}
") if cands else "
候选表已建 · 暂无待审候选
" + else: + cand = empty_gap("待审候选 · 待落库", "候选表(99)未建,AI 候选正文暂无持久化登记。") + if table_exists("example_user_decision"): + _, decs = q("SELECT work_id, target_chapter, decision, rationale, decided_by, create_time " + "FROM example_user_decision ORDER BY create_time DESC LIMIT 30") + dec = ("
用户决策(最近 30)
" + "" + + "".join(f"" + f"" for d in decs) + + "
作品章决策理据决策人时间
{esc(d[0])}{esc(d[1])}{chip({'accept':'good','merge':'warn','discard':'crit'}.get(d[2],'warn'), d[2])}{esc((d[3] or '')[:40])}{esc(d[4])}{esc(d[5])}
") if decs else "
决策表已建 · 暂无决策
" + else: + dec = empty_gap("用户决策 · 待落库", "决策记录表(99)未建,接受/合并/丢弃暂以 git 提交留痕。") body = (f"

运行记录agentic 的操作与产出 · 流程 05 · 质量 06

" f"{entries}{runs_html}

待审候选

{cand}

用户决策

{dec}") return layout("运行记录", body, "/runs")