SamLee 670ed26739 文档(可视化): 更新真实运行发现机制 17 часов назад
..
.cache 50e58c5d76 可视化:纳入执行过程可视化模块 3 дней назад
backend 1d3d0d7904 测试(可视化): 使用确定性持久化运行夹具 17 часов назад
frontend 43efa2e915 test(可视化E2E): 删除过时的 fake graph 场景 20 часов назад
test-artifacts 50e58c5d76 可视化:纳入执行过程可视化模块 3 дней назад
.gitignore 4235eddebb docs(visualization): document fake data boundaries 1 день назад
DATA_CONTRACT.md 8e4f2805eb docs(可视化合同): 明确 Ledger Trace 与只读投影边界 20 часов назад
README.md 670ed26739 文档(可视化): 更新真实运行发现机制 17 часов назад

README.md

Script Build Execution Observer

脚本构建系统的只读真实运行观察器。它不再用 Fake Graph 模拟一条固定流水线,而是直接投影 Host 持久化的 TaskLedger、全局 Planner Trace 和 Worker Attempt Trace。

主界面严格对应当前代码的四层结构:

  1. 一个围绕创作总目标持续运行的全局 Planner;
  2. Planner 逐步创建、派发和调整的一棵动态 Task 树;
  3. 每个 Task 的 创建 → Attempt → Validation → Decision 受控生命周期;
  4. 每个 Attempt 内部的 Worker 说明 → 工具调用 → 工具结果 → 提交 循环。

界面中的 Reasoning 只指模型主动输出的说明、工具参数、工具结果、Validation 理由和 Planner Decision,不声称展示隐藏思维链。

数据源

默认只读同仓库下的:

script_build_host/.local/agent-data/
├── task-ledger/<root_trace_id>/orchestration/ledger.json
├── traces/<root_trace_id>/meta.json
├── traces/<trace_id>/messages/*.json
└── script-task-contracts/<root_trace_id>/sha256/*

可用环境变量覆盖数据根目录:

export SCRIPT_BUILD_AGENT_DATA_ROOT=/absolute/path/to/agent-data

观察器不再绑定固定的历史 Build ID。它从 TaskLedger 发现 Root Trace,并优先从 Root meta.json 的受保护上下文读取 script_build_idgoal.json 和早期消息只作为旧运行的兼容回退。 新的真实 E2E 持久化后会自动出现在列表中。前端每 15 秒重新读取快照,不修改 ledger、trace 或数据库。

启动

cd visualization/backend
python -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8788
cd visualization/frontend
npm install
NEXT_PUBLIC_API_BASE=http://127.0.0.1:8788 npm run dev

访问 http://127.0.0.1:3008

API

  • GET /api/health
  • GET /api/runs
  • GET /api/runs/{script_build_id}/execution
  • GET /api/runs/{script_build_id}/tasks/{task_id}

验证

cd visualization/backend && .venv/bin/python -m pytest -q
cd visualization/frontend && npm test && npm run typecheck && npm run build

真实数据的投影边界与证据等级见 DATA_CONTRACT.md