mcpField
C
CCRider

CCRider

ローカル
github.com検索1362 日前に更新

CCRider について

CCRiderは複数のコーディングエージェントのセッション履歴を検索可能なデータベースにまとめ、ターミナルでの閲覧や再開を支援します。内蔵MCPサーバーを通じて、エージェントが過去の会話を検索し、セッションのアンカーを管理できます。

主な機能

  1. 01複数エージェントの履歴を取り込み増分同期
  2. 02内容、プロジェクト、日付で全文検索
  3. 03ターミナルUIでセッションを閲覧
  4. 04プロバイダーのコマンドでセッションを再開
  5. 05セッションアンカーの作成と検索
  6. 06プロバイダー別に履歴を絞り込み

活用シーン

  1. 01認証問題に取り組んだ過去のセッションを検索
  2. 02プロジェクトや日付で以前の会話を絞り込み
  3. 03コーディングエージェントに過去の作業内容を検索させる
  4. 04後で見つけるためにセッションをブックマーク

MCP 対応

内蔵MCPサーバーは、search_sessions、list_recent_sessions、get_session_messagesなどのツールで、ローカルセッションの検索、閲覧、アンカー機能を提供します。MCPクライアントからは`ccrider serve-mcp`で起動できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbccrider_1.14.1.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ccrider

License: MIT Release Homebrew Show HN

Claude Code、Codex CLI、GitHub Copilot CLI、OpenCode、Pi、Antigravity、Amp のセッションを検索、閲覧、再開し、過去のコンテキストを記憶する MCP サーバーも利用できます。

