【後編】Clawdbot実践ガイド:WSL2インストールからSlack連携まで完全攻略

2026-01-31 | AI・自動化

【後編】Clawdbot実践ガイド:WSL2インストールからSlack連携まで完全攻略

この記事をシェア

📖 この記事は前編の続きです
まだ読んでいない方は、先に【前編】Clawdbot完全ガイドをご覧ください。
実際にやってみたら想像以上にハマった。この記事を先に読んでいれば、あの2時間は節約できたのに。

はじめに:この記事で解決すること

前編ではClawdbotの概要と機能を紹介した。後編では、実際に動かすまでの全手順を、コマンドと設定ファイルを中心に解説する。

特にSlack連携は罠が多い。結論から言うと、Slack連携の設定はマニフェストを使えば一発だが、手動でやると地獄を見る。この記事を読めば、その地獄を回避できるはずだ。

動作環境

今回検証した環境は以下の通り。特別なスペックは必要ない。

項目 内容
PC ThinkPad X1 Carbon 2018
OS Windows 10/11 + WSL2 (Ubuntu)
Node.js v22(nvm経由)
シェル bash
RAM 2GB以上推奨

Clawdbotの要件はNode.js 22以上なので、最新のLTS版であれば問題ない。

Step 1: WSL2の準備

WSL2の有効化(初回のみ)

まだWSL2を有効化していない場合は、PowerShellを管理者権限で開いて以下を実行する。

wsl --install

再起動を求められたら再起動する。

WSL2の起動

すでにWSL2が入っている人は、Ubuntuを起動するだけでOK。

wsl

システムの更新

Ubuntuのターミナルが開いたら、まずシステムを最新にしておこう。

sudo apt update && sudo apt upgrade -y
💡 Windows Terminalを使おう
WSLのデフォルトターミナルだと日本語が文字化けすることがある。Windows Terminalを使うと解決する。Microsoft Storeから無料でインストールでき、WSL2との相性も抜群だ。
https://aka.ms/terminal

Step 2: Node.jsのインストール(nvm経由)

Clawdbotの実行にはNode.jsが必要だ。バージョン管理ができるnvmを使うのがおすすめ。

nvmのインストール

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

インストール後、ターミナルを再起動するか、以下を実行して反映させる。

source ~/.bashrc

Node.js v22のインストール

nvm install 22
nvm use 22

バージョン確認

node -v
# v22.21.1

npm -v
# 10.x.x

正しくバージョンが表示されればOK。

Step 3: Clawdbotのインストール

npmでグローバルインストールする。一行で終わる。

npm install -g clawdbot

バージョン確認

clawdbot --version
# v2025.1.29 など

Step 4: 初期セットアップ(onboard)

Clawdbotには対話式のセットアップコマンドが用意されている。

clawdbot onboard

このコマンドを実行すると、以下を順番に設定していく。

設定項目

  1. Anthropic APIキーの設定
  2. デフォルトモデルの選択
    • Claude Sonnet 4(バランス型・推奨)
    • Claude Opus 4(高性能・高コスト)
    • Claude Haiku(軽量・低コスト)
  3. 基本設定の生成
    • 設定ファイルが ~/.config/clawdbot/ に自動生成される
⚠️ APIキーを持っていない場合
先にAnthropicのアカウントを作成してAPIキーを発行しておこう。無料枠もあるので、まずは試してみることができる。
https://console.anthropic.com/

Step 5: ゲートウェイの起動とCLIチャット

Slack連携の前に、CLIでClawdbotが動作することを確認する。

ゲートウェイの起動

clawdbot gateway start

ゲートウェイはClawdbotのバックエンドプロセスで、各チャネル(Slack、CLI等)からのメッセージを処理する。

CLIでチャットしてみる

clawdbot chat

ターミナル上でClaudeと会話できる。

You: こんにちは!
Claude: こんにちは!何かお手伝いできることはありますか?

ここで正常に応答が返ってくれば、APIキーの設定はOKだ。Ctrl+Cで抜ける。

Step 6: Slackアプリの作成(⚠️ ここが最大の山場)

ここからがこの記事の本題であり、最もつまづきやすいパートだ。

作成方法の比較

方法 難易度 所要時間 おすすめ度
手動で一つずつ設定 ★★★★★ 1〜2時間
マニフェストから作成 ★☆☆☆☆ 5分 ✅✅✅

結論: マニフェストを使え。 理由は後述するが、手動設定は罠だらけだ。

