Deploy diffusion_policy model as a WebSocket policy server (local or remote via SSH)
mkdir -p $AGENTROBOT_ROOT/logs
if [ -z "{node}" ] || [ "{node}" = "localhost" ]; then LOG=$AGENTROBOT_ROOT/logs/diffusion_policy-${HOSTNAME:-local}-{port}.log echo "Deploying diffusion_policy locally (GPU {gpu_id}, port {port})..." if ss -tlnp 2>/dev/null | grep -q :{port}; then echo "ERROR: Port {port} already in use locally"; exit 1 fi cd $REPO && source .venv/bin/activate export PYTHONPATH=$AGENTROBOT_ROOT/agentic/policy_websocket/src:$REPO export CUDA_VISIBLE_DEVICES={gpu_id} nohup python3 policy_server.py --port {port} --checkpoint {checkpoint} > $LOG 2>&1 & echo "PID=$!" echo "Server starting locally on port {port}. Log: $LOG" else LOG=$AGENTROBOT_ROOT/logs/diffusion_policy-{node}-{port}.log if ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 {node} "ss -tlnp | grep :{port}" 2>/dev/null | grep -q :{port}; then echo "ERROR: Port {port} already in use on {node}"; exit 1 fi ssh -o StrictHostKeyChecking=no {node} " cd $REPO && source .venv/bin/activate export PYTHONPATH=$AGENTROBOT_ROOT/agentic/policy_websocket/src:$REPO export CUDA_VISIBLE_DEVICES={gpu_id} nohup python3 policy_server.py --port {port} --checkpoint {checkpoint} > $LOG 2>&1 & echo "PID=$!" " echo "Server starting on {node}:{port} (GPU {gpu_id}). Log: $LOG" fi echo "Wait ~120s for model to load."