mcpField
H
hindsight-self-hosted

hindsight-self-hosted

github.com/vectorize-ioエージェントワークフロー55.5k532 回インストール今日更新
リポジトリ

hindsight-self-hosted について

セルフホスト型 Hindsight サーバーの永続メモリーを使う AI エージェント向けスキルです。チームで共有できるメモリーバンクを対象に、CLI の設定から知識の保存、想起、統合までを案内します。

主な機能

  1. 01Hindsight CLI とメモリーバンク ID の設定
  2. 02コンテキスト付きチームメモリーの保存
  3. 03トピック別のメモリー検索
  4. 04タスク判断に向けたメモリーの統合
  5. 05チーム規約と個人の好みの区別

活用シーン

  1. 01コーディング前にプロジェクトの背景を確認
  2. 02有効な対処法と問題の原因を記録
  3. 03チーム規約や設計判断を共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vectorize-io/hindsight --skill hindsight-self-hosted

インストール後、Claude Code で/hindsight-self-hostedを入力して読み込まれたか確認します。

詳細

Hindsight メモリスキル (セルフホスト)

あなたはセルフホスト型 Hindsight サーバーを通じて永続メモリを利用できます。このメモリバンクはチームと共有できるため、ここに保存された知識はこのコードベースに取り組む全員の役に立ちます。

チームの知識を積極的に保存し、コンテキストを想起することで、より良い支援を提供できます。

セットアップ確認 (初回のみ)

メモリコマンドを使用する前に、Hindsight CLI が設定されていることを確認してください:

cat ~/.hindsight/config

ファイルが存在しない、または認証情報が欠けている場合は、ユーザーのセットアップを支援してください:

  1. CLI をインストール (hindsight コマンドが見つからない場合):

    curl -fsSL https://hindsight.vectorize.io/get-cli | bash
    
  2. 設定ファイルを作成 - ユーザーに以下を尋ねてください:

    • API URL: ユーザーのセルフホスト型 Hindsight サーバーの URL (例: https://hindsight.mycompany.com)
    • API キー: ユーザーの認証キー
    mkdir -p ~/.hindsight
    cat > ~/.hindsight/config << 'EOF'
    api_url = "<user's server URL>"
    api_key = "<user's API key>"
    EOF
    chmod 600 ~/.hindsight/config
    
  3. バンク ID を取得 - ユーザーにバンク ID を尋ねてください (例: team-myproject)

セットアップ後は、以下のすべてのコマンドでこのバンク ID を使用してください。

Hindsight の仕組み

retain を呼び出すと、Hindsight は文字列をそのまま保存するのではありません。サーバーは内部パイプラインを実行し、次の処理を行います:

  1. LLM を使用して、コンテンツから構造化されたファクトを抽出します
  2. エンティティ (人物、ツール、概念) を特定し、関連するファクトをリンクします
  3. ファクト間の時間的・因果的な関係を構築します
  4. セマンティック検索用の埋め込みを生成します

つまり、豊かで完全なコンテキストを持つコンテンツを渡すべきです。サーバーは、要約済みの文字列よりも、重要な情報を抽出するのが得意です。あなたの役割は、何を抽出するかではなく、いつ保存するかを決めることです。

コマンド

<bank-id> は、ユーザーの実際のバンク ID (例: team-frontend) に置き換えてください。

メモリを保存する

学んだことを保存するには memory retain を使用します。完全なコンテキストを渡してください — 生の観察、セッションノート、または詳細な説明:

hindsight memory retain <bank-id> "The project uses ESLint configured with the Airbnb rule set and Prettier for formatting. Auto-fix on save is enabled in the editor config."
hindsight memory retain <bank-id> "Ran the test suite with NODE_ENV=test. Tests pass. Without NODE_ENV=test, the suite fails with a missing config error." --context procedures
hindsight memory retain <bank-id> "Build failed on Node 18 with error 'ERR_UNSUPPORTED_ESM_URL_SCHEME'. Switched to Node 20 and build succeeded." --context learnings
hindsight memory retain <bank-id> "Alice reviewed the PR and asked for verbose commit messages that explain the motivation, not just what changed." --context preferences

タイムスタンプ付きの生の会話トランスクリプトを渡すこともできます:

hindsight memory retain <bank-id> "[2026-03-16T10:12:03] User: The auth tests keep failing on CI but pass locally. Any idea?
[2026-03-16T10:12:45] Assistant: Let me check the CI logs. Looks like the tests are running without the TEST_DATABASE_URL env var set — they fall back to the production DB URL and hit a connection timeout.
[2026-03-16T10:13:20] User: Ah right, I never added that to the CI secrets. Adding it now.
[2026-03-16T10:15:02] User: That fixed it. All green now." --context learnings
メモリを想起する

タスクを開始する前に memory recall を使用して、関連するコンテキストを取得します:

hindsight memory recall <bank-id> "project conventions and coding standards"
hindsight memory recall <bank-id> "Alice preferences for this project"
hindsight memory recall <bank-id> "what issues have we encountered before"
hindsight memory recall <bank-id> "how does the auth module work"
メモリを熟考する

コンテキストを統合するには memory reflect を使用します:

hindsight memory reflect <bank-id> "How should I approach this task based on past experience?"

重要: メモリを保存すべきタイミング

これはチーム共有のバンクです。チームの役に立つ知識を保存してください。個人の好みについては、その人の名前を含めてください。

プロジェクト/チームの規約 (共有)
  • コーディング標準 (「プロジェクトは 2 スペースインデントを使用」)
  • 必須のツールとバージョン (「プロジェクトには Node 20+、PostgreSQL 15+ が必要」)
  • リンティングとフォーマットのルール (「Airbnb 設定の ESLint」)
  • テストの規約 (「統合テストには Docker の実行が必要」)
  • ブランチ命名と PR の規約
個人の好み (その人に紐付ける)
  • 個人的なコーディングスタイル (「Alice は明示的な型注釈を好む」)
  • コミュニケーションの好み (「Bob は詳細な PR 説明を好む」)
  • ツールの好み (「Carol は vim キーバインドを使用」)
手順の結果
  • タスクを正常に完了した手順
  • うまくいった (または失敗した) コマンドとその理由
  • 発見された回避策
  • 問題を解決した設定
タスクからの学び
  • 遭遇したバグとその解決策
  • うまくいったパフォーマンス最適化
  • アーキテクチャの決定とその根拠
  • 依存関係やバージョンの要件
チームの知識
  • 新しいチームメンバー向けのオンボーディング情報
  • よくある落とし穴とその回避方法
  • アーキテクチャの決定とその根拠
  • 外部システムとの統合ポイント
  • ドメイン知識とビジネスロジックの説明

重要: メモリを想起すべきタイミング

以下を行う前に必ず想起してください:

  • 重要度の高いタスクを開始するとき
  • 実装に関する決定を行うとき
  • ツール、ライブラリ、またはアプローチを提案するとき
  • プロジェクトの新しい領域でコードを書くとき
  • コードベースに関する質問に答えるとき
  • チームメンバーが何かの仕組みについて尋ねてきたとき

ベストプラクティス

  1. すぐに保存する: 何かを発見したら、その場ですぐに保存します
  2. 豊富なコンテキストを渡す: 要約済みの文字列ではなく、完全な観察内容を含めます — サーバーが事実を自動的に抽出します
  3. 結果を含める: 何が起きたかだけでなく、なぜ起きたかも保存します。失敗や回避策も含めます
  4. まず思い出す: 作業を始める前に、必ず関連するコンテキストを確認します
  5. チーム優先で考える: 他のチームメンバーの役に立つ知識を保存します
  6. 個人の好みは帰属を明記する: 「ユーザーは X を好む」ではなく「Alice が PR をレビューし、X を求めた」と保存します
  7. プロジェクトと個人を区別する: プロジェクトの慣習は全員に適用され、個人の好みは人ごとに異なります
  8. メタデータには --context を使う: --context フラグはメモリの種類(例: procedures、learnings、preferences)にラベルを付けるものであり、完全な内容の代わりではありません

コメント