CLOUSD
Buka akun
PelajariBenchmarkSkor agent di ponsel ClousdBlogSegeraPanduan, ulasan mendalam, dan catatan lapanganBandingkanSegeraClousd dibandingkan alternatifnya
BangunIntegrasiSegeraMCP, Claude Code, Codex, Cursor, n8nGitHubSDK, server MCP, dan contoh
Baca dokumentasi

Integrasi

Python SDK

Beri ponsel tugas dan kendalikan dengan skrip Python hanya dalam beberapa baris.

Instal

Terminal
pip install clousd
export CLOUSD_API_KEY=cl_live_…

Sebuah tugas

Python
from clousd import Clousd

c = Clousd()                                   # key from CLOUSD_API_KEY
run = c.run("Open Settings and tell me the Android version", device="c3f9a41d2", wait=True)
print(run.status, run.answer)                  # completed  Android 15

# the same task on several phones at once
run = c.run("Open the app and tell me what the first screen shows", devices=["c3f9a41d2", "c81d07e5a"], wait=True)
for r in run.children:
    print(r.device, r.status, r.answer)

Pantau dan jawab

Python
login = c.credentials("com.example.shop")[0]  # names only; the values never leave Clousd
run = c.run("Sign in and tell me how many orders there are", device="c3f9a41d2", credentials=[login], mode="ask",
            output_schema={"type": "object", "properties": {"orders": {"type": "integer"}}})
for ev in run.events():                        # live: status, plan, step, card, answer, end
    if ev["event"] == "step":
        print(ev["data"]["n"], ev["data"]["tool"], ev["data"]["result"])
    if ev["event"] == "card":
        run.reply(allow=True)                  # or run.reply("the first one")
print(run.refresh().structured_output)         # {"orders": 3}
TugasLogin, jadwal, webhook
c.run(task, device=… / devices=[…]), device.run(task)c.credentials(), c.add_credential(package, name, fields)
run.wait(), run.events(), run.trajectory()c.schedules(), c.add_schedule(task, devices, at, days, tz, every="hour", trigger="api", more=[…]), c.run_schedule(id)
run.reply(), run.message(), run.cancel(), c.runs()c.webhooks(), c.add_webhook(url, events)

Langkah demi langkah

Python
phone = c.device("c3f9a41d2")
phone.open_app("com.android.chrome")           # act
phone.tap_text("Search")
phone.type("weather in Berlin")
phone.key("enter")
phone.wait_text("Berlin", timeout=30)          # check
png = phone.screenshot(width=540)              # look
LihatBertindak
screenshot(), screen_text(), find_text()tap(), swipe(), scroll(), type(), key()
observe(), size(), installed()open_app(), open_url(), tap_text(), wait_text()
notifications(), crashes(), health()start(), stop(), restart(), reset()

Operasi perangkat yang lama mengembalikan Job dan secara default menunggu; kirim wait=False untuk memantau sendiri. Error memunculkan ClousdError dengan status HTTP dan pesan. Klien menunggu dan mencoba lagi saat menerima 429. Dari terminal: clousd run "…" --device … menampilkan langkah-langkahnya secara langsung.

Kode sumber dan contoh: clousd-sdk di GitHub.