finds.dev← search

// the find

NanmiCoder/cc-haha

★ 13,678 · TypeScript · MIT · updated Jul 2026

Local-first cross-platform desktop workspace for Claude Code / agents: multi-agent, Git worktrees, code diffs, skill marketplace, multi-model, Computer Use, task-aware desktop pets, with WeChat, Feishu, DingTalk, Telegram, WhatsApp and H5 access.

A GUI wrapper for Claude Code that adds multi-session management, Git worktree switching, diff review with per-file undo, and IM relay through Telegram, WeChat, Feishu, DingTalk, and WhatsApp — all in an Electron desktop app. It also supports multi-model (Claude, ChatGPT, local Ollama/LM Studio) and lets you continue a running session from your phone via H5 QR code. Aimed at developers who want to run Claude Code without living in a terminal.

The IM adapter architecture is actually well-structured: each adapter (telegram, feishu, dingtalk, wechat, whatsapp) lives in its own directory with tests, and a shared adapters/common layer handles session recovery, message dedup, and WS bridging in one place rather than copy-pasting it five times. The worktree-aware session launcher is the most genuinely useful feature here — spawning isolated Claude Code instances per git worktree from a GUI fills a gap the terminal doesn't. Test coverage is real and spans the right layers: Electron IPC, adapter message handling, attachment limits, and session recovery all have test files. Multi-model support is implemented with explicit presets for DeepSeek, Kimi, and Zhipu GLM, not a vague promise.

Both Electron (desktop/electron/) and Tauri (desktop/src-tauri/) coexist in the repo without any clear explanation of which one ships — the Tauri directory has a full Cargo.lock and working config files, so this isn't dead code, and that's an architectural question the README never answers. The skill marketplace has no documented sandboxing: third-party skills install into the agent's execution context, and 'source and safety status shown up front' is not a security model. This is a single-maintainer spare-time project with 13k stars and a sponsor pitch — that staffing ratio will become a problem when a Claude API change breaks something. Bun is a hard runtime dependency for source builds, which will create friction in any environment with an approved toolchain list.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →