zhukunpenglinyutong/desktop-cc-guiPublic

Multi-engine AI coding desktop client (Tauri). Claude Code, Codex, Gemini, OpenCode, DeepSeek Harness and more in one GUI.

AI summary: An open-source graphical client consolidating command-line AI coding runtimes like Claude Code and Codex CLI.

Stars
4.4K
+9 today
Forks
403
Watchers
12
Open issues
306
Open PRs
11
Contributors
~31
Commits
6.2K
Branches
156

TypeScriptNo licenseCreated Feb 3, 2026Last push 4d agoLatest release v1.1.0+58 stars this week+287 this month

Quick answers

What is desktop-cc-gui?
An open-source graphical client consolidating command-line AI coding runtimes like Claude Code and Codex CLI.
What does desktop-cc-gui do?
Desktop CC GUI replaces black-box terminal coding assistants with a visual interface built on Tauri, React, and Rust. It registers adapters for popular runtimes such as Claude Code, Codex CLI, Gemini CLI, and OpenCode in a single window. The client brings transparency to token usage and session contexts while persisting history locally across restarts. Its interface includes specialized developer panels like file trees, git controls, and live tool execution cards. This creates a cohesive vibecoding platform that simplifies interacting with multiple AI providers. It offers advanced project intelligence features like a Project Map for codebase understanding.
Who is desktop-cc-gui for?
Geared towards software developers, AI enthusiasts, and engineering teams wanting a visual wrapper for CLI AI tools. Users should be familiar with local AI environments and Git workflows.
How do I get started with desktop-cc-gui?
git clone https://github.com/zhukunpenglinyutong/desktop-cc-gui.git && cd desktop-cc-gui && npm install && npm run tauri:dev
How popular is desktop-cc-gui on GitHub?
zhukunpenglinyutong/desktop-cc-gui has 4,427 stars and 403 forks on GitHub, and gained 58 stars in the last 7 days.

Star history

since Jul 29, 2026
02K4KJul 2026Aug 2026Sep 2026Oct 2026
4.4K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Update history

