Architecture

Three ingredients, one bowl.

Poke controls Codex — but Codex stays local, secure, and under your policy. Here's how the pieces fit together.

interface💬

1 · Poke

Where you send requests, from any Poke surface.

  • "In workspace pokedex, analyze the project and tell me what it does."
  • "Review the code and flag bugs or risks."
bridge🌐

2 · Relay MCP

The public endpoint that exposes MCP over HTTPS.

  • Receives requests from Poke
  • Validates auth & user
  • Forwards to your connected agent
  • Never works on your files directly
your machine🏠

3 · Local Agent

Runs on your computer and talks to Codex.

  • Connects outbound via WebSocket — no open ports
  • Receives typed requests from the relay
  • Checks workspaces & permissions
  • Starts Codex in the authorized project
The core security idea

Poke gets a remote, not the keys

Pokedex exists so Poke never has direct access to your machine. Every request goes through typed tools and local policy.

✕  No direct shell access
✕  No arbitrary filesystem paths
✕  No open inbound ports
✓  Typed MCP tools only
✓  The local agent decides what's allowed
✓  Codex works inside authorized workspaces
Workspace aliases

Logical names in, real paths never out

Local projects are exposed through safe aliases. Poke works with clean logical names while real paths stay on your machine.

# agent workspace config
workspaces:
  pokedex:
    path: /home/user/projects/pokedex
    sandbox: read_only
  side-project:
    path: /home/user/dev/side-project
    sandbox: workspace_write
what poke sees
codex_list_workspaces
──────────────────
pokedex · read_only
side-project · workspace_write

real paths: not included
Sandbox modes

Read-only by default. Always.

Out of the box, Codex can read but not modify files. Riskier modes must be enabled both in the agent and in the individual workspace.

default

read_only

The safe default. Codex can analyze, plan and review — but never writes a byte.

opt-in

workspace_write

Allows modifications, but only inside the authorized workspace. Nothing outside it.

double opt-in

danger_full_access

Disabled unless explicitly permitted — in the agent and in the workspace. The name is the warning.

Ready to assemble?

Set it upBrowse features