Who is Caller Quick Start for?
It is for agent teams that want to call an external capability through CALL ANYTHING without deploying the full platform first. The page uses Local Mode to prove the minimum caller loop with a real result package.
Run one local Hotline call, inspect one real result_package, and see how the protocol removes one-off client work for every external capability. All commands below are meant to run from repos/client.
What this page gets you to
The delegated-execution-dev superproject already wires client, protocol, and platform repos together. You can use the whole superproject or just the client repo if you only want the local loop.
git clone --recursive https://github.com/hejiajiudeeyu/delegated-execution-dev.git
cd delegated-execution-dev
corepack pnpm installcd repos/client
npm installrepos/client.The supervisor is the local daemon that hosts the caller controller, responder controller, and ops control surface. The Console prototype also talks to it.
export DELEXEC_HOME="$HOME/.delexec-quickstart-en"
export OPS_PORT_SUPERVISOR=8179
DELEXEC_HOME="$DELEXEC_HOME" OPS_PORT_SUPERVISOR="$OPS_PORT_SUPERVISOR" npm run ops -- start supervisor listening on 127.0.0.1:8179 the runtime is ready.The first supervisor boot needs setup. After that, every admin request is scoped by the X-Ops-Session token.
BASE="http://127.0.0.1:${OPS_PORT_SUPERVISOR:-8079}"
curl -s -X POST "$BASE/setup" -H 'content-type: application/json' -d '{}'
SESSION=$(curl -s -X POST "$BASE/auth/session/setup" -H 'content-type: application/json' -d '{}' | jq -r '.session')
echo "$SESSION"
export OPS_SESSION="$SESSION" repos/client/docs/current/guides/local-mode-onboarding.md.Even in Local Mode the protocol keeps Caller identity explicit. This step writes a local account into your DELEXEC_HOME runtime state.
npm run ops -- auth register --local --email [email protected]curl -s -X POST "$BASE/auth/register-caller" -H 'content-type: application/json' -H "X-Ops-Session: $OPS_SESSION" -d '{ "email": "[email protected]" }'Local Mode lets the same machine act as both Caller and Responder. That keeps the first verification loop small before you integrate any real capability.
curl -s -X POST "$BASE/responder/enable" -H 'content-type: application/json' -H "X-Ops-Session: $OPS_SESSION" -d '{}'
curl -s -X POST "$BASE/responder/hotlines/example" -H 'content-type: application/json' -H "X-Ops-Session: $OPS_SESSION" -d '{}'Catalog is the key Caller-side API. It defines which Hotlines are currently available to the agent runtime.
curl -s "$BASE/catalog/hotlines" -H "X-Ops-Session: $OPS_SESSION" | jqlocal.delegated-execution.workspace-summary.v1 in the list.At this point the runtime is live. The next request simulates the first external capability call an agent would make.
REQ=$(curl -s -X POST "$BASE/requests/example" -H 'content-type: application/json' -H "X-Ops-Session: $OPS_SESSION" -d '{}')
echo "$REQ"
REQUEST_ID=$(echo "$REQ" | jq -r '.request_id')npm run ops -- run-example --text "summarize my workspace"The protocol-level result envelope is the main thing to learn. Once your agent understands one result_package, it can reuse that outer shape across many Hotlines.
curl -s "$BASE/requests/$REQUEST_ID/result" -H "X-Ops-Session: $OPS_SESSION" | jq{
"request_id": "req_xxx",
"status": "SUCCEEDED",
"result_package": {
"request_id": "req_xxx",
"responder_id": "responder_xxx",
"hotline_id": "local.delegated-execution.workspace-summary.v1",
"status": "ok",
"output": {
"summary": "..."
},
"timing": {
"elapsed_ms": 123
}
}
}{
"request_id": "req_xxx",
"status": "FAILED",
"result_package": {
"hotline_id": "local.delegated-execution.workspace-summary.v1",
"status": "error",
"error": {
"code": "AUTH_TOKEN_INVALID",
"message": "task token is missing or invalid"
}
}
}Fields your agent should inspect first:
status: request lifecycle statusresult_package.status: protocol-level success or errorhotline_id: the exact capability version you calledoutput: the capability-specific payloadtiming.elapsed_ms: runtime duration for observability and pricingYou now have the minimum Caller-side loop. From here, either expand the set of Hotlines your agent can call or switch to the seller-side path and publish one yourself.
Expand the agent surface
Open the Console and Marketplace to see discovery, approvals, and runtime history from the team side.
Publish a capability
The same supervisor can also host a Responder. Switch to the seller-side path to publish your own Hotline.
Caller FAQ
These are the three questions most likely to block the first caller-side integration, and they are also emitted as English FAQ schema for answer engines.
It is for agent teams that want to call an external capability through CALL ANYTHING without deploying the full platform first. The page uses Local Mode to prove the minimum caller loop with a real result package.
Because it reduces debugging scope. You first prove that Caller, supervisor, and Responder can complete one stable loop before you spend time integrating a real business capability.
Inspect the result_package shape: request status, hotline_id, output, and timing. That is the shared contract your agent will parse across many Hotlines.