1 recorded
  • Oct 4, 2026Previously tracked as zhukunpenglinyutong/codemoss; its 1 daily snapshot and 1 trending appearance were merged into this profile. Stars: 3,787 on 2026-07-29 under the old name, 4,427 on 2026-10-03 (+640).

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 8 commits2026-02-06: 13 commits2026-02-07: 21 commits2026-02-08: 7 commits2026-02-09: 24 commits2026-02-10: 8 commits2026-02-11: 10 commits2026-02-12: 3 commits2026-02-13: 0 commits2026-02-14: 3 commits2026-02-15: 7 commits2026-02-16: 5 commits2026-02-17: 4 commits2026-02-18: 9 commits2026-02-19: 3 commits2026-02-20: 4 commits2026-02-21: 3 commits2026-02-22: 9 commits2026-02-23: 2 commits2026-02-24: 0 commits2026-02-25: 1 commit2026-02-26: 6 commits2026-02-27: 7 commits2026-02-28: 14 commits2026-03-01: 6 commits2026-03-02: 11 commits2026-03-03: 11 commits2026-03-04: 8 commits2026-03-05: 8 commits2026-03-06: 14 commits2026-03-07: 5 commits2026-03-08: 2 commits2026-03-09: 6 commits2026-03-10: 8 commits2026-03-11: 9 commits2026-03-12: 12 commits2026-03-13: 3 commits2026-03-14: 6 commits2026-03-15: 14 commits2026-03-16: 5 commits2026-03-17: 9 commits2026-03-18: 9 commits2026-03-19: 22 commits2026-03-20: 15 commits2026-03-21: 9 commits2026-03-22: 18 commits2026-03-23: 18 commits2026-03-24: 17 commits2026-03-25: 7 commits2026-03-26: 0 commits2026-03-27: 9 commits2026-03-28: 16 commits2026-03-29: 11 commits2026-03-30: 14 commits2026-03-31: 5 commits2026-04-01: 16 commits2026-04-02: 7 commits2026-04-03: 0 commits2026-04-04: 6 commits2026-04-05: 1 commit2026-04-06: 2 commits2026-04-07: 8 commits2026-04-08: 1 commit2026-04-09: 22 commits2026-04-10: 12 commits2026-04-11: 10 commits2026-04-12: 9 commits2026-04-13: 13 commits2026-04-14: 17 commits2026-04-15: 5 commits2026-04-16: 17 commits2026-04-17: 28 commits2026-04-18: 24 commits2026-04-19: 28 commits2026-04-20: 61 commits2026-04-21: 57 commits2026-04-22: 58 commits2026-04-23: 93 commits2026-04-24: 26 commits2026-04-25: 12 commits2026-04-26: 12 commits2026-04-27: 43 commits2026-04-28: 31 commits2026-04-29: 37 commits2026-04-30: 26 commits2026-05-01: 62 commits2026-05-02: 37 commits2026-05-03: 28 commits2026-05-04: 29 commits2026-05-05: 17 commits2026-05-06: 69 commits2026-05-07: 33 commits2026-05-08: 29 commits2026-05-09: 49 commits2026-05-10: 4 commits2026-05-11: 29 commits2026-05-12: 35 commits2026-05-13: 32 commits2026-05-14: 32 commits2026-05-15: 37 commits2026-05-16: 26 commits2026-05-17: 2 commits2026-05-18: 6 commits2026-05-19: 27 commits2026-05-20: 85 commits2026-05-21: 27 commits2026-05-22: 22 commits2026-05-23: 6 commits2026-05-24: 25 commits2026-05-25: 17 commits2026-05-26: 19 commits2026-05-27: 50 commits2026-05-28: 18 commits2026-05-29: 25 commits2026-05-30: 30 commits2026-05-31: 18 commits2026-06-01: 40 commits2026-06-02: 26 commits2026-06-03: 16 commits2026-06-04: 8 commits2026-06-05: 61 commits2026-06-06: 24 commits2026-06-07: 51 commits2026-06-08: 27 commits2026-06-09: 29 commits2026-06-10: 55 commits2026-06-11: 13 commits2026-06-12: 12 commits2026-06-13: 40 commits2026-06-14: 26 commits2026-06-15: 3 commits2026-06-16: 11 commits2026-06-17: 26 commits2026-06-18: 61 commits2026-06-19: 6 commits2026-06-20: 16 commits2026-06-21: 8 commits2026-06-22: 37 commits2026-06-23: 14 commits2026-06-24: 12 commits2026-06-25: 29 commits2026-06-26: 33 commits2026-06-27: 52 commits2026-06-28: 6 commits2026-06-29: 11 commits2026-06-30: 3 commits2026-07-01: 16 commits2026-07-02: 9 commits2026-07-03: 12 commits2026-07-04: 22 commits2026-07-05: 9 commits2026-07-06: 29 commits2026-07-07: 17 commits2026-07-08: 5 commits2026-07-09: 9 commits2026-07-10: 29 commits2026-07-11: 10 commits2026-07-12: 6 commits2026-07-13: 23 commits2026-07-14: 13 commits2026-07-15: 31 commits2026-07-16: 45 commits2026-07-17: 51 commits2026-07-18: 21 commits2026-07-19: 22 commits2026-07-20: 17 commits2026-07-21: 56 commits2026-07-22: 70 commits2026-07-23: 39 commits2026-07-24: 61 commits2026-07-25: 36 commits2026-07-26: 98 commits2026-07-27: 71 commits2026-07-28: 54 commits2026-07-29: 35 commits2026-07-30: 49 commits2026-07-31: 48 commits2026-08-01: 54 commits2026-08-02: 67 commits2026-08-03: 51 commits2026-08-04: 63 commits2026-08-05: 18 commits2026-08-06: 8 commits2026-08-07: 18 commits2026-08-08: 44 commits2026-08-09: 19 commits2026-08-10: 30 commits2026-08-11: 24 commits2026-08-12: 22 commits2026-08-13: 0 commits2026-08-14: 29 commits2026-08-15: 33 commits2026-08-16: 20 commits2026-08-17: 27 commits2026-08-18: 42 commits2026-08-19: 25 commits2026-08-20: 20 commits2026-08-21: 12 commits2026-08-22: 37 commits2026-08-23: 4 commits2026-08-24: 35 commits2026-08-25: 47 commits2026-08-26: 35 commits2026-08-27: 48 commits2026-08-28: 69 commits2026-08-29: 16 commits2026-08-30: 24 commits2026-08-31: 61 commits2026-09-01: 1 commit2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 1 commit2026-09-05: 0 commits2026-09-06: 1 commit2026-09-07: 5 commits2026-09-08: 15 commits2026-09-09: 26 commits2026-09-10: 29 commits2026-09-11: 43 commits2026-09-12: 27 commits2026-09-13: 24 commits2026-09-14: 20 commits2026-09-15: 23 commits2026-09-16: 21 commits2026-09-17: 8 commits2026-09-18: 11 commits2026-09-19: 17 commits2026-09-20: 21 commits2026-09-21: 18 commits2026-09-22: 49 commits2026-09-23: 48 commits2026-09-24: 24 commits2026-09-25: 0 commits2026-09-26: 3 commits2026-09-27: 1 commit2026-09-28: 4 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
5,296 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    5,296 commits in 52 weeks

  • Outside contributions

    76% of recent commits from the community

What desktop-cc-gui does

Desktop CC GUI replaces black-box terminal coding assistants with a visual interface built on Tauri, React, and Rust. It registers adapters for popular runtimes such as Claude Code, Codex CLI, Gemini CLI, and OpenCode in a single window. The client brings transparency to token usage and session contexts while persisting history locally across restarts. Its interface includes specialized developer panels like file trees, git controls, and live tool execution cards. This creates a cohesive vibecoding platform that simplifies interacting with multiple AI providers. It offers advanced project intelligence features like a Project Map for codebase understanding.

Geared towards software developers, AI enthusiasts, and engineering teams wanting a visual wrapper for CLI AI tools. Users should be familiar with local AI environments and Git workflows.

  • Multi-Engine Support: Adapts command-line runtimes like Claude Code and Gemini CLI into one graphical view.
  • Local State Persistence: Saves workspace indexes and conversation histories directly on the local machine.
  • Interactive Chat Components: Allows @ file referencing, slash commands, and handling of pasted images.
  • Integrated Developer Panels: Provides a built-in file tree, terminal, global search, and Git management.
  • Live Execution Cards: Visualizes file edits and shell commands natively as they happen during generation.
  • Project Intelligence: Provides Project Map, Project Memory, and Context Ledger to keep context easily visible and inspectable.

Where teams use it

Unified AI Coding

Allows developers to switch between Claude, Codex, and Gemini without changing terminal environments.

Visual Context Management

Helps users manage large prompts and token contexts more easily than standard CLI workflows.

Guided AI Commits

Leverages the Git panel to generate AI commit messages and handle branching natively.

Cross-Platform Vibecoding

Provides a consistent GUI experience for AI pair programming on macOS, Windows, and Linux.

Getting started: git clone https://github.com/zhukunpenglinyutong/desktop-cc-gui.git && cd desktop-cc-gui && npm install && npm run tauri:dev

README

main branch

Desktop CC GUI

ccgui icon

English · 简体中文

zhukunpenglinyutong%2Fdesktop-cc-gui | Trendshift AtomGit G-Star

platform

ccgui is an open-source multi-engine AI coding desktop client. In plain words: it brings command-line AI coding runtimes — Claude Code, Codex CLI, Kimi CLI, Grok CLI, Pi CLI, OMP CLI, DeepSeek Harness (DSH), Antigravity, OpenCode, and Qoder — into one graphical interface.

No more staring at a black terminal. Open ccgui, pick a project, and chat with AI to write code, fix bugs, and commit to Git. Streaming output, thinking traces, and tool calls are visible as they happen; token usage appears when the engine reports it.

The app is built with Tauri 2 + React 18 + TypeScript + Rust and runs on macOS, Windows, and Linux. Settings and state are persisted locally. Content sent to an AI provider follows the boundary of the channel you configured for that CLI.


Supported engines

Every engine below is wired in through a dedicated protocol adapter in the Rust backend — streaming events, session history, and provider channels are handled natively, not scraped off a terminal screen.

Claude Code logo Claude Code   Codex CLI logo Codex CLI   Kimi CLI logo Kimi CLI   Grok CLI logo Grok CLI   Pi CLI logo Pi CLI   oh-my-pi logo OMP CLI   DeepSeek Harness logo DeepSeek Harness   Antigravity logo Antigravity   OpenCode logo OpenCode   Qoder logo Qoder

Feature compatibility matrix

Legend: ✅ Supported · ⚠️ Partial · ❌ Not yet supported · 🔁 Not supported by the CLI, but ccgui has a GUI equivalent · ➖ N/A

Feature Claude Code Codex CLI Kimi CLI Grok CLI Pi CLI OMP CLI DSH Antigravity OpenCode Qoder (Global/CN)
Streaming output (per-token) ✅ ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Session history & resume ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Interrupt (Stop) ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Message queue ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Image attachments ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅
Permission modes auto·manual·plan·bypass auto·manual·bypass auto·plan·bypass bypass only auto only auto·plan·bypass auto only auto·plan·bypass auto·plan bypass only
Model picker ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Reasoning effort ✅ ✅ ❌ ❌ ✅ ✅ ❌ ⚠️ ❌ ✅
Token usage & context window ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ⚠️ ✅
Todo list rendering ✅ ❌ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌
Sub-agent display (dispatch panel) ✅ ✅ ✅ ❌ ✅ ✅ ✅ ⚠️ ⚠️ ⚠️
Team mode (multi-agent orchestration) ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
/ slash commands & skills (picker) ✅ ✅ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ❌ ⚠️ ⚠️
@ file mentions ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Provider/channel switching ✅ ✅ ✅ ✅ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️
CC Switch import ✅ ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌
Fast mode (service tier) ❌ ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
Session rename ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Native command /new (new session) ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Native command /clear (clear context) ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
Native command /compact (compact context) ✅ ⚠️ ⚠️ ⚠️ ⚠️ ✅ ⚠️ ⚠️ ⚠️ ⚠️
Native command ask (question cards) ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ❌
Native command /mcp ❌ ❌ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌
Native command /plugins ➖ ➖ ➖ ➖ ❌ ✅ ➖ ➖ ➖ ➖
Native command /goal (persistent goal) ➖ ➖ ➖ ➖ ➖ ❌ ➖ ➖ ➖ ➖

Kimi question cards use the local CLI's ACP form channel (verified with Kimi 2.0.2), including multiple questions, multiple selections, dismissal, and interruption. Kimi currently accepts declared options only, so these cards do not offer a free-text “Other” answer. WSL workspaces retain the non-interactive CLI fallback and do not support Kimi question cards or plan mode; prompt-mode launches never add incompatible interactive permission flags.


What can ccgui do?

One client, ten AI engines

  • Registers runtime adapters for Claude Code, Codex CLI, Kimi CLI, Grok CLI, Pi CLI, OMP CLI, DeepSeek Harness, Antigravity, OpenCode, and Qoder (global and CN distributions) — pick the engine per session from the composer.
  • Provider channels are written to each CLI's own native config files (no parallel credential store), with curated presets for GLM, Kimi, DeepSeek, MiniMax, MiMo, Bailian, LongCat, OpenCode Go, OpenRouter, Requesty, and more. Claude / Codex / Grok channels can be imported from CC Switch.
  • Pi-family engines (Pi / OMP) support API-key and OAuth sign-in flows from inside Settings.
  • Per-tab model and effort overrides: different tabs in the same window can run different models or thinking levels.
  • Session history survives restarts; the history scanner reads each CLI's native session files and keeps titles in sync.

A chat box designed for coding

  • Streaming replies are revealed per animation frame with cached syntax highlighting — long outputs stay smooth instead of re-parsing markdown on every token.
  • Thinking streams merge with the reply text, auto-fold when they settle, and expand to full text on demand.
  • Tool calls show as live rows with expandable parameters and results, including beautified Git Diff and Bash viewers and per-run completion metadata.
  • A Run Status Strip mirrors the engine's live progress (including todo snapshots), and a message anchor rail lets you jump between user messages.
  • Pasted images become attachments; file mentions are backed by a .gitignore-aware project file index; file links in replies handle URL-encoded paths and have a right-click menu.
  • Permission denials can be resolved inline by granting the engine extra directories; prompt history and an optional Codex Fast toggle live in the composer.

Not just chat — a full set of dev panels

  • File tree: virtualized, with Git status colors, nested-repository badges, context menus, and drag-and-drop — plus a built-in CodeMirror editor pane with Markdown preview.
  • Built-in terminal: a real PTY-backed terminal dock (xterm + WebGL), no need to switch windows.
  • Git panel: stage, commit, search branches, inspect diffs and history.
  • Command palette: one keyboard-driven box for the app's commands.

