Featured image of post OpenClawの設定備忘録

OpenClawの設定備忘録

目次

背景

  • 最近はローカルDevサーバーでOpenClawを使っている
  • サーバーはubuntu serverで、discordとcodexを使う
  • 便利だが複数回セットアップするのが大変なのでメモを残す
  • 簡単に設定するため、Adminなど権限過多になっているので注意

Discord

Discordの設定

  • Discord > Advanced > Developer Mode: ON

Discordのサーバーの作成

  • Discord > Navibar > Create My Own > For me and my friends
  • channelはprivateにした

DiscordのBotの作成

  • Discord Developer Portal で New Application を作成
  • Bot
    • usernameとiconの設定をする
    • 後々ここのtokenを取得する
  • Privileged Gateway Intents ですべての項目をON にして保存(以下など)
    • Message Content Intent
    • Server Members Intent
    • Presence Intent
  • 自分のServerにインストール
    • OAuth2 -> URL Generator で Scopeはbot > PermissionはAdministrator を選択
    • Guild Installを選択
    • 生成された URL をブラウザに貼り付け、自分のサーバーに Bot を招待

Priviledge Gateway Intentsのおすすめ

オプション推奨設定説明
Public Botオフオフにすると、あなた(Application Owner)のみがBotをサーバーに招待可能。他者が無断でAI Botを別サーバーに追加するのを防止
Requires OAuth2 Code GrantオフOpenClawはOAuth2認証フローが不要なため、オフのまま
Message Content Intentオン必ず有効化。有効でなければBotがメッセージ内容を読み取れない
Server Members Intent必要に応じて有効化エージェントがメンバー情報のクエリやロール権限チェックを必要とする場合に有効化
Presence Intentオフエージェントがメンバーのオンライン/オフライン状態を検知する必要がない限りオフにし、リソースを節約

OpenClaw

OpenClawのInstall

これはNixで入れたので割愛。

OpenClawの設定

SSH先でOAuthを開くので、openai codex用にsshのポートフォワードをセットアップする。

1
ssh dev -L 1455:localhost:1455

oepnclawの設定:

  • openclaw onboard
  • Risk Acknowledgement: リスクについての確認。y
  • Onboarding mode: QuickStart
  • Model/auth provider: とりあえずCodex
  • API キーの入力や、OAuth によるブラウザ認証(Google Antigravity OAuth など)を行う
  • Channel Setup: ここで Discord を選択
  • 取得した Discord Bot Token を入力
    • これはDiscord Portal > Bot > Reset Tokenボタンから取れる
  • Skills/Hooks: とりあえずなし

起動確認

次のコマンドで起動確認した。systemd –userなので、user単位で動いていた。これでBotもうごくようになった。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
┌── dev ~/dotfiles (main Dirty=) py=3.12.13
└─▶ systemctl --user status openclaw-gateway.service
● openclaw-gateway.service - OpenClaw Gateway (v2026.3.12)
     Loaded: loaded (/home/mike/.config/systemd/user/openclaw-gateway.service; enabled; preset: enabled)
     Active: active (running) since Mon 2026-03-30 01:01:43 JST; 20min ago
   Main PID: 3256295 (openclaw-gatewa)
      Tasks: 11 (limit: 37720)
     Memory: 642.6M (peak: 652.9M)
        CPU: 11.726s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/openclaw-gateway.service
             └─3256295 openclaw-gateway

