Skip to content
Back to skills

Bot Screen

ASecurity

Stream a bot's own desktop into Hermes Desktop and take over from anywhere — including your phone — for logins, 2FA, CAPTCHAs, and payment steps, then hand control back. The bot keeps working after you close the app.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 14, 2026
ai-agentsrustgobashdockergitbackendsecurity

Works with

  • terminal
  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 14, 2026

npx -y skills add ctaxnagomi/agent-kd-skill --skill bot-screen --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bot Screen?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bot Screen
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ctaxnagomi-bot-screen/badge)](https://www.skillsdirectory.com/skills/ctaxnagomi-bot-screen)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bot-screen
description: "Stream a bot's own desktop into Hermes Desktop and take over from anywhere — including your phone — for logins, 2FA, CAPTCHAs, and payment steps, then hand control back. The bot keeps working after you close the app."
version: 1.0.0
author: Hermes Agent (Nous Research)
license: MIT
platforms: [macos, windows, linux]
metadata:
  hermes:
    feature: bot-screen
    tags: [bot-screen, desktop, takeover, remote, phone, vnc, headless, handoff]
---

# Bot Screen

Every bot gets its own desktop, streamed live into Hermes Desktop. Watch what the bot does, **take over when it hits something only you can do** (a login, 2FA prompt, CAPTCHA, or payment step), then hand control back and let it continue in the session you just signed in to.

On a headless Linux gateway (a server, cloud VM, Hermes Cloud) the screen lives on the gateway host — not your machine — so the bot keeps working after you close the app or turn off your laptop. This is how you drive a remote desktop **from your phone**: open Hermes Desktop (or the web dashboard), take over the bot's screen, complete the step, hand back.

## Open the Screen

- **Bots → a bot → Scheduled Jobs** — the bot's screen is the hero at the top of the pane (live preview, refreshed every few seconds).
- **Bots → right-click a bot → Open Screen** — bring the Screen tab forward on the bot's first `computer_use` or browser call of a run.
- **This skill's trigger** — take over when the bot reports it needs you.

The screen is **off by default**. Start it from the pane (**Start screen**), or run:

```bash
hermes computer-use screen start
```

Set `bot_desktop.auto_start: true` if you want a headless host to start the screen itself on the bot's first `computer_use` call or first headed browser use.

## Take Over / Hand Back

1. Open the Screen — the chip in the header says who holds control (**Bot is in control** by default).
2. Click **Take over** — the border turns red; your keyboard and mouse now drive the bot's screen. Sign in, solve the CAPTCHA, approve the payment.
3. Click **Hand back** — the bot regains control and re-captures the screen before continuing. Closing the pane also hands control back.

While you hold control, the bot's `computer_use` and browser tools are refused with `human_has_control`, captures included. A dropped connection keeps control with you (the bot stays locked out of a screen you may be mid-login on) until you reconnect and hand back; after a reload a **Hand back (force)** button clears it.

```bash
hermes computer-use screen stop --force    # release the lease and stop the screen
hermes computer-use screen start           # bring it back with the bot in control
```

## Where the Screen Runs

`bot_desktop.placement` decides, and placement is policy, not a snapshot:

| `terminal.backend` | `placement: auto` (default) | Meaning |
|--------------------|-----------------------------|---------|
| `local` | gateway host | terminal, screen, browser, `computer_use` share the machine |
| `docker`, `ssh`, `singularity` | inside the sandbox | everything runs in the sandbox; host desktop unreachable |
| `modal`, `daytona`, `vercel_sandbox` | refused | cannot host a display yet |

`placement: gateway` forces the screen onto the host even with a sandboxed terminal (explicit opt-in). `placement: terminal` forces the sandbox.

## Config

```yaml
bot_desktop:
  geometry: "1440x900"        # screen size; the viewer scales to fit
  auto_start: false           # start on first computer_use / headed browser use
  min_free_memory_mb: 1536    # refuse to start below this much free memory
  idle_stop_minutes: 30       # stop a screen nobody used for this long (0 = keep)
  placement: auto             # auto | terminal | gateway
```

## Security Notes

- The control lease is enforced at the RFB byte level and also gates `computer_use` and the browser tools; a file under `<HERMES_HOME>/bot-desktop/` records who holds control. A missing file means the bot holds control; an unreadable one fails closed.
- Xvnc never pushes the screen's clipboard to viewers (`-SendCutText=0`), so watchers do not receive what the person in control copies.
- This is a tool-level fence, not an OS sandbox: the bot runs as the same user as its screen. Don't type secrets into a bot you wouldn't trust with them.

## Source

Docs: [Hermes Bot Screen](https://hermes-agent.nousresearch.com/docs/user-guide/features/bot-screen)

---

## How to use?

### 1. Download
Go to the [AGENT KD SKILL gallery](https://ctaxnagomi.github.io/agent-kd-skill/) and find this skill card. Click **Download** to save the SKILL.md file.

### 2. Install
Copy the downloaded SKILL.md into your agent's skills directory:

| Agent | Path |
|-------|------|
| **Hermes** | ~/.hermes/skills/hermes/bot-screen/SKILL.md |

### 3. Start the screen
Open **Bots → a bot → Scheduled Jobs**, click **Start screen** (or `hermes computer-use screen start`). A headless host can set `bot_desktop.auto_start: true`.

### 4. Take over from your phone
Open Hermes Desktop on your phone, open the bot's Screen, click **Take over**, complete the login/2FA/CAPTCHA, then **Hand back** and tell the bot to continue.

Files in this skill

  • SKILL.md5.1 KB
  • assembly.json363 B
  • skill.json714 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.