npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@fallom/openui

v1.2.1

Published

Visual canvas UI for managing AI coding agents locally

Readme

OpenUI

Your AI Agent Command Center

Manage multiple AI coding agents working in parallel on an infinite canvas. See what each agent is working on, their status, and jump in when they need help.

The Problem

You want to run 8 Claude agents simultaneously - each working on a different ticket, in isolated branches. But:

  • Terminal tabs are chaos
  • You can't see who's stuck at a glance
  • Context switching is painful
  • No way to organize by project/team

The Solution

OpenUI gives you a visual command center where each agent is a node on a canvas:

  • At-a-glance status: See which agents are working, idle, or need input
  • Ticket integration: Start sessions from Linear tickets (more integrations coming)
  • Branch isolation: Each agent works in its own git worktree
  • Organized workspace: Categories, custom colors, drag-and-drop layout

Installation

# Install globally
npm install -g @fallom/openui
openui

# Or run without installing
npx @fallom/openui
bunx @fallom/openui

Quick Start

  1. Run openui in your project directory
  2. Browser opens at http://localhost:6969
  3. Click "+" to spawn agents (Claude Code, OpenCode, or Ralph Loop)
  4. Click any node to open its terminal
  5. Drag nodes to organize, create categories to group them

Features

Canvas Management

  • Infinite canvas for organizing agents
  • Drag-and-drop positioning with snap-to-grid
  • Categories (folders) for grouping agents by team/project with persistent sizing
  • Custom names, colors, and icons per agent
  • Persistent layout across restarts

Agent Monitoring

  • Real-time status: Running, Idle, Needs Input, Tool Calling
  • Git branch display per agent
  • Directory/repo info
  • Redesigned node cards for better at-a-glance visibility

Session Management

  • Spawn multiple agents at once (placed in horizontal row beside existing nodes)
  • Restart sessions with custom arguments
  • Session persistence and restore
  • Version check and empty state UI

Coming Soon: Linear Integration

  • Start sessions directly from Linear tickets
  • Auto-create isolated branches per ticket
  • Git worktree support for parallel work
  • Ticket info displayed on agent nodes

How It Works

┌─────────────────────────────────────────────────────┐
│                    OpenUI Canvas                     │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐             │
│  │ Agent 1 │  │ Agent 2 │  │ Agent 3 │             │
│  │ PROJ-12 │  │ PROJ-34 │  │  IDLE   │             │
│  │ Working │  │ Waiting │  │         │             │
│  └─────────┘  └─────────┘  └─────────┘             │
│                                                      │
│  ┌─ Frontend Team ──────────────────────┐           │
│  │  ┌─────────┐  ┌─────────┐           │           │
│  │  │ Agent 4 │  │ Agent 5 │           │           │
│  │  └─────────┘  └─────────┘           │           │
│  └──────────────────────────────────────┘           │
└─────────────────────────────────────────────────────┘

OpenUI runs a local server that:

  • Spawns PTY sessions for each AI agent
  • Tracks agent state via terminal output parsing
  • Streams terminal I/O over WebSocket
  • Persists everything to .openui/ in your project

Tech Stack

  • Runtime: Bun
  • Backend: Hono + WebSockets + bun-pty
  • Frontend: React + React Flow + xterm.js + Framer Motion
  • State: Zustand

Development

git clone https://github.com/Fallomai/openui.git
cd openui

bun install
cd client && bun install && cd ..

bun run dev  # Server on 4242, UI on 6969

Testing with the Claude Code Plugin

For development, OpenUI automatically loads the plugin from the repo's claude-code-plugin/ directory if present. Just run bun run dev and the plugin will be injected when spawning Claude agents.

You can also test manually:

claude --plugin-dir $(pwd)/claude-code-plugin

Requirements

  • Bun 1.0+
  • One of: Claude Code, OpenCode, or Ralph Loop

Claude Code Plugin (Auto-installed)

OpenUI automatically pulls and installs the Claude Code plugin when you run it for the first time. This enables precise status detection (Working, Using Tools, Idle, Waiting for Input) via Claude Code hooks instead of terminal output parsing.

No manual installation required - just run openui and the plugin is set up automatically.

See claude-code-plugin/README.md for more details.

Optional: Ralph Loop

Ralph is an autonomous development loop that runs Claude Code repeatedly until all tasks are complete. To use it with OpenUI:

# Install Ralph globally
git clone https://github.com/frankbria/ralph-claude-code.git
cd ralph-claude-code
./install.sh

# In your project, set up Ralph
cd your-project
ralph-setup .

# Then select "Ralph Loop" when creating an agent in OpenUI

Ralph includes rate limiting, circuit breakers, and intelligent exit detection to prevent runaway loops.

License

MIT