Skip to main content
OpenHarness ships with three example applications that demonstrate different integration patterns.

CLI Agent

An interactive terminal agent with tool approval prompts, subagent display, and composed middleware.
To use ChatGPT/Codex OAuth instead of OPENAI_API_KEY:
Features:
  • Tool approval prompts with queued display
  • Subagent status with spinners
  • Message compaction
  • Optional ChatGPT/Codex OAuth provider via --chatgpt
  • Composed middleware stack
Source: examples/cli

Next.js Chat App

A full chat UI built with Next.js and @openharness/react.
Then open http://localhost:3000. Features:
  • Streaming text and tool visualization
  • Subagent status tracking
  • announce tool for agent narration
  • Session persistence (in-memory)
  • Composed middleware (turn tracking, compaction, retry, persistence)
Source: examples/nextjs-demo

Nuxt Chat App

The same chat experience built with Vue 3, Nuxt 4, and @openharness/vue.
Then open http://localhost:3000. Features:
  • Same capabilities as the Next.js example
  • Vue 3 composables and reactive state
  • Nuxt 4 server routes
Source: examples/nuxt-demo

Prerequisites

By default the examples use OPENAI_API_KEY. Create a .env file in the repo root:
The CLI example can instead use ChatGPT/Codex device login with --chatgpt. Clone and build the repository first: