集成

本地 HTTP API

每个 session 的 stream 端口都在 127.0.0.1 上提供版本化 HTTP 接口。接口接受 CLI 和 MCP 使用的同一份命令对象,自定义工具无需为 每个操作启动一个新进程。

获取端口

stream server 随 daemon 启动。先查询目标 session 的端口:

bash
PORT=$(chrome-use --session demo stream status --json | jq -r '.data.port')
ORIGIN="http://127.0.0.1:$PORT"

只读接口

接口返回内容
GET /api/v1/statusdaemon engine 与可用状态。
GET /api/v1/tabs最近观察到的 session 标签页。
GET /api/v1/sessions本机可发现的 sessions。
bash
curl -fsS "$ORIGIN/api/v1/status"
curl -fsS "$ORIGIN/api/v1/tabs"

执行命令

把 daemon 命令对象 POST 到 /api/v1/command,响应沿用 chrome-use 标准 envelope。

bash
curl -fsS -X POST "$ORIGIN/api/v1/command" \
  -H "Origin: $ORIGIN" \
  -H 'Content-Type: application/json' \
  -d '{"id":"curl-1","action":"snapshot","interactive":true}'

命令字段与对应 CLI parser 产生的 JSON 一致。编写集成时,可先查看 chrome-use <command> --help 和命令参考。

安全边界

server 只监听 loopback。版本化只读请求必须使用 loopback Host,且会拒绝来源不匹配的浏览器请求。会执行操作的命令 请求还必须携带 authority 与 Host 一致的 OriginReferer。不满足条件的请求会收到 HTTP 403,且不会被 转发给 daemon。

错误契约

CLI JSON、MCP structured content 和 HTTP 共享以下失败字段:

字段含义
success命令失败时为 false
error面向人的错误说明。
code稳定的机器分类,例如 timeoutelement_not_found
retryable短暂恢复后重试是否可能成功。
json
{"success":false,"error":"Timeout waiting for download","code":"timeout","retryable":true}