跳转至

捕获 Agent 轨迹

Gateway capture 是 pVisor 的 Run 驱动,由 Run 启停,没有独立的 Gateway 命令或守护进程。能力与证据说明 Capture 能证明什么、不负责 enforce 什么。

先按安装指南安装 pvisor。真实 Agent 可直接通过 pvisor run 配置:

export DEEPSEEK_API_KEY=sk-...
pvisor run \
  --name deepseek \
  --gateway-mode capture \
  --gateway-route 'name="deepseek", upstream="https://api.deepseek.com/v1", api_key_env="DEEPSEEK_API_KEY"' \
  --gateway-route 'name="*", forward="deepseek"' \
  -- claude

pVisor 启动内嵌 Gateway、向子进程注入代理或 base URL、等待执行、排空捕获并停止 Gateway。使用 --record-destination ./capture 将 Trace Event journal 写入指定目录。

事件时间戳与顺序

默认输出为 events.trace.jsonl:先写 pvisor.trace/5 文件头,再写包含 Event 与 {journal, offset} 的记录。观测时间为 event.observed_at_unix_ms,跨生产者因果使用 event.caused_by,不能从时间戳推导。

Gateway 内容位于 event.data.payload.content,story/session 路由位于 event.data.payload.story,call 关联位于 event.data.payload.correlation。 Run 与内嵌 Gateway 共用 Journal。进入队列不等于持久化;同步文件后才返回 LocalSync。 只支持正式 Event Journal,旧 JSONL 不再兼容读取。

客户端只有使用注入的代理或 base URL 才能被观察;直接 socket 是否受限取决于 executor, 实际隔离边界以 Run Bundle 为准。