{"id":47705571,"url":"https://github.com/tyql688/cc-session","last_synced_at":"2026-06-02T13:00:46.114Z","repository":{"id":347542815,"uuid":"1192365949","full_name":"tyql688/cc-session","owner":"tyql688","description":"Browse, search, resume and manage your AI coding sessions in one desktop app. (Claude Code, Codex,  Gemini,OpenCode, Cursor, kimi)","archived":false,"fork":false,"pushed_at":"2026-06-02T05:28:09.000Z","size":4319,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-02T07:21:31.529Z","etag":null,"topics":["claude","codex","cursor-cli","gemini-cli","kimi-cli","opencode"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tyql688.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-26T06:25:26.000Z","updated_at":"2026-06-02T05:28:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tyql688/cc-session","commit_stats":null,"previous_names":["tyql688/sesh","tyql688/cc-session"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/tyql688/cc-session","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyql688%2Fcc-session","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyql688%2Fcc-session/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyql688%2Fcc-session/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyql688%2Fcc-session/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyql688","download_url":"https://codeload.github.com/tyql688/cc-session/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyql688%2Fcc-session/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33822821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","codex","cursor-cli","gemini-cli","kimi-cli","opencode"],"created_at":"2026-04-02T17:55:54.354Z","updated_at":"2026-06-02T13:00:46.108Z","avatar_url":"https://github.com/tyql688.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e | \u003ca href=\"README.zh-CN.md\"\u003e中文\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/logo-text.svg\" alt=\"CC Session\" width=\"240\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eOne desktop app to browse, search, resume, and manage all your AI coding sessions.\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tyql688/cc-session/releases/latest\"\u003e\u003cimg alt=\"Latest Release\" src=\"https://img.shields.io/github/v/release/tyql688/cc-session?style=flat-square\u0026color=blue\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tyql688/cc-session/actions/workflows/ci.yml\"\u003e\u003cimg alt=\"CI\" src=\"https://img.shields.io/github/actions/workflow/status/tyql688/cc-session/ci.yml?branch=master\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003cimg alt=\"Platform\" src=\"https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey?style=flat-square\"\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/tyql688/cc-session?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"assets/show.png\"\u003e\u003cimg src=\"assets/show.png\" alt=\"CC Session — session browser\" width=\"860\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Why CC Session?\n\nClaude Code, Codex, Antigravity, Kimi Code, Cursor CLI, and more all store their session data locally — but each in its own format, in its own folder, with no way to look back. **CC Session brings every provider together in one fast, native app:** read full conversation histories, search across all of them at once, export clean archives, and jump straight back into any session in your terminal.\n\n\u003e 💡 **One window for every local coding session** — no more digging through `~/.claude`, `~/.codex`, and a dozen other folders.\n\n## ✨ Features\n\n- 🗂️ **Unified view** — every session from every supported provider, in one explorer\n- 🔍 **Full-text search** — instant search across all session content (SQLite FTS5), plus in-session find\n- ↩️ **Resume in one click** — drop straight back into any session in your terminal\n- 📊 **Usage analytics** — cost, token, and per-model breakdowns with cache hit/write detail\n- 🎨 **Rich rendering** — Markdown, syntax highlighting, Mermaid diagrams, KaTeX math, inline images, and structured tool-call diffs\n- 👀 **Live watch** — file-based providers auto-refresh via OS watchers; OpenCode uses provider-aware polling\n- 📤 **Export** — JSON, Markdown, or a self-contained HTML file (dark mode, collapsible tools \u0026 thinking blocks)\n- 🗃️ **Session management** — rename, favorite, trash/restore, and batch operations\n- ⌨️ **Keyboard-first** — navigate and act without touching the mouse\n- 🔄 **Auto-update**, 🌐 **English / 中文**, and 🚫 **blocked folders** to hide noisy projects\n\n## 📊 Usage analytics\n\nTrack exactly what you're spending across every provider — daily cost trends, per-model token totals, and cache efficiency, all in one dashboard.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"assets/usage.png\"\u003e\u003cimg src=\"assets/usage.png\" alt=\"CC Session — usage analytics\" width=\"860\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 🧩 Supported tools\n\n| Provider | Source format | Live watch | Resume |\n|----------|---------------|:----------:|--------|\n| **Claude Code** | JSONL | FS | `claude --resume` |\n| **Codex CLI** | JSONL | FS | `codex resume` |\n| **Antigravity** | JSONL | FS | `agy --conversation` |\n| **Kimi Code** | JSONL | FS | `kimi --session` |\n| **Cursor CLI** | JSONL + SQLite | FS | `cursor agent --resume` |\n| **OpenCode** | SQLite | Poll | `opencode -s` |\n| **CC-Mirror** | JSONL | FS | per-variant |\n\nAcross providers, CC Session parses messages, tool calls, thinking/reasoning blocks, token usage, inline images, Markdown, Mermaid diagrams, and KaTeX math wherever the source format supports them — including subagent/child sessions.\n\n## 📥 Install\n\nGrab the latest build from [**Releases**](https://github.com/tyql688/cc-session/releases):\n\n| Platform | File |\n|----------|------|\n| macOS | `.dmg` |\n| Windows | `.exe` (NSIS installer) |\n| Linux | `.deb` / `.AppImage` |\n\n\u003e **macOS Gatekeeper:** the app isn't code-signed, so macOS may block it on first launch. Clear the quarantine flag:\n\u003e\n\u003e ```bash\n\u003e xattr -cr \"/Applications/CC Session.app\"\n\u003e ```\n\n## 🚀 Quick start\n\n1. Install and open CC Session\n2. Let it index your local provider data\n3. Browse a session, search across your history, or resume right where you left off\n\n## 🛠️ Build from source\n\nRequires [Rust](https://rustup.rs/) and [Node.js](https://nodejs.org/) 20+.\n\n```bash\ngit clone https://github.com/tyql688/cc-session.git\ncd cc-session\nnpm install\nnpm run tauri build              # Production build\nnpx tauri build --bundles dmg    # DMG only\n```\n\n## 💻 Development\n\n```bash\nnpm run tauri dev                # Dev with hot reload\nnpm run check                    # Type-check + Biome + ESLint (frontend)\nnpm test                         # Frontend tests (Vitest)\ncd src-tauri \u0026\u0026 cargo test       # Rust tests\ncd src-tauri \u0026\u0026 cargo clippy --all-targets --all-features -- -D warnings\n```\n\nCode style is documented in [`style/ts.md`](style/ts.md) and [`style/rust.md`](style/rust.md), enforced by Biome, ESLint, Clippy, and a lefthook pre-commit hook. On macOS, file-based live watch uses the `notify` crate's `kqueue` backend for more reliable file-level updates.\n\n## 🏗️ Built with\n\n- [Tauri 2](https://v2.tauri.app/) — desktop shell and native integrations\n- [SolidJS](https://www.solidjs.com/) — reactive frontend UI\n- [Rust](https://www.rust-lang.org/) — provider parsing, indexing, export, and session lifecycle\n- [SQLite](https://www.sqlite.org/) + FTS5 — local storage and full-text search\n- [Vitest](https://vitest.dev/), [Biome](https://biomejs.dev/), [ESLint](https://eslint.org/), and [Clippy](https://doc.rust-lang.org/clippy/) — testing and code quality\n\n## 📄 License\n\n[MIT](LICENSE) © tyql688\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyql688%2Fcc-session","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyql688%2Fcc-session","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyql688%2Fcc-session/lists"}