Repolode
aru-labs

aru-labs/lossless-memory

会話の生ログを要約せずにすべて保存し、時間で検索できる、個人向けAIのローカルなファイルベース長期記憶。

スター
146
フォーク
13
未解決の Issue
0
最終コミット
29 日前

これは何?

lossless-memoryは、個人向けAIの会話履歴をタイムスタンプ付きのJSONL生ログとして保存し、要約しません。レコードはSQLiteのFTS5で完全一致検索できるようにインデックス化され、sqlite-vecでセマンティック検索にも対応します。インデックスはいつでも削除してログから再構築できます。

検索は時間を起点に行います。「昨日の夕方、予算について」のようなクエリは、ランキングの前に日付範囲へ変換され、一致した行はタイムスタンプ付きで時系列順に返されます。その範囲で完全一致インデックスの結果が少なすぎる場合に限り、セマンティック検索をフォールバックとして使います。さらに、LLLという別のインデックスにタイムスタンプ付きのトピックマーカーを記録し、各ターンで現在の会話トピックをモデルに伝えられます。

サーバーやクラウドを使わず、1台のマシンで1人のユーザー向けに動作します。時間表現の解析は英語と日本語に対応し、デーモンがデフォルトで10分ごとに変更されたログファイルを再インデックスします。

主な機能

  • 01会話の各ターンを一字一句そのまま、固定の7フィールドスキーマを持つ日ごとのJSONLファイルに保存する。
  • 02英語と日本語の相対・絶対時間表現を解析し、検索範囲を絞り込む。
  • 03SQLite FTS5によるキーワード検索と、フォールバックとしてのsqlite-vecによるセマンティック検索を組み合わせる。
  • 04タイムスタンプ付きトピックマーカーを保持するLLLインデックスを備え、モデルのコンテキストに挿入できる。
  • 05生ログからインデックスを再構築し、バックグラウンドデーモンで変更された日付分だけを再インデックスする。

ユースケース

  • セルフホスト型の個人向けAIアシスタントに、過去の会話を記憶する長期記憶を持たせる。
  • 特定の日や時間範囲に何が話され、何が決まったかを調べる。
  • コンテキストウィンドウの圧縮後やセッションの再起動後も、アシスタントの現在のトピックを維持する。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/aru-labs/lossless-memory
  2. 2

    プロジェクトディレクトリに移動する

    cd lossless-memory
  3. 3

    パッケージを編集可能モードでインストールする

    pip install -e .
  4. 4

    サンプル設定ファイルをコピーし、必要に応じて名前やパスを編集する

    cp config.example.json config.json

使う前に知っておきたいこと

  • 単一マシン上の単一ユーザー向けに設計されており、マルチテナントには対応していません。
  • 相対時間の表現を解析できるのは英語と日本語のみです。
  • セマンティック検索には、ローカルの sentence-transformers 埋め込みモデルが必要です。
  • 開発はしばらくの間、一時停止しています。

トピック

よくある質問

lossless-memory とは?
会話の生ログを要約せずにすべて保存し、時間で検索できる、個人向けAIのローカルなファイルベース長期記憶。 lossless-memoryは、個人向けAIの会話履歴をタイムスタンプ付きのJSONL生ログとして保存し、要約しません。レコードはSQLiteのFTS5で完全一致検索できるようにインデックス化され、sqlite-vecでセマンティック検索にも対応します。インデックスはいつでも削除してログから再構築できます。
lossless-memory は無料で使えますか?ライセンスは?
lossless-memory は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
lossless-memory は今もメンテナンスされていますか?
活発にメンテナンス中。lossless-memory の最終コミットは 2026年9月23日 です。
lossless-memory は何に使えますか?
セルフホスト型の個人向けAIアシスタントに、過去の会話を記憶する長期記憶を持たせる。 特定の日や時間範囲に何が話され、何が決まったかを調べる。 コンテキストウィンドウの圧縮後やセッションの再起動後も、アシスタントの現在のトピックを維持する。
lossless-memory のインストール方法は?
リポジトリをクローンする: git clone https://github.com/aru-labs/lossless-memory プロジェクトディレクトリに移動する: cd lossless-memory パッケージを編集可能モードでインストールする: pip install -e . サンプル設定ファイルをコピーし、必要に応じて名前やパスを編集する: cp config.example.json config.json
lossless-memory はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/aru-labs/lossless-memory

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト