本文へスキップ
メニュー

プロダクト

ソリューション

連携

開発者

言語

開発者

クイックセットアップ

自分に合うコースを選び、コマンドをコピーしてください。マシン1台なら3ステップで、アカウントは要りません。チーム用の共有サーバーなら5ステップです。

自分だけで使う

バイナリを1つインストールし、ローカルサーバーを1つ起動して、エージェントを立ち上げます。サーバーは127.0.0.1:49374にバインドするので、このマシンの外からは届かず、トークンも要りません。

  1. バイナリをインストールする

    miseは、お使いのOSとCPUに合ったリリースアーカイブをダウンロードし、公開されている.sha256ファイルと照合します。RustのツールチェーンもDockerも要りません。

    ターミナル
    mise use -g github:akitaonrails/ai-memory
    
  2. データディレクトリを作成し、サーバーを起動する

    initはデータディレクトリを作るだけです。serveは動かし続ける必要があるので、専用のターミナルを用意してください。待ち受けるのはこのマシン上だけで、トークンは要りません。

    ターミナル
    ai-memory init
    ai-memory serve --transport http --bind 127.0.0.1:49374
    
  3. ai-memory経由でエージェントを起動する

    ハーネスの初回起動時に、フックとMCPエントリがなければインストールします。その後はclaudeを直接起動しても引き続き動きます。

    ターミナル
    ai-memory run claude
    
1台のノートPCでの個人向けインストールを3段階で示した図。バイナリをインストールし、127.0.0.1:49374でサーバーを起動し、エージェントを実行する。エージェントはフックとMCPでサーバーに接続する。ノートPCの外には何も出ない。
個人向けの経路の全体像です。サーバーはループバックにとどまり、エージェントは2つの方法でつながります。フックがセッションをキャプチャし、MCPでエージェントがそれを検索します。

ai-memory runは推奨のランチャーですが、使わなくても構いません。初回起動時にハーネスを接続し、ハーネスをまたいだネイティブのセッション再開を加えます。引き継ぎ(ハンドオフ)はフックだけでも運ばれるので、エージェントを直接起動しても引き続き動きます。マネージド起動の仕組みを読む

動作を確認する

ネットワークからエージェントまで、下から順に3つ確認します。

サーバーが応答する

JSON-RPCのエラーが返れば正解です。ポートに届いていて、サーバーが応答しているという意味です。

ターミナル
curl http://127.0.0.1:49374/mcp

CLIがサーバーに届く

CLIは薄いHTTPクライアントです。ここでステータスが表示されれば、フックもサーバーに届きます。

ターミナル
ai-memory status

エージェントが覚えている

数分作業して終了し、同じディレクトリで2つ目のセッションを開きます。そしてこう尋ねてください。

「どこまでやったっけ?」

最初のエージェントのあとで

3つとも任意です。必要になったときに行ってください。

別のエージェントを追加する

同じ2つのコマンドを、名前だけ替えて実行します。これで両方のエージェントが1つのプロジェクト記憶を共有します。

ターミナル
ai-memory install-mcp   --client codex --apply
ai-memory install-hooks --agent  codex --apply

対応エージェントとその名前をすべて見る

任意:LLMで要約の質を上げる

プロバイダーがなくても、キャプチャ、検索、ルールベースの要約はすべてコストなしで動きます。プロバイダーを設定すると、セッションページが読みやすい文章に書き直されます。サーバーの環境にこの2つの変数を設定し(Dockerなら-eフラグ、systemdのユーザーサービスなら~/.config/ai-memory/env)、再起動してください。

サーバーの環境変数
AI_MEMORY_LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...

サブスクリプションやローカルモデルも含めてプロバイダーを比較する

すべて元に戻す

削除されるのはai-memoryがインストールしたものだけです。インストールコマンドは冪等で、ファイルに手を加えるときは必ず、その隣にタイムスタンプ付きのバックアップを書き出します。

ターミナル
ai-memory uninstall --apply

チームで使う

すべてのマシンとすべてのチームメンバーがつながる1つのサーバーです。サーバー間のレプリケーションはありません。記憶の共有とは、全員が同じサーバーに接続することです。

チームの構成図:alice、bob、carolの3台のノートPCが、トークンで保護された1つの共有サーバーに接続している。各メンバーがAPIキーを1つ持ち、サーバーはチームのwikiを1つ持つ。
wikiはサーバーが持ちます。人にはアカウント、マシンにはAPIキーを割り当て、rootトークンはサーバーの運用者が管理します。
  1. トークン付きで共有サーバーを起動する

    ホームラボのマシンかLAN内のホストを選びます。ループバック以外にバインドするサーバーには、ベアラートークンとホストの許可リストの両方が必要です。許可リストには、各マシンがサーバーへの接続に使う名前やIPをすべて入れます。

    サーバー上で
    TOKEN=$(ai-memory generate-auth-token)
    docker run -d --name ai-memory \
        --restart unless-stopped \
        -p 0.0.0.0:49374:49374 \
        -v ai-memory-data:/data \
        -e AI_MEMORY_AUTH_TOKEN="$TOKEN" \
        -e AI_MEMORY_ALLOWED_HOSTS="<server-ip>,localhost,127.0.0.1" \
        akitaonrails/ai-memory:latest
    
  2. メンバーを作成する

    rootトークンをexportした状態で実行します。一時パスワードは1回だけ表示され、本人が初回ログイン時に変更します。このコマンドはAPIキーを発行しません。[auth]のroot識別情報についてはユーザーガイドで説明しています。

    ターミナル
    ai-memory user add-human --username alice --email alice@home --name "Alice Smith"
    
  3. 各メンバーにAPIキーを渡す

    aim_のシークレットは1回だけ表示されます。ai-memory api-key rotate <id>ai-memory api-key revoke <id>は即座に反映されます。

    ターミナル
    ai-memory api-key add --username alice --label codex-laptop
    
  4. 各マシンをサーバーに向ける

    各メンバーは自分のキーをトークンとして使います。キーはデータディレクトリ内の0600のファイルに保存され、フックのコマンドラインには現れません。--as-userはインストールにラベルを付けるだけです。

    すべてのノートPCで
    # ここでのTOKENは本人のaim_キー。rootトークンではない
    export AI_MEMORY_SERVER_URL="http://<server-ip>:49374"
    export AI_MEMORY_AUTH_TOKEN="$TOKEN"
    
    ai-memory install-mcp   --client claude-code --apply
    ai-memory install-hooks --apply --agent claude-code \
        --as-user alice --auth-token aim_XGq...<secret>
    
  5. LANの外に出す前にTLSを追加する

    ベアラートークンはリクエストを認証しますが、暗号化はしません。素のHTTPではキーもWebのCookieも平文で流れます。アカウントを作成したあとや、サーバーが手元のネットワークの外から届くようになったら、Caddy、nginx、Cloudflare Tunnelのいずれかを前段に置いてください

どこかの手順で詰まりましたか?

GitHubのインストールクックブックに、エージェントごとのコマンド、リモートサーバー、Windowsの手順があります。Issueトラッカーも開いています。