Plugin system

  • First-party plugin SDK (@ccgui/plugin-sdk) plus an in-app runtime, manager UI, and trust boundary.
  • Declarative plugins can add settings sections and config-driven UI without shipping frontend code; builtin app surfaces (including the settings page itself) are registered through the same extension points.
  • See docs/plugin-development-guide.zh-CN.md for the full authoring guide.

Settings, network, and updates

  • Proxy settings for the app and engine traffic.
  • LAN web access: serve the UI to other devices on your network over a token-authenticated WebSocket bridge, with a QR-code entry in Settings.
  • Workspace management: group projects and switch between them.
  • In-app auto-update (Tauri updater against GitHub Releases), a changelog dialog, and signed macOS builds.
  • Bilingual UI: Chinese and English.

Download

Grab the installer for your platform from the Releases page:

Platform Installer
macOS (Apple Silicon, signed) aarch64.dmg
Windows .exe (NSIS)
Linux .AppImage, .rpm

The .rpm is zstd-compressed and requires rpm ≥ 4.14 (Fedora 28+, RHEL 8+); on older rpm-based systems use the AppImage instead.

After installing, open Settings, configure a provider channel for the CLI you want (or sign in), add a project folder, and start chatting.

Using DeepSeek Harness (DSH)

  1. Install the DSH CLI on your machine and configure its models and API keys in DSH itself — not as a separate vendor preset inside ccgui.
  2. In Settings → DeepSeek Harness, ccgui can adopt a running local dsh web host or auto-start one.
  3. Select DeepSeek Harness in the composer engine picker. Chat runs through DSH's headless profile; models and credentials stay in DSH.
  4. Image attachments (paste, pick, or drop) are supported. For custom providers added in DSH (llm-pi-ai routes), ccgui declares image input on the route before sending — no manual DSH settings edit needed; official adapters report their own capabilities.

Getting it running (setup guide)

Want to build it yourself or contribute? Three steps.

Step 1: Prepare your environment

Tool Version What for
Node.js 20 or newer Runs the frontend toolchain
pnpm 10 (pinned via packageManager) Installs dependencies
Rust stable (install via rustup) Compiles the backend

Each OS also needs the standard Tauri prerequisites — see the official Tauri guide:

  • macOS: xcode-select --install.
  • Windows: Microsoft C++ Build Tools and WebView2 (Windows 11 ships with WebView2).
  • Linux: webkit2gtk and friends — copy the commands from the Tauri docs.

Step 2: Install dependencies

git clone https://github.com/zhukunpenglinyutong/desktop-cc-gui.git
cd desktop-cc-gui
pnpm install

Note: this is a pnpm workspace (the plugin SDK lives in packages/plugin-sdk); the lockfile is pnpm-lock.yaml.

Step 3: Start it

pnpm dev

A few tips:

  • The first launch compiles the entire Rust backend and can take a few minutes — go grab a coffee. Later launches use incremental builds and are fast.
  • The frontend dev server runs on port 1420.

Building installers

pnpm build:mac                 # macOS signed build (scripts/build-signed-macos.sh)
pnpm build:mac:skip-notarize   # same, skipping notarization

Windows and Linux installers are produced by the CI workflows under .github/workflows/ (release.yml, build-windows-artifact.yml).


How to work on the code (development guide)

Tech stack at a glance

Part Technology
UI React 18 + TypeScript + Tailwind CSS 4 + zustand
Build Vite 6
Desktop shell Tauri 2 (Rust backend: git2, rusqlite, portable-pty, axum)
Tests Vitest (frontend) + cargo test (Rust)

Directory layout

desktop-cc-gui/
├── src/                    # Frontend code
│   ├── features/           # ★ Feature modules: chat / files / git / terminal /
│   │                       #   settings / plugins / commands / update / open-app
│   ├── components/         # Shared UI components (incl. engine brand icons)
│   ├── i18n/               # zh + en locale bundles
│   ├── styles/             # Global styles
│   └── lib/ utils/         # Utility functions
├── src-tauri/              # Rust backend
│   └── src/                # engine/ (one module per CLI), history/, plugins/,
│                           # git.rs, terminal.rs, web.rs (LAN bridge), ...
├── packages/plugin-sdk/    # @ccgui/plugin-sdk — plugin authoring kit
├── tests/                  # Frontend integration-style tests (Vitest)
├── scripts/                # Build and packaging scripts
└── docs/                   # Plugin development guide, engine mode notes

The typical workflow for changing a feature

  1. UI-only change: find the matching module under src/features/ and edit there. New components live inside that feature's own folder.
  2. Needs backend support: add a #[tauri::command] in the matching src-tauri/src/ module and call it from the frontend via the Tauri API.
  3. Changed any UI text: route it through i18n and keep both bundles (src/i18n/zh.ts, src/i18n/en.ts) synchronized — hardcoded UI text is not allowed.

Everyday commands

Command What it does
pnpm dev Start the full app (Tauri dev mode)
pnpm build TypeScript check + frontend production build
pnpm test Run the Vitest suite
pnpm preview Preview the production frontend build
cargo test --manifest-path src-tauri/Cargo.toml Run Rust tests

Writing tests

  • Frontend tests use Vitest — colocated xxx.test.ts(x) files next to the source, plus heavier suites under tests/.
  • Rust tests live in their modules as usual and run with cargo test --manifest-path src-tauri/Cargo.toml.

Coding rules

