メインコンテンツまでスキップ

設定リファレンス

@metatell/bot-sdkの接続設定と、公式サンプルで使う環境変数をまとめます。

SDKのオプションとサンプル固有の環境変数は別の設定です。 環境変数の名前や読み込み方はアプリケーション側で決められるため、利用するサンプルの.env.exampleも確認してください。

createMetatellClientのオプション

import { createMetatellClient } from "@metatell/bot-sdk";

const client = createMetatellClient({
serverUrl: "wss://metatell.app",
roomId: "YOUR_ROOM_ID",
authToken: process.env.METATELL_AUTH_TOKEN,
username: "GuideBot",
debug: false,
});
オプション必須説明既定値
serverUrl必須接続先のWebSocket URLです。なし
roomId必須入室するルームのIDです。なし
authToken任意入室時に送るOIDCアクセストークンです。なし
username任意ルーム内に表示するボット名です。MetatellBot
avatarId任意使用するアバターのIDです。組織のアバターから解決
avatarSrc任意組織アバターを使う場合に送るGLTFのURLです。なし
defaultAvatarId任意アバターを解決できない場合に使うIDです。default
debug任意SDKのデバッグログを有効にします。false

serverUrlまたはroomIdが空の場合、クライアントを作成できません。 認証が必要なルームではauthTokenを指定してください。

警告

アクセストークンやAPIキーをソースコードへ直接書かないでください。 .envはバージョン管理から除外し、本番環境ではシークレット管理機能を利用してください。

ルームURLから接続情報を作る

CLIと公式サンプルの多くは、https://metatell.app/<room-id>形式のURLを受け取ります。 独自の起動処理を作る場合は、URLからルームIDを取り出し、接続先に対応するWebSocket URLと組み合わせてください。

公式サンプルの環境変数

次の表は、公式リポジトリ内のサンプルで使われる主な環境変数です。 すべてのボットへ一括で設定するものではありません。

metatellへの接続

環境変数使用例説明
METATELL_ROOM_URLbt-bot入室先のルームURLです。起動引数で渡せるサンプルもあります。
METATELL_AUTH_TOKENbt-bot認証が必要なルームへ入るためのOIDCアクセストークンです。
METATELL_USERNAMEvoice-botvoice-ai-botspeech-to-speech-botボットの表示名です。
METATELL_REALTIME_URLbt-botなど標準環境以外で音声接続先を明示するときに使うLiveKit URLです。

LLMと外部サービス

環境変数使用例説明
LLM_API_KEYbt-botOpenAI互換チャットAPIのキーです。
LLM_BASE_URLbt-botOpenAI互換APIまたは中継プロキシのベースURLです。
LLM_MODELbt-bot利用するモデル名です。
GEMINI_API_KEYvoice-ai-botspeech-to-speech-botGemini APIのキーです。
DIFY_API_URLdify-botspeech-to-speech-botDify APIのベースURLです。
DIFY_API_KEYdify-botspeech-to-speech-botDify APIのキーです。
DIFY_APP_IDdify-botspeech-to-speech-botDifyアプリのIDです。
GOOGLE_APPLICATION_CREDENTIALSbt-botspeech-to-speech-botGoogle CloudサービスアカウントJSONのパスです。
STT_LANGUAGE_CODEbt-botSpeech-to-Textの認識言語です。
TTS_LANGUAGE_CODEbt-botText-to-Speechの発話言語です。
TTS_VOICE_NAMEbt-botText-to-Speechで使う音声名です。

運用設定

環境変数使用例説明
OPERATOR_SESSION_IDSbt-bot/killallを実行できる運営の接続セッションIDをカンマ区切りで指定します。

セッションIDはアカウントIDではなく、接続状況によって変わる可能性があります。 値が変わった場合は設定を更新してボットを再起動してください。