Skip to content

Codex App SDKShip the app, not the plumbing.

Open-source building blocks for Codex apps. One runtime, Electron and web transports, and a shared Vue conversation UI.

Codex App SDK

One surface. Five focused packages. ​

Build your own Codex experience on an Apache-2.0 SDK. Start with the mocked component lab, connect a real app-server, then make the application your own.

Core

Share renderer-safe surface, event, attachment, and host-capability contracts across every runtime.

Backend

Own app-server startup, global state, concurrent conversations, semantic events, extensions, tools, and MCP configuration.

Electron

Project the surface over typed IPC and provide native attachments, clipboard, links, and speech capabilities.

Web

Bind a host-authorized WebSocket without taking ownership of HTTP, authentication, users, or process pooling.

Vue

Drop in the shared sidebar and conversation pane or compose the same messages, composer, tools, media, and menus yourself.

Start with the complete application scaffold, then update the generated project with your own shell, backend modules, tools, and product behavior. The renderer boundary remains intentionally small:

vue
<script setup lang="ts">
import { CodexConversationPane, useCodexSurface } from '@codex-app-sdk/vue';
import '@codex-app-sdk/vue/styles.css';

const surface = useCodexSurface(rendererApi);
</script>

<template>
  <CodexConversationPane :surface="surface" />
</template>

The pane connects through the SDK bridge and renders the active app-server conversation. Your app can add its own conversation list, workspace controls, business UI, or custom tools without recreating the conversation system.

Start with the scaffold, learn from the samples ​

If you are building…Start from…
A new Electron + Vue applicationProject scaffolder
A web application embedded in an existing siteWeb integration
A runnable Express + ws web baselineBasic web sample
A full multi-thread Codex clientBasic sample
A focused, branded chat experienceSpark sample
A business application with model-driven operationsRelay sample
A custom runtime or non-Vue rendererSurface runtime and surface contracts
A protocol experiment not yet projected by the SDKLow-level client

Design rule

Ordinary application code should speak in conversations, messages, approvals, goals, and events—not thread/*, turn/*, JSON-RPC envelopes, or generated protocol types.

Source and package access ​

The repository and documentation are public. You can clone the source and run the component lab or samples without package credentials. Starting with 0.14.0, all six scoped packages, including the scaffolder, are public on npm and install without authentication. See installation for setup and migration from the older GitHub Packages releases.

The SDK is pre-1.0. These docs follow main; package releases may lag behind. The JSON-RPC inventory records the checked-in app-server schema version and its coverage.

Scaffold an application →

Released under the Apache License 2.0.