Not many rules, but each exists for a reason:

  1. Run the big three before opening a PR: pnpm build (typecheck) and pnpm test green locally, plus cargo test if you touched Rust.
  2. UI text must go through i18n: every user-visible string comes from src/i18n/, and both shipped locale bundles must stay synchronized.
  3. Keep components close to home: new components start inside their own feature folder; promote to src/components/ only once they're genuinely reused across features.
  4. TypeScript strict: don't paper over things with any; write real types.
  5. Extend through the plugin SDK where possible: new settings sections and surfaces should register through the same extension points the builtin ones use.
  6. Never commit secrets: API keys and tokens must never appear in code or commit history.

Writing commit messages

Use Conventional Commits with a Chinese action phrase by default: type(scope): 中文动宾短句.

type When to use
feat New feature
fix Bug fix
refactor Refactoring (no behavior change)
docs Documentation
test Adding/updating tests
chore Housekeeping (version bumps, deps, scripts)
perf / style / ci Performance / formatting / CI

Real examples from this repo:

feat(chat): 支持工具调用参数与结果展开、Git Diff/Bash美化及完成元数据展示
fix(codex): Windows .cmd shim 下多行提示词只送达第一行
perf(chat): reveal streamed text per frame without reparsing markdown

No emoji in commit messages, and no AI-generated signatures.


Submitting your code (contribution flow)

  1. Fork the repo and clone it locally.
  2. Branch off main, named like feat/xxx or fix/xxx.
  3. Make your changes and get pnpm build + pnpm test green locally.
  4. Open a PR against this repo's main branch. Title in commit format; in the description, explain what changed, why, and how you verified it.

Not sure where to start? Browse the Issues and pick one that interests you. Found a bug or have an idea? Open an issue and let's talk.

Want to dig deeper?


License

MIT


Friendship Link

Thanks for the support and feedback from the friends at LINUX DO.

AtomGit: hosts this project in China, helping users in mainland China access the project and download Releases faster.

Thank you for AtomGit platform G-Star certification


Contributors

Thanks to all the contributors who help make ccgui better.

Contributors

Acknowledgements

This project originally started from CodexMonitor. Since v1.0.0 the codebase has been rewritten from scratch — no CodexMonitor code remains, but the original inspiration is gratefully acknowledged.


Star History

Star History Chart

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

