360 Secure SkillHub
360 安全技能中心

Orgo Desktop Control

该 Skill 提供 orgo_client Python SDK 的用法说明与参考模式,用于创建/启停 Orgo 云计算机、进行点击输入等 UI 交互、截图、远程执行 bash 与 Python、上传导出文件、启动流媒体及获取 VNC 凭据。文档要求联网并使用 ORGO_API_KEY,强调删除等破坏性操作需用户明确确认,并给出截图—分析—操作的自动化循环建议。

cohenyehonatan
cohenyehonatan
热度 77.98
最近更新 2026-05-17 12:30:33
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:自动化脚本 / 工作流 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add orgo-desktop-control
Metadata
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