#!/usr/bin/env bash # aider-run.sh — Synology 上で Aider を Docker コンテナとして実行する # # 使い方(Synology SSH から): # bash ~/aider-run.sh [aider args...] # # 例: # bash ~/aider-run.sh posimai-diff "fix the CSS bug in .diff-output" # bash ~/aider-run.sh posimai-brain --message "add dark mode to settings panel" # # 必要な環境変数(~/.bashrc または /volume1/homes/mai/.bashrc に設定): # export GEMINI_API_KEY="your-key-here" # export GITEA_TOKEN="your-gitea-token" set -e REPO_NAME="${1}" shift || true AIDER_ARGS="$@" if [ -z "$REPO_NAME" ]; then echo "使い方: bash ~/aider-run.sh [aider args...]" echo "例: bash ~/aider-run.sh posimai-diff \"fix the bug\"" exit 1 fi WORKSPACE="/tmp/aider-workspace" REPO_URL="http://100.76.7.3:3000/mai/${REPO_NAME}.git" DOCKER="/usr/local/bin/docker" GEMINI_MODEL="gemini-2.5-flash" # GEMINI_API_KEY チェック if [ -z "$GEMINI_API_KEY" ]; then # .env から取得を試みる if [ -f "/volume1/docker/posimai_lab/.env" ]; then GEMINI_API_KEY=$(grep '^GEMINI_API_KEY=' /volume1/docker/posimai_lab/.env | cut -d= -f2- | tr -d '"') fi fi if [ -z "$GEMINI_API_KEY" ]; then echo "[ERROR] GEMINI_API_KEY が設定されていません" exit 1 fi # ワークスペース準備 rm -rf "$WORKSPACE/$REPO_NAME" mkdir -p "$WORKSPACE" git clone "$REPO_URL" "$WORKSPACE/$REPO_NAME" 2>&1 echo "" echo "Aider を起動します: $GEMINI_MODEL" echo "リポジトリ: $REPO_NAME" echo "引数: ${AIDER_ARGS:-(対話モード)}" echo "" $DOCKER run --rm -it \ -e GEMINI_API_KEY="$GEMINI_API_KEY" \ -v "$WORKSPACE/$REPO_NAME:/repo" \ -w /repo \ paulgauthier/aider \ --model "$GEMINI_MODEL" \ --no-check-update \ --no-auto-commits \ --git \ ${AIDER_ARGS:+--message "$AIDER_ARGS"} echo "" echo "変更を Gitea にプッシュしますか? [y/N]" read -r answer if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then cd "$WORKSPACE/$REPO_NAME" git push origin main echo "プッシュ完了" fi