Mar 30 01:02:02 dev node[3256295]: 2026-03-30T01:02:02.721+09:00 [tools] read failed: ENOENT: no such file or directory, access '/home/mike/.openclaw/worksp>
Mar 30 01:02:19 dev node[3256295]: 2026-03-30T01:02:19.143+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, image). The>
Mar 30 01:03:08 dev node[3256295]: 2026-03-30T01:03:08.827+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, image). The>
Mar 30 01:03:38 dev node[3256295]: 2026-03-30T01:03:38.840+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, image). The>
Mar 30 01:07:29 dev node[3256295]: 2026-03-30T01:07:29.671+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, image). The>
Mar 30 01:08:00 dev node[3256295]: 2026-03-30T01:08:00.386+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, image). The>
Mar 30 01:13:46 dev node[3256295]: 2026-03-30T01:13:46.103+09:00 [ws] ⇄ res ✓ channels.status 516ms conn=6e689ce2…8d2d id=c0795fd5…47fa
Mar 30 01:19:27 dev node[3256295]: 2026-03-30T01:19:27.631+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, cron, image>
Mar 30 01:19:51 dev node[3256295]: 2026-03-30T01:19:51.020+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, cron, image>
Mar 30 01:20:05 dev node[3256295]: 2026-03-30T01:20:05.642+09:00 [tools] tools.profile (coding) allowlist contains unknown entries (apply_patch, cron, image>

ログ確認

1
2
3
4
5
6
7
8
└─▶ journalctl --user -u openclaw-gateway.service                                                                                                            
Mar 30 01:01:43 dev systemd[3029]: Started openclaw-gateway.service - OpenClaw Gateway (v2026.3.12).                                                         
Mar 30 01:01:44 dev node[3256295]: (node:3256295) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative inste>
Mar 30 01:01:44 dev node[3256295]: (Use `node --trace-deprecation ...` to show where the warning was created)
Mar 30 01:01:47 dev node[3256295]: 2026-03-30T01:01:47.207+09:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root /home/mike/.open>
Mar 30 01:01:47 dev node[3256295]: 2026-03-30T01:01:47.244+09:00 [heartbeat] started
Mar 30 01:01:47 dev node[3256295]: 2026-03-30T01:01:47.248+09:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
Mar 30 01:01:47 dev node[3256295]: 2026-03-30T01:01:47.252+09:00 [gateway] agent model: openai-codex/gpt-5.4

直近のみ。

1
journalctl --user -u openclaw-gateway.service -n 100 -f

clawの設定

設定ファイルは~/.openclaw/workspaceにある。

  • IDENTITY.md: AI自身のアイデンティティ(名前、性格、口調など)
  • USER.md: ユーザー(自分)に関する情報
  • MEMORY.md: 長期記憶。重要な事実や文脈がここに蓄積される
  • SOUL.md: AI の行動原理や「魂」にあたる部分。
    • このファイルは非常にユニークで、対話を通じて「実行前には必ず確認してほしい」とか「定期的にリポジトリを同期して」といったルールが追記されていく。
    • git log で履歴を見ると、AI が指導を受けて成長していく様子が分かる
  • AGENTS.md, TOOLS.md: エージェントの構成や使用可能なツールの定義

/statusのコマンドでの、You are not authorized to use this commandエラーの対策。 User > Copy User IDからUserIdをコピーする。

1
openclaw config set channels.discord.allowFrom '["YOUR_USER_ID"]'

左のNaviバーでアイコンを右クリック>ServerIDのコピー。 下のYOUR_SERVER_IDをリプレイスする。

1
2
3
openclaw config set channels.discord.groupPolicy '"allowlist"' --strict-json
openclaw config set channels.discord.guilds.YOUR_SERVER_ID.requireMention false --strict-json
openclaw config set channels.discord.guilds.YOUR_SERVER_ID.users '["YOUR_USER_ID"]' --strict-json

設定のリスタートをする。

1
openclaw gateway restart

設定の変更結果。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
  "channels": {
    "discord": {
      "enabled": true,
      "token": "xxx.xxx.xxx",
      "groupPolicy": "allowlist",
      "streaming": "off",
      "allowFrom": [
        "YOUR_USER_ID"
      ],
      "guilds": {
        "YOUR_SERVER_ID": {
          "requireMention": false,
          "users": [
            "YOUR_USER_ID"
          ]
        }
      }
    }
  },

参考文献

Built with Hugo
テーマ StackJimmy によって設計されています。