diff --git a/Makefile b/Makefile index 678bde4..f0eb2c7 100644 --- a/Makefile +++ b/Makefile @@ -110,10 +110,10 @@ opencode: build printf '{\n "model": "$(OPENCODE_MODEL)",\n "small_model": "$(OPENCODE_SMALL_MODEL)",\n "provider": {\n "cursor": {\n "npm": "@ai-sdk/openai-compatible",\n "name": "Cursor Agent",\n "options": {\n "baseURL": "http://$(HOST):$(PORT)/v1",\n "apiKey": "unused"\n },\n "models": { "auto": { "name": "Cursor Auto" } }\n }\n }\n}\n' > "$(OPENCODE_CONFIG)"; \ echo "已建立 $(OPENCODE_CONFIG)"; \ elif [ -n "$(API_KEY)" ]; then \ - jq '.model = "$(OPENCODE_MODEL)" | .small_model = "$(OPENCODE_SMALL_MODEL)" | .provider.cursor.options.baseURL = "http://$(HOST):$(PORT)/v1" | .provider.cursor.options.apiKey = "$(API_KEY)"' "$(OPENCODE_CONFIG)" > "$(OPENCODE_CONFIG).tmp" && mv "$(OPENCODE_CONFIG).tmp" "$(OPENCODE_CONFIG)"; \ + jq --arg model "$(OPENCODE_MODEL)" --arg small "$(OPENCODE_SMALL_MODEL)" --arg base "http://$(HOST):$(PORT)/v1" --arg key "$(API_KEY)" '.model = $$model | .small_model = $$small | .provider.cursor.options.baseURL = $$base | .provider.cursor.options.apiKey = $$key' "$(OPENCODE_CONFIG)" > "$(OPENCODE_CONFIG).tmp" && mv "$(OPENCODE_CONFIG).tmp" "$(OPENCODE_CONFIG)"; \ echo "已更新 $(OPENCODE_CONFIG)(model=$(OPENCODE_MODEL), small_model=$(OPENCODE_SMALL_MODEL), baseURL → http://$(HOST):$(PORT)/v1,apiKey 已設定)"; \ else \ - jq '.model = "$(OPENCODE_MODEL)" | .small_model = "$(OPENCODE_SMALL_MODEL)" | .provider.cursor.options.baseURL = "http://$(HOST):$(PORT)/v1"' "$(OPENCODE_CONFIG)" > "$(OPENCODE_CONFIG).tmp" && mv "$(OPENCODE_CONFIG).tmp" "$(OPENCODE_CONFIG)"; \ + jq --arg model "$(OPENCODE_MODEL)" --arg small "$(OPENCODE_SMALL_MODEL)" --arg base "http://$(HOST):$(PORT)/v1" '.model = $$model | .small_model = $$small | .provider.cursor.options.baseURL = $$base' "$(OPENCODE_CONFIG)" > "$(OPENCODE_CONFIG).tmp" && mv "$(OPENCODE_CONFIG).tmp" "$(OPENCODE_CONFIG)"; \ echo "已更新 $(OPENCODE_CONFIG)(model=$(OPENCODE_MODEL), small_model=$(OPENCODE_SMALL_MODEL), baseURL → http://$(HOST):$(PORT)/v1)"; \ fi @@ -199,13 +199,21 @@ pm2-logs: ## Docker Compose 指令 ## ────────────────────────────────────────────────── -## 複製 .env.example 為 .env(首次設定) +## 複製 .env.example 為 .env 並自動偵測本機 agent 路徑(首次設定) docker-env: @if [ -f .env ]; then \ echo ".env 已存在,若要重置請手動刪除後再執行"; \ else \ cp .env.example .env; \ - echo "已建立 .env,請編輯填入設定後執行 make docker-up"; \ + DETECTED_AGENT=$$(which agent 2>/dev/null || echo ""); \ + if [ -n "$$DETECTED_AGENT" ]; then \ + REAL_AGENT=$$(readlink -f "$$DETECTED_AGENT"); \ + sed -i "s|^CURSOR_AGENT_HOST_BIN=.*|CURSOR_AGENT_HOST_BIN=$$REAL_AGENT|" .env; \ + echo " 已偵測 agent: $$REAL_AGENT"; \ + else \ + echo " 警告:找不到 agent,請手動設定 CURSOR_AGENT_HOST_BIN"; \ + fi; \ + echo "已建立 .env,請確認設定後執行 make docker-up"; \ fi ## 建置 Docker 映像檔