diff --git a/default.env b/default.env index d99d3997e8..2a851f5bc6 100644 --- a/default.env +++ b/default.env @@ -8,9 +8,7 @@ ROBOT_IP= CONN_TYPE=webrtc # Hosted teleop — transport blueprints (teleop-hosted-go2-transport / -multicam). -TRANSPORTS__BROKER__BROKER_URL=https://teleop.dimensionalos.com TRANSPORTS__BROKER__API_KEY= -TRANSPORTS__BROKER__ROBOT_ID= TRANSPORTS__BROKER__ROBOT_NAME= WEBRTC_SERVER_HOST=0.0.0.0 WEBRTC_SERVER_PORT=9991 diff --git a/dimos/protocol/pubsub/impl/webrtc/providers/broker.py b/dimos/protocol/pubsub/impl/webrtc/providers/broker.py index eef808438c..2b733c5889 100644 --- a/dimos/protocol/pubsub/impl/webrtc/providers/broker.py +++ b/dimos/protocol/pubsub/impl/webrtc/providers/broker.py @@ -125,7 +125,7 @@ def __init__(self, config: BrokerConfig | None = None) -> None: "BrokerConfig.api_key required " "(set --transports.broker.api-key=dimos_sk_... or " "TRANSPORTS__BROKER__API_KEY=dimos_sk_...; " - "create one in the teleop dashboard: New Key)" + "create one in the Dimensional console: API keys -> Create key)" ) self._broker_url = config.broker_url.rstrip("/") self._api_key = config.api_key diff --git a/dimos/protocol/pubsub/impl/webrtc/providers/cloudflare.py b/dimos/protocol/pubsub/impl/webrtc/providers/cloudflare.py index 2974a16c2a..a844a873cf 100644 --- a/dimos/protocol/pubsub/impl/webrtc/providers/cloudflare.py +++ b/dimos/protocol/pubsub/impl/webrtc/providers/cloudflare.py @@ -16,7 +16,7 @@ Never deploy this on a robot: it authenticates with the CF *app secret*, which must not leave server-side/dev environments (robots carry revocable -``dtk_live_*`` keys and go through the dimensional-teleop broker — see +``dimos_sk_*`` keys and go through the dimensional-teleop broker — see ``broker.py``). CF DataChannels are unidirectional, so this provider holds two CF sessions — one publishing, one subscribing — giving a single process loopback pubsub through the CF edge: exactly what the integration tests and diff --git a/dimos/protocol/pubsub/impl/webrtc/tool_broker_e2e.py b/dimos/protocol/pubsub/impl/webrtc/tool_broker_e2e.py index 87894982cb..20c7931048 100644 --- a/dimos/protocol/pubsub/impl/webrtc/tool_broker_e2e.py +++ b/dimos/protocol/pubsub/impl/webrtc/tool_broker_e2e.py @@ -19,9 +19,9 @@ -> negotiated cmd_unreliable channel). The robot side is the exact transport object the teleop-hosted-go2-transport blueprint binds to cmd_vel. -Needs live-broker credentials, so it only runs when all three are set: +Needs live-broker credentials, so it only runs when both are set: - TELEOP_API_KEY dtk_live_... (dashboard -> New Key) + TELEOP_API_KEY dimos_sk_... (Dimensional console -> API keys -> Create key) TELEOP_OPERATOR_TOKEN Cognito ID token of the key's owner TELEOP_ROBOT_ID is optional (the broker derives identity from the key). diff --git a/docs/capabilities/teleoperation/hosted.md b/docs/capabilities/teleoperation/hosted.md index 8fbe231db9..700b7220ff 100644 --- a/docs/capabilities/teleoperation/hosted.md +++ b/docs/capabilities/teleoperation/hosted.md @@ -54,8 +54,8 @@ The robot registers with the broker. Open the [console Teleop tab](https://console.dimensional.org/console/teleop), sign in, and your robot appears under **Available Robots**. Click **Connect** and you're driving. -The API key alone is enough; one key drives the CLI, uploads, and teleop. The -robot identifies itself by `TRANSPORTS__BROKER__ROBOT_ID` (blueprint default). +The API key alone is enough; one key drives the CLI, uploads, and teleop. By +default, the broker derives the robot identity from the API key. `TRANSPORTS__BROKER__ROBOT_ID` / `TRANSPORTS__BROKER__ROBOT_NAME` are optional overrides. All broker settings can also be passed on the CLI, e.g. `--transports.broker.api-key=dimos_sk_...`.