ローカルで実行できるOpenClaudeを見かけたので試してみました。

結論から言えば、現時点では特に使用するメリットはなさそうですが、今後に期待ということでメモとして。現状ではまだopencodeのほうが実用的そうです。強いて言えば、Claude Codeのコードベースに近いので、Claude CodeユーザーならUIが馴染みやすいという点と、gRPCサーバーモードがある(自前のUIを作りたい場合)点でしょうか。
| 項目 | OpenClaude | opencode |
|---|---|---|
| GitHubスター | 2.1万 | 14万 |
| 月間利用者 | 不明 | 650万人 |
| 対応プロバイダ | ~10種 | 75種以上 |
| TUI(ターミナルUI) | なし(シンプルなCLI) | あり(Bubble Tea製) |
| LSP連携 | なし | あり(Rust, TS, Python等) |
| Plan/Buildモード切替 | なし | Tab一発で切替 |
| デスクトップアプリ | なし | あり |
| IDE拡張 | VSCode対応のみ | JetBrains, Zed, Neovim等 |
| 開発元 | 個人/小規模 | Anomaly(専門チーム) |
| 更新頻度 | 低め | ほぼ毎日リリース |
OpenClaude導入スクリプト
#!/usr/bin/env bash
# ============================================================
# OpenClaude インストールスクリプト
# 対象: Ubuntu 26.04 LXD コンテナ (直インストール)
# 用途: npm global install で openclaude を使えるようにする
# ============================================================
set -euo pipefail
# ---- 色付きログ ----------------------------------------
GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; NC='\033[0m'
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; }
# ---- root チェック ------------------------------------
if [[ $EUID -ne 0 ]]; then
warn "root 以外で実行しています。sudo が必要な場面は自動的に付きます。"
SUDO="sudo"
else
SUDO=""
fi
# ============================================================
# 1. 基本パッケージの更新
# ============================================================
info "パッケージリストを更新します..."
$SUDO apt-get update -y
info "必要な基本パッケージをインストールします..."
$SUDO apt-get install -y \
curl \
git \
ripgrep \
build-essential \
ca-certificates \
gnupg
# ============================================================
# 2. Node.js 22.x (LTS) のインストール
# ※ openclaude は Node.js >= 18 が必要
# ============================================================
NODE_MAJOR=22
if command -v node &>/dev/null; then
CURRENT_NODE=$(node -v | sed 's/v//' | cut -d. -f1)
if [[ "$CURRENT_NODE" -ge 18 ]]; then
info "Node.js $(node -v) が既にインストールされています。スキップします。"
else
warn "Node.js $(node -v) は古すぎます。Node.js ${NODE_MAJOR}.x をインストールします..."
INSTALL_NODE=true
fi
else
info "Node.js が見つかりません。インストールします..."
INSTALL_NODE=true
fi
if [[ "${INSTALL_NODE:-false}" == "true" ]]; then
curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | $SUDO bash -
$SUDO apt-get install -y nodejs
fi
info "Node.js バージョン: $(node -v)"
info "npm バージョン: $(npm -v)"
# ============================================================
# 3. ripgrep の確認 (openclaude が使用)
# ============================================================
if ! command -v rg &>/dev/null; then
error "ripgrep (rg) のインストールに失敗しました。手動で確認してください。"
fi
info "ripgrep バージョン: $(rg --version | head -1)"
# ============================================================
# 4. OpenClaude のインストール
# ============================================================
info "OpenClaude をグローバルインストールします..."
$SUDO npm install -g @gitlawb/openclaude
info "openclaude バージョン: $(openclaude --version 2>/dev/null || echo '(確認できません)')"
# ============================================================
# 5. 設定ディレクトリの作成
# ============================================================
CONFIG_DIR="${HOME}/.claude"
mkdir -p "$CONFIG_DIR"
info "設定ディレクトリ: ${CONFIG_DIR}"
# ============================================================
# 6. 環境変数テンプレートの生成
# 実際の値は後で編集してください
# ============================================================
ENV_FILE="${HOME}/.openclaude.env"
if [[ ! -f "$ENV_FILE" ]]; then
cat > "$ENV_FILE" << 'EOF'
# ============================================================
# OpenClaude 環境変数設定ファイル
# 使い方: source ~/.openclaude.env を .bashrc / .zshrc に追加
# ============================================================
# --- OpenAI 互換 API を使う場合 ---
# export CLAUDE_CODE_USE_OPENAI=1
# export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
# export OPENAI_MODEL=gpt-4o
# export OPENAI_BASE_URL=https://api.openai.com/v1 # 省略可
# --- OpenRouter を使う場合 ---
# export CLAUDE_CODE_USE_OPENAI=1
# export OPENAI_API_KEY=sk-or-xxxxxxxxxxxxxxxx
# export OPENAI_BASE_URL=https://openrouter.ai/api/v1
# export OPENAI_MODEL=anthropic/claude-3-5-sonnet
# --- DeepSeek を使う場合 ---
# export CLAUDE_CODE_USE_OPENAI=1
# export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
# export OPENAI_BASE_URL=https://api.deepseek.com/v1
# export OPENAI_MODEL=deepseek-chat
# --- Gemini を使う場合 ---
# export GEMINI_API_KEY=AIzaxxxxxxxxxxxxxxxx
# --- ローカル Ollama を使う場合 (API キー不要) ---
# export CLAUDE_CODE_USE_OPENAI=1
# export OPENAI_BASE_URL=http://localhost:11434/v1
# export OPENAI_MODEL=qwen2.5-coder:7b
# --- Firecrawl (Web検索強化, 任意) ---
# export FIRECRAWL_API_KEY=your-key-here
EOF
info "環境変数テンプレートを作成しました: ${ENV_FILE}"
else
warn "環境変数ファイルが既に存在します: ${ENV_FILE} (スキップ)"
fi
# ============================================================
# 7. .bashrc への自動 source 追加 (任意)
# ============================================================
BASHRC="${HOME}/.bashrc"
SOURCE_LINE="[ -f \"\$HOME/.openclaude.env\" ] && source \"\$HOME/.openclaude.env\""
if ! grep -qF ".openclaude.env" "$BASHRC" 2>/dev/null; then
echo "" >> "$BASHRC"
echo "# OpenClaude 環境変数" >> "$BASHRC"
echo "$SOURCE_LINE" >> "$BASHRC"
info ".bashrc に環境変数の自動読み込みを追加しました。"
fi
# ============================================================
# 完了メッセージ
# ============================================================
echo ""
echo -e "${GREEN}=====================================================${NC}"
echo -e "${GREEN} OpenClaude のインストールが完了しました!${NC}"
echo -e "${GREEN}=====================================================${NC}"
echo ""
echo " 次のステップ:"
echo ""
echo " 1. API キーを設定する:"
echo " nano ${ENV_FILE}"
echo ""
echo " 2. 環境変数を読み込む:"
echo " source ${ENV_FILE}"
echo " # または新しいシェルを開く"
echo ""
echo " 3. OpenClaude を起動する:"
echo " openclaude"
echo ""
echo " 4. 起動後にプロバイダ設定:"
echo " /provider # ガイド付き設定"
echo " /onboard-github # GitHub Models 設定"
echo ""
echo " ドキュメント: https://github.com/Gitlawb/openclaude"
echo ""
Ollamaをコンテナに入れる場合
# Ollamaインストール
curl -fsSL https://ollama.com/install.sh | sh
# モデルを pull(例: 軽量な qwen2.5-coder 7B)
ollama pull qwen2.5-coder:7b
# OpenClaudeの環境変数設定
export CLAUDE_CODE_USE_OPENAI=1
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_MODEL=qwen2.5-coder:7b


