1+ #! /bin/bash
2+
3+ # OpenCode ECC DevContainer セットアップスクリプト
4+ # DevContainer 作成時に一度だけ実行される(ai-harness-template ベース)
5+
6+ set -e
7+
8+ echo " 🚀 OpenCode ECC + OpenChamber 環境をセットアップ中..."
9+ echo " =============================================="
10+
11+ # 基本パッケージの確認・インストール
12+ echo " 📦 基本パッケージ確認中..."
13+ sudo apt-get update -y
14+ sudo apt-get install -y curl wget unzip build-essential
15+
16+ # Tailscale をインストール
17+ if ! command -v tailscale > /dev/null 2>&1 ; then
18+ echo " 📦 Tailscale をインストール中..."
19+ curl -fsSL https://tailscale.com/install.sh | sh
20+ fi
21+
22+ # uv (Python パッケージマネージャー) をインストール
23+ if ! command -v uv > /dev/null 2>&1 ; then
24+ echo " 📦 uv (Python パッケージマネージャー) をインストール中..."
25+ curl -LsSf https://astral.sh/uv/install.sh | sh
26+ export PATH=" $HOME /.cargo/bin:$PATH "
27+ fi
28+
29+ # Node.js とnpmのバージョン確認
30+ echo " 📦 Node.js: $( node --version) "
31+ echo " 📦 npm: $( npm --version) "
32+ echo " 📦 Python: $( python --version) "
33+
34+ # OpenCode AI をグローバルインストール
35+ echo " ⬇️ OpenCode AI をインストール中..."
36+ OPENCODE_VERSION=" ${OPENCODE_VERSION:- 1.3.9} "
37+ if npm install -g " opencode-ai@${OPENCODE_VERSION} " ; then
38+ echo " ✅ OpenCode AI インストール完了"
39+ else
40+ echo " ⚠️ OpenCode AI インストール失敗(継続します)"
41+ fi
42+
43+ # OpenChamber をグローバルインストール
44+ echo " ⬇️ OpenChamber をインストール中..."
45+ if npm install -g @openchamber/web; then
46+ echo " ✅ OpenChamber インストール完了"
47+ else
48+ echo " ⚠️ OpenChamber インストール失敗(継続します)"
49+ fi
50+
51+ # ECC (everything-claude-code) をインストール
52+ echo " ⬇️ ECC をインストール中..."
53+ if npm install -g ecc-universal; then
54+ echo " ✅ ECC インストール完了"
55+
56+ # ECC の依存関係修正(ajv問題対策)
57+ echo " 🔧 ECC 依存関係修正中..."
58+ ECC_DIR=$( npm list -g ecc-universal 2> /dev/null | head -n1 | awk ' {print $1}' ) /node_modules/ecc-universal
59+ if [ -d " $ECC_DIR " ]; then
60+ cd " $ECC_DIR "
61+ npm install ajv 2> /dev/null || true
62+ npm install 2> /dev/null || true
63+ cd - > /dev/null
64+ echo " ✅ ECC 依存関係修正完了"
65+ fi
66+ else
67+ echo " ⚠️ ECC インストール失敗(継続します)"
68+ fi
69+
70+ # .opencode ディレクトリの権限設定(権限問題対策)
71+ echo " 🔧 .opencode ディレクトリ権限設定中..."
72+ mkdir -p /home/vscode/.opencode
73+ sudo chown -R vscode:vscode /home/vscode/.opencode
74+ chmod -R 755 /home/vscode/.opencode
75+ chmod -R u+w /home/vscode/.opencode
76+ echo " ✅ .opencode 権限設定完了"
77+
78+ # プロジェクト用のディレクトリ作成
79+ mkdir -p .opencode-logs
80+ mkdir -p .temp
81+
82+ # 権限設定
83+ chmod +x scripts/* 2> /dev/null || true
84+
85+ # .env ファイル作成
86+ if [ ! -f " .env" ] && [ -f " .env.template" ]; then
87+ cp .env.template .env
88+ echo " ✅ .env ファイルを作成しました"
89+ fi
90+
91+ echo " "
92+ echo " ✅ 全セットアップ完了!"
93+ echo " "
94+ echo " 🎯 利用可能なサービス:"
95+ echo " - OpenChamber Web UI: ポート 3000"
96+ echo " - OpenCode CLI Server: ポート 4095"
97+ echo " - Development Server: ポート 8080"
98+ echo " "
99+ echo " 📝 すぐに始められます:"
100+ echo " 1. VS Code の 'PORTS' タブから各サービスにアクセス"
101+ echo " 2. OpenChamber でAIコーディングを開始!"
102+ echo " 3. Tailscale設定が必要な場合は .env を編集"
103+ echo " "
0 commit comments