マニフェストからSlackアプリを作成する手順

  1. https://api.slack.com/apps にアクセス
  2. 「Create New App」 をクリック
  3. 「From a manifest」 を選択
    • ⚠️ 「From scratch」を選ばない! ここが最重要ポイント
  4. ワークスペースを選択
  5. JSON形式を選択し、以下のマニフェストを貼り付ける

Slackアプリマニフェスト(そのままコピペ可)

{
  "display_information": {
    "name": "cbot"
  },
  "features": {
    "bot_user": {
      "display_name": "cbot",
      "always_online": false
    },
    "app_home": {
      "messages_tab_enabled": true,
      "messages_tab_read_only_enabled": false
    }
  },
  "oauth_config": {
    "scopes": {
      "bot": [
        "chat:write",
        "channels:history",
        "channels:read",
        "groups:history",
        "groups:read",
        "groups:write",
        "im:history",
        "im:read",
        "im:write",
        "mpim:history",
        "mpim:read",
        "mpim:write",
        "users:read",
        "app_mentions:read",
        "reactions:read",
        "reactions:write",
        "pins:read",
        "pins:write",
        "emoji:read",
        "commands",
        "files:read",
        "files:write"
      ]
    }
  },
  "settings": {
    "socket_mode_enabled": true,
    "event_subscriptions": {
      "bot_events": [
        "app_mention",
        "message.channels",
        "message.groups",
        "message.im",
        "message.mpim",
        "reaction_added",
        "reaction_removed",
        "member_joined_channel",
        "member_left_channel",
        "channel_rename",
        "pin_added",
        "pin_removed"
      ]
    }
  }
}
  1. 「Create」 をクリック

これだけで、必要なスコープ・イベント・Socket Mode・App Homeの設定がすべて一括で完了する。手動だと10箇所以上の設定画面を行き来する必要があるものが、JSON一発で終わる。

Step 7: トークンの取得

アプリを作成したら、2つのトークンを取得する。この2つを混同すると動かないので注意。

7-1. App-Level Token(xapp-...)の取得

