Open source runner · alpha

Team operating layer
for coding agents.

Run multi-agent work across Claude, Codex, or your own agents. Add scoped context, human approval gates, private runners, audit, and feedback loops that improve every run.

Book a demo
Workflows·Acme Co.2 running1 gate
#supportPRimplementing
claudeplan@jessapprovecodeximplementPR

contextsupport-runbook · payments-repo

acme/api#1842reviewawaiting @sam
claudereview@samapprove

contextrisk-rules · service-map

PAY-1842PRdrafting
codexdraft@danareviewPR

contextproduct-spec

Inbox2 awaiting
Insight

Runs with runbook context ship 15% faster. Add it to support-to-pr?

·

Work enters from your tools

Slack requests, GitHub issues, CI failures, and tickets become governed agent runs.

Agents come to you

Agents run on their own and bring plans, PRs, or risky actions to your inbox for approval. You choose which steps to gate.

Every run makes the next one better

See what context the agent used, who approved it, what changed, and where the workflow bottlenecks, so the next run is sharper.

The loop

The agent does the work. Viewport runs the process.

Agents can write code. Viewport handles the team loop around them: triggers, context, approvals, private execution, side effects, audit, and insights.

  1. 01

    Work comes in

    Slack, GitHub, Jira, CI, schedules, or manual runs.

  2. 02

    Viewport routes it

    Match the right workflow, team, runner, repo, and agent.

  3. 03

    Agent gets context

    Give each step only the docs, repos, runbooks, and history it should see.

  4. 04

    Humans review

    Approve plans, request changes, or block risky actions.

  5. 05

    Ship with proof

    Run tests, propose PRs, post receipts, and keep the audit trail.

What’s inside

Everything a team needs around the agent.

Workflow

Define how agent work should happen.

Choose what starts the workflow, which repos it can touch, what context it can use, who approves it, what actions it can take, and where it runs. Viewport compiles that into a governed agent run.

  • Trigger from Slack, GitHub, Jira, CI, or manually
  • Attach repos, context, approvals, actions, and runner targets
  • See why each event matched a workflow
bug-to-pr.workflow.yaml
sha256:bf21e9…
name: bug-to-pr
trigger:
  linear:
    event: issue_assigned
    team: Payments
repos:
  - acme/payments-api
context:
  - payments.domain-rules
  - checkout.runbook
approvals:
  - plan_review
  - pr_approval
actions:
  - github.open_pr
  - slack.comment
runner:
  pool: payments-secure
Resolved 4 context items for this run

Retry & idempotency rules

payments.domain-rules

Checkout incident runbook

checkout.runbook

Test conventions

acme/runbooks

Payment service overview

acme/payments-api/docs

Runners

Run agents where your code already lives.

The open-source vpd runner runs on a laptop, VPS, CI worker, or private cloud. It checks out authorized repos, runs Claude, Codex, or custom agents, executes tests, and reports back to Viewport.

  • Keep code, model keys, and raw context on your infrastructure
  • Runners advertise tools, agents, models, and capabilities
  • Add more runners for more parallel agent work
Runs
3 active
bug-to-pracme/payments-api@mainPayments

Fix double-charge on checkout retry. Implementing patch + tests.

codex · payments-vps · 3s

docs-refreshacme/runbooks@mainEng

Updating retry policy section based on PAY-1842 evidence.

claude-code · ci-runner-2 · 12s

ticket-triageacme/support-console@mainSupport

Waiting on PM review for proposed plan.

claude-code · acme-mbp · 4m

Inbox

One inbox for every decision agents need.

Plans, PR proposals, Slack replies, risky commands, and context updates stop for review. The right humans approve, reject, or request changes before the workflow continues.

  • Route reviews to PMs, engineers, on-call, or security
  • Comment once and send the agent back to revise
  • Every decision is attached to the run audit
Inbox
3 awaiting your call
gate
Payments

Allow `git push` to acme/payments-api on a workflow branch

Workflow paused. codex · payments-vps · 28s ago

plan
Payments

Fix double-charge on checkout retry

6-step plan · 3 files touched · 8 min ago

context
Eng

Remember: retry queue workers cap at 3 attempts before alerting

Proposed after triaging PAY-1842 · 6h ago

Insights

Learn which agent workflows actually work.

Viewport turns runs into insights: which plans get rejected, which context helps, where approvals bottleneck, which models cost too much, and which workflows produce good PRs.

  • Track cost, latency, failures, approvals, and human intervention
  • Compare workflows, models, prompts, and context sources
  • Use run history to improve the next agent run
Plan · PAY-1842
Ready for review

Fix double-charge on checkout retry

from linear PAY-1842 · codex · payments-vps

01Read retry handler + payment service
02Add idempotency key on retry path
03Cover with regression test; verify rollback
·04Update runbook with new retry behavior
Files · 4 changed+318 −44
  • apps/api/Checkout/RetryHandler.php96 lines
  • apps/api/Checkout/PaymentService.php64 lines
  • apps/api/tests/CheckoutRetryTest.php71 lines
  • database/migrations/...idempotency.php38 lines
Get started

Live in three steps.

Install where your code lives, connect your tools, and ship your first governed workflow.

~/acme · zsh
# 1 · install the daemon
$ npm i -g @viewportai/daemon

# 2 · pair a private runner (auto-detects agents + tools)
$ vpd pair --worker --transport=polling
  open app.getviewport.com/pair · code: A4-X91-7QH
  ✓ approved · paired as "payments-vps"
  ✓ detected: git, node, claude-code, codex

# 3 · bring it online
$ vpd worker start --mode persistent --transport polling
  ✓ online · waiting for assignments

# connect Slack, GitHub, and Linear and build the
# workflow in the web app, then trigger it.
Architecture

Keep code, docs, and secrets at the customer edge.

In self-hosted mode, the open-source runner runs inside your environment. It clones repos, reads local docs, runs agents, and uses your credentials. Viewport stores workflow policy, approvals, citations, digests, receipts, and audit state.

  • Raw code stays local

    The runner touches repos and docs; Viewport stores refs, citations, and receipts.

  • Credentials are scoped

    Separate access for checkout, publish, provider actions, model keys, and tools.

  • Managed modes are opt-in

    Use local runners by default; choose managed execution or managed context only when it fits.

Daemon

Customer edge

  • repo checkoutyes
  • context retrievalyes
  • agent executionyes
  • proposal receiptsmetadata

Transport

Relay or polling

  • runner framestransit
  • provider secretsno
  • repo tokensno
  • context bodiesno

Viewport

Self-host or hosted

  • workflow policymetadata
  • provider brokerscoped
  • context bodiesopt-in
  • audit packetyes

The daemon is open source. github.com/ViewportAI/viewport

Start with one workflow.
Scale to every agent.

Pair a runner, connect Slack and GitHub, choose a template, and run your first governed agent workflow.

Open-source runner. Self-hosted execution by default. Managed options when you want them.