120 total
  1. v1.1.0v1.1.0Sep 28, 20264.1K downloads

    ## New Features - Markdown 预览改用 Streamdown 渲染 - 页签条会话页签向下拖出即可分屏 - 对话区分屏(侧栏拖拽分屏,多栏同时工作) - 计划预览与人工审批(omp/codex/dsh 接通,grok/qoder fail-closed) - 新增 Requesty 供应商预设 - 外观字体改上传文件并抽出缩放存储,桌面宠物拆为独立页 - 排队消息支持上下调序,箭头调整发送顺序 - CLI 选择器顺序跟随设置页拖拽排序 - 设置搜索覆盖列表页与页签,补齐全部内置页 - 设置搜索覆盖 Web 访问与全部 CLI 引擎页 - 设置搜索扩展到网络代理/快捷键/更新/内测/诊断 - 设置搜索命中页面内部的行,跳转后定位高亮 - ⌘L 会话搜索面板新增检索统计行(耗时 + 语料条数) ## Fixes - wrap cfg(windows) assignments in blocks so the crate builds - 修复选择模型下拉建议时整个界面崩溃 - keep opencode server job guard alive after ensure_server - 修复非安全 HTTP(局域网桥)环境下 crypto.randomUUID 不存在导致崩溃 - 修复 Codex 切换渠道后模型面板跳转 - 断网等环境性网络失败不再弹全屏崩溃页 - 兜底 unlisten 注册竞态,修进入页面即崩溃

  2. v1.0.9v1.0.9Sep 24, 20265.9K downloads

    ## New Features - support bypass permission on the serve driver - 新分支默认 base 改为当前检出分支 - 复刻 Codex v2 桌面宠物 - 创建对话框默认「新分支」并移除侧栏脏文件数徽标 - worktree 子工作区管理、电脑操控单轮驱动与崩溃兜底 - 升级后首启自动打开版本更新页签并标记「新版本」 - worktree 子工作区数据层(kind/parent_id + 旧数据导入) - 支持任务模块下钻查看任务详情与执行情况 - OMP 订阅授权新增 Google Antigravity 登录 - filter and edit OMP custom providers - support bypass via --auto flag ## Fixes - 修复 codex app-server 未传递 reasoning_effort 导致回退默认 medium 问题 - 修复只读 invoke 与缺失 withResolvers 时插件引导中断 - keep plugin PATH priority, cover engine spawn shebang PATH - 按 Google API 协议过滤推理字段 - AskUserQuestion 多题逐题确认与自动前进 - inject CLI search PATH for exec shebang shims - 修复审查发现的交互、状态与安全问题 - 修复输入框粘贴后一次撤销会连带删掉此前输入 - 稀疏检出不再误报删除,空 worktree 创建改为明确报错 - 兼容可选后台任务状态 - 修正鼠标命中区域与任务状态展示 - 完善桌面宠物交互与导入提示 - Worktree 分组展开/收起补齐高度动画 - 打包版插件样式不再被 CSP nonce 拦掉 - 浏览器噪音不再弹全屏崩溃页 - 分支列表列出远程跟踪分支,检出时物化为本地跟踪分支 - 修复输入框粘贴后一次撤销会连带删掉此前输入 - 剥离元信息中渠道与插件前缀,统一展示纯净模型名称 - 修复对话结束后子任务跨页丢失及子代理状态收敛与呼吸灯异常 - 修复聊天侧栏与 Git 变更列表的滚动和分页状态 - 统一嵌入 Windows manifest,修复库测试加载失败 - 模型刷新改为全局生效(按上下文分桶,不再按工作区各自缓存) - 会话解析缓存把工具输出计入内存预算 - 重试退避时停掉侧栏/标签/思考指示器动画,补齐 retrying 标志清理

  3. v1.0.8v1.0.8Sep 23, 20261.2K downloads

    ## New Features - usage/done 事件带实测生成窗口 genMs(SDK 0.3.15) - 打开即检测 + 结果缓存(3 分钟)+ 并行检测 - 引擎图标、连接状态检测、Claude 用户级启停 - MCP 覆盖全部 CLI,输入框 /mcp 弹出当前引擎清单 - 路径链接改为修饰键点击才唤起文件管理器 - 聊天内计划-执行接力 MVP 与 conversation-mode 宿主契约 - 发现页可看技能详情,修复 skills_hub_mutate 参数形状 - 版本更新说明改为原生中心页签,页头就地检查更新 - Skills 支持全部已接入 CLI,并补齐引擎交互 - 新增「能力扩展」分组:Skills 与 MCP 管理页 ## Fixes - Windows 下目录符号链接副本删不掉,顺带修 MCP 测试注入 - 行内只显示真有副本的引擎,不在每行铺淡图标 - 多引擎详情面板底部动作固定,统计不可用不谎报从未使用 ## Performance Improvements - 修复大任务卡顿并加入本地性能诊断

  4. v1.0.7v1.0.7Sep 22, 20261.9K downloads

    ## New Features - 文件树刷新移入工作区根行,悬停出现 - 市场安装落地品牌图,插件页签回退离线可用 - 官方插件开发者列只显示品牌徽标,下拉改称社区插件 - 市场标记官方插件,下拉改综合/官方/第三方/下载量 - 插件中心「创建插件」+ 内置插件开发 skill - 本地插件也显示图标/效果图,新增路径受限的素材读取 - 市场支持插件图标,效果图规范落地 - 详情页「最近更新时间」改取索引 updatedAt - 市场与详情页开发者头像改用 GitHub 真实头像 - 市场改为表格化列表,详情页改左正文+右信息栏 - 市场详情由弹窗改为整页,新增截图轮播与 README - 插件中心页签、内测功能开关与 Git 树状态聚合 - CLI 分组标题可折叠,未安装/未启用默认收起 - 运行前可选择执行环境(引擎/模型/工作区) - 新增任务工作台(AI 编排 + 本地调度 + 收件箱) - 检查更新独立为设置模块,置于社区与反馈之上 ## Fixes - 中心面切换统一清场;设置页插件图标取品牌素材 - 详情页权限行标注归属,改称「权限(CCGUI权限)」 - 详情页「链接」三项各带目标图标 - 截图大图预览补关闭叉号,修好点空白关闭 - 官方徽标可点跳主页,徽标不再被右栏拉伸成整行 - 浮动滚动控件跟随滚轮方向,点击平滑滚动 - 桥接只读的 plugin_read_artwork - output_config.effort 只注入 anthropic-messages 请求 - 已安装页也拉市场索引,图标/效果图不再只靠市场页 - 详情页右栏可滚到链接行,README 长代码行留在正文列内 - 有会话运行时拦住 ⌘Q/系统退出,不再整端静默退出 - 思考区实时渲染保留完整已揭示文本,去掉 2000 字尾窗 - 「已编辑」pill 行数恢复逐位滚动动画 - 流式正文与思考面板按到达节奏推进,不再整批闪现 - 插件更新后原地热重载,无需关开插件或重启应用 - 更新提示浮在设置页之上,并在设置行内提供「立即更新」

  5. v1.0.6v1.0.6Sep 22, 2026847 downloads

    ## New Features - 打通 Kimi 提问通道(ACP elicitation 表单) - 打通 Codex/Grok 提问通道,接管 pi/omp 多选轮次 - 设置页从覆盖层 Modal 改为全屏 SettingsShell,快捷键移入系统分组,CLI 分组默认折叠 - 侧栏重分组为 系统/插件/CLI 管理/工作区与数据/其他,CLI 未安装与未启用提为同级分组 - 插件 agent 轮次 + 侧栏导航/中心页签扩展点,新增 @ccgui/plugin-ui 包 - AX 无障碍树交互 + 虚拟光标覆盖层 - 新增 Computer Use 能力——OMP 截图/输入驱动以 MCP 服务注入引擎 - 变更面板支持撤销更改(单文件/全部撤销) - support image attachments via session/prompt image parts - 拉取/推送按钮复用刷新的成功对号反馈 - 输出中的绝对路径可点击在文件管理器中显示,选中文本支持右键复制 - 会话内搜索(Cmd+F)与应用级斜杠命令 /new /clear /compact - 会话消息全文搜索(FTS5)与 opencode/pi/omp/dsh 问答链路 - publish RPM package for Linux ## Fixes - prevent platform-dependent release gate failures - prevent Linux linking and Windows test startup failures - plan 模式明确报错,失效授权目录不再阻断新会话 - 发布流程补齐内置智能体目录哈希校验门禁 - 推理强度原样下发,不再映射到其它档位 - 全 CLI 引擎通用打通推理强度与请求级 effort 字段注入 - react-doctor 体检问题全量修复(评分 76→100) - 引擎 stdin 换行、CliMenu 悬停意图、错误文案与变更面板行布局 - 评审跟进——恢复 kill_process_group 导入并补齐 effort 链路 - 幕布显示使用 run 实际生效的模型和推理档位 - 评审跟进——变更面板标注跟随仓库,渠道选择器三处细节修复 - 补充 deb/rpm 依赖声明,README 注明 rpm zstd 压缩的版本要求 - diff 预览体积上限与可访问性修复,补齐回归单测 - git 远程认证失败时返回可操作错误,变更面板刷新按钮增加点击反馈 - 分支下拉菜单改用实时分支名判断当前分支,修复外部 checkout 后点击 no-op - 为支持推理强度的引擎设置默认值 - follow selected nested repository in changes panel - b

