explaingit

wangzx233/meridian

17GoAudience · developerComplexity · 3/5ActiveSetup · moderate

TLDR

A web console that manages OpenAI Codex CLI tasks across many machines and projects from one browser, using a small device agent on each box.

Mindmap

mindmap
  root((meridian))
    Inputs
      Codex CLI tasks
      Device agents
      Project working dirs
    Outputs
      Streaming output
      Task and run history
      Notifications
    Use Cases
      Manage multi-machine Codex jobs
      Centralize coding agent tasks
      Stream task output to browser
    Tech Stack
      Go
      React
      PostgreSQL
      Docker Compose

Things people build with this

USE CASE 1

Run one web console that drives Codex CLI on a laptop, a workstation, and a server

USE CASE 2

Group multi-machine coding tasks into projects and watch streaming output in a browser

USE CASE 3

Send a follow-up instruction to a running Codex task without opening a new terminal

USE CASE 4

Get email or browser notifications when a long-running Codex task finishes

Tech stack

GoReactPostgreSQLDockerTypeScript

Getting it running

Difficulty · moderate Time to first run · 1h+

Needs Docker Compose, a Postgres 16 instance, and the Codex CLI already installed on each managed machine.

In plain English

Meridian is a Chinese-language web console for managing coding tasks that run inside OpenAI's Codex CLI. Codex CLI is a command-line tool that lets a language model do work directly in a project folder. The problem Meridian tries to solve is that a developer often has Codex CLI installed on several different machines, with several different projects, and several different tasks in flight at once. Switching between them by opening new terminal windows on each machine is slow. Meridian gathers all of those machines, projects, and tasks into one browser interface so you can hop between them with a click. The project is careful to say what it is not. It does not try to replace Codex, and it does not build a new AI agent. Codex CLI still does the actual work on each target machine. Meridian's job is to run a small device agent on every machine you want to control, and then let the central console send commands to those agents, stream their output back, and remember which project and task each one belongs to. The README compares this to general-purpose agents like Hermes or OpenClaw and to IDE-based AI plugins, and positions Meridian as the lighter option focused on management rather than autonomy. The backend is written in Go, the frontend is React 19, and tasks and run events are stored in PostgreSQL 16. The recommended way to run it is Docker Compose, which starts the database, applies migrations, builds the device agent files, and serves the web interface on port 18080. A .env.example file lets the user change ports, database passwords, and bind addresses, and the README warns that public deployments should sit behind an HTTPS reverse proxy. Connecting a machine works by opening the Runner install button in the web interface, setting a Control URL the device can reach, and copying the install command for Linux, macOS, or Windows. Once installed, the device shows up in the left sidebar. A typical work session is then: create a project tied to a real working directory, create a task, send instructions turn by turn, watch streaming output in the Output, Terminal, and Files panes, and mark the task as done when finished. Notifications can be delivered through the UI, browser, or email.

Copy-paste prompts

Prompt 1
Bring up Meridian locally with docker compose and serve the console on port 18080
Prompt 2
Install the Meridian device agent on a remote Linux box and connect it to my console
Prompt 3
Set up a Meridian project tied to ~/code/myapp and start a Codex CLI task in it
Prompt 4
Put Meridian behind an HTTPS reverse proxy and harden the .env settings
Prompt 5
Compare Meridian to running tmux with Codex CLI directly on each machine
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.