Robot Connection
- Robot IP:
<ROBOT_IP> - API Key:
<API_KEY> - Base URL:
http://<ROBOT_IP>:8080
Key Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/code/execute |
POST | Run Python code on the robot |
/code/status?stdout_offset=N&stderr_offset=N |
GET | Poll execution output |
/code/recordings/{execution_id} |
GET | Execution recording metadata |
/code/recordings/{execution_id}/frames/{filename} |
GET | Retrieve recorded camera frame (JPEG) |
/code/sdk/ |
GET | SDK reference (browsable) |
/code/sdk/markdown |
GET | SDK reference as markdown |
/docs/guide/html |
GET | Getting-started guide |
/cameras/{id}/frame |
GET | Live camera frame (use sparingly) |
Logs
All logs are in ~/tidybot_uni/logs/:
| File | Content |
|---|---|
agent_server.log |
Agent server runtime log (connections, errors, lifecycle) |
code_execution.log |
Stdout/stderr from all code executions |
code_executions/ |
Per-execution Python files + output (timestamped) |
Logs rotate daily (e.g. agent_server.log.2026-03-05). Always check these first when debugging errors — don't redirect server output to /tmp/.
Notes
web_fetchblocks private IPs. Usecurl -Lvia shell for robot endpoints.- Prefer
print()+ polling/code/statusover live camera polling. - Recorded frames save automatically at 0.5 Hz during execution — use those instead of live polls.
Source: TidyBot-Services/Tidybot-Universe — distributed by TomeVault.