はじめに
Clawdbot(クロードボット)は、1台のPCをハブにして Discord・Slack・Telegram など複数チャットを横断しながら AI エージェントを動かせる OSS のパーソナルアシスタント基盤です。
一方 Ollama(オラマ)は、Meta Llama・Mistral などのオープンウェイト LLM をローカルに簡単インストールして API 風に叩けるランタイムです。
この2つを組み合わせると、「API課金不要」「自分のPC上だけで完結」「好みのモデルを差し替え可能」な日本語を使ったAIアシスタント環境を構築できます。
この記事では、初心者でも迷わず導入できるよう、用語解説と15章構成のチュートリアルで、Clawdbot × Ollama 構成をゼロから丁寧に解説していきます。
第1章 Clawdbotとは何者か
Clawdbot は「あなた専用のAI秘書」をあらゆるOS・あらゆるプラットフォーム上で動かすための基盤で、Node.js 上で動作する OSS プロジェクトとして GitHub で開発されています。
中心に「Gateway」と呼ばれる常駐サーバがあり、そこに Discord・Slack・Telegram・WebChat など複数のチャネルからメッセージが集まり、定義したエージェントやツールにルーティングされます。
特徴的なのは、単なる「チャットボット」ではなく、Cron(定期実行)、ブラウザ操作、メール連携などの自動化機能を備えた「行動するAI」である点で、まさに個人用オートメーションハブとして使えることです。
第2章 Ollamaとは何か:ローカルLLMランタイム
Ollama は、あらかじめ用意された Llama・Mistral・GLM などのモデルをコマンド一発でダウンロードし、HTTP API として提供してくれるローカル LLM ランタイムです。
開発者は ollama run model-name や /api/chat エンドポイントを叩くだけで、OpenAI 互換に近いインターフェイスでモデルを呼び出すことができ、GPU 付きマシンなら高速に日本語対話も行えます。
Ollama のカタログには、コード補完向けモデルや長文コンテキストに強いモデルなどがあり、用途ごとにモデルを切り替えられるのが利点で、Clawdbot の「モデル設定」と非常に相性が良い構造になっています。
第3章 全体アーキテクチャを理解する
Clawdbot × Ollama の構成は、「Clawdbot Gateway」がチャットの入口、「Ollama サーバ」がLLMの入口という2層構造になります。
ユーザーからのメッセージは Discord などのチャネル経由で Clawdbot Gateway に届き、そこでエージェント設定に従って適切なモデル(この場合は Ollama 上のローカルモデル)へ問い合わせが飛びます。
Ollama 側では HTTP 経由でプロンプトを受け取り、指定モデルで推論を行い、生成テキストを Clawdbot に返却し、最終的に元のチャネル(Discord など)へ返信が流れるという流れになります。
第4章 必要環境と前提条件
Clawdbot は Node.js 22 以上が前提のため、まず Node.js ランタイムを用意し、npm または pnpm が利用可能な状態にしておきます。
Ollama は macOS / Linux / 一部のWindows環境に対応しており、GPU(NVIDIA など)があると体感的なレスポンスが大幅に向上しますが、CPU のみでも小さいモデルなら動作可能です。
また、チャット連携を行う場合は Discord Bot のトークンなど各サービスの認証情報が必要になるため、最初に「ローカルで遊ぶだけか」「Discord等に接続するか」を決めて準備しておきましょう。
第5章 Ollama のインストールとモデル準備
ここでは Linux/macOS を想定して、Ollama のインストールからモデル取得までの一連の手順を示します。
インストールとモデル取得例
# Ollama 本体のインストール(公式スクリプト例)
curl -fsSL https://ollama.com/install.sh | sh
# サービス起動(通常は自動だが、手動起動も可能)
ollama serve &
# 日本語も扱える汎用モデルの取得例(好みで変更)
ollama pull llama3.1:8b
# コード補完やツール利用向けモデル例(ブログで紹介されることが多い構成)
ollama pull glm-4.7-flash:latest
Ollama は ollama serve でバックグラウンドサーバとして動作し、http://localhost:11434 で API が待ち受けます。
Ollama の準備が整うと、任意のクライアントから /api/chat を叩くだけで会話ができるようになり、Clawdbot 側はこのエンドポイントを「外部モデル」として設定して利用します。
第6章 Clawdbot のインストールとオンボーディング
次に Clawdbot 本体をグローバルにインストールし、オンボーディングウィザードで基本設定を行います。
Clawdbot のインストールと起動
# Node.js 22+ が前提
node -v
# v22.x.x であることを確認
# Clawdbot をグローバルインストール
npm install -g clawdbot@latest
# または pnpm を利用する場合
# pnpm add -g clawdbot@latest
# 初回セットアップ(Gateway常駐サービスの構成)
clawdbot onboard --install-daemon
オンボーディングでは Gateway のポート、ワークスペース、チャネル、スキルなどを対話的に設定でき、ここで作成された設定ファイルがあとでモデルやエージェントの詳細を調整する土台になります。
ウィザード完了後は Gateway がユーザーサービスとして常駐するため、PC 起動時に自動で Clawdbot が立ち上がり、いつでもチャットから呼び出せる自分専用の AI 中枢が完成します。
第7章 Gateway 設定ファイルとモデル定義の基本
オンボーディング後、Clawdbot は内部で JSON ベースの設定ファイルを生成し、その中で「モデルの一覧」「デフォルトモデル」「モデルごとの接続情報」などが管理されます。
GitHub のドキュメントでは Models セクションに CLI からのモデル設定や OAuth/APIキーのローテーション機能が紹介されており、Ollama を使う場合はここを「HTTP 経由のローカルモデル」として記述します。
このモデル定義を丁寧に設計しておくと、「日常会話は軽量モデル」「コードレビューは大きめモデル」「要約は長文コンテキストモデル」というように、用途別に賢くモデルを切り替えられます。
第8章 Ollama モデルを Clawdbot のモデルとして登録する
ここでは例として、~/.config/clawdbot/models.ollama.json のような独立ファイルに Ollama 経由のモデル定義を書くスタイルを示します(実際のパスはオンボーディング結果に合わせて調整してください)。
Ollama 用モデル設定例(JSON)
{
"models": [
{
"id": "ollama-llama3.1-8b",
"label": "Ollama Llama3.1 8B",
"provider": "http",
"endpoint": "http://localhost:11434/v1/chat/completions",
"apiKey": null,
"protocol": "openai-compatible",
"default": true,
"params": {
"model": "llama3.1:8b",
"temperature": 0.6,
"max_tokens": 2048
}
},
{
"id": "ollama-glm4.7-flash",
"label": "Ollama GLM4.7 Flash",
"provider": "http",
"endpoint": "http://localhost:11434/v1/chat/completions",
"apiKey": null,
"protocol": "openai-compatible",
"default": false,
"params": {
"model": "glm-4.7-flash:latest",
"temperature": 0.4,
"max_tokens": 4096
}
}
]
}
ここでは、Ollama を「OpenAI 互換の HTTP エンドポイント」とみなし、Clawdbot のモデルとして protocol: "openai-compatible" のように扱うイメージを示しています。
実際の Clawdbot ではモデル設定用のセクションや CLI コマンド(clawdbot models ... など)が整備されているため、公式ドキュメントに合わせてエンドポイントとモデル名を対応させることが重要です。
第9章 エージェント(AIアシスタント)の定義
モデルが登録できたら、次は「どのモデルを使ってどんな性格・役割のアシスタントを動かすか」を定義するエージェント設定を作ります。
Clawdbot はマルチエージェントをサポートしており、それぞれのエージェントに別々のモデル・プロンプト・スキルセットを割り当てることで、「仕事用」「プログラミング用」「日記コーチ用」など用途別の人格を実現できます。
エージェント設定例(JSON)
{
"agents": [
{
"id": "dev-coder-ja",
"label": "日本語デベロッパー支援",
"model": "ollama-glm4.7-flash",
"systemPrompt": "あなたは日本語が堪能なソフトウェアエンジニアアシスタントです。常に丁寧に理由を説明し、コード例を示してください。",
"tools": ["browser", "cron"],
"session": {
"mode": "main",
"maxHistory": 50
}
},
{
"id": "daily-helper-ja",
"label": "日常アシスタント",
"model": "ollama-llama3.1-8b",
"systemPrompt": "あなたは穏やかで親しみやすい日本語アシスタントです。予定整理やアイデア出し、文章校正を手伝ってください。",
"tools": [],
"session": {
"mode": "main",
"maxHistory": 30
}
}
]
}
このようにエージェントごとにモデル ID を指定することで、Ollama 上のどのモデルを使うかを柔軟に切り替えられ、日本語のシステムプロンプトで役割やトーンを調整できます。
Clawdbot の Gateway から見ると、各チャネル(Discord など)をどのエージェントに紐づけるかだけを意識すればよく、裏側のモデル種別はすべてエージェント設定に隠蔽されます。
第10章 Discord などチャネルとの接続
日本語ユーザーに人気なのは Discord 上でローカルAIを動かす構成であり、Note 記事などでも Clawdbot + Discord + Ollama の組み合わせが詳しく解説されています。
ここでは簡略化した Discord チャネル設定例を示します(実際のトークンや権限スコープは Discord Developer Portal で取得した値をセットしてください)。
チャネル設定例(Discord)
{
"channels": [
{
"id": "discord-main",
"type": "discord",
"token": "DISCORD_BOT_TOKEN_HERE",
"allowedGuilds": ["YOUR_GUILD_ID"],
"allowedChannels": ["TEXT_CHANNEL_ID"],
"agent": "daily-helper-ja",
"presence": {
"status": "online",
"activity": "Ollama with Clawdbot"
}
}
]
}
Discord 連携では、誤爆や荒らしを防ぐために「許可ギルド」「許可チャンネル」を明示的に設定しておくことが推奨されており、Note のガイドでもこのホワイトリスト設定の重要性が強調されています。
Clawdbot を再起動して Discord Bot をサーバーに招待すると、指定チャンネルでメンションやプレフィックスコマンドを通じてローカルAIエージェントと日本語で対話できるようになります。
第11章 Clawdbot CLI でメッセージを送ってみる
チャネル連携前に Gateway と Ollama が正しく動作しているか確認するには、Clawdbot CLI の send コマンドを利用してテストメッセージを送るのが手軽です。
CLI からのテスト送信例
# デフォルトエージェント(main)に日本語で質問する例
clawdbot send --agent dev-coder-ja "こんにちは、TypeScript で簡単なHTTPサーバーを書くサンプルを教えて"
# セッションIDを指定して継続的な会話を行う例
SESSION_ID="test-session-1"
clawdbot send --agent dev-coder-ja --session "$SESSION_ID" "前のコードをExpress版に書き換えてください"
このように CLI ベースで対話しておけば、Discord など外部チャネルの設定がまだ不完全でも、Ollama モデルとの疎通確認やエージェントのプロンプト調整を安全に行えます。
レスポンスが帰ってこない場合は、Ollama サーバが起動しているか(ollama serve)、モデル名のスペルミスがないか、Gateway ログにエラーが出ていないかを順に確認していくと原因を切り分けやすくなります。
第12章 Cron・スキルで「行動するAI」にする
Clawdbot の大きな魅力は、単なるチャットではなく Cron(スケジューラ)やスキル(ツール)を用いて、時間ベースやイベントベースで自動的に処理を行える点にあります。
例えば毎朝9時にニュースを要約して Discord に投稿する、定期的に GitHub Issues をチェックしてレポートする、といったワークフローをエージェントに任せることが可能です。
Cron スキル設定の簡易例
{
"cronJobs": [
{
"id": "morning-digest",
"schedule": "0 9 * * *",
"agent": "daily-helper-ja",
"prompt": "おはようございます。今日の予定と、主要な技術ニュースを3つ日本語で簡潔にまとめてください。",
"targetChannel": "discord-main"
}
]
}
この設定により、毎日決まった時間にエージェントが自動的にプロンプトを実行し、その結果を指定チャネルへ投稿する「定時報告ボット」のような役割を果たします。
スキルとしてブラウザ操作やメール送信を組み合わせれば、ニュースサイトのスクレイピングからメールでの結果送信までを一気通貫で自働化する高度なアシスタントを構築できます。
第13章 日本語チューニングとプロンプト設計のコツ
Ollama のモデルは英語最適化のものが多いですが、適切なシステムプロンプトと温度・最大トークンの設定により、日本語での振る舞いをかなり改善できます。
例えば「必ず日本語で答える」「コードブロックを多用する」「冗長すぎない説明にする」などの方針をシステムプロンプトに明記し、Clawdbot 側でエージェントごとに細かく調整するのが有効です。
日本語向けシステムプロンプト例
{
"id": "ja-friendly-assistant",
"label": "日本語フレンドリーアシスタント",
"model": "ollama-llama3.1-8b",
"systemPrompt": "あなたは日本語話者向けのフレンドリーなAIアシスタントです。必ず日本語で回答し、専門用語には簡単な説明を添えてください。回答が長くなりすぎないようにしつつ、コード例はMarkdownのコードブロックで示してください。",
"tools": [],
"session": {
"mode": "main",
"maxHistory": 40
}
}
こうした設計のおかげで、ユーザーは毎回「日本語で答えて」と指示する必要がなくなり、Clawdbot 側でエージェントの性格とスタイルを統一できます。
さらに、Ollama のモデルを差し替える際にも、このプロンプトを共通に保てば、モデル間での挙動比較や品質評価がしやすくなり、自分の用途に最適な日本語モデルを選定しやすくなります。
第14章 トラブルシューティングと運用のポイント
運用中によくあるトラブルとしては、「Ollama サーバが落ちている」「モデルダウンロードが途中で失敗している」「Discord の権限が足りない」といった環境依存の問題が多く報告されています。
Clawdbot には doctor コマンドやログ機能が備わっており、Gateway やモデル接続の状態、チャネルの疎通状況などを確認できるため、何かおかしいと感じたらまずこれらの運用ツールを確認すると良いでしょう。
簡易チェック用コマンド例
# Clawdbot Gateway の状態チェック
clawdbot doctor
# Ollama サーバが動いているか確認
pgrep -x "ollama" || echo "Ollama not running"
# 必要であれば起動
ollama serve > /dev/null 2>&1 &
Note の解説では、.bashrc に ollama serve の自動起動を追記しておく小技も紹介されており、毎回ターミナルを開くたびに自動で Ollama を立ち上げる運用も現実的です。
また、Clawdbot のリリースページを定期的にチェックし、新しいバージョンやバグ修正が出ていないかを確認することで、長期運用時の安定性と新機能の取り込みを両立できます。
第15章 これからのローカルAIと Clawdbot × Ollama の可能性
最近では、Ollama が Anthropic Claude Code のような先進的エージェントと連携して、ローカルのオープンウェイトモデルを裏側で利用する構成も登場しており、「エージェントとモデルを分離する」潮流が強まっています。
Clawdbot はまさにこの思想と相性が良く、「Gateway+エージェント+ツール」という枠組みの中で、Ollama による多様なローカルモデルをバックエンドとして差し替えつつ、マルチチャネルでの実運用に耐える柔軟な基盤を提供しています。
Clawdbot と関連技術の位置づけ
| 要素 | 役割 | ローカル性 | 主な関心事 |
|---|---|---|---|
| Clawdbot | Gateway・エージェント・自動化の基盤 | 高い | ルーティング、チャネル連携、運用 |
| Ollama | LLM 実行ランタイム(モデルホスト) | 非常に高い | モデル性能、GPU活用、プライバシー |
| Discord等 | ユーザーインターフェース(チャット窓口) | 低~中 | 使いやすさ、コミュニティ連携 |
| Cron/Skills | 自動化・ツール呼び出し | 高い | 作業削減、ワークフロー構築 |
今後、より高性能なオープンウェイトモデルや、ツール利用に最適化されたモデルが増えていけば、Clawdbot × Ollama 環境は「個人のPC上にある万能秘書」として、クラウド依存の少ない新しい開発・生活スタイルを支えていくでしょう。
まずは本記事の手順で小さなエージェントを1つ立ち上げ、少しずつチャネルやスキルを拡張しながら、自分なりのローカルAIアシスタント像を育てていくのがおすすめです。