android_app_launch
ChatGPTBring the session app back to the foreground and return a fresh generation.
android_camera_feed
ChatGPTShow a still image on the device's back camera (the only camera; there is no front camera). The image is fitted inside the camera view with bars, so the whole picture (e.g. a QR code) stays visible, and it stays on the camera until replaced, turned off, or the session ends; with no image the camera shows a placeholder card. Pass exactly one of image_base64 or off:true. Needs a signed-in key; trial sessions cannot feed the camera. A person streaming their live camera from the browser takes priority (in_use).
android_end_session
ChatGPTEnd a session and free its slot.
android_install_app
ChatGPTInstall an APK on a session that is already running and open it; the device and everyone watching it stay connected. Prefer this over android_start_session when a session is live (for example when a start is refused at the device limit). Pass apk_uri from a previous upload or apk_file (an APK the user attached in ChatGPT). Waits until the install finishes or timeout_sec elapses; calling again with the same session and apk_uri reports the same install instead of starting another (each apk_file call is a fresh upload, so it installs again; poll with the apk_uri the result returns).
android_install_github_app
ChatGPTBegin GitHub App installation; a human must open the returned setup_url.
android_install_status
ChatGPTPoll a GitHub App install intent.
android_list_sessions
ChatGPTList this user's live sessions.
android_logcat
ChatGPTRead recent guest log lines.
android_mic_feed
ChatGPTPlay a WAV file into the device microphone. The WAV plays once, or on a loop with loop:true, and is heard only while an app is recording; it stays set until replaced, turned off, or the session ends. Pass exactly one of wav_base64 or off:true. Needs a signed-in key; trial sessions cannot feed the microphone. A person streaming their live microphone from the browser takes priority (in_use).
android_press
ChatGPTPress BACK, HOME, ENTER, APP_SWITCH, IME_HIDE, POWER, or another supported Android key.
android_screenshot
ChatGPTReturn a JPEG of the current screen for you to inspect. The person does not see it; to show them the screen, use android_show_screen.
android_session_status
ChatGPTStatus of a session plus its human viewer URL. Do not cache this result.
android_share_session
ChatGPTCreate or revoke a relaunchable share link.
android_show_screen
ChatGPTShow the current screen to the person in the chat. Call it when they ask to see the screen, or once for the final result; to look at the screen yourself, use android_snapshot or android_screenshot.
android_snapshot
ChatGPTRead the current UI tree with refs, text, resource ids, bounds, and generation. Re-snapshot after every action.
android_start_session
ChatGPTStart a live Android emulator session from a PR preview build, known APK URI, an APK file the user attached in ChatGPT (apk_file), one of the user's apps (app: package name, app id, or a Ramus catalog app such as wikipedia), or demo. Returns a session id and watch_url; if timeout_sec elapses, the placement is kept for android_session_status polling.
android_swipe
ChatGPTSwipe between normalized coordinates over duration_ms.
android_tap
ChatGPTTap by ref+gen or normalized coordinates. Optional force and act-and-verify expectations are supported.
android_type
ChatGPTType text, optionally focus a ref, submit, and read back the committed field value.
android_upload_apk
ChatGPTGet a one-time upload for an APK you built locally (for example app/build/outputs/apk/debug/app-debug.apk), so you can install it on a Ramus device. Returns apk_uri and a ready curl command: run the command with your file path (it uploads straight to storage, valid 15 minutes), then pass apk_uri to android_start_session or android_install_app. The APK is inspected and checked against Ramus's acceptable-use policy when it is installed, like any upload.
android_wait_for
ChatGPTWait for text to appear, text_gone to disappear, or two stable snapshots.