|
157 | 157 | echo "" |
158 | 158 | echo "🚀 基盤サービス起動中..." |
159 | 159 |
|
| 160 | +# 🔒 マウントされたディレクトリの権限修正 |
| 161 | +echo "🔒 マウントディレクトリの権限修正中..." |
| 162 | +sudo chown -R vscode:vscode /home/vscode/.local 2>/dev/null || true |
| 163 | +sudo chown -R vscode:vscode /home/vscode/.opencode 2>/dev/null || true |
| 164 | +sudo chown -R vscode:vscode /home/vscode/.claude 2>/dev/null || true |
| 165 | +mkdir -p /home/vscode/.local/state 2>/dev/null || true |
| 166 | + |
| 167 | +# OpenCode ECC設定の自動修正 |
| 168 | +echo "🔧 OpenCode ECC設定を修正中..." |
| 169 | +if [ -f "/workspace/scripts/fix-ecc-agents.py" ] && [ -d "/home/vscode/.opencode/agents" ]; then |
| 170 | + if python3 /workspace/scripts/fix-ecc-agents.py /home/vscode/.opencode/agents > /tmp/ecc-fix.log 2>&1; then |
| 171 | + fixed_count=$(grep -c "✅ Fixed:" /tmp/ecc-fix.log || echo "0") |
| 172 | + echo "✅ OpenCode ECC設定修正完了 (${fixed_count}ファイル)" |
| 173 | + else |
| 174 | + echo "⚠️ OpenCode ECC設定修正に失敗 (ログ: /tmp/ecc-fix.log)" |
| 175 | + fi |
| 176 | +else |
| 177 | + echo "⚠️ OpenCode ECC設定修正スクリプトまたはagentsディレクトリが見つかりません" |
| 178 | +fi |
| 179 | + |
160 | 180 | OPENCODE_LOG=/tmp/opencode-serve.log |
161 | 181 | OPENCHAMBER_LOG=/tmp/openchamber.log |
162 | 182 |
|
@@ -192,7 +212,29 @@ set_default_project_directory() { |
192 | 212 | echo "⚠️ OpenChamber の初期プロジェクトパス設定に失敗しました(起動継続)" |
193 | 213 | } |
194 | 214 |
|
195 | | -set_default_project_directory "$OPENCHAMBER_DEFAULT_PROJECT_DIR" |
| 215 | +set_default_project_directories() { |
| 216 | + local root_dir="$1" |
| 217 | + [ -d "$root_dir" ] || return 0 |
| 218 | + |
| 219 | + local children=() |
| 220 | + local child |
| 221 | + for child in "$root_dir"/*; do |
| 222 | + [ -d "$child" ] || continue |
| 223 | + children+=("$child") |
| 224 | + done |
| 225 | + |
| 226 | + if [ "${#children[@]}" -eq 0 ]; then |
| 227 | + set_default_project_directory "$root_dir" |
| 228 | + return 0 |
| 229 | + fi |
| 230 | + |
| 231 | + local project_dir |
| 232 | + for project_dir in "${children[@]}"; do |
| 233 | + set_default_project_directory "$project_dir" |
| 234 | + done |
| 235 | +} |
| 236 | + |
| 237 | +set_default_project_directories "$OPENCHAMBER_DEFAULT_PROJECT_DIR" |
196 | 238 |
|
197 | 239 | check_service() { |
198 | 240 | local port=$1 |
|
0 commit comments