OpenHands
developerz.ai is a thin orchestrator — it does not write code. It triages the issue, then hands off to OpenHands running on your own machine. OpenHands does the autonomous coding and opens the PR; the maintainer agent runs the loop around it.
Route a task
Set handoff.mode: webhook in .maintainer.yml and point the webhook at your
OpenHands box:
# yaml-language-server: $schema=https://developerz.ai/schemas/maintainer.v1.json
version: 1
handoff:
mode: webhook
webhook_ref: openhands-hook
ask_reporter_first: true
A qualified issue fires a signed issue.handoff event; your box receives it and
starts an OpenHands run. See the .maintainer.yml reference
for the full handoff block, or use mode: label for a label-driven pickup.
Runs on your own box (BYOVM)
OpenHands executes on hardware you enroll — your VPS or cloud VM, not ours.
Enroll a box from the dashboard (Settings → Fleet → Add box) and the maintainer
agent dispatches handoffs to it. The Quickstart walks through
enrolling a runner. Your box can also connect to mcp.developerz.ai to use the
maintainer tools natively — see the MCP verb reference.
BYOK — your key, your bill
OpenHands runs on your own model key (Anthropic, OpenAI, or Gemini). developerz.ai never proxies or resells tokens; the inference bill goes straight to your provider. See the BYOK doc.
Audited handoff
The handoff, the resulting PR, CI and review checks, and the merge are all written to the append-only audit log. The bot always discloses that it is an automated agent and defers to any other review bot on the PR (no bot-on-bot loops). If it isn't logged, it didn't happen — see the security doc.