callimachus について
Callimachusはコーディングエージェントの会話をローカルにインデックス化し、デスクトップアプリ、CLI、エディター、チャット、MCPから利用できるようにします。過去の作業を検索し、セッションをまたいでプロジェクトの決定事項を保持したい開発者向けで、ハイブリッド検索とメモリへの書き戻しに対応します。
主な機能
- 0111種類のコーディングエージェントの会話をインデックス化
- 02キーワードとデバイス上のセマンティック検索
- 03プロジェクトの決定事項とTODOの抽出・管理
- 04引用付き回答による履歴検索
- 05エージェントセッションの保存と再開
- 06MCPとCLIから共有インデックスにアクセス
活用シーン
- 01コード変更に関する過去の議論を検索
- 02プロジェクトメモリをエージェントセッションに渡す
- 03コンテキスト圧縮後に作業を再開
- 04会話と関連する可能性のあるGitコミットを追跡
MCP 対応
同梱の`callimachus-mcp`サーバーは、スレッド、プロジェクトメモリ、決定事項、セッションスナップショットを検索するツールを公開し、TODOの完了、決定事項、注意点、セッションスナップショットをCallimachusに書き戻せます。MCPクライアントはエージェントセッション中にローカルインデックスを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AI コーディングエージェントのスレッドをローカルでインデックス化して検索 — 11 種類のツール(Claude Code、Codex、Cursor、Gemini CLI、Qwen Code、Goose、OpenCode、Continue、Cline、Roo Code、Kilo Code)に対応しています。さらに、プロバイダーに依存しないチャット、MCP サーバー、CLI、VS Code/Cursor 拡張機能も備えています。すべてのデータはお使いのマシンから外に出ません。
アレクサンドリア図書館の最初の目録を作成したカリマコスにちなんで名付けられました。
ダウンロード
最新の署名済みビルドは**リリース**から入手できます。macOS(.dmg、Apple Silicon)、Windows(.msi)、Linux(.AppImage/.deb)に対応しています。以降、アプリは自動更新されます。自分でビルドしたい場合は、開発をご覧ください。
できること
- Claude Code、Codex、Cursor、Gemini CLI、Qwen Code、Goose、OpenCode、Continue、Cline、Roo Code、Kilo Code の11種類のコーディングエージェントからすべての会話をインデックス化し、1つのローカル SQLite ストアに保存します。別のソースを追加する方法は、簡潔で文書化された仕様にあります。
- ハイブリッドランキングで会話を検索します。キーワード検索(SQLite FTS5 / BM25)と、デバイス上でのセマンティック類似度(sqlite-vec KNN、クラウド不使用)を Reciprocal Rank Fusion で統合します。ソース、プロジェクト、サブエージェント、スター、タグで絞り込めます。
- コードを考慮した検索ができます。検索バーに
file:embed/mod.rsと入力するか(またはcal files <path>を実行すると)、そのパスに触れたスレッドをすべて検索できます。インデックス作成時に構築されるファイル参照インデックスを利用しています。 - 知識を抽出します。ヒューリスティックによる TODO 抽出は無料で利用でき、オプトインで LLM による判断事項、注意点、要約の抽出や、過去の判断事項・注意点のスレッド横断セマンティック検索も利用できます。オプションの自動抽出では、新規または変更されたスレッドをバックグラウンドで処理し、メモリーを自動的に蓄積します。ローカルの Ollama(キー不要)、ログイン済みの Claude Code または Codex CLI サブスクリプション(キー不要、API キー不要)、またはクラウド API キーで実行できます。
- 事実を管理できます。抽出した事実をピン留め、編集、削除でき、再抽出しても編集内容は保持されます。さらに、矛盾する判断事項にフラグを付ける LLM による**「矛盾を確認」**処理もあります。
- プロジェクトごとに記憶します。Projects タブでは、各リポジトリの判断事項、注意点、未完了の TODO を永続的なメモリーに集約します(worktree、シンボリックリンク、
~によって同じリポジトリが分割されないよう、正規のプロジェクトキーでグループ化します)。LLM による概要と、管理対象の.callimachus/memory.mdも利用できます。「Open in CLI」を実行すると、このメモリーが先頭に追加されます。また、任意のエージェントに自動的に注入することもできます。Update AGENTS.md(またはcal agents)はリポジトリのAGENTS.md/CLAUDE.mdに管理対象ブロックを書き込み、cal hookは Claude Code の SessionStart フックにメモリーを渡します。 - 自分の履歴に質問できます(RAG)。自分のスレッドをもとに、参照元を示した回答を生成し、使用したソースへの
[thread N]形式の引用を付けます。LLM エンジン(Knowledge/抽出機能)を有効にする必要があります。 - スレッドをコレクションに整理できます。スレッドにスターを付け、自由形式のタグを設定し、スターまたはタグで一覧を絞り込めます。
- アプリ内エージェントとチャットできます(Anthropic / OpenAI / Gemini / OpenRouter / Ollama — ローカルまたはクラウド —、またはキー不要のログイン済み Claude Code / Codex CLI)。エージェントは自分の履歴を検索し、承認を得てシェルコマンドを実行できます。ライブモデル一覧に対応し、ストリーミングとキャンセルも可能です。チャットは保存され、検索対象にもなります。
- ツール間でコンテキストを引き継げます。任意のスレッドを任意のエージェント CLI で開く(圧縮したトランスクリプトを初期コンテキストとして渡す「Open in Claude / Codex / Gemini …」)、Claude Code / Codex のスレッドをそれぞれのネイティブ CLI で再開する、コンテキストをコピーする、またはスレッドを Obsidian にエクスポートする(判断事項/注意点/TODO を AI で要約するオプションあり)ことができます。
- スレッドをコミットに関連付けます。スレッドで話題にしたファイルと、スレッドの時間範囲内に
git logが示す変更ファイルの重複から、どの git コミットがスレッドによって生成されたかをデバイス上で推定します(共通ファイル数が信頼度になります)。スレッド→コミットのタイムライン(cal commits)、デスクトップ UI のスレッドごとの「Produced commits」、またはlinked_commitsMCP ツールで確認できます。 - エージェントセッションをスナップショットします。スレッドの永続的で再開可能なチェックポイント(圧縮したトランスクリプトと引き継ぎ用プロジェクトメモリー)を作成し、コンテキストウィンドウの圧縮時やツール間の引き継ぎに利用できます。Claude Code の PreCompact / SubagentStop フックで自動的に取得されます。作成、一覧表示、再開は
cal snapshot/cal snapshots/cal resume、またはsnapshot_session/list_snapshots/load_snapshotMCP ツールから行えます。 - 判断事項を保護します。判断事項には根拠(「理由」)を含めることができ、アクティブなガードは、エージェントがあるトピックについて確定済みの判断を蒸し返す前にそれを提示します(
cal check "<proposal>"/check_decisionMCP ツール)。 - やり直す前に思い出します。オプトインの Claude Code フックは、過去の作業と強く一致するプロンプトごとに、「以前に解決したことがあるかもしれません」という情報をエージェントのコンテキストに静かに注入します(Settings → Claude Code → Proactive recall。デフォルトではオフ。シグナルの下限を設定し、セッションごとに重複を除外します)。
- 繰り返し発生する問題を分析します。すべてのツールで繰り返し発生しているエラーを提示します(正規化したシグネチャ、過去180日間)。個別の問題ではなくパターンを修正できます(Coach カード、または
cal issues)。 - コストを表示します。インデックス作成時にメッセージごとのトークン使用量とモデルを記録し、モデル別の費用と最も高コストなスレッドを推定します(Stats カード、または
cal cost。過去のデータを補完するには一度再インデックスしてください)。 - PR 監査に情報を提供します。
cal audit-pr <repo> --changed-files … --shas …は1つの JSON バンドルを返します(コミットごとの、生成元セッションまで遡る来歴、ファイルごとの過去のスレッドと推論、リポジトリで繰り返し発生するエラー、プロジェクトメモリー)。これにより、外部のローカル PR レビューツールで差分の背景となる履歴を表示できます。 - エージェントから情報を利用できるようにします。同梱の MCP サーバー(
callimachus-mcp)は、セッション中にエージェントが呼び出せるツールとしてインデックスを公開します。また双方向に動作し、エージェントはファイルに触れることなく、Callimachus 自身のメモリーに書き戻せます(TODO の完了、判断事項/注意点の記録、セッションのスナップショットなど)。/recallスキルで、いつ使うべきかをエージェントに伝えます。 - バックグラウンドのファイル監視により最新の状態を維持します。プライバシーも保護されます。API キーは OS のキーチェーンに保存され、選択した LLM プロバイダー以外に情報が送信されることはありません。
スタック
- シェル: Tauri 2 (Rust) + React 19 + TypeScript + Vite 8
- ストア/検索: バンドルされた SQLite + FTS5(
rusqlite);fastembed(bge-small-en-v1.5、384 次元)によるオンデバイス埋め込み;sqlite-vec(vec0)を使った SQL 内の KNN - ウォッチャー:
notify+ デバウンサー - チャット:
genaiクレートによるマルチプロバイダー対応(Anthropic / OpenAI / Gemini / OpenRouter / Ollama ローカル + Ollama Cloud)。各プロバイダーで設定可能なベース URL を使用し、Tauri Channel 経由でトークンをストリーミングします。キャンセル可能で、エージェントのツール呼び出し(履歴検索 + 承認済みシェル)に対応しています - シークレット: クロスプラットフォームの
keyringクレートを介した OS の認証情報ストア — macOS Keychain、Windows Credential Manager、Linux Secret Service - サイドカー:
callimachus-mcp(MCP サーバー)とcal(CLI)。どちらもデスクトップのコアライブラリを再利用し、同じindex.dbを参照します - エディター: VS Code / Cursor 拡張機能(
apps/vscode)。Marketplace + Open VSX で公開されており、calをシェル経由で実行します
モノレポ
これは Turborepo + pnpm ワークスペースです。
apps/
desktop/ # the Tauri 2 desktop app + the cal CLI and MCP server (src-tauri)
vscode/ # VS Code extension (search history from the editor)
web/ # marketing + download site (reserved, not built yet)
packages/ # shared code, when it appears
.changeset/ # version + changelog management
scripts/ # version-sync, release tagging
リリース、バージョン管理、自動アップデーターについては、RELEASING.md に記載されています。
開発
pnpm install
pnpm desktop:dev # launches the desktop window (tauri dev)
# from the repo root, across all apps:
pnpm build # turbo: build every app's frontend
pnpm typecheck # turbo: typecheck every app
初回起動時、インデックスは空です。ソースをインデックス化するには、Settings を開くか Reindex を押してください。その後、Build semantic index を実行すると、セマンティック検索が有効になります。Reindex は、ソースごとの進捗バーを表示するバックグラウンドジョブとして実行され、Build semantic index とは別に動作します。この 2 つは同時には実行されず、どちらかが書き込みロックを保持している間、もう一方は一時停止します。
テスト
cd apps/desktop/src-tauri
cargo test # fast unit tests
cargo test -- --ignored --nocapture # real-data + model + keychain smoke tests
--ignored テストは、このマシン上の実データにアクセスします。各ソースには、実際の履歴を読み取り専用でインデックス化する real_<source>_index スモークテストがあります(~/.claude、~/.codex、Cursor、~/.gemini、~/.qwen、Goose、OpenCode、Continue、Cline/Roo/Kilo)。また、埋め込みモデルのダウンロード(初回実行時にネットワークが必要)と Keychain のラウンドトリップテストも行います。
履歴をどこでも利用
デスクトップウィンドウだけでなく、同じローカルインデックスにエージェント、ターミナル、エディターからアクセスできます。すべてが同じ index.db を読み取ります。
MCP サーバー — セッションの途中で、エージェントが自身の過去の作業を検索できるようにします。最も手軽なのは npx を使う方法です(初回実行時にビルド済みバイナリをダウンロードします)。公式の MCP registry にも io.github.betabots-llc/callimachus として掲載されています。
claude mcp add callimachus -- npx -y callimachus-mcp # or any MCP client
デスクトップアプリをすでに実行していますか?callimachus-mcp は PATH 上にあるため、npm を使わずに claude mcp add callimachus -- callimachus-mcp を実行できます。チェックアウトからビルドしますか?cargo install --path apps/desktop/src-tauri --bin callimachus-mcp を実行してください。
ツール(21 個)— 読み取りと書き込みに対応しました。読み取り(17 個):search_threads、search_current_project(実行中のリポジトリに自動でスコープ設定)、recent_threads、get_thread、list_tags、list_open_todos、get_thread_knowledge、recall_decisions、recall_gotchas、find_prior_work(「これを以前にやったことがあるか?」を確認するガード。タスクに類似した過去のセッションを検索)、project_memory(プロジェクトの決定事項/注意点/未完了の TODO を集約)、ask_history(履歴を対象にした、出典付きの RAG 回答)、threads_for_file(あるパスに関わったセッションを検索)、check_decision(提案を再検討する前に、確定済みの決定事項を提示)、linked_commits(スレッドから作成された可能性が高いコミットを検索)、list_snapshots(プロジェクトのセッションスナップショットを一覧表示)、load_snapshot(保存済みのチェックポイントを復元)。書き込み(4 個。Callimachus 自身のメモリに書き込み、コードには一切書き込みません):complete_todo(未完了の TODO を完了にする)、record_decision(任意で rationale を指定)、record_gotcha(事実をプロジェクトのメモリに保存)、snapshot_session(引き継ぎ用にスレッドのチェックポイントを作成)。同梱の /recall スキル(.claude/skills/recall)では、エージェントがこれらを使うタイミングを説明しています。
CLI — パイプで使いやすい cal。デスクトップアプリに同梱されており、PATH 上で使用できます。チェックアウトからビルドする場合は、cargo install --path apps/desktop/src-tauri --bin cal を実行してください。
cal search "vector index migration" -y # -y = hybrid (semantic + keyword)
cal recent -n 10
cal cat 42 | pbcopy # packed transcript → clipboard
cal stats # index totals + per-source breakdown
cal export 42 --vault ~/Obsidian # write a thread as an Obsidian note
cal ask "how did we set up releases?" # cited RAG answer over your history
cal files embed/mod.rs # threads that touched a file path
cal memory # this repo's distilled memory (decisions/gotchas/TODOs)
cal done 17 # mark an open TODO done (id from `cal todos`)
cal remember decision "use sqlite-vec for KNN" --because "no cloud, KNN in SQL" # record a fact (+ rationale) into the repo's memory
cal check "switch to pgvector" # surface settled decisions before re-litigating one
cal commits # infer the thread→commit timeline for this repo (--json; or pass a path)
cal issues # recurring errors you keep hitting across sessions (last 180 days)
cal cost # estimated $ spend by model + your priciest threads
cal audit-pr . --changed-files a,b --shas s1,s2 # one JSON bundle for an external PR auditor
cal snapshot 42 -l "pre-refactor" # checkpoint a thread for handoff (transcript + project memory)
cal snapshots # list saved session snapshots (optionally for a project)
cal resume 7 -a claude # resume a snapshot in an agent CLI
cal agents # write the repo's memory into AGENTS.md (any agent reads it)
cal hook # print the repo's memory (use as a Claude Code SessionStart hook)
star、tag、tags、todos、knowledge、distill、decisions、gotchas、related も利用できます。すべてのコマンドは cal help を実行して確認してください。
VS Code / Cursor — 拡張機能により、「Callimachus History」サイドバー、ステータスバーの検索ボタン、スレッドの検索/挿入/コピー用コマンドが追加されます(cal を呼び出します)。VS Code Marketplace または Open VSX(Cursor と VSCodium が使用するレジストリ)からインストールするか、Releases から .vsix を入手してください。apps/vscode/README.md をご覧ください。
備考/制限事項
- クロスプラットフォームに対応しています(macOS/Windows/Linux)。macOS 専用として残っているのは「Open in CLI」/「Resume」ランチャーだけです(AppleScript を介して Terminal を操作します)。Windows/Linux ではこれらの操作を実行すると「not supported yet」という通知が表示されます。それ以外の機能(インデックス、検索、チャット、エクスポート、キーチェーン)はすべての環境で動作します。
- Cline/Roo Code/Kilo Code は CLI のないエディター拡張機能のため、インデックス機能のみ利用できます(検索はできますが、「Resume」で再起動することはできません)。
- Cursor ではスレッドごとのワークスペースが保存されないため、現在、Cursor のスレッドにはプロジェクトパスがありません。
- Claude Code のサブエージェントのトランスクリプトはインデックス化されますが、デフォルトでは「subagents」切り替えの背後に隠されています。
- 初回の大規模なインデックス作成には一度だけ時間がかかります(ここでの Claude コーパスは約 9 万件のメッセージで、約 25 秒かかりました)。以降の処理では、変更されていないファイルはスキップされます。
- ほかのソース(Charm Crush、Factory Droid、Copilot CLI)もスコープには含まれていますが、まだ統合されていません。インデクサーガイドをご覧ください。
コントリビュート
Issue と PR を歓迎します。CONTRIBUTING.md では、ローカル環境のセットアップ、規約、リリース手順について説明しています。ほかのエージェントへの対応追加は、簡潔で文書化された仕様に沿って行えます。通常は、インデクサーモジュール 1 つ、マイグレーション 1 つ、少数の接続箇所を追加します。
セキュリティとプライバシー
Callimachus はローカルファーストを前提に設計されています。会話のインデックスがマシンの外に出ることはなく、API キーは OS のキーチェーンに保存され(ディスクには保存されません)、外部への通信は明示的に選択した LLM プロバイダーに限られます。脆弱性を報告する場合は、SECURITY.md をご覧ください。
ライセンス
デュアルライセンスです。 AGPL-3.0-or-later のもと、無料でオープンソースとして利用できます。使用、変更、共有が可能です。ただし、配布する場合、または改変したバージョンをネットワークサービスとして実行する場合は、ソースコードを AGPL のもとで公開する必要があります。
AGPL では認められていないクローズドソース、プロプライエタリ、営利目的/SaaS での利用には、商用ライセンスが必要です。COMMERCIAL.md をご覧ください(お問い合わせ先:[email protected])。
© 2026 Ari Shaller。帰属表示については NOTICE をご覧ください。コントリビューションは CONTRIBUTING.md の条件に基づいて受け付けています。
謝辞
Tauri、fastembed-rs、sqlite-vec、genai を基盤に構築されています。名前は、アレクサンドリア図書館の目録を作成した キュレネのカリマコス にちなんでいます。
ソーシャルプレビュー:assets/og.png · ブランド素材は assets/brand/ にあります
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。