Antioch Workbench
SkillDatabases & dataUse when deploying, operating, debugging, or composing the Antioch Workbench integration, live OpenPI inference, and dataset-based policy training.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Antioch Workbench skill
What this skill tells your AI
The instructions your AI receives, as published by nebius/nebius-physical-ai in skills/tools/antioch/SKILL.md and read by ahel’s review.
Use the supported structured Antioch CLI only. Never call undocumented HTTP endpoints, print identity/config/environment data, or inspect unrelated runs.
Start at the partner catalog.
The live OpenPI pickup runs pretrained-policy inference. The separate
antioch-offline-policy-train.yaml collects a completed dataset before ACT
training; "offline" describes the learning input, not provider connectivity.
Before spending
- Run
npa workbench health preflight --checks s3 --json. - Explicitly set
NPA_ANTIOCH_ACCEPT_TERMS=YES, then runnpa workbench antioch terms-preflight --output jsonfor the pinned scope. - Run
npa workbench antioch health --output json; do not start interactive login. - Confirm inputs are public or synthetic and output is a unique run-scoped S3 prefix.
- Use the pinned runtime-fetch adapter documented in
docs/workbench/antioch.md.
Operate
- Use
runfor blocking workflow composition;submitplusstatusfor manual control. - Always pass
--input-path,--output-path,--workflow-run, and--state-id. - Always pass explicit
--robot-typeand--task; collection has no fallback labels. - Reuse the same identities after a retry.
reconcilecloses a submission crash window. - Treat 429/5xx as retryable. Treat auth, malformed output, id conflicts, checksums, and episode schema errors as terminal.
- Gate downstream work on
_SUCCESS.json, then consume<output>/dataset. - The dataset is for offline imitation learning only. Use the LeRobot policy trainer; do not describe it as online PPO or RSL-RL.
Continuing live viewport + external policy
- Use only current structured commands:
antioch project build,antioch session new|status|release,antioch service exec|cp|ps|ports, andantioch scenario list|run|cancel. Run the live scenario with--stream --verbose. Do not call undocumented HTTP endpoints or infer an API origin from a console URL. - Resolve the exact deployment through the CLI's supported
ANTIOCH_ENVprofile and preserve it explicitly in the runtime. Discover organization/project topology with supported JSON commands; never hardcode a discovered endpoint, project, organization, or session as a product default. - Create the run-scoped config directory from the current CLI login and include
only its owner-readable
auth.jsonand optionalworkspace.json. Never carry forward legacy machine, SSH, tunnel, lock, or cached endpoint state. - Start the exact project session before copying a run-scoped
CA/API-key/endpoint bundle.
service cpaccepts only paths under/workspace/project; upload there, then useservice execto install one owner-only generation under/tmp. Never use--set, environment dumps, command arguments, or project source for policy credentials. - The supported steady-state path is the MK8s adapter Deployment: run the Antioch named-route client and bounded relay in one pod network namespace and target a ClusterIP policy Service. The operator VM may deploy/status it but must not carry frames or actions. The legacy tmux path is recovery-only and must not be retained after a cluster-native cutover.
- Reconcile the exact project-scoped scenario through supported
scenario list,session status, andservice psJSON. The one live scenario'ssession_idmust equal the current project session and the simulator process/session must be ready. Fail closed on absent, mismatched, or ambiguous ownership. - A scenario dispatch or failure recovery may recreate the sim container. While the
foreground run lives, verify every required bundle file through
service execand re-stage missing files withservice cp; never bake them into the sim image. Stage a full generation and atomically switch one symlink so a recovering bridge cannot observe a certificate/key or token generation mix. - Build an immutable revision with
project build, start it withsession new --revision, and do not force-replace unrelated active work. On a lost session, cancel and prove the exact scenario absent before creating one successor. Retry only structured retryable connectivity, 429, or 5xx failures. - When direct policy egress is unavailable, use a declared Antioch service port
bound only on adapter-pod localhost. Directly own
service ports --bind sim.policy-relay=127.0.0.1:18444 --serve simas a foreground child of the pod controller. Terminate authenticated WSS in the sim service and let the scenario connect outbound with a distinct authenticated role. The same-pod relay bridges the client role to the policy's independently authenticated, CA-verified ClusterIP WSS port 443. Bound messages, queues, connections, requests, timeouts, and reconnect backoff; never substitute an unauthenticated public proxy, disabled TLS verification, a token in a URL, or an undocumented endpoint. - Treat livestream state
readyas published but awaiting an authenticated Mission Control viewer. Do not claim an actively viewed frame until a supported viewer connection advances the first render, and never inspect browser auth storage. - For the OpenPI PoC, require a finite
completed/passedrecord with named checks for advancing nonblack exterior/wrist observations and finite[15,8]responses. Retire compute after verifying that durable record; never use timeout/renewal as the successful outcome. - A live policy loop must log current camera frames and decision counters from the executing scenario. Reject stale, malformed, non-finite, wrong-shaped, or unsafe actions and hold position while reconnecting. Do not claim hard real-time control.
- Give live telemetry one explicit logger root and resolve every Rerun blueprint origin through that same root; unprefixed view origins do not select entities emitted by a named Antioch logger.
npa/examples/antioch-openpi-liveis the public-source reference. Its checked-in project identity is intentionally unusable and is replaced only in private runtime state. The OpenPI gateway/controller lives innpa.workflows.byof.openpi_live.- Use
npa workbench antioch live-k8s-deploy|live-k8s-status|live-k8s-stopwith one mode-0600 runtime config. Keep exact Kubernetes, Antioch, and secret coordinates in that file, not argv or ordinary output. Finalize removal of an exact owned public rollback Service only after sustained acceptance. - Require the runtime config's explicit supported Antioch deployment profile and
forward it to the controller only as
ANTIOCH_ENV; never let a cluster-native run inherit the vendor CLI's default deployment implicitly.
Cleanup and evidence
Cancel the exact test run before releasing its exact project session. Prove the current structured session identity still matches the controller-owned session before invoking project-scoped release; fail closed on replacement. A requested retained live demo is the exception: leave its exact session and policy Deployment running, and provide exact supported stop commands privately. Record only run ids, states, check names, schemas, checksums, artifact basenames, and sanitized links. Never record tokens, signed URLs, config contents, organization/customer identifiers, unrelated run metadata, or internal infrastructure coordinates.
See docs/workbench/antioch.md for authentication, deployment, schemas, licensing,
recovery, console access, and the current personal-OAuth limitation.
Signals
- GitHub stars
- 30
- Forks
- 16
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Key
antioch- Source
- github.com/nebius/nebius-physical-ai