Code frequency

additions and deletions
+251.2K-251.2KWeek of 2026-02-01: +147,237 linesWeek of 2026-02-01: -5,791 linesWeek of 2026-02-08: +45,144 linesWeek of 2026-02-08: -18,042 linesWeek of 2026-02-15: +43,634 linesWeek of 2026-02-15: -4,562 linesWeek of 2026-02-22: +74,971 linesWeek of 2026-02-22: -15,205 linesWeek of 2026-03-01: +60,342 linesWeek of 2026-03-01: -16,742 linesWeek of 2026-03-08: +25,049 linesWeek of 2026-03-08: -3,106 linesWeek of 2026-03-15: +71,715 linesWeek of 2026-03-15: -52,760 linesWeek of 2026-03-22: +38,776 linesWeek of 2026-03-22: -10,698 linesWeek of 2026-03-29: +31,686 linesWeek of 2026-03-29: -20,109 linesWeek of 2026-04-05: +23,880 linesWeek of 2026-04-05: -12,162 linesWeek of 2026-04-12: +159,604 linesWeek of 2026-04-12: -17,145 linesWeek of 2026-04-19: +144,189 linesWeek of 2026-04-19: -49,454 linesWeek of 2026-04-26: +112,026 linesWeek of 2026-04-26: -30,665 linesWeek of 2026-05-03: +107,751 linesWeek of 2026-05-03: -39,102 linesWeek of 2026-05-10: +153,430 linesWeek of 2026-05-10: -25,688 linesWeek of 2026-05-17: +87,350 linesWeek of 2026-05-17: -24,221 linesWeek of 2026-05-24: +113,507 linesWeek of 2026-05-24: -38,562 linesWeek of 2026-05-31: +127,729 linesWeek of 2026-05-31: -26,033 linesWeek of 2026-06-07: +145,530 linesWeek of 2026-06-07: -58,034 linesWeek of 2026-06-14: +51,766 linesWeek of 2026-06-14: -14,346 linesWeek of 2026-06-21: +67,937 linesWeek of 2026-06-21: -24,528 linesWeek of 2026-06-28: +40,612 linesWeek of 2026-06-28: -13,416 linesWeek of 2026-07-05: +45,834 linesWeek of 2026-07-05: -14,570 linesWeek of 2026-07-12: +251,229 linesWeek of 2026-07-12: -44,939 linesWeek of 2026-07-19: +174,279 linesWeek of 2026-07-19: -76,865 linesWeek of 2026-07-26: +228,076 linesWeek of 2026-07-26: -63,309 linesWeek of 2026-08-02: +163,084 linesWeek of 2026-08-02: -54,366 linesWeek of 2026-08-09: +158,421 linesWeek of 2026-08-09: -205,527 linesWeek of 2026-08-16: +144,739 linesWeek of 2026-08-16: -14,306 linesWeek of 2026-08-23: +110,676 linesWeek of 2026-08-23: -35,323 linesWeek of 2026-08-30: +168,364 linesWeek of 2026-08-30: -151,147 linesFeb 1, 2026Aug 30, 2026
+3.3M lines added, -1.2M removed over the last year.

Commits per week

