diff --git a/Makefile b/Makefile index c07c652..678bde4 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,10 @@ WORKSPACE ?= CHAT_ONLY_WORKSPACE ?= true CONFIG_DIRS ?= +# ── OpenCode 模型設定 ──────────────────── +OPENCODE_MODEL ?= cursor/claude-4.6-sonnet-medium +OPENCODE_SMALL_MODEL ?= cursor/gpt-5.4-nano-medium + # ── Cursor / Claude Code(~/.claude)──────────────── CLAUDE_SETTINGS ?= $(HOME)/.claude/settings.json CLAUDE_JSON ?= $(HOME)/.claude.json @@ -103,14 +107,14 @@ opencode: build @if [ ! -f "$(OPENCODE_CONFIG)" ]; then \ echo "找不到 $(OPENCODE_CONFIG),建立新設定檔"; \ mkdir -p $$(dirname "$(OPENCODE_CONFIG)"); \ - printf '{\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)"; \ + 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 '.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)"; \ - echo "已更新 $(OPENCODE_CONFIG)(baseURL → http://$(HOST):$(PORT)/v1,apiKey 已設定)"; \ + 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)"; \ + echo "已更新 $(OPENCODE_CONFIG)(model=$(OPENCODE_MODEL), small_model=$(OPENCODE_SMALL_MODEL), baseURL → http://$(HOST):$(PORT)/v1,apiKey 已設定)"; \ else \ - jq '.provider.cursor.options.baseURL = "http://$(HOST):$(PORT)/v1"' "$(OPENCODE_CONFIG)" > "$(OPENCODE_CONFIG).tmp" && mv "$(OPENCODE_CONFIG).tmp" "$(OPENCODE_CONFIG)"; \ - echo "已更新 $(OPENCODE_CONFIG)(baseURL → http://$(HOST):$(PORT)/v1)"; \ + 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)"; \ + echo "已更新 $(OPENCODE_CONFIG)(model=$(OPENCODE_MODEL), small_model=$(OPENCODE_SMALL_MODEL), baseURL → http://$(HOST):$(PORT)/v1)"; \ fi ## 啟動代理並用 curl 同步模型列表到 opencode.json