You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenChrome에는 batch_execute와 HTTP JSON-RPC batch가 있지만, 같은 tab에서 click -> wait -> read_page(delta) 같은 일반적인 브라우저 액션 시퀀스를 하나의 안전한 tool call로 실행하는 표준 macro는 부족하다. agent-browser batch는 여러 명령을 한 invocation으로 실행해 반복 호출 overhead를 줄인다.
목표
LLM/MCP 왕복과 중간 토큰 낭비를 줄이기 위해, 기존 act tool에 structured steps 입력 모드를 추가해, 같은 tab 내 안전한 액션 시퀀스를 실행한다. 신규 top-level tool은 만들지 않는다.
구현 범위
기존 act tool의 input schema를 확장해 instruction 대신 steps 배열을 받을 수 있게 한다. instruction 기반 기존 동작은 유지한다.
steps 모드에서 허용되는 step type은 초기 버전에서 아래 whitelist로 제한한다.
wait_for
read_page
click: ref_N, node_N, 또는 backend node id target만 허용
fill: ref_N, node_N, 또는 backend node id target + value만 허용
navigate: url 필드가 명시된 step에서만 허용
옵션:
failFast?: boolean 기본 true
returnMode?: "final" | "all" | "delta" 기본 final
perStepTimeoutMs?: number
maxSteps hard cap, 예: 10
각 step 결과에는 성공/실패, duration, final tab/url 상태가 포함되어야 한다.
returnMode="delta"는 가능한 경우 마지막 read_page compression="delta"를 사용한다.
비범위
arbitrary javascript_tool step 허용
여러 tab 병렬 실행. 이는 기존 batch_execute/workflow 계층의 책임으로 둔다.
auth/tenant/rate-limit 우회
irreversible action confirmation 우회
성공 기준
단일 act call의 steps 모드로 흔한 click -> wait -> read_page 루프를 수행할 수 있다.
실패 시 어느 step에서 실패했는지 명확히 반환한다.
기존 tool handler의 validation/timeout/session lookup 정책을 재사용한다.
중간 결과를 모두 반환하지 않는 mode에서는 응답 payload가 줄어든다.
테스트 계획
단위/통합 테스트
성공 시퀀스: click 후 DOM 변경, final read_page만 반환.
실패 시퀀스: 존재하지 않는 ref/node 클릭 시 step index와 error 반환.
배경
OpenChrome에는
batch_execute와 HTTP JSON-RPC batch가 있지만, 같은 tab에서click -> wait -> read_page(delta)같은 일반적인 브라우저 액션 시퀀스를 하나의 안전한 tool call로 실행하는 표준 macro는 부족하다.agent-browser batch는 여러 명령을 한 invocation으로 실행해 반복 호출 overhead를 줄인다.목표
LLM/MCP 왕복과 중간 토큰 낭비를 줄이기 위해, 기존
acttool에 structuredsteps입력 모드를 추가해, 같은 tab 내 안전한 액션 시퀀스를 실행한다. 신규 top-level tool은 만들지 않는다.구현 범위
acttool의 input schema를 확장해instruction대신steps배열을 받을 수 있게 한다.instruction기반 기존 동작은 유지한다.steps모드에서 허용되는 step type은 초기 버전에서 아래 whitelist로 제한한다.wait_forread_pageclick:ref_N,node_N, 또는 backend node id target만 허용fill:ref_N,node_N, 또는 backend node id target + value만 허용navigate:url필드가 명시된 step에서만 허용failFast?: boolean기본 truereturnMode?: "final" | "all" | "delta"기본 finalperStepTimeoutMs?: numbermaxStepshard cap, 예: 10returnMode="delta"는 가능한 경우 마지막read_page compression="delta"를 사용한다.비범위
javascript_toolstep 허용batch_execute/workflow 계층의 책임으로 둔다.성공 기준
actcall의steps모드로 흔한click -> wait -> read_page루프를 수행할 수 있다.테스트 계획
단위/통합 테스트
failFast=false일 때 후속 safe step 처리 정책 검증.maxSteps초과, unknown step type, disallowed tool step 거부 검증.act,batch_execute, HTTP batch 테스트 회귀 없음.OpenChrome 실검증
<p id="status">Clicked</p>로 변하는 페이지를 준비한다.navigate후read_page mode="dom" filter="interactive"로 버튼 node/ref를 확보한다.actstructured steps 호출 예:{ "tabId":"<tab>", "returnMode":"final", "steps":[ {"type":"click","target":"node_123"}, {"type":"wait_for","text":"Clicked","timeoutMs":2000}, {"type":"read_page","mode":"dom","compression":"delta"} ] }acttool call 결과에 최종 상태Clicked가 포함되는지 확인한다.리스크와 완화
Curated scope, overlap handling, and verification checklist
Scope classification
stepsmode on existingactfor safe same-tab action loops.feat/969-act-structured-steps). Continue there; do not duplicate the PR.actbehavior.Overlap and conflict resolution
actinstruction mode; structured steps are additive.Implementation checklist
actinput schema to accept either instruction or whitelisted same-tabstepsarray.Success criteria
actcallers are backward-compatible.Post-merge OpenChrome live verification checklist
actsmoke to verify compatibility.