zhukunpenglinyutong/desktop-cc-guiPublic

CC GUI Client (VibeCoding Platform Designed for Developers)

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

Stars
3.9K
+17 today
Forks
335
Watchers
8
Open issues
232
Open PRs
1
Contributors
~14
Commits
4.4K
Branches
100

TypeScriptMITCreated Feb 3, 2026Last push 1d agoLatest release v0.7.13+90 stars this week+90 this month

Star history

since Apr 5, 2026
01K2K3KApr 2026May 2026Jun 2026Aug 2026
3.9K stars as of Aug 6, 2026, tracked back to Apr 5, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-02: 0 commits2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-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: 31 commits2026-07-30: 49 commits2026-07-31: 38 commits2026-08-01: 0 commits
3,840 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    3,840 commits in 52 weeks

  • Outside contributions

    83% of recent commits from the community

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

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.

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.

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: Install the app binaries directly on macOS, Windows, or Linux.

README

main branch

Desktop CC GUI

ccgui icon

English · 简体中文

zhukunpenglinyutong%2Fdesktop-cc-gui | Trendshift

ccgui is an open-source desktop client for AI coding. In plain words: it brings command-line AI coding runtimes such as Claude Code, Codex CLI, Gemini CLI, and OpenCode 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. File and tool activity is visible as it happens; token usage and estimated cost appear when the selected runtime supplies the required metadata.

The app is built with Tauri 2 + React 19 + TypeScript + Rust and runs on macOS, Windows, and Linux. App settings, workspace indexes, and client state are persisted locally by default. Content sent to an AI provider, Browser Agent, email service, or an optional remote/web service follows the boundary of that configured service.

ccgui screenshot


What can ccgui do?

One client, multiple AI engines

  • Registers runtime adapters for Claude Code, Codex CLI, Gemini CLI, and OpenCode. Gemini is enabled by default; OpenCode is optional. Their planned retirement remains an active migration, not shipped behavior.
  • Claude and Codex support managed provider profiles. Gemini and OpenCode retain the provider/configuration model exposed by their own runtimes.
  • Sessions survive restarts: close the app and your conversation history is still there. Resume broken sessions and see how much context each one is using.

A chat box designed for coding

  • The input box supports @ file references, slash commands, pasted images, and attachments.
  • Supported file edits, shell/tool calls, and reads show up as live cards.
  • Claude/Codex sessions expose rewind and fork where the current runtime capability supports them.
  • Too lazy to type? Use voice dictation. Bad at prompts? The built-in prompt enhancer polishes them for you.
  • Queue follow-ups: while the AI is busy, line up your next question.

Not just chat — a full set of dev panels

  • File tree: browse, preview, copy, paste, rename, and drag files straight into the conversation.
  • Built-in terminal: a real terminal, no need to switch windows.
  • Git panel: stage, commit (with AI-generated commit messages), branches, worktrees, diffs, and commit history.
  • Global search: files, sessions, past messages, skills, and commands — one search box for everything.

Stay organized when tasks pile up

  • Plan panel: the AI's execution plan listed step by step, so you always know where it is.
  • Kanban board: drag task cards around to manage your iteration.
  • Task Center: inspect Kanban/orchestration task runs, logs, and artifact summaries; retry, resume, cancel, or fork when the run and engine support that action.
  • Intent Canvas: sketch your plan on a canvas before writing any code.

Project intelligence (the part that makes ccgui different)

  • Project Map: the AI scans your project and builds an interactive knowledge graph — file relations, API contracts, and module dependencies at a glance, with incremental updates.
  • Project Memory: store key conventions and lessons, then inject selected memories with @@ or explicitly enable Memory Reference retrieval for the current turn.
  • Context Ledger: inspect selected or inherited context sources together with available token/character estimates, freshness, and attribution confidence.
  • Usage stats: inspect token, cache, and estimated-cost metadata when the runtime provides it. Monthly budget thresholds are local visual guidance; they do not interrupt the runtime.

Extensions and personalization

  • Discover and manage available MCP servers and Skills, and enable bundled curated skills. MCP/Plugin marketplace entries are currently Coming Soon.
  • Browser Agent: open policy-allowed HTTP(S) pages and collect bounded read-only context. Snapshot/navigation support can degrade by platform; element and form actions are not yet supported.
  • 21 built-in VS Code-derived themes, plus user-message color, window transparency, and UI/code font controls.
  • The WebView UI ships 10 languages. The native desktop menu is localized for Chinese and English today; other locales fall back to Chinese. Composer, panel, navigation, and file-action shortcuts are configurable.
  • macOS / Windows / Linux, with in-app auto-update.

