Real OpenCode.
Inside the builder.
OpenCode runs alongside the Relpin builder against the actual TypeScript project, with server-side credentials, governed file authority, and pinned releases. No local IDE, no detached chat loop.
Lives in the workspace.
Not in a side window.
OpenCode opens inside the Relpin builder, next to the same files, preview, and release pipeline. It reasons about the actual app project, not a sandbox or pasted snippets.
OpenCode opens inside the builder, sharing files, preview, and credentials with the live workspace.
Reads and edits the actual TypeScript project — no sandbox copy, no pasted snippet.
Proposals converge into the same pinned release pipeline as every other workspace edit.
Authority is a role grant.
Not a prompt setting.
Orgs grant OpenCode through the same RBAC model that governs the rest of the workspace. A role decides whether a session may inspect, author through the governed patch path, or only queue edits for approval — independent of what the prompt asks.
Read and explain the project. No writes — for roles meant to review, not author.
Write through the governed patch path. For roles trusted to change the project.
Queue edits until a role with approval authority confirms.
No file writes. The role grants read, not authoring.
OpenCode proposes.
Relpin authorizes.
OpenCode operates inside the workspace's authority model. Whatever the user, AGENTS.md, or model prompt asks for, what actually persists is decided by Relpin's role permissions — not by the prompt. The platform owns the authoritative file plane.
OpenCode instructions are advisory. Relpin permissions are authoritative.
OpenCode is an addon gated by an org capability. Roles without the grant never start a session — hiding the entry point is UX; the backend refuses it regardless.
A session only runs the authoring actions its role is permitted. Read access never implies write access.
Writes converge through the governed project path, classified by target. The container filesystem is never the source of truth, and secrets are never writable.
Provider keys are stored server-side and scoped per environment. They are never sent to the browser or exposed to the session.
Relpin meters container and session time as runtime credits. Provider token spend stays on your own account.
Every session and write — allowed or denied — records actor, app, environment, path class, decision, and session id.
Relpin is separating review, chat, edit, dependency, and publish into independent AI permissions — so an org can allow "review my app" without allowing "the agent edits my app." Rolling out as the permission model lands.
Every action attributable.
Every write reviewable.
OpenCode actions are recorded against actor, app, environment, and session. Allowed edits, denied edits, reads, and approvals share the same immutable audit stream as the rest of Relpin.
Every action recorded once and never rewritten — allowed, denied, and pending alike.
User, agent, and reviewer identities captured per event with the rule that gated the action.
DEV, TEST, and PROD events queryable independently through the same audit surface.
Your provider key.
Your spend.
Relpin bills container runtime and seats. AI provider tokens stay on your provider account — credentials are stored server-side, never exposed to the browser.
Relpin meters OpenCode session container time as platform credits, separate from AI tokens.
AI tokens billed by your provider account — Relpin never sees the key, never resells the tokens.
Team membership gated by seats; usage attributed to actor and session ids for chargeback.
Stored server-side. Scoped per environment. Never sent to the browser.
Real OpenCode.
Governed by Relpin.
Bring OpenCode into browser-based app building without giving up file authority, credential boundaries, audit, or release control.
Open beta · Browser-based Studio · Provider credentials required
OpenCode · Browser builder · Governed runtime · Pinned releases