Socket Mode接続に必要なトークン。

  1. Slackアプリの設定画面で 「Basic Information」 に移動
  2. 「App-Level Tokens」セクションで 「Generate Token and Scopes」 をクリック
  3. トークン名を入力(例: clawdbot-socket
  4. スコープに connections:write を追加
  5. 「Generate」 をクリック
  6. 表示された xapp-1-... で始まるトークンをコピー

7-2. Bot User OAuth Token(xoxb-...)の取得

APIリクエストに必要なトークン。

  1. 左メニューから 「OAuth & Permissions」 に移動
  2. 「Install to Workspace」 をクリック
  3. 権限を確認して 「許可する」 をクリック
  4. 表示された xoxb-... で始まる Bot User OAuth Token をコピー

トークンの役割まとめ

トークン プレフィックス 用途
App-Level Token xapp-1-... Socket Mode接続(WebSocket)
Bot User OAuth Token xoxb-... Slack APIリクエスト
⚠️ 2つのトークンを混同しないこと
役割が違うので、設定時に取り違えるとエラーになる。

Step 8: ClawdbotにSlack設定を追加

取得したトークンをClawdbotに設定する。方法は2つある。

方法A: 設定ファイルに直接書く

設定ファイルの場所: ~/.config/clawdbot/config.json

# 設定ファイルを編集
nano ~/.config/clawdbot/config.json

以下の内容を追加(既存の設定がある場合はマージ):

{
  "channels": {
    "slack": {
      "enabled": true,
      "appToken": "xapp-1-XXXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "botToken": "xoxb-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX"
    }
  }
}

方法B: 環境変数で設定(推奨)

トークンを設定ファイルに直書きしたくない場合は、環境変数でも設定できる。

export SLACK_APP_TOKEN="xapp-1-XXXXXXXXXXXX-..."
export SLACK_BOT_TOKEN="xoxb-XXXXXXXXXXXX-..."

環境変数の永続化

.bashrc に追記して永続化する。

# .bashrcに追記
echo 'export SLACK_APP_TOKEN="xapp-1-XXXXXXXXXXXX-..."' >> ~/.bashrc
echo 'export SLACK_BOT_TOKEN="xoxb-XXXXXXXXXXXX-..."' >> ~/.bashrc

# 反映
source ~/.bashrc
💡 セキュリティのヒント
  • トークンをGitリポジトリに含めないよう注意
  • .bashrc に書く場合も、そのファイルの管理には気をつける
  • 本格運用するなら、1Passwordなどのシークレットマネージャーとの連携も検討

Step 9: ゲートウェイの再起動と動作確認

設定を反映するためにゲートウェイを再起動する。

ゲートウェイの再起動

clawdbot gateway restart

ステータス確認

# 基本ステータス
clawdbot status

# 詳細ステータス
clawdbot status --deep

ログ確認

clawdbot logs

Slack接続が成功していれば、ログに Slack connected のようなメッセージが表示される。

Step 10: ペアリングの承認

Slackアプリが正常に接続されたら、Slack上でbotにDMを送ってみよう。

ペアリング手順

  1. Slackで作成したbot(例: cbot)を検索してDMを開く
  2. 何かメッセージを送る(例: 「こんにちは」)
  3. ペアリングコードが表示される(初回のみ)
  4. WSL2のターミナルでペアリングを承認する
clawdbot pairing approve slack <表示されたコード>

承認後の確認

承認が完了すると、Slack経由でClaudeと会話できるようになる! 🎉

あなた: 今日の天気を教えて
cbot: 申し訳ありませんが、私はリアルタイムの天気情報にアクセスする機能を持っていません。
      天気を確認するには、天気アプリやウェブサイトをご利用ください。
      他にお手伝いできることはありますか?

🔥 トラブルシューティング集

ここからがこの記事で一番伝えたいことだ。実際にハマったトラブルを、症状・原因・解決策のセットで紹介する。

トラブル1: Event Subscriptionsが無効だった

症状: Slack接続は成功しているのに、botにDMを送っても一切反応がない。

原因: 手動設定で「Event Subscriptions」のトグルをONにし忘れていた。さらに厄介なのは、ONにした後に「Save Changes」を押さないと反映されないこと。

解決策:

  1. Slackアプリ設定 → 「Event Subscriptions」を開く
  2. 右上のトグルが ON になっていることを確認
  3. 「Subscribe to bot events」にイベントが登録されていることを確認
  4. ページ下部の「Save Changes」を必ずクリック
⚠️ Slack の設定画面は、変更しても自動保存されない。
必ず「Save Changes」ボタンを押すこと。これで30分は無駄にした。

トラブル2: Botトークンのスコープ不足

症状: Slackのエラーで missing_scope が返る。

原因: 手動設定だと、必要なスコープを一つずつ追加する必要がある。「これは要らないかな」と思ってスキップしたスコープが、実は必須だったりする。

確認方法: Slack APIを直接叩いて、現在のスコープを確認できる。

curl -s -H "Authorization: Bearer xoxb-YOUR-BOT-TOKEN" \
  "https://slack.com/api/conversations.list?types=im&limit=10" | jq .

エラーレスポンスの例:

{
  "ok": false,
  "error": "missing_scope",
  "needed": "channels:read",
  "provided": "app_mentions:read,im:history"
}

この例だと channels:read が足りていない。

解決策: 足りないスコープを一つずつ追加するのは非効率。マニフェストから作り直すのが最も確実。

トラブル3: ソケットは繋がるのにイベントが届かない

症状: clawdbot logs を見ると、Socket Modeの接続自体は成功している。しかし、Slackでメッセージを送っても、ログにイベント受信の痕跡がまったくない。

原因: Event Subscriptionsの「Subscribe to bot events」にイベントが一つも登録されていなかった。特に message.im(DMのメッセージイベント)が未登録だと、botにDMを送っても何も起きない。

確認方法:

  1. Slackアプリ設定 → 「Event Subscriptions」を開く
  2. 「Subscribe to bot events」セクションを確認
  3. 以下のイベントが登録されているか確認する

必須イベント一覧:

イベント 用途
message.im DMを受信するために絶対必要
message.channels チャンネルでのメンション対応
message.groups プライベートチャンネル対応
message.mpim グループDM対応
app_mention @メンション検知

推奨イベント:

イベント 用途
reaction_added リアクション追加検知
reaction_removed リアクション削除検知
member_joined_channel メンバー参加検知
member_left_channel メンバー退出検知
channel_rename チャンネル名変更検知
pin_added ピン追加検知
pin_removed ピン削除検知

解決策: やはりマニフェスト。手動だとこの「bot eventsの登録」を見落としやすい。

トラブル4: 手動設定の罠 → マニフェストで一発解決

症状: 上記のトラブル1〜3が複合的に発生。一つ直してもまた別の問題が出て、モグラ叩き状態に。

やったこと:

  1. 手動で作成したSlackアプリを削除
  2. https://api.slack.com/apps で「Create New App」→「From a manifest」を選択
  3. 前述のJSONマニフェストを貼り付けて作成
  4. App-Level TokenとBot Tokenを再取得
  5. Clawdbotの設定を更新してゲートウェイ再起動
# 設定を更新した後
clawdbot gateway restart

# 状態を確認
clawdbot status --deep

結果: 一発で動いた。

手動設定で1〜2時間格闘していたのが嘘のように、マニフェストなら5分で完了した。

📌 教訓: 最初からマニフェストを使うべし。
手動設定は学習にはなるが、実用的にはマニフェスト一択。
特にSlack APIに不慣れな人は、絶対にマニフェストから始めるべきだ。

コマンドリファレンス

Clawdbotの主要コマンドをまとめる。

ゲートウェイ操作

# ゲートウェイの起動
clawdbot gateway start

# ゲートウェイの停止
clawdbot gateway stop

# ゲートウェイの再起動
clawdbot gateway restart

# ゲートウェイのステータス確認
clawdbot gateway status

状態確認

# 基本ステータス
clawdbot status

# 詳細ステータス(接続チャネル、設定内容等)
clawdbot status --deep

# ログ表示
clawdbot logs

# ログをリアルタイム表示
clawdbot logs -f

チャット

# CLIでチャット
clawdbot chat

# 特定のセッションでチャット
clawdbot chat --session <session_id>

ペアリング

# ペアリングリクエストの一覧
clawdbot pairing list

# ペアリングの承認
clawdbot pairing approve <channel> <code>

# ペアリングの拒否
clawdbot pairing reject <channel> <code>

セキュリティ

# セキュリティ監査
clawdbot security audit

# システム診断
clawdbot doctor

設定

# 初期セットアップ
clawdbot onboard

# 設定の確認
clawdbot config show

# 設定ファイルの場所
# ~/.config/clawdbot/config.json

設定ファイルリファレンス

設定ファイルの場所

~/.config/clawdbot/config.json

基本構造

{
  "ai": {
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514",
    "apiKey": "sk-ant-api03-..."
  },
  "channels": {
    "slack": {
      "enabled": true,
      "appToken": "xapp-1-...",
      "botToken": "xoxb-..."
    },
    "discord": {
      "enabled": false,
      "botToken": ""
    }
  },
  "security": {
    "dmPolicy": "pairing",
    "allowlist": []
  },
  "tools": {
    "shell": {
      "enabled": true,
      "sandbox": false
    },
    "browser": {
      "enabled": true
    },
    "filesystem": {
      "access": "rw",
      "workspace": "~/"
    }
  }
}

主要設定項目

セクション キー 説明
ai.provider string AIプロバイダー(anthropic, openai, google等)
ai.model string 使用するモデル名
ai.apiKey string APIキー
channels.slack.enabled boolean Slack連携の有効/無効
channels.slack.appToken string App-Level Token
channels.slack.botToken string Bot User OAuth Token
security.dmPolicy string DMポリシー(pairing, allowlist, open, disabled)
tools.shell.sandbox boolean サンドボックスモードの有効/無効
tools.filesystem.access string ファイルシステムアクセス(none, ro, rw)

動作確認チェックリスト

すべての設定が完了したら、以下のチェックリストで確認しよう。

CLI確認

# 1. ゲートウェイが起動しているか
clawdbot gateway status

# 2. 全体ステータスの確認
clawdbot status

# 3. 詳細ヘルスチェック
clawdbot status --deep

# 4. ログにエラーがないか
clawdbot logs

Slack側の確認

  • ☐ botにDMを送って返答があるか
  • ☐ チャンネルで@メンションして反応するか
  • ☐ ペアリングが承認されているか

おまけ: WSL2ならではの便利な使い方

OneDrive経由でWindowsファイルにアクセス

WSL2からは /mnt/c/ 経由でWindowsのファイルシステムにアクセスできる。OneDriveのフォルダも例外ではない。

# OneDriveのドキュメントフォルダにアクセス
ls "/mnt/c/Users/ユーザー名/OneDrive/ドキュメント/"

つまり、Clawdbotに「OneDrive上のExcelファイルを読んで」と頼むことも可能だ。

PythonでExcelを処理する例

# Python環境のセットアップ
pip install openpyxl xlrd
# PythonでExcelを読む例
import openpyxl

wb = openpyxl.load_workbook('/mnt/c/Users/ユーザー名/OneDrive/ドキュメント/data.xlsx')
ws = wb.active
for row in ws.iter_rows(values_only=True):
    print(row)

SlackからClawdbotに「このExcelの売上データを集計して」と頼めば、WSL2上のPythonを使って処理してくれる。

⚠️ パフォーマンスに注意
/mnt/c/ 経由のファイルアクセスは遅い。頻繁にアクセスするファイルは、WSL2のネイティブファイルシステム(~/以下)にコピーしてから処理するのがおすすめ。

バックグラウンド実行(tmux使用)

WSL2のターミナルを閉じるとClawdbotも止まってしまう。常時稼働させたい場合は、tmuxscreenを使う。

# tmuxのインストール
sudo apt install tmux

# セッションを作成
tmux new -s clawdbot

# セッション内でゲートウェイを起動
clawdbot gateway start

# セッションからデタッチ(Ctrl+B → D)
# これでターミナルを閉じてもClawdbotは動き続ける

# 再接続したい場合
tmux attach -t clawdbot

systemdでの自動起動(上級者向け)

WSL2でsystemdが有効な場合、サービスとして登録することも可能。

# /etc/systemd/system/clawdbot.service
[Unit]
Description=Clawdbot Gateway
After=network.target

[Service]
Type=simple
User=your_username
ExecStart=/home/your_username/.nvm/versions/node/v22.21.1/bin/clawdbot gateway start
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
# サービスの有効化
sudo systemctl enable clawdbot
sudo systemctl start clawdbot

最短手順まとめ

最後に、この記事の内容を最短手順にまとめる。余計な回り道をしないルートだ。

# ====================================
# Step 1-2: Node.jsのインストール
# ====================================
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install 22

# ====================================
# Step 3: Clawdbotのインストール
# ====================================
npm install -g clawdbot

# ====================================
# Step 4: 初期セットアップ
# ====================================
clawdbot onboard
# → Anthropic APIキーを入力
# → モデルを選択(Claude Sonnet 4推奨)

# ====================================
# Step 5: CLIで動作確認
# ====================================
clawdbot gateway start
clawdbot chat
# → Claudeと会話できることを確認したらCtrl+Cで抜ける

# ====================================
# Step 6: Slackアプリを作成
# ====================================
# 1. https://api.slack.com/apps にアクセス
# 2. 「Create New App」→「From a manifest」を選択(←重要!)
# 3. マニフェストJSONを貼り付けて作成
# 4. App-Level Token (xapp-...) を取得
# 5. Bot User OAuth Token (xoxb-...) を取得

# ====================================
# Step 7-8: トークンを設定
# ====================================
export SLACK_APP_TOKEN="xapp-..."
export SLACK_BOT_TOKEN="xoxb-..."

# .bashrcに永続化
echo 'export SLACK_APP_TOKEN="xapp-..."' >> ~/.bashrc
echo 'export SLACK_BOT_TOKEN="xoxb-..."' >> ~/.bashrc

# ====================================
# Step 9: ゲートウェイ再起動
# ====================================
clawdbot gateway restart
clawdbot status --deep

# ====================================
# Step 10: ペアリング承認
# ====================================
# SlackでbotにDMを送り、表示されたコードを使って承認
clawdbot pairing approve slack <コード>

# ====================================
# 🎉 完了!Slackで会話できるようになる
# ====================================

最重要ポイント3つ

  1. Slackアプリは「From a manifest」で作れ。 手動設定は罠が多すぎる。
  2. 2つのトークン(xapp- と xoxb-)を間違えるな。 役割が違う。
  3. 設定を変えたら「Save Changes」を押せ。 Slackの設定画面は自動保存されない。

この3つさえ守れば、30分以内にWSL2上のClawdbot × Slack環境が構築できるはずだ。

参考リンク

リソース URL
Clawdbot 公式リポジトリ github.com/clawdbot/clawdbot
公式ドキュメント docs.molt.bot
Windows (WSL2) ドキュメント docs.molt.bot/platforms/windows
Slack API - Your Apps api.slack.com/apps
Anthropic Console(APIキー取得) console.anthropic.com
nvm - Node Version Manager github.com/nvm-sh/nvm
Windows Terminal aka.ms/terminal

おわりに

Clawdbotは、単なるチャットボットを超えた「実際に動くAIアシスタント」だ。Slack連携さえ乗り越えれば、日常のタスク自動化において強力なパートナーになってくれる。

この記事で紹介したトラブルシューティングが、あなたの時間を節約する助けになれば幸いだ。

質問やフィードバックがあれば、ぜひコメントで教えてほしい。

この記事は、WSL2 (Ubuntu) + Node.js v22 + ThinkPad X1 Carbon 2018 の環境で検証しました。
最終更新: 2026年1月

この記事が役に立ったらシェアしてください

Clawdbot導入で困っている方に届けば幸いです

カテゴリ

AI・自動化

公開日

2026-01-31

お気軽にご相談ください

記事に関するご質問や、AI・IT技術導入のご相談など、お気軽にお問い合わせください。