コーディングエージェントが忘れてしまったら、[これまでに何をしたか確認して](#the-king) と伝えてください。

ccrider を使う理由

~/.claude/projects/、~/.codex/sessions/、~/.copilot/、~/.local/share/opencode/、~/.pi/agent/sessions/、~/.gemini/antigravity*/brain/、Amp アカウントには、何カ月分ものコーディングエージェントのセッションが保存されています。認証のバグを修正した会話を見つけるにはどうすればよいでしょうか。階層化された JSON ファイルと個別のツールを grep して探すのは大変です。

ccrider は Claude Code、Codex CLI、GitHub Copilot CLI、OpenCode、Pi、Antigravity(CLI、IDE、デスクトップアプリ)、Amp のセッションを単一の検索可能なデータベースにインデックス化します。TUI ブラウザー、CLI 検索、そしてエージェントも過去のセッションを検索できる MCP サーバーを備えています。

# Import sessions from every detected local provider (and Amp when explicitly enabled)
ccrider sync

# Launch the TUI - browse, search, resume
ccrider tui

# Or search from command line
ccrider search "authentication bug"

ターミナルから離れずに、会話を見つけて、前回の続きから再開できます。セッションには TUI 上でプロバイダーのタグが付くため、簡単に識別できます。

インストール:

# Homebrew (recommended)
brew install neilberkman/tap/ccrider

# Installed 1.11.1 or earlier with Homebrew? ccrider is now a cask, not a formula:
brew uninstall --formula ccrider
brew trust --cask neilberkman/tap/ccrider
brew install --cask neilberkman/tap/ccrider

# Or from source
git clone https://github.com/neilberkman/ccrider.git
cd ccrider
go build -o ccrider cmd/ccrider/main.go
sudo mv ccrider /usr/local/bin/

# Optional: install the MCP server in Claude Code
claude mcp add --scope user ccrider $(which ccrider) serve-mcp

「王のように 王そのもののようにバイブコーディング!」

https://github.com/user-attachments/assets/5b008290-076e-4323-a775-f27f704b1ff2

主な機能

1. インタラクティブな TUI ブラウザー
ccrider tui

洗練されたターミナル UI でセッションを閲覧できます。

  • 矢印キーで移動
  • Enterで会話全体を表示
  • oで新しいターミナルタブにセッションを開く(Ghostty、iTerm、Terminal.app を自動検出)
  • **/**ですべてのメッセージを検索
  • pでプロジェクトフィルターを切り替え(現在のディレクトリのみを表示)
  • **?**でヘルプを表示

現在のディレクトリに一致するセッションは薄緑色で強調表示されるため、今の作業に関連するセッションをすぐに確認できます。

2. 全文検索
ccrider search "postgres migration"
ccrider search "error handling" --project ~/code/myapp
ccrider search "authentication" --after 2024-01-01

SQLite FTS5 を利用して、メッセージの内容を検索し、プロジェクトや日付で絞り込み、結果をすばやく取得できます。

3. セッションの再開

TUI で r を押すと、適切なディレクトリで該当セッションを指定して、プロバイダーの再開コマンドを実行します。c でそのコマンドをコピーし、o で新しいターミナルに開くこともできます。Pi は pi --session <id> で再開し、pi --fork <id> でフォークします。Antigravity CLI のセッションは agy --conversation <id> で再開し、/fork で対話的にフォークできます。Antigravity IDE とデスクトップアプリの会話は検索・閲覧できますが、ターミナルから再開するコマンドはありません。アプリで再度開いてください。Amp は amp threads continue <id> で再開します。

4. 差分同期
ccrider sync         # Import new sessions from all providers
ccrider sync --force # Re-import everything

Claude Code(~/.claude/projects/)、Codex CLI(~/.codex/sessions/)、GitHub Copilot CLI(~/.copilot/session-state/)、OpenCode(~/.local/share/opencode/opencode*.db)、Pi(~/.pi/agent/sessions/)、Antigravity CLI(~/.gemini/antigravity-cli/brain/)、Antigravity IDE(~/.gemini/antigravity-ide/brain/)、Antigravity デスクトップアプリ(~/.gemini/antigravity/brain/)のセッションを自動的に検出します。Antigravity からは正規の transcript.jsonl のみをインポートし、診断用のトランスクリプトは除外します。Amp をインポートするには、~/.config/ccrider/config.toml で amp_enabled = true を設定し、amp CLI をインストールして認証してください。その後、ccrider はアーカイブ済みおよびアクティブなスレッドを一覧表示し、新規または変更されたスレッドのみをエクスポートします。

Amp のスレッドはクラウド上に保存されています。この連携は、検索可能なテキストを ccrider のローカル SQLite データベースにダウンロードするため、デフォルトでは無効です。MCP リクエストが Amp に接続することはありません。CLI または TUI の同期で以前にキャッシュされた Amp データを検索します。


MCP サーバー

ccrider には、コーディングエージェントがセッション履歴にアクセスできる、組み込みの MCP(Model Context Protocol)サーバーが含まれています。

新しい問題に取り組む際に、過去の会話を検索するようエージェントに依頼できます。

  • 「認証に取り組んだセッションを探して」
  • 「最近の Elixir のセッションを表示して」
  • 「先週、billing プロジェクトで何に取り組んでいた?」
  • 「Codex のセッションからデータベースのマイグレーションを検索して」
セットアップ

MCP 対応クライアントで ccrider serve-mcp を実行するよう設定します。例:

Claude Code:

# Install for all your projects (recommended)
claude mcp add --scope user ccrider $(which ccrider) serve-mcp

# Or for current project only
claude mcp add ccrider $(which ccrider) serve-mcp

Claude Desktop:

設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。

{
  "mcpServers": {
    "ccrider": {
      "command": "ccrider",
      "args": ["serve-mcp"]
    }
  }
}

その他の MCP クライアント:

コマンドに ccrider を、引数に ["serve-mcp"] を指定します。

利用可能なツール
  • search_sessions - 日付/プロジェクト/プロバイダーで絞り込める、すべてのセッション内容の全文検索
  • list_recent_sessions - 最近のセッションを取得します。プロジェクトまたはプロバイダーで絞り込むこともできます
  • get_session_messages - セッションのメッセージを取得します(末尾モード、検索一致箇所の前後のコンテキストに対応)
  • generate_session_anchor - 一意のセッションアンカーを保存します。説明用ラベルや既知のセッション ID を指定することもできます
  • list_session_anchors - 保存済みアンカーと一致するセッションを一覧表示します。プロジェクト/プロバイダー/セッションによる絞り込みとページネーションに対応しています

search_sessions、list_recent_sessions、list_session_anchors は、claude、codex、copilot、opencode、pi、antigravity、antigravity-ide、antigravity-desktop、amp で絞り込むための provider パラメーターに対応しています。検索ツールと取得ツールはローカルのセッションデータベースを読み取り、アンカー生成ツールはそこにブックマークを保存します。ローカルプロバイダーのデータはディスクから読み取られます。Amp スレッドは同期中に認証済みの Amp アカウントから取得され、その後ローカルに保存されます。

セッションアンカーの保存と検索

説明用ラベルを付けて会話をブックマークするようエージェントに依頼します。たとえば、{"label": "Add REST endpoint"} を指定して generate_session_anchor を実行すると、add-rest-endpoint-a12bc34de56f のようなタグが保存されます。ラベルはエージェントが会話内容から付けるため、別途 LLM サービスを利用する必要はありません。label を省略すると、元の 4 つのランダムな単語からなる形式が使われます。

エージェントがセッション ID を把握している場合は、session_id も指定してブックマークをすぐに紐付けることができます。そうでない場合は、返されたフレーズを回答に含め、ユーザーの返信を待ってから、そのフレーズをトランスクリプトに書き込みます。list_session_anchors はローカルのトランスクリプトを同期し、日付による制限なしで、そのフレーズを含む会話を検索します。

list_session_anchors を呼び出すと、保存済みのラベル、フレーズ、タイムスタンプ、再開コマンド付きの一致セッションを取得できます。返された session_id を get_session_messages で使うと、会話を読むことができます。リストのデフォルトは 1 ページあたり 20 件(最大 100 件)です。次のページに進むには、返された next_offset を offset として渡します。任意の project、provider、session_id フィルターで、関連するセッションを選択できます。

アンカーは、生成直後から絞り込みなしのリストに表示されます。sessions リストがまだ空でも表示されます。セッションフィルターを指定すると、一致しないアンカーは除外されます。複数の会話にコピーされたフレーズは、複数のセッションに一致する場合があります。明示的な session_id の紐付けがある場合は、そちらが優先されます。セッションのリストが大きい場合は、sessions_truncated: true を指定して短縮できますが、完全な session_count は保持されます。

レジストリには、この機能の追加後に生成されたアンカーが含まれます。それ以前に生成されたフレーズや手動で記述されたタグも、通常の会話テキストとして検索できます。

以前のコンテキストの復元

generate_session_anchor を使うと、コンテキストが圧縮された後でも、エージェントは現在の会話を特定できます。エージェントはこのツールを呼び出し、返されたフレーズを応答に含めて、その応答をトランスクリプトに書き込めるよう、あなたに返信を求めます。次に、そのフレーズを anchor_phrase として、必要なトピックを query として指定し、search_sessions を呼び出します。このワークフローでは、フレーズを別途記録しておく必要はありません。

会話内にすでに表示されている一意のフレーズも、ジェネレーターを呼び出さずに anchor_phrase として使用できます。anchor_phrase の検索フィルターはトランスクリプトのテキストに一致し、デフォルトでは直近1時間の一致のみを対象とします。明示的な after_date または before_date フィルターを指定すると、この期間は上書きされます。保存したブックマークの場合は、フレーズをトランスクリプトに書き込まずにブックマークを追加した場合も含め、list_session_anchors を使ってセッション ID を直接取得してください。

説明的なタグなど、把握しているタグを使って以前の会話を見つけるには、そのタグを直接検索します。

{
  "query": "how-to-add-a-rest-endpoint-in-this-repo-abc123",
  "exact_match": true
}

この通常の search_sessions クエリには、デフォルトの日付制限がありません。返された session_id を get_session_messages に渡すと、会話を読み取れます。


設定

注: Claude Code はデフォルトで、30日後にセッションの JSON ファイルを自動削除します。ccrider はすべてのセッションコンテンツを独自のデータベースに保持しますが、元のファイルも保持したい場合(再開など)は、~/.claude/settings.json に "cleanupPeriodDays": 99999 を追加してください。

ccrider は ~/.config/ccrider/ の設定を参照します。

# config.toml - pass additional flags to each provider's resume command
claude_flags = ["--dangerously-skip-permissions"]
# codex_flags = ["--dangerously-bypass-approvals-and-sandbox"]
# copilot_flags = []
# opencode_flags = []
# pi_flags = []
# terminal_command.txt - custom command for 'o' key
# Available placeholders: {cwd}, {command}
wezterm cli spawn --cwd {cwd} -- {command}
# resume_prompt.txt - customize the prompt sent when resuming sessions

詳しくは、CONFIGURATION.md を参照してください。


アーキテクチャ

Saša Jurićの原則に従い、コアとインターフェースを厳密に分離して構築されています。

  • コア(pkg/、internal/core/):純粋なビジネスロジック(解析、データベース、検索、複数プロバイダーからのインポート)
  • インターフェース(internal/interface/、cmd/):薄いラッパー(CLI、TUI、MCP サーバー)

実績のある技術を使用しています。

  • パフォーマンスと単一バイナリでの配布を実現する Go
  • 高速な全文検索を実現する FTS5 搭載 SQLite
  • 洗練されたターミナル UI を実現する Bubbletea
  • コーディングエージェントとの統合を実現する MCP
これが重要な理由

他のコーディングエージェント向けセッションツールには、次のような問題があります。

  • スキーマのサポートが不完全(すべてのメッセージタイプを解析できない)
  • ビルドが壊れており、依存関係の開発も放棄されている
  • 実用的な検索がない(grep のみ)
  • セッションを実際に再開できない
  • 単一プロバイダーのみ対応

ccrider は次の機能でこれらの問題を解決します。

  • スキーマを100%網羅し、すべてのメッセージタイプを正しく解析
  • 複数プロバイダーに対応。Claude Code、Codex CLI、GitHub Copilot CLI、OpenCode、Pi、Antigravity、Amp のデータを1つのデータベースに集約
  • SQLite FTS5 による高速で強力な全文検索
  • 単一バイナリで動作し、npm、pip、依存関係は不要
  • ネイティブでの再開に対応し、キーを1回押すだけでセッションを再開
  • 増分同期により、進行中のセッションの新しいメッセージを検出

開発

開発環境のセットアップとガイドラインについては、CONTRIBUTING.md を参照してください。

プロジェクト構成
cmd/ccrider/          # CLI entry point + MCP server
internal/
  core/               # Business logic (no UI concerns)
    db/               # Database operations
    importer/         # Session import/sync and Amp CLI client
    search/           # Full-text search
    session/          # Session launch logic
  interface/          # Thin UI wrappers
    cli/              # Command handlers
    tui/              # Terminal UI (bubbletea)
pkg/
  ccsessions/         # Claude Code session parser (public API)
  codexsessions/      # Codex CLI session parser (public API)
  copilotsessions/    # GitHub Copilot CLI session parser (public API)
  opencodesessions/   # OpenCode session parser (public API)
  pisessions/         # Pi session parser (public API)
  antigravitysessions/ # Antigravity session parser (public API)
  ampsessions/        # Pure Amp export parser (public API)
クイックビルド
go build -o ccrider cmd/ccrider/main.go
./ccrider sync
./ccrider tui

ドキュメント

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。