というか、AIに120分アイドルでチャンネルの自動セッションリセットをして、とお願いすれば
設定ファイルの編集をやってくれます(その方が安全?)が、一応方法をAIに聞いてみました。編集前に「openclaw.json」はバックアップしときましょう。openclawでも取っているっぽいけど。
↓
Discord経由でAI(LLM)とチャットができる便利ツール「OpenClaw」。
非常に強力でコミュニティ運用に大活躍してくれますが、実は使い方を一つ間違えると、裏で連携しているAI(OpenAIなど)のAPI料金がとんでもない金額になってしまう恐怖の罠が潜んでいます。
原因は、会話の「履歴(コンテキスト)」をAIがずっと覚え続けてしまうこと。セッションをリセットしない限り、1通メッセージを送るたびに過去のログが雪だるま式に膨らみ、APIの従量課金が跳ね上がっていきます。
このお財布大爆発を防ぐため、OpenClawのメイン設定ファイルである openclaw.json を書き換えて、セッションを自動大掃除(リセット)する2つの賢いアプローチを分かりやすく解説します!
1. 自動リセットを仕込む「2つのアプローチ」
運用スタイルに合わせて、以下のいずれか(または両方)のタイマーを設定できます。
① 放置されたら自動リセット(Idle Expiry)
特定のチャンネルに対して「最後に会話してから〇分間動きがなかったら自動リセットする」設定です。
-
実際の動き: 例えばお仕事用のチャンネルで会話が終わり、2時間以上経ってから次に誰かが話しかけたとき、自動的に過去の履歴を持たない真っ白なセッション(=格安のトークン消費)として静かにスタートします。
② 毎週〇曜日の〇時に強制リセット(Cronスケジュール)
「平日の会話はどれだけ長くなっても文脈を維持したいけれど、週末や週明けには確実に一度リセットして綺麗にしたい!」という場合におすすめの設定です。
-
実際の動き: 指定した日時(例:毎週月曜日の朝3:00)になると、裏で静かにそのチャンネルのセッションだけをピンポイントで強制大掃除してくれます。
2. openclaw.json への具体的な書き方
それでは、実際に設定ファイルを編集していきましょう。 OpenClawのインストール先にある openclaw.json をテキストエディタで開き、既存の設定の末尾にコンマ( , )を入れた上で、以下の該当するブロックを追記します。
📝 ①「放置リセット(Idle Expiry)」を追加する場合
2時間(120分)でタイムアウトさせる場合の記述です。
"session": {
"reset": {
"idleMinutes": 120
}
}
📝 ②「定期リセット(Cronスケジュール)」を追加する場合
毎週月曜日の午前3時に、特定のDiscordチャンネル(チャンネルID)のセッションをピンポイントで強制クリアするコマンドを裏で実行させる記述です。
"cron": {
"jobs": [
{
"expression": "0 3 * * 1",
"command": "gateway call sessions.reset --params '{\"key\":\"agent:main:discord:channel:【ここにチャンネルID】\"}'"
}
]
}
💡 Cron表記のポイント:
"0 3 * * 1"は、左から「分(0)」「時(3)」「日()」「月()」「曜日(1=月曜日)」を意味しています。 💡 エスケープのポイント: JSONの中でダブルクォーテーションを重ねて使う場合は、バックスラッシュ(\)をつけて\"と記述するのが正しいルールです。
⚠️ JSON書き換え時の大事な注意点!
-
最後の項目にコンマ(
,)をつけない JSONの厳格なルールとして、各階層の「一番最後の項目」の末尾にコンマを付けてはいけません。 付けてしまうと構文エラーになり、OpenClawが起動しなくなります。 -
チャンネルIDの書き換え Cron設定内の
【ここにチャンネルID】の部分は、墨括弧(【 】)ごと削除して、Discordの実際の数字のチャンネルID(18〜19桁の数字)に置き換えてください。
3. 設定を反映する(再起動)
設定ファイルを保存して閉じたら、設定をシステムに読み込ませるために、OpenClawのプロセス(DockerコンテナやNodeプロセスなど)を必ず再起動してください。
-
Docker環境の例:
docker compose restart
これで、仕込んだタイマーやスケジュールに基づいたセッションの自動大掃除が有効になります!
まとめ
OpenClawでDiscordボットを賢く運用するコツは、
ユーザーにリセットの手間を意識させないことです。`openclaw.json` にこれらの設定(`idleMinutes` や `cron`)を仕込んでおけば、メンバーはいつも通り楽しくチャットを使っているだけで、裏側ではAPI料金が最小限に抑えられるという完璧な環境が作れます。
知らず知らずのうちに高額な請求が届いて青ざめる前に、ぜひ今すぐ設定をチェックしてみてくださいね!
