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

cdesktop

v0.2.3

Published

NPX wrapper around cdesktop and cdesktop-mcp

Readme

Sponsors

Want your logo featured here? Get in touch.

Overview

cdesktop is an open-source alternative to Anthropic's Claude Code Desktop. It's a web UI for 5 coding agents — Claude Code, Codex, Gemini CLI, OpenCode, and Hermes — wrapping each CLI as a child process on your machine, with your code, transcripts, and worktrees all kept on disk.

The layout is modeled after the Code tab of Anthropic's official desktop app: a sessions sidebar, a transcript with an integrated terminal and diff viewer, and a right-side pane for plan, files, and app preview. Unlike the official app, cdesktop is local-only, agent-agnostic, and provider-agnostic — pick an agent, pick a provider from the built-in catalog or wire up your own.

As of May 7, 2026, Anthropic's Claude Code Desktop no longer accepts third-party model names. cdesktop fully supports third-party providers and models.

  • 5 coding agents in one UI — Claude Code, Codex, Gemini, OpenCode, Hermes; pick per session, transcripts stay separate per agent
  • Plug in any provider in one click — 20+ built-in presets (OpenRouter, AWS Bedrock, DeepSeek, Kimi, ModelScope, MiniMax, Nvidia, …) or add a custom ANTHROPIC_BASE_URL endpoint; switch providers and tune reasoning effort per session
  • Agent teams — spawn teammates that share your workspace and divide work; mix agents and models per teammate; lead delegates via npx cdesktop team spawn
  • Run sessions side by side — split the workspace into up to 4 cells and drag any session into a new cell
  • Switch between sessions instantly — no reload between threads; transcripts stay where you left them
  • Routines — schedule recurring agent runs (hourly, daily, weekdays, weekly) or save manual-fire templates; each run spawns its own workspace you can open and review
  • Optional Git worktrees — opt in per project for an isolated branch per session, or work directly in the folder; non-Git directories work too
  • Review diffs and leave inline comments — send feedback directly to the agent without leaving the UI
  • Preview your app — built-in browser with devtools, inspect mode, and device emulation
  • Create pull requests and merge — open PRs with AI-generated descriptions, review on GitHub, and merge
  • Speaks your language — built-in support for English, Simplified/Traditional Chinese, Spanish, French, Japanese, and Korean
  • Works on your phone — fully responsive UI; check progress, review diffs, and send follow-ups from any device
  • Runs in your browser today — start with npx cdesktop and open it in any modern browser; a Tauri desktop build is wired up but not yet shipped

Beta software. Expect bugs and rough edges. Please file issues when you hit them.

Installation

npx cdesktop

Roadmap

  • Desktop app build — ship Tauri installers for macOS, Windows, and Linux
  • Voice input — push-to-talk dictation for hands-free prompts
  • Files panel — browse the full project file tree, not just the session working directory
  • Performance optimization — faster cold start, smaller bundle, lower idle CPU
  • Skill browser — in-app discovery and one-click install for slash commands and skills

Support

File bug reports and feature requests at cdesktop-ai/cdesktop/issues.

Contributing

Please raise ideas and changes in GitHub Discussions before opening a PR, so we can align on implementation details and roadmap fit.

Development

Prerequisites

Additional development tools:

cargo install cargo-watch
cargo install sqlx-cli

Install dependencies:

pnpm i

Running the dev server

pnpm run dev

This will start the backend and web app. A blank DB will be copied from the dev_assets_seed folder.

Building the web app

To build just the web app:

cd packages/local-web
pnpm run build

Build from source (macOS)

  1. Run ./local-build.sh
  2. Test with cd npx-cli && node bin/cli.js

Environment Variables

The following environment variables can be configured at build time or runtime:

| Variable | Type | Default | Description | |----------|------|---------|-------------| | POSTHOG_API_KEY | Build-time | Empty | PostHog analytics API key (disables analytics if empty) | | POSTHOG_API_ENDPOINT | Build-time | Empty | PostHog analytics endpoint (disables analytics if empty) | | PORT | Runtime | Auto-assign | Production: Server port. Dev: Frontend port (backend uses PORT+1) | | BACKEND_PORT | Runtime | 0 (auto-assign) | Backend server port (dev mode only, overrides PORT+1) | | FRONTEND_PORT | Runtime | 3000 | Frontend dev server port (dev mode only, overrides PORT) | | HOST | Runtime | 127.0.0.1 | Backend server host | | MCP_HOST | Runtime | Value of HOST | MCP server connection host (use 127.0.0.1 when HOST=0.0.0.0 on Windows) | | MCP_PORT | Runtime | Value of BACKEND_PORT | MCP server connection port | | DISABLE_WORKTREE_CLEANUP | Runtime | Not set | Disable all git worktree cleanup including orphan and expired workspace cleanup (for debugging) | | CDT_ALLOWED_ORIGINS | Runtime | Not set | Comma-separated list of origins that are allowed to make backend API requests (e.g., https://my-cdesktop.example.com) |

Build-time variables must be set when running pnpm run build. Runtime variables are read when the application starts.

Self-Hosting with a Reverse Proxy or Custom Domain

When running cdesktop behind a reverse proxy (e.g., nginx, Caddy, Traefik) or on a custom domain, you must set the CDT_ALLOWED_ORIGINS environment variable. Without this, the browser's Origin header won't match the backend's expected host, and API requests will be rejected with a 403 Forbidden error.

Set it to the full origin URL(s) where your frontend is accessible:

# Single origin
CDT_ALLOWED_ORIGINS=https://cdesktop.example.com

# Multiple origins (comma-separated)
CDT_ALLOWED_ORIGINS=https://cdesktop.example.com,https://cdesktop-staging.example.com

Remote Deployment

When running cdesktop on a remote server (e.g., via systemctl, Docker, or cloud hosting), you can configure your editor to open projects via SSH:

  1. Access via tunnel: Use Cloudflare Tunnel, ngrok, or similar to expose the web UI
  2. Configure remote SSH in Settings → Editor Integration:
    • Set Remote SSH Host to your server hostname or IP
    • Set Remote SSH User to your SSH username (optional)
  3. Prerequisites:
    • SSH access from your local machine to the remote server
    • SSH keys configured (passwordless authentication)
    • VSCode Remote-SSH extension

When configured, the "Open in VSCode" buttons will generate URLs like vscode://vscode-remote/ssh-remote+user@host/path that open your local editor and connect to the remote server.

See the documentation for detailed setup instructions.

License

Apache License 2.0 — see LICENSE.

cdesktop is a derivative work of BloopAI/vibe-kanban (Apache 2.0). The provider preset catalog is derived from farion1231/cc-switch (MIT). See NOTICE for full attribution.