🧪 Skills

Orgo Desktop Control

Provision and control Orgo cloud computers using the orgo_client Python SDK. Use when launching remote desktops, automating browsers, running bash/python rem...

v1.0.2
❤️ 0
⬇️ 366
👁 2
Share

Description


name: orgo-desktop-control description: Provision and control Orgo cloud computers using the orgo_client Python SDK. Use when launching remote desktops, automating browsers, running bash/python remotely, interacting with UI, managing files, or controlling streaming. compatibility: Requires internet access and ORGO_API_KEY. metadata: author: custom version: "1.0.0"

Orgo Desktop Control Skill (Python SDK)

This skill uses orgo_client.py to create and control Orgo cloud computers safely.

Always use the SDK — do NOT manually construct HTTP requests.


When to Use This Skill

Activate when user requests:

  • Launch a remote desktop
  • Automate browser or UI
  • Click, drag, type, scroll
  • Execute bash or Python remotely
  • Take screenshots
  • Upload/export files
  • Start/stop/restart environments
  • Stream desktop output
  • Access VNC credentials
  • Build a computer-use agent

Do NOT activate for local-only code.


High-Level Workflow

  1. Instantiate client
  2. Ensure workspace exists
  3. Create computer
  4. wait_until_ready()
  5. Perform actions
  6. Export results
  7. Stop computer

Initialization

from orgo_client import OrgoClient

client = OrgoClient(api_key=os.environ["ORGO_API_KEY"])

Workspace Management

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.


Computer Lifecycle

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.


UI Interaction

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)

Screenshots

img_b64 = computer.screenshot()

Save to file:

computer.save_screenshot("screen.png")

Execution

Bash:

result = computer.run_bash("ls -la")
print(result.output)

Python:

result = computer.run_python("print('hi')")

Errors raise OrgoError subclasses automatically.


Streaming

Start:

computer.stream_start("my-rtmp-connection")

Status:

computer.stream_status()

Stop:

computer.stream_stop()

VNC

password = computer.vnc_password()

Files

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)

Error Handling

All errors raise typed exceptions:

  • OrgoAuthError
  • OrgoForbiddenError
  • OrgoNotFoundError
  • OrgoBadRequestError
  • OrgoServerError
  • OrgoTimeoutError
  • OrgoConfirmationError

Always handle destructive confirmations explicitly.

Recommended Automation Loop

For UI tasks:

  1. screenshot()
  2. analyze state
  3. click / type / drag
  4. wait()
  5. screenshot()
  6. repeat

Never assume UI state.


Efficiency Rules

  • Use minimal RAM/CPU
  • Stop instead of delete if continuing later
  • Use wait_until_ready() instead of manual polling
  • Avoid unnecessary screenshots
  • Prefer run_bash over UI when possible

End of Skill

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs