Skip to content

feat: runzivo OpenHands skill and Agent Server backend over SSH - #1

Merged
ditahkk merged 5 commits into
mainfrom
feat/runzivo-skill
Nov 6, 2026
Merged

ditahkk merged 5 commits into
mainfrom
feat/runzivo-skill

Conversation

@ditahkk

@ditahkk ditahkk commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Resolves Runzivo/rzv-platform#145
Part of Runzivo/rzv-platform#146

  • skills/runzivo: Agent Skills SKILL.md (with OpenHands triggers:) that drives rzv 0.26.0+: sign-in check, create openhands-<slug>, wait, SSH alias, run work, status/cost/expiry, stop/start, delete only after confirmation, error table. No keys, no scripts.
  • bin/rzv-openhands-backend: OpenHands Agent Server 1.60.1 (pinned, SHA-256 checked) in a sandbox on 127.0.0.1, reached over ssh -L as an Agent Canvas / SDK remote backend.
  • scripts/10-check.sh + shellcheck in CI (check job). Live tests: scripts/20-shared-e2e.sh (OpenHands CLI 1.16.0 headless) and scripts/30-backend-e2e.sh (SDK task through the tunnel).

The runzivo skill teaches an OpenHands agent to create, connect to,
check, stop, start and delete Runzivo sandboxes through rzv 0.26.0+,
and to ask before deleting. bin/rzv-openhands-backend runs a pinned,
checksummed OpenHands Agent Server in a sandbox on 127.0.0.1 and
tunnels it over SSH for Agent Canvas or the SDK.

Resolves Runzivo/rzv-platform#145

Signed-off-by: Ditah Kumbong <ditah.kumbong@runzivo.dev>
- start the agent server as the direct background job and stop an old
  one by its exact binary path, so connect after key really restarts it
- key: refuse empty stdin and names other than *_API_KEY/_KEY/_TOKEN
- up: on failure, say how to delete the sandbox; connect closes a tunnel
  on a previous port and rejects unknown options; port 1024-65535
- skill: pending or starting, stop waiting on failed/expired/deleted,
  credits are equivalent minutes; document that agent commands can read
  provider keys in the sandbox
- e2e: resume the conversation when the model stops early, keep the
  sandbox id from up for cleanup, retry transient API errors, check the
  provider key is not under /workspace

Signed-off-by: Ditah Kumbong <ditah.kumbong@runzivo.dev>
…y expects

Signed-off-by: Ditah Kumbong <ditah.kumbong@runzivo.dev>
… e2e checks

- up: expand the sandbox id when the EXIT trap is set; bash 3.2 drops
  function locals before the trap runs
- remote start: stop any installed agent-server version, refuse if the
  port is still answering
- 20-shared-e2e: checks read every turn of the step, so a resumed turn
  does not have to repeat a command
- 30-backend-e2e: the /workspace key check fails unless grep found nothing

Signed-off-by: Ditah Kumbong <ditah.kumbong@runzivo.dev>
Signed-off-by: Ditah Kumbong <ditah.kumbong@runzivo.dev>
@ditahkk
ditahkk merged commit d6c91a3 into main Nov 6, 2026
1 check passed
@ditahkk
ditahkk deleted the feat/runzivo-skill branch November 6, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant