0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AnyModelBot を Docker でローカル/自宅サーバーに立てて、長期記憶の Markdown ファイルを中身まで確認する

0
Last updated at Posted at 2026-10-31

概要

AnyModelBot(MIT ライセンスの OSS、Node.js + TypeScript 製)を Docker で起動し、以下を確認した手順のメモです。

  • 公式イメージ ghcr.io/modelflare-ai/anymodel-bot での起動(x64 / arm64)
  • 管理画面のアクセストークンの取り出し方
  • 初回セットアップでの API キー入力と、モデルの切り替え
  • 環境変数での設定(docker run --env-file)
  • 長期記憶(Markdown)がボリュームのどこに保存されるか、どう中身を見るか

記載内容はすべてリポジトリの README・Dockerfile・.env.example・docs/privacy.md・docs/development.md に基づいています。

前提環境

  • Docker が動く Linux / macOS / Windows、または NAS・サーバー
  • モデル呼び出し用の Modelflare アカウント(従量課金。Docker 環境ではブラウザログインのコールバックを受けられないため、API キーを貼り付ける方式になります)

参考までに、デスクトップ用インストーラー(Windows .exe / macOS .dmg / Linux .AppImage)も Releases にあり、こちらは初回起動時にブラウザで Modelflare にログインするだけでキーのコピーは不要です。本記事は Docker 版を扱います。

手順

1. コンテナを起動する

docker run -d --name amb -p 3600:3600 -v amb-data:/data ghcr.io/modelflare-ai/anymodel-bot

Dockerfile を見ると、コンテナ内では次の値が設定されています。

ENV NODE_ENV=production \
    AMB_DATA_DIR=/data \
    AMB_UI_HOST=0.0.0.0 \
    AMB_UI_PORT=3600
VOLUME ["/data"]
EXPOSE 3600

データ(SQLite、記憶、設定、ゲートウェイの設定など)はすべて /data に入るので、名前付きボリューム amb-data を必ずマウントしておきます。

2. 管理画面のトークンを取り出してアクセスする

AMB_UI_HOST がループバック以外(0.0.0.0)の場合はトークン認証が強制されます。トークンはデータディレクトリの ui-token にあります。

docker exec amb cat /data/ui-token

ブラウザで http://<ホスト>:3600/?token=<トークン> を開きます。

3. API キーを登録する

Docker やリモート環境では、初回画面が API キー入力欄になります。Modelflare で発行したキーを貼り付けると、GET https://modelflare.dev/v1/models で検証されます。

キーはバンドルされたゲートウェイ(magpie)の隔離された設定(magpie/config/)に保存され、コマンドライン引数やログには出ず、フロントエンドには末尾の数文字だけが渡る、と docs/development.md に書かれています。

4. モデルを選ぶ・切り替える

キー登録後、利用可能なモデルが一覧に出ます。各モデルにはコンテキスト長・機能・参考価格が表示されます。

  • 会話ごとに入力欄横のモデルボタンから切り替え
  • ボットごとにデフォルトモデルを設定
  • 記憶整理などのバックグラウンド処理に別モデルを指定

デフォルトモデルは環境変数でも指定できます(後述)。

5. (任意)環境変数で設定する

.env.example をコピーして docker run --env-file で渡します。プログラム自身は .env を自動では読まない点に注意してください。環境変数は <データディレクトリ>/config.json より優先されます。

# .env の例(.env.example から抜粋。すべて任意)
AMB_DEFAULT_MODEL=openai/gpt-5.6-sol
AMB_CONTEXT_MESSAGES=40
AMB_CONTEXT_CHARS=24000
AMB_LANG=zh-CN        # zh-CN | en
AMB_LOG_LEVEL=info    # debug|info|warn|error
docker rm -f amb
docker run -d --name amb -p 3600:3600 -v amb-data:/data --env-file .env ghcr.io/modelflare-ai/anymodel-bot

ボリュームはそのままなので、登録済みのキーや記憶は引き継がれます。

動作確認

長期記憶の Markdown を見る

記憶は 3 層(ボット / グループ / チーム)で、src/agent/memory.ts のコメントによると次の構成です。

/data/memory/bots/<botId>/MEMORY.md
/data/memory/bots/<botId>/topics/<topic>.md
/data/memory/groups/<groupKey>/…
/data/memory/team/…
/data/memory/journal.jsonl   # 変更ごとに 1 行(誰が・いつ・どのファイルに・何を追加/削除したか)

チャットで何か覚えさせてから、中身を確認します。

docker exec amb ls -R /data/memory
docker exec amb sh -c 'cat /data/memory/bots/*/MEMORY.md'
docker exec amb tail -n 5 /data/memory/journal.jsonl

ただの Markdown なので、grep で検索したり、バックアップしたりが容易です。なお、書き込み前にシークレットらしき文字列はフィルタされる仕様です。

デスクトップ版の場合のデータディレクトリは以下です(docs/privacy.md より)。

実行方法 データディレクトリ
Windows %APPDATA%\anymodel bot\data
macOS ~/Library/Application Support/anymodel bot/data
Linux ~/.config/anymodel bot/data
npm start ./data(AMB_DATA_DIR で変更可)

ハマりどころ・注意点

  • 3600 番ポートをインターネットに直接公開しない。 README で明示されています。外から使うなら VPN やリバースプロキシ+認証を挟みます。
  • .env は自動で読まれない。 --env-file を付け忘れると反映されません。
  • Docker 版はブラウザログイン不可。 初回は API キー入力になります。
  • データは記憶に限らずボリュームに入る。 完全に消すときは docker rm -f amb && docker volume rm amb-data。
  • モデルへのリクエストは端末外に出る。 会話・記憶・ファイルはローカル保存ですが、モデルに渡すプロンプトや使われた記憶は Modelflare 経由で選んだプロバイダーに送られ、Modelflare 側にリクエストログが残ります(docs/privacy.md)。
  • 自前ビルドする場合はサブモジュールが必要。 git submodule update --init --depth 1 vendor/magpie の後に docker build -t anymodel-bot .。
  • 補足:スマホアプリはなく、PC かサーバーで常時動かす前提です。PC 操作機能は macOS では Beta。飛書(Feishu)連携は個別チャットのみです。

まとめ

  • docker run 1 行+ui-token の取り出しで管理画面まで到達できる
  • Docker 版は API キー貼り付けで初期設定し、モデルは会話単位・ボット単位で切り替え可能
  • 長期記憶は /data/memory 以下の素の Markdown と journal.jsonl なので、docker exec で中身も変更履歴も追える

筆者は AnyModelBot の共同開発者です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?