joshuadavidthomas/opencode-agent-memory

Memory blocks for OpenCode, inspired by Letta.

解決する課題

OpenCodeエージェントに永続的で自己編集可能な長期メモリシステムを提供します。これにより、異なるセッション間や会話コンテキストが圧縮された際にエージェントが重要な情報を忘れるのを防ぎ、一貫したペルソナを維持し、ユーザーの好みやプロジェクト固有の知識を記憶できるようにします。

仕組み

このプラグインは、ディスクに保存された構造化されたMarkdownファイルであるメモリブロックのシステムを実装し、これらのブロックはエージェントのシステムプロンプトに注入されます。これらのブロックは、グローバル(すべてのプロジェクトで共有)またはプロジェクト固有のいずれかに分類されます。エージェントは専用ツールを使用してこのメモリと対話し、これらのブロック内のコンテンツを一覧表示、作成、更新、または置換します。さらに、追記専用エントリ用のオプションジャーナルを備えており、エージェントはローカル埋め込み (all-MiniLM-L6-v2) を使用してそれをセマンティックに検索できます。

対象者

AIエージェントに長期メモリ、一貫したアイデンティティ、および複数のコーディングセッションにわたってインサイトを記録・取得する機能を持たせたいと考えているOpenCodeの開発者。

ハイライト

  • 自己編集メモリ: エージェントは特殊なツールを使用して、自身のメモリブロックを能動的に読み取り、変更できます。
  • 永続ストレージ: 情報はMarkdownファイルに保存され、セッションの再起動やコンテキスト制限を乗り越えます。
  • 共有スコープ: 一般的な設定用のグローバルメモリと、コードベースアーキテクチャ用のプロジェクトレベルメモリの両方をサポートします。
  • セマンティックジャーナリング: エージェントが発見や決定を記録し、セマンティックに検索できるオプトインのジャーナル。
  • ローカルプライバシー: ジャーナルのセマンティック検索は、ローカル埋め込みを使用して完全にローカルマシン上で実行されます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト