Install
openclaw skills install orgo-desktop-controlProvision and control Orgo cloud computers using the orgo_client Python SDK. Use when launching remote desktops, automating browsers, running bash/python rem...
openclaw skills install orgo-desktop-controlThis skill uses orgo_client.py to create and control Orgo cloud computers safely.
Always use the SDK — do NOT manually construct HTTP requests.
Activate when user requests:
Do NOT activate for local-only code.
wait_until_ready()from orgo_client import OrgoClient
client = OrgoClient(api_key=os.environ["ORGO_API_KEY"])
Create:
ws = client.create_workspace("browser-agent")
List:
client.list_workspaces()
Delete (requires force):
client.delete_workspace(ws.id, force=True)
Never delete without explicit user confirmation.
Create:
computer = client.create_computer(
workspace_id=ws.id,
name="agent-1",
ram=4,
cpu=2,
wait_until_ready=True
)
Manual wait:
computer.start()
computer.stop()
computer.restart()
Start / Stop / Restart:
computer.start()
computer.stop()
computer.restart()
Delete (irreversible):
computer.delete(force=True)
Always stop computers when idle.
Click:
computer.click(100, 200)
Right-click:
computer.right_click(100, 200)
Double-click:
computer.double_click(100, 200)
Drag:
computer.drag(100, 200, 400, 500)
Scroll:
computer.scroll("down", amount=3)
Type:
computer.type("Hello world")
Key:
computer.key("Enter")
computer.key("ctrl+c")
Wait:
computer.wait(2.0)
img_b64 = computer.screenshot()
Save to file:
computer.save_screenshot("screen.png")
Bash:
result = computer.run_bash("ls -la")
print(result.output)
Python:
result = computer.run_python("print('hi')")
Errors raise OrgoError subclasses automatically.
Start:
computer.stream_start("my-rtmp-connection")
Status:
computer.stream_status()
Stop:
computer.stream_stop()
password = computer.vnc_password()
Upload:
client.upload_file("local.txt", ws.id, computer_id=computer.id)
Export from VM:
file_record, url = computer.export_file("Desktop/output.txt")
List:
computer.list_files(ws.id)
Delete:
client.delete_file(file_id)
All errors raise typed exceptions:
Always handle destructive confirmations explicitly.
For UI tasks:
Never assume UI state.