Files
openwork/packages/app/pr/OpenCode Server.md
2026-01-29 18:33:58 -08:00

2.6 KiB

OpenCode Server

Run tasks from a shared runtime

Summarize

  • Define a local OpenCode server that OpenWork can discover, connect to, and use for task execution across devices

Define problem

  • OpenWork needs a reliable way to run tasks without bundling a full CLI per device while keeping setup simple and transparent

Set goals

  • Enable a host machine to run tasks for multiple OpenWork clients with clear status, fast connect, and predictable behavior
  • Keep setup minimal and align with least-privilege, mobile-first usage

Exclude scope

  • Building a hosted SaaS, multi-tenant cloud, or marketplace for remote agents
  • Supporting non-OpenWork clients beyond a basic compatibility layer

Describe personas

  • Mobile user who wants to run tasks from a phone against a home or work machine
  • Power user who wants a stable local runtime for repeated workflows
  • Admin who needs simple setup and clear permission prompts

Define requirements

  • Functional: discover host on LAN, connect via pairing, run tasks, stream logs, and handle reconnects gracefully
  • UX: show connection status, explain permissions, and expose a clear health panel with actionable errors

Detail integration

  • Lifecycle: start server on host, advertise via local discovery, accept pairing, and serve OpenCode APIs over a secured channel
  • Host/client: host runs OpenCode runtime and permission gates while clients send tasks, receive progress, and read logs

Set permissions

  • Require explicit pairing approval, scoped runtime permissions, and per-task confirmation for sensitive tools

Cover telemetry

  • Optional local metrics for uptime, connection failures, and task success, stored on host and never uploaded by default

Map flow

  • Onboarding: guide install, start server, and generate pairing code
  • Connect: discover host, enter code, and validate permissions summary
  • Health: show server uptime, last task status, and recovery actions

Note risks

  • Network discovery inconsistencies across platforms and routers
  • Trust confusion if pairing and permission prompts are unclear

Ask questions

  • Should remote access beyond LAN be supported in this phase, and if so, which transport is acceptable

Measure success

  • 90%+ successful first-time pairing on supported platforms with fewer than two manual retries
  • Stable task execution with <1% disconnect-related failures over 7 days

Plan rollout

  • Phase 1: local discovery and pairing on desktop host with basic status UI
  • Phase 2: mobile client support, health panel, and reconnect logic
  • Phase 3: permission refinements, metrics, and troubleshooting guide