Repository navigation
Arena v0.2.5 · 运行日志阅读器改版与采集饿死修复
Arena 0.2.5 · 2026-11-08
本次交付固定源码 247817a9c0518489c77be768f2aa0397f76cb049,包含 code-only Linux 部署 ZIP 与配套的流量采集镜像更新。镜像仅支持本轮实际构建和核实的 linux/amd64,不承诺 arm64,未设置 latest。
主要变化
- 运行日志页改为常驻左工作索引+右执行阅读器:左侧等宽等高标签卡片、标题单行省略(完整标题在右侧阅读器);右侧收敛为“结果/执行记录”两个视图,执行记录固定“输出/工具/命令/文件”页签,工具调用可展开查看命令、路径、输入与响应等已记录字段。
?runId=深链、结果来源与结果搜索行为保留。 - 运行错误改为默认收起、按需展开的完整原文;流量“同步完成”正常终态不再占位渲染;工作结论改为单行内联状态。不再有 240 字符/300px 二次裁断和无用途说明文字。
- 修复 traffic-gateway collector 事件循环饿死(本项目首个 gateway 实质更新):heartbeat 移入独立 OS 线程,大响应体/并发下载占满 mitmproxy 事件循环不再触发宿主
traffic_capture_stalled误取消;body 落盘改缓冲写+每 1MB 阶段化 checkpoint,持久化不变式与封存身份协议不变,看门狗与重试预算行为未改动。新增/capture/capture-diagnostics.json区分「I/O 慢」与「进程卡死」。 - 数据库与 Worker 研究镜像相对 v0.2.4 无变化:无新增迁移,继续使用 v0.2.3 Worker 应用层与
arena-worker:0.2.3;但网关必须更换为本次更新的yong29/arena-traffic-gateway:git-f6df095fb4f8,旧git-a0f22cec57b3网关在批量大文件任务会复现误取消(见 proj_010 模式)。 - collector 修复已完成合成 harness 8 例、真实构建镜像内 64MB 流式验证及既有 9 例重试预算测试;真实项目端到端(批量 bundle+并发加载、kill 对照、上传链路)待部署后验收。
完整变化与兼容性说明:CHANGELOG。
部署包
请下载本 Release 附件中的 arena-0.2.5-linux-code-only.zip,不要用 GitHub 自动生成的 Source code ZIP 代替部署包。
- 大小:51,595,225 bytes。
- SHA256:
9b3fc9ebe030e4a0345274079bf6f4869b78887979f10774bfd9945c98bc1df3(附件与同名.sha256一致)。 - 包含服务端、正式前端静态资源(含 v0.2.5 运行日志新界面)、部署脚本及镜像构建输入;不含已安装依赖、前端源码、运行数据或 Docker 镜像。
配套镜像
| 镜像 | 说明 | 远端 manifest digest |
|---|---|---|
yong29/arena-traffic-gateway:git-f6df095fb4f8 |
v0.2.5 必须更换:修复大响应体采集饿死 | sha256:1578d5015ca2cc64bc26642be85b8a2eb27d72337c7deba91dc7dca9d482cd30 |
yong29/arena-worker:git-a0f22cec57b3 |
v0.2.1 公开研究基础镜像(不变),须叠加 v0.2.3 应用层 | sha256:b4babe19a719acf73733b3d6e093c490a2a741b95562682fd16b5c227df57d06 |
- 新网关基于同一 Dockerfile 构建(
python:3.13-slim-bookworm固定 digest + mitmproxy 12.3.0 + pproxy 2.7.9),仅替换修复后的capture.py;构建后已在镜像内核验cairn-heartbeat标记与文件 md5,远端 digest 匿名核验一致。 - 拉取命令:
docker pull 'yong29/arena-traffic-gateway@sha256:1578d5015ca2cc64bc26642be85b8a2eb27d72337c7deba91dc7dca9d482cd30'从 v0.2.4 更新
- 下载应用 ZIP 并校验,解压到旧安装之外的新目录。
- 拉取新网关镜像,编辑旧安装的
runtime/dispatch.yaml:container.traffic_gateway_image指向新 digest 或yong29/arena-traffic-gateway:git-f6df095fb4f8;arena-worker:0.2.3与研究镜像保留。 - 旧任务退出后停止旧应用,用新包更新器更新:
/新包解压目录/arena-0.2.5-linux-code-only/deploy/update.sh --target /现有应用根目录。 - 使用自定义
CAIRN_STATIC_DIR的安装须同步外置静态目录(保留旧 hash,原子替换index.html)。
更早版本(v0.2.1–v0.2.3)除应用包外还须按 v0.2.3 Release 准备 Worker 应用层;步骤见安装指南。
边界与已知限制
- 网关修复已通过合成与镜像内验证;真实项目(批量 bundle+HeadlessChrome 并发加载场景、kill collector 的宿主 3 秒取消对照、上传链路端到端)尚未在真实部署验收。部署后运行同模式大文件任务时,建议关注
/capture/capture-diagnostics.json与 TaskRun 是否仍出现traffic_capture_stalled。 - 模型网关侧独立故障(如 v0.2.4 记录的 proj_010 tr003 provider_error)不在本修复范围。
tests/test_traffic_sync_handoff.py的_control_lockAttributeError 与test_synthetic_scope_upload_costs的 PostgreSQL fixture 失败为 v0.2.5 之前已存在,与本版无关。- 存量容器不随镜像 tag 更新自动替换;更新须在旧任务退出后的维护窗口进行。