Skip to main content

OpenWork Architecture and Runtime

1. The workspace shape​

The README reveals these core runtime surfaces:

AreaWhy it matters
desktop applocal UI shell
host modelocal orchestration stack
client modeconnect to an existing server
OpenCode runtimepowers sessions and tasks
skills and plugin managementextend workflows
permissions and timeline UIexpose decisions and progress

This is a richer structure than a simple chat window.

2. The runtime mental model​

At runtime, OpenWork generally does this:

  1. the user picks a workspace or server,
  2. the host or client connection is established,
  3. OpenCode runs the underlying workflow,
  4. sessions stream updates via SSE,
  5. todos, permissions, and debug information appear in the UI.

3. Why host mode matters​

Host mode is one of the clearest examples of OpenWork's design goal. The product wants to make local orchestration easy without forcing users to manually manage every CLI piece.

4. Why permissions are a first-class concept​

The README explicitly lists permission requests and choices like allow once, always, or deny. That means OpenWork should be understood as:

an OpenCode workbench plus a human control layer

not just as a prettier frontend.

5. What to read first in code​

Start with:

  1. the README setup and architecture notes,
  2. apps/app,
  3. apps/desktop,
  4. orchestrator-related code,
  5. plugin and skill management surfaces.