For what changed in each release, see CHANGELOG.md.


Download

Grab the installer for your platform from the Releases page:

Platform Installer
macOS (Apple Silicon) aarch64.dmg
macOS (Intel) x64.dmg
Windows .exe (NSIS)
Linux .AppImage

After installing, configure your AI engine in Settings (e.g. a Claude Code API key or local CLI), add a project folder, and you're good to go.


Getting it running (setup guide)

Want to build it yourself or contribute? Three steps.

Step 1: Prepare your environment

You need these three things:

Tool Version What for
Node.js 20 or newer Runs the frontend
Rust stable (install via rustup) Compiles the backend
CMake any recent version Builds some dependencies

Each OS needs a bit of extra prep (these are Tauri framework requirements — see the official Tauri prerequisites):

  • macOS: install Xcode command line tools: xcode-select --install; get CMake via brew install cmake.
  • Windows: install Microsoft C++ Build Tools and WebView2 (Windows 11 ships with WebView2).
  • Linux: install webkit2gtk and friends — just 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
npm install

Note: you must use npm. pnpm and yarn are blocked by a script (so everyone gets identical dependency versions).

Step 3: Start it

# macOS / Linux
npm run tauri:dev

# Windows
npm run tauri:dev:win

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.
  • An environment self-check (doctor) runs before startup. If it fails, run npm run doctor by itself — it tells you what's missing and how to install it.
  • The frontend runs on port 1420. Don't worry if the port is taken; the script cleans it up automatically.
  • Only touching the UI, not Rust? npm run dev runs the frontend alone in a browser (backend-dependent features won't work there).

Building installers

npm run build:mac-arm64      # macOS Apple Silicon
npm run build:mac-x64        # macOS Intel
npm run build:mac-universal  # macOS Universal
npm run build:win-x64        # Windows x64
npm run build:linux-x64      # Linux x64
npm run build:linux-arm64    # Linux arm64

How to work on the code (development guide)

Tech stack at a glance

Part Technology
UI React 19 + TypeScript + Tailwind CSS 4
Build Vite 7
Desktop shell Tauri 2 (Rust backend)
Tests Vitest (frontend) + cargo test (Rust)

Directory layout

desktop-cc-gui/
├── src/                    # Frontend code
│   ├── features/           # ★ Feature modules (50+), one folder per feature — where most work happens
│   │   ├── composer/       #    Input box
│   │   ├── messages/       #    Message stream
│   │   ├── git/            #    Git panel
│   │   ├── project-map/    #    Project knowledge map
│   │   └── ...             #    Each folder is a self-contained feature
│   ├── components/         # Shared UI components used across features
│   ├── services/           # Business logic; services/tauri/* contains frontend↔Rust wrappers
│   ├── i18n/               # 10 shipped WebView locale bundles
│   ├── styles/             # Global styles
│   └── lib/ utils/         # Utility functions
├── src-tauri/              # Rust backend
│   └── src/                # Organized by module: engine / codex / git / terminal / files ...
├── scripts/                # Build, check, and diagnostic scripts
└── docs/                   # Architecture docs, performance baselines

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, register it in src-tauri/src/command_registry.rs, and add the frontend wrapper under src/services/tauri/<domain>.ts (re-export it from src/services/tauri.ts when needed).
  3. Changed any UI text: route it through i18n and keep every shipped bundle under src/i18n/locales/ synchronized — hardcoded UI text is not allowed.

Everyday commands

Command What it does
npm run tauri:dev Start the full app (dev mode)
npm run dev Frontend only (browser debugging)
npm run lint Code style check
npm run typecheck TypeScript type check
npm run test Run unit tests
npm run test:watch Watch mode (test while you code)
npm run test:integration Full run including heavy integration tests

Writing tests

  • Test files sit next to the source, named xxx.test.ts / xxx.test.tsx.
  • The framework is Vitest — it works almost exactly like Jest.
  • Heavy integration tests are named xxx.integration.test.tsx; they're skipped by default and run with npm run test:integration.
  • Rust tests go in their modules as usual and run from the repository root with cargo test --manifest-path src-tauri/Cargo.toml.

Coding rules

Not many rules, but each exists for a reason. Run through them before submitting:

  1. Run the big three before committing: npm run lint && npm run typecheck && npm run test — all green before you push. The current CI workflow runs on pushes to main and by manual dispatch, so local evidence is required before opening a PR.
  2. UI text must go through i18n: every user-visible string comes from src/i18n/, and every shipped locale bundle must remain synchronized. No hardcoding.
  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. Prefix CSS classes by feature: e.g. the Git history panel uses git-history-* class names, so styles from different features don't fight each other.
  5. Respect the large-file policy: new files use an 800-line ratchet and existing areas use 2600/2800/3000-line hard thresholds. npm run check:large-files reports; npm run check:large-files:gate is the blocking check.
  6. TypeScript strict mode: don't paper over things with any; write real types.
  7. Rust file writes go through the shared helper: use the atomic write in storage.rs instead of raw write, so a crash mid-write can't corrupt user data.
  8. Search before adding a Tauri command: command_registry may already have what you need — don't reinvent it.
  9. 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:

feat(composer): 支持粘贴图片转为附件
fix(git): 修复 diff 面板滚动位置丢失
docs(readme): 校准项目文档索引

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 the big three green locally (lint / typecheck / test).
  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.
  5. Attach local verification evidence to the PR. The current CI workflow runs on pushes to main and by manual dispatch; do not assume that opening a PR starts it automatically. Medium/high-risk review findings must be fixed before merging.

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 into the project's internals?


License

MIT


Friendship Link

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


Contributors

Thanks to all the contributors who help make ccgui better.

Contributors

Acknowledgements

  1. This project originally started from CodexMonitor.
  2. The Usage Statistics extension module is mainly based on the source code of TokenTracker.

Star History

Star History Chart

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

95 total
  1. v0.7.13v0.7.13Jul 31, 202682 downloads

    ## New Features - document v0.7.13 release changes - surface app updates in release notes - show assistant turn metadata in footer - 统一 Atomic 选模、侧栏运行时入口与 Grok 会话时间 - 完善 CLI 路径设置、错误边界与流式正文切换 ## Fixes - remove runtime notice error badge - preserve assistant role narrowing - recover commit message runtime disconnects - 取消附件选择时不再二次弹出文件框

  2. v0.7.12v0.7.12Jul 31, 2026916 downloads

    ## New Features - 完善模型选择器渠道切换与自定义模型弹窗 - 完善 Grok 图片输入与 Claude 模型目录 - streamline provider target picker - 幕布文件修改场景默认折叠并智能合并 - 补齐多引擎图片输入能力 - add persistent CLI visibility controls - 移除会话右键菜单的"使用其他 Provider 继续"入口 - 重做供应商设置面板并支持 CC Switch 文件导入 - 供应商页接入统一页头并对齐居中列 - 重构设置页为无顶栏居中窄列布局 - 快捷键面板随视口伸缩并移除侧边栏手动折叠 - 快捷键设置改为双栏录制布局 - 接入百度统计 PV/UV 埋点 - 接入 Kimi、Grok 与 OpenCode CLI - 默认折叠工作区操作菜单 - 默认折叠续接会话围挡 - 优化 CLI 供应商续接流程 - 收敛共享会话选择与幕布 - 建立多供应商会话执行基石 - 聚合续接会话家族 - 展示续接来源最后一轮 - 完成原生供应商续接闭环 - 建立原生历史物化基础 - 完成 Change C 上下文交付闭环 - 补全 Change B 执行目标闭环 - 落地 Execution Target 与 V2 Send 写路径 - 增加投影动态测试入口 - 收口 Change A 暗发布链路 - 完成 Wave 3 A3 canonical 投影与 Gate 3 验证 - 完成 Wave 2 A2 canonical fact 装配与 Gate 2 验证 - 校准存储与安全契约 ## Fixes - 隔离 Claude 模型映射,避免污染其他 CLI 展示名 - 修复 provider catalog 中无效的 gemini 引擎比较 - 修复历史工具投影信息损失 - 回合结束 settle 窗口保持贴底跟随 - 修复历史 tool_calls 扁平结构解析 - 修复实时历史展开点击 - 强制回合边界吸底 - 修复 Grok 终稿尾段丢失 - 修复流式渲染卡顿与终止乱序 - 修复幕布锚点预览与局部凸起 - 修复滚动回声并禁用轻量渲染 - 统一设置页内容列宽为 980px - 对齐宽屏下基础与标签页内容列和页头列宽 - 修复长时回合恢复链 - 恢复队列与压缩连续性 - 修复终态偶发复燃 - 统一 CLI 模型与运行时契约 - 补全 Shared CLI 创建选择 - 补齐三种 CLI 创建校验 - 修复 Grok 与 OpenCode 模型切换 - 精准优化 Shared CLI 菜单显示 - 完善多 CLI 会话目标选择 - 修复历史恢复与原生恢复串线 - 修复跨 CLI 切换与终态收口 - 闭环 Codex CLI 供应商续接 - 稳定供应商与模型选择 - 修复续接幕

  3. v0.7.11v0.7.11Jul 28, 20263.8K downloads

    ## New Features - opencode cli - grok cli gui ## Fixes - 补齐 grok 会话 entry 缺失的 native_title 字段 - 强制浅色主题下原生控件使用 light color-scheme - clean up closed terminal sessions safely - improve cross-platform font rendering - 显示原生重命名标题

  4. v0.7.10v0.7.10Jul 27, 20262.4K downloads

    ## New Features - 设置侧 Skills 改文案为内置精选并补充行为说明 - 支持从 CC Switch 导入供应商配置 - 重设计提交区域为右侧操作列(归档版) - 重设计提交区域为右侧操作列 - 收敛差异面板推送入口为工具栏角标按钮 - 收敛会话供应商绑定 - 增加会话供应商选择 - 隔离会话供应商运行环境 - 支持会话级供应商环境 - 统一会话供应商绑定契约 - 统一消息投递与会话注册 - 建立统一运行时事件总线 - 稳定代码标注锚点 - 增加搜索与安全链接能力 - AI commit message 支持一键按上次配置生成 - 技能调用契约与对话命令沉淀(批次4) - 润色器本地化缓存与 curated skills 事件化刷新(批次3) - add Chinese token number format ## Fixes - 收敛目录竞态与渲染卡顿 - 补全 Codex 模型与本地标签 - 修复启动期选择状态循环更新 - 保留供应商会话模型选择 - 隔离供应商运行时配置 - 修复 CLI 版本状态与头部重叠 - 统一错误提示并禁用原生 Alert - 优化供应商协议错误提示 - 隔离供应商模型目录与会话配置 - 修复 diff.css 中丢失的 .commit-message-generate-menu 选择器 - 阻止供应商选择静默回退 - 加固会话供应商运行边界 - normalize Chinese compact token labels - 停止启动期会话探测 - 修复文件读取失败加载卡死 - 修复提交生成与命令并发边界 - 缓存消息索引并移除随机分支名

  5. v0.7.9v0.7.9Jul 25, 20261.7K downloads

    ## New Features - add MCP inventory view - skills - 接线语义 diff AI review 按需生产者 ## Fixes - 收口清理波次遗留链路 - 前端挂载后提示工作区损坏恢复并补齐 i18n 文案 - 后端 quarantine 记录恢复通知并新增 take_workspaces_recovery_notice 命令 - 损坏 workspaces.json 先隔离备份再回退默认值 - 前端加载成功后提示设置损坏恢复并补齐 i18n 文案 - 后端 quarantine 记录恢复通知并新增 take_settings_recovery_notice 命令 - 损坏设置文件先隔离备份再回退默认值 - 设置加载失败补错误日志与用户可见提示 - 收敛 isValidModelId 为 composer 单一实现 - 清理 SettingsView 未使用的 import 修复残余 tsc 报错 - 修复引擎二元假设并透传真实引擎归因 ## Performance Improvements - keep large skill lists responsive - 录音电平事件降频至 100ms 并跳过相同值 - 降低 worktree/kanban/output/dock 常驻轮询开销

Commits per week

last 52 weeks
3410Week of 2025-08-02: 0 commitsWeek of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek 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: 341 commitsAug 2, 2025Jul 26, 2026
3.8K commits in the last 52 weeks.

When work happens

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

Who is committing

last 52 weeks
Maintainer commits725 (17%)
Community commits3,633 (83%)

4,358 commits in total over the last year.

  • freeCodeCamp/freeCodeCamp

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

    453.6K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    194.7K stars · TypeScript