last 52 weeks
4090Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 42 commitsWeek of 2026-02-08: 55 commitsWeek of 2026-02-15: 35 commitsWeek of 2026-02-22: 39 commitsWeek of 2026-03-01: 63 commitsWeek of 2026-03-08: 46 commitsWeek of 2026-03-15: 83 commitsWeek of 2026-03-22: 85 commitsWeek of 2026-03-29: 59 commitsWeek of 2026-04-05: 56 commitsWeek of 2026-04-12: 113 commitsWeek of 2026-04-19: 335 commitsWeek of 2026-04-26: 248 commitsWeek of 2026-05-03: 254 commitsWeek of 2026-05-10: 195 commitsWeek of 2026-05-17: 175 commitsWeek of 2026-05-24: 184 commitsWeek of 2026-05-31: 193 commitsWeek of 2026-06-07: 227 commitsWeek of 2026-06-14: 149 commitsWeek of 2026-06-21: 185 commitsWeek of 2026-06-28: 79 commitsWeek of 2026-07-05: 108 commitsWeek of 2026-07-12: 190 commitsWeek of 2026-07-19: 301 commitsWeek of 2026-07-26: 409 commitsWeek of 2026-08-02: 269 commitsWeek of 2026-08-09: 157 commitsWeek of 2026-08-16: 183 commitsWeek of 2026-08-23: 254 commitsWeek of 2026-08-30: 87 commitsWeek of 2026-09-06: 146 commitsWeek of 2026-09-13: 124 commitsWeek of 2026-09-20: 163 commitsWeek of 2026-09-27: 5 commitsOct 4, 2025Sep 27, 2026
5.3K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 46 commitsSun 1:00 — 43 commitsSun 2:00 — 30 commitsSun 3:00 — 37 commitsSun 4:00 — 13 commitsSun 5:00 — 25 commitsSun 6:00 — 10 commitsSun 7:00 — 1 commitsSun 8:00 — 16 commitsSun 9:00 — 9 commitsSun 10:00 — 5 commitsSun 11:00 — 4 commitsSun 12:00 — 16 commitsSun 13:00 — 30 commitsSun 14:00 — 35 commitsSun 15:00 — 19 commitsSun 16:00 — 21 commitsSun 17:00 — 25 commitsSun 18:00 — 29 commitsSun 19:00 — 27 commitsSun 20:00 — 33 commitsSun 21:00 — 41 commitsSun 22:00 — 53 commitsSun 23:00 — 42 commitsMon 0:00 — 60 commitsMon 1:00 — 53 commitsMon 2:00 — 45 commitsMon 3:00 — 38 commitsMon 4:00 — 27 commitsMon 5:00 — 15 commitsMon 6:00 — 8 commitsMon 7:00 — 13 commitsMon 8:00 — 7 commitsMon 9:00 — 23 commitsMon 10:00 — 28 commitsMon 11:00 — 29 commitsMon 12:00 — 39 commitsMon 13:00 — 42 commitsMon 14:00 — 28 commitsMon 15:00 — 28 commitsMon 16:00 — 49 commitsMon 17:00 — 28 commitsMon 18:00 — 35 commitsMon 19:00 — 23 commitsMon 20:00 — 45 commitsMon 21:00 — 49 commitsMon 22:00 — 41 commitsMon 23:00 — 41 commitsTue 0:00 — 39 commitsTue 1:00 — 25 commitsTue 2:00 — 14 commitsTue 3:00 — 9 commitsTue 4:00 — 7 commitsTue 5:00 — 0 commitsTue 6:00 — 2 commitsTue 7:00 — 0 commitsTue 8:00 — 11 commitsTue 9:00 — 5 commitsTue 10:00 — 31 commitsTue 11:00 — 44 commitsTue 12:00 — 23 commitsTue 13:00 — 34 commitsTue 14:00 — 31 commitsTue 15:00 — 44 commitsTue 16:00 — 43 commitsTue 17:00 — 64 commitsTue 18:00 — 42 commitsTue 19:00 — 53 commitsTue 20:00 — 38 commitsTue 21:00 — 76 commitsTue 22:00 — 63 commitsTue 23:00 — 63 commitsWed 0:00 — 73 commitsWed 1:00 — 32 commitsWed 2:00 — 45 commitsWed 3:00 — 27 commitsWed 4:00 — 14 commitsWed 5:00 — 9 commitsWed 6:00 — 17 commitsWed 7:00 — 5 commitsWed 8:00 — 4 commitsWed 9:00 — 14 commitsWed 10:00 — 27 commitsWed 11:00 — 26 commitsWed 12:00 — 45 commitsWed 13:00 — 56 commitsWed 14:00 — 47 commitsWed 15:00 — 59 commitsWed 16:00 — 58 commitsWed 17:00 — 53 commitsWed 18:00 — 41 commitsWed 19:00 — 41 commitsWed 20:00 — 52 commitsWed 21:00 — 37 commitsWed 22:00 — 40 commitsWed 23:00 — 47 commitsThu 0:00 — 40 commitsThu 1:00 — 46 commitsThu 2:00 — 32 commitsThu 3:00 — 29 commitsThu 4:00 — 21 commitsThu 5:00 — 20 commitsThu 6:00 — 5 commitsThu 7:00 — 10 commitsThu 8:00 — 7 commitsThu 9:00 — 16 commitsThu 10:00 — 26 commitsThu 11:00 — 18 commitsThu 12:00 — 40 commitsThu 13:00 — 32 commitsThu 14:00 — 35 commitsThu 15:00 — 35 commitsThu 16:00 — 37 commitsThu 17:00 — 28 commitsThu 18:00 — 57 commitsThu 19:00 — 45 commitsThu 20:00 — 32 commitsThu 21:00 — 33 commitsThu 22:00 — 46 commitsThu 23:00 — 47 commitsFri 0:00 — 47 commitsFri 1:00 — 48 commitsFri 2:00 — 44 commitsFri 3:00 — 18 commitsFri 4:00 — 16 commitsFri 5:00 — 3 commitsFri 6:00 — 6 commitsFri 7:00 — 1 commitsFri 8:00 — 7 commitsFri 9:00 — 14 commitsFri 10:00 — 29 commitsFri 11:00 — 33 commitsFri 12:00 — 40 commitsFri 13:00 — 53 commitsFri 14:00 — 45 commitsFri 15:00 — 34 commitsFri 16:00 — 36 commitsFri 17:00 — 44 commitsFri 18:00 — 34 commitsFri 19:00 — 51 commitsFri 20:00 — 49 commitsFri 21:00 — 49 commitsFri 22:00 — 45 commitsFri 23:00 — 60 commitsSat 0:00 — 67 commitsSat 1:00 — 60 commitsSat 2:00 — 59 commitsSat 3:00 — 46 commitsSat 4:00 — 39 commitsSat 5:00 — 7 commitsSat 6:00 — 15 commitsSat 7:00 — 10 commitsSat 8:00 — 4 commitsSat 9:00 — 26 commitsSat 10:00 — 20 commitsSat 11:00 — 7 commitsSat 12:00 — 13 commitsSat 13:00 — 17 commitsSat 14:00 — 25 commitsSat 15:00 — 27 commitsSat 16:00 — 19 commitsSat 17:00 — 31 commitsSat 18:00 — 37 commitsSat 19:00 — 45 commitsSat 20:00 — 34 commitsSat 21:00 — 33 commitsSat 22:00 — 34 commitsSat 23:00 — 54 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits1,455 (24%)
Community commits4,697 (76%)

6,152 commits in total over the last year.

DateListRankStars gained
Feb 9, 2026daily#12+220
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    456.7K stars · TypeScript

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.9K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python

  • anomalyco/opencode

    The open source coding agent.

    211.8K stars · TypeScript

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript