cloud APIからself-hosted web UIまで、約6ヶ月間さまざまなAIアシスタントを試した結果、どんなインターフェースよりもターミナルを多く使っていることに気づいた。それがOpenClawに乗り換えた理由だ:オープンソースのCLIアシスタントで、軽量でオフライン動作も可能、local modelと組み合わせればデータが外部に送信されることもない。
パーソナルAIアシスタントの構築アプローチ比較
現在のスタックに落ち着くまで、3つのアプローチをすべて試した。それぞれ試す理由があり、そして止める理由もあった。
Cloud APIを直接呼び出す
OpenAI、Claude、Gemini — どれもモデルは優秀だが、日常的に使うには不便だ。毎回スクリプトを開く必要があり、セッション間のmemoryはなく、コストも思ったより早く積み上がる — GPT-4o-miniで些細なデバッグの質問をするだけで月$15かかったことがある。さらに、社内コードや本番設定をクラウドにペーストするのはリスクが高すぎる。
Self-hosted web UI(Open WebUI、LibreChat)
デモやチームでの共有にきれいなUIが必要なら、Open WebUIやLibreChatは優秀だ。ただ個人利用にはオーバースペックすぎる:誰も使っていない時でもDockerが400〜600MBのRAMを消費し、ちょっと質問したいだけでブラウザのタブを開き、作業中のターミナルからフォーカスを外さなければならない。
OpenClawのようなCLIアシスタント
ターミナルで直接質問を入力 — 作業場所を離れることなく使える。DockerもブラウザタブもなしでOK。セッションのmemoryはプロジェクトごとにローカルに保存される。コマンドラインで生きるdeveloperやsysadminにとって、これが最も自然なワークフローだ。
OpenClawの実際のメリット・デメリット分析
メリット
- 完全なプライバシー:Ollamaと組み合わせることで、すべてのデータがローカルマシンに留まり — インターネットに何も送信されない
- 軽量:Dockerもweb serverも不要 — Pythonパッケージのみで50MB未満
- セッションmemory:コンテキスト別に会話履歴を保存、プロジェクトごとにセッション名を設定可能
- マルチバックエンド:Ollama、OpenAI API、Anthropic Claudeに対応 — バックエンドの切り替えに全設定のやり直しは不要
- Pipeフレンドリー:stdinの読み取り、outputのpipe対応 — シェルスクリプトや自動化ワークフローにシームレスに統合
事前に知っておくべきデメリット
- web UIなし — ターミナルに不慣れなユーザーとの共有には不向き
- 初期設定に若干の時間が必要、特にバックエンドとモデルの設定
- マルチモーダル(画像、PDF)は機能フルのweb UIと比べると制限がある
- Open WebUIのような大型プロジェクトと比べてコミュニティが小さい
OpenClawを選ぶべき場面 — そうでない場面
OpenClawは、主にターミナルで作業し、フォーカスを失わずにさっと質問したい場合に最適だ。社内コード、データベーススキーマ、本番設定など、クラウドにペーストできない機密データを扱う際にも特に便利だ。一方、ターミナルに不慣れなユーザーとの共有が必要な場合や、画像やPDFを多く扱う場合は、Open WebUIの方が依然として優れている。
OpenClawのインストールガイド
システム要件
- Python 3.10+
- Ollamaがインストール済みで動作中であること(local modelを使う場合)— OllamaでローカルLLMを実行するガイドを参照
- cloud backendを使う場合はOpenAI / AnthropicのAPIキー
pipでのインストール
# venvにOpenClawをインストール(推奨)
python -m venv ~/.openclaw-venv
source ~/.openclaw-venv/bin/activate
pip install openclaw
# インストール成功を確認
openclaw --version
最新機能を使うためにソースからインストール
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pip install -e .
# 確認
openclaw --version
初期設定
インストール後、初期化コマンドを実行してデフォルトのconfigファイルを作成する:
openclaw init
# 作成ファイル:~/.config/openclaw/config.yaml
configファイルを開き、使用するバックエンドに合わせて設定する:
# ~/.config/openclaw/config.yaml
# デフォルトバックエンド:Ollama(ローカル、プライバシー最優先)
backend: ollama
ollama:
url: http://localhost:11434
model: llama3.2 # またはqwen2.5、mistral、phi4
# OpenAI APIを使う場合:
# backend: openai
# openai:
# api_key: sk-...
# model: gpt-4o-mini
# Anthropicを使う場合:
# backend: anthropic
# anthropic:
# api_key: sk-ant-...
# model: claude-haiku-4-5-20251001
# Memory:コンテキストに保持するメッセージ数
memory:
enabled: true
max_history: 20
# セッション保存ディレクトリ
sessions:
dir: ~/.openclaw/sessions
バックエンドの接続確認
openclaw check
# 正常時の出力:
# ✓ Backend: ollama
# ✓ Model: llama3.2 (4.7GB)
# ✓ Connection: OK
# ✓ Response time: 320ms
実際のワークフローでOpenClawを使う
コンテキスト不要の素早い質問(one-shotモード)
# シンプルな質問
openclaw ask "Linuxでリッスン中のポートを確認するコマンドは?"
# pipeでログを分析
cat /var/log/nginx/error.log | tail -50 | openclaw ask "このエラーを分析して修正方法を提案して"
# コードファイルをレビュー
openclaw ask --file main.py "このコードをレビューして、セキュリティの問題があれば見つけて"
プロジェクト別のmemory付きチャットセッション
# 新しいセッションを開始
openclaw chat
# 名前付きセッションを再開
openclaw chat --session wp-project
# 既存のセッション一覧を表示
openclaw sessions list
シェルワークフローへの統合
# Kubernetesの状態を分析
kubectl get pods --all-namespaces | openclaw ask "問題のあるPodはどれ?"
# git commitメッセージを自動生成
git diff --staged | openclaw ask "簡潔な英語でgit commitメッセージを書いて"
# 実行前に複雑なコマンドを説明
openclaw ask "このコマンドが何をするか説明して: find / -name '*.conf' -mtime -7 -exec grep -l 'password' {} +"
6ヶ月間の実際の使用から得たTips
プロジェクト別のシステムプロンプト
自分のプロジェクトにはそれぞれ専用のセッションがあり、そのスタックのコンテキスト(PHPバージョン、データベース、WordPressバージョン)を含むsystem promptを設定している。毎回説明し直す必要なく、セッションを開けばすぐに作業に入れる:
openclaw chat --session wp-project \
--system "あなたはWordPress開発者です。スタック:PHP 8.2、MySQL 8.0、WP 6.4。 \
日本語で簡潔に回答し、実用的なコードスニペットを優先してください。"
タイピングを素早くするAlias
# ~/.bashrcまたは ~/.zshrcに追加
alias ai='openclaw ask'
alias aic='openclaw chat'
alias explain='openclaw ask "このコマンドを説明して: "'
# 適用
source ~/.bashrc
# 使用
ai "PythonでメールアドレスをバリデートするRegex構文は?"
explain "awk '{sum += \$1} END {print sum}'"
セッションをMarkdownにエクスポートして保存
# 重要な会話をファイルにエクスポート
openclaw sessions export wp-project --format markdown > notes/wp-project-notes.md
この方法はUbuntu 22.04の2台のVPSで安定動作している — 6ヶ月間問題なし、memory leakもゼロ。最もよく使うpipelineは、サービスのstderrをOpenClawにpipeしてリアルタイムでエラーを分析する方法だ — web UIにコピー&ペーストするよりはるかに速い。
# ログを監視してエラー発生時すぐに質問
journalctl -u myapp -f | grep ERROR | while read line; do
echo "$line" | openclaw ask "このエラーはどういう意味で、どう修正すればいい?"
done
まとめ
現在もOpen WebUIとOpenClawの両方を使い続けているが、それぞれ目的が異なる:Open WebUIはインターフェースが必要な時や複雑なファイル処理に、OpenClawは日常のターミナル内でのあらゆる素早い質問に使っている。クラウドに依存したくなく、AIに質問するためだけにDockerを追加で動かしたくない?これは試す価値のある出発点だ — 軽量で柔軟、データはマシン内に留まる。
