Kept: AI会話からローカルファーストのナレッジベースを構築する

多くの人にとって、AIチャットインターフェースは「作業メモリ」の主要な形態となっています。デバッグの経路をたどったり、研究ノートを下書きしたり、製品の意思決定を洗練したり、コードのスニペットを保存したりするために利用しています。しかし、この貴重な知的履歴は通常、プロプライエタリなベンダーの UI にロックされており、異なるプラットフォーム間で検索したり、より広範なパーソナルナレッジマネジメント(PKM)システムに統合したりすることが難しいです。

Kept は、この問題を解決するために設計されたオープンソースのローカルファーストエージェント型ナレッジマネージャです。複数の AI プロバイダーから会話を抽出し、ローカルマシン上のプレーンな Markdown ファイルとして保存することで、儚いチャット履歴を永続的で検索可能、かつ所有者がコントロールできるアーカイブに変換します。

ローカルファーストアーカイブのアーキテクチャ

Kept は、クラウドからローカルディスクへデータを移行するために、脆弱なページレンダリングのスクレイピングに依存しない 3 層アーキテクチャを採用しています。

1. Chromium拡張機能

DOM をスクレイピングする代わりに、ブラウザ拡張はユーザーがサインインしているセッションを利用してプロバイダー API エンドポイントから会話データを直接取得します。ChatGPT、Claude、Gemini、Grok、Kimi など様々なプロバイダーからメッセージと画像アセットを正規化し、ペイロードをローカルサーバへ送信します。

2. デスクトップアプリケーション

Tauri 2(React フロントエンドと Rust バックエンド)で構築されたデスクトップアプリは、中心的ハブとして機能します。拡張機能からローカルサーバ(http://localhost:18241)を通じてデータを受け取り、以下の重要な機能を実行します。

  • Vault Management: 会話をMarkdownファイルとしてYAMLフロントマター付きで ~/.kept/vault/ に書き込む。
  • Indexing: 高速な全文検索のために SQLite FTS5 を使用する。
  • Knowledge Graph: CozoDB を使用してローカルナレッジグラフを構築し、異なる会話間の接続を可視化する。

3. MCPサーバー

アーカイブを「エージェント型」にするため、Kept は Model Context Protocol (MCP) サーバーを含みます。これにより、Claude Code や OpenClaw といった AI コーディングエージェントがプログラム的にボールトを一覧、読み取り、検索、管理でき、エージェントが過去の AI 交流をコンテキストソースとして利用できるようになります。

データベースよりMarkdownファイルを選ぶ理由

Kept の最も重要な設計選択の一つは、真実の情報源として Obsidian 互換の Markdown ボールトを使用することです。データベースは初期クエリが速いかもしれませんが、ファイルベースのアプローチは長期的に以下の利点を提供します。

  • Interoperability: ボールトは VS Code、Obsidian、または任意のテキストエディタで直接開くことができる。
  • Future-Proofing: データがプレーンテキストで保存されているため、Kept アプリが廃止されたりプロバイダー API が変更されたりしても、アーカイブは読み続けられる。
  • Recoverability: 検索データベースやグラフデータベースはキャッシュとして扱われ、Markdown ファイルからいつでも完全に再構築できる。

プライバシーとセキュリティ

すべてがクラウド同期される時代に、Kept は厳格なローカルファースト姿勢を取ります。

  • No Cloud Sync: ホストされたアカウントやクラウドバックアップはなく、すべてのデータは ~/.kept/ に保存される。
  • Local Communication: 拡張機能はローカルホスト上で、インストールごとのベアラートークンを使用してデスクトップアプリと通信する。
  • Configurable Intelligence: トピック発見やアーカイブ上チャットなどのオプション機能は、ユーザーが選択したプロバイダーまたはローカルの Ollama サーバーを経由させて完全なプライバシーを確保できる。

課題と考慮点

Kept は AI 履歴を取り戻す強力な手段を提供しますが、プライベートプロバイダー API に依存する固有の課題に直面しています。コミュニティが指摘するように、これらの接続はベンダーが予告なく変更する可能性のある非公開エンドポイントに依存しているため、脆弱になることがあります。

しかし、主たる保存層として Markdown ボールトを優先することで、Kept はデータ損失のリスクを軽減します。たとえプロバイダーアダプターが壊れても、ローカルディスクにすでに保存された会話はそのまま残り、アクセス可能です。

はじめに

Kept は MIT ライセンスで提供され、macOS、Windows、Linux で利用可能です。インストールは通常、デスクトップアプリをセットアップし、開発者モードで手動ロードできる Chromium 拡張機能を提供するクイックインストールスクリプトを実行するだけです。アーカイブを AI ワークフローに統合したいユーザー向けに、MCP サーバーはワンラインスクリプトでインストールでき、エージェントが grep_vaultread_file を直接歴史的な AI ナレッジベースから実行できるようになります。

Sources