opencode-cursor-agent/Makefile

93 lines
4.3 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ──────────────────────────────────────────────
# cursor-api-proxy — 設定與建置
# 編輯下方變數,然後執行 make env 產生 .env 檔
# ──────────────────────────────────────────────
# ── 伺服器設定 ─────────────────────────────────
HOST ?= 127.0.0.1
PORT ?= 8766
API_KEY ?=
TIMEOUT_MS ?= 3600000
MULTI_PORT ?= false
VERBOSE ?= false
# ── Agent / 模型設定 ──────────────────────────
AGENT_BIN ?= agent
AGENT_NODE ?=
AGENT_SCRIPT ?=
DEFAULT_MODEL ?= auto
STRICT_MODEL ?= true
MAX_MODE ?= true
FORCE ?= false
APPROVE_MCPS ?= false
# ── 工作區與帳號 ──────────────────────────────
WORKSPACE ?=
CHAT_ONLY_WORKSPACE ?= true
CONFIG_DIRS ?=
# ── TLS / HTTPS ───────────────────────────────
TLS_CERT ?=
TLS_KEY ?=
# ── 記錄 ──────────────────────────────────────
SESSIONS_LOG ?=
# ──────────────────────────────────────────────
ENV_FILE ?= .env
.PHONY: env run build clean help
## 產生 .env 檔(預設輸出至 .env可用 ENV_FILE=xxx 覆寫)
env:
@printf '# 由 make env 自動產生,請勿手動編輯\n' > $(ENV_FILE)
@printf 'CURSOR_BRIDGE_HOST=%s\n' "$(HOST)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_PORT=%s\n' "$(PORT)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_API_KEY=%s\n' "$(API_KEY)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_TIMEOUT_MS=%s\n' "$(TIMEOUT_MS)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_MULTI_PORT=%s\n' "$(MULTI_PORT)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_VERBOSE=%s\n' "$(VERBOSE)" >> $(ENV_FILE)
@printf 'CURSOR_AGENT_BIN=%s\n' "$(AGENT_BIN)" >> $(ENV_FILE)
@printf 'CURSOR_AGENT_NODE=%s\n' "$(AGENT_NODE)" >> $(ENV_FILE)
@printf 'CURSOR_AGENT_SCRIPT=%s\n' "$(AGENT_SCRIPT)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_DEFAULT_MODEL=%s\n' "$(DEFAULT_MODEL)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_STRICT_MODEL=%s\n' "$(STRICT_MODEL)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_MAX_MODE=%s\n' "$(MAX_MODE)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_FORCE=%s\n' "$(FORCE)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_APPROVE_MCPS=%s\n' "$(APPROVE_MCPS)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_WORKSPACE=%s\n' "$(WORKSPACE)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_CHAT_ONLY_WORKSPACE=%s\n' "$(CHAT_ONLY_WORKSPACE)" >> $(ENV_FILE)
@printf 'CURSOR_CONFIG_DIRS=%s\n' "$(CONFIG_DIRS)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_TLS_CERT=%s\n' "$(TLS_CERT)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_TLS_KEY=%s\n' "$(TLS_KEY)" >> $(ENV_FILE)
@printf 'CURSOR_BRIDGE_SESSIONS_LOG=%s\n' "$(SESSIONS_LOG)" >> $(ENV_FILE)
@echo "已產生 $(ENV_FILE)"
## 編譯二進位檔
build:
go build -o cursor-api-proxy .
## 載入 .env 後直接執行(需先執行 make env 或已有 .env
run: build
@if [ -f $(ENV_FILE) ]; then \
set -a && . ./$(ENV_FILE) && set +a && ./cursor-api-proxy; \
else \
echo "找不到 $(ENV_FILE),請先執行 make env"; exit 1; \
fi
## 清除產出物
clean:
rm -f cursor-api-proxy $(ENV_FILE)
## 顯示說明
help:
@echo "可用目標:"
@echo " make env 產生 .env先在 Makefile 頂端填好變數)"
@echo " make build 編譯 cursor-api-proxy 二進位檔"
@echo " make run 編譯並載入 .env 執行"
@echo " make clean 刪除二進位檔與 .env"
@echo ""
@echo "覆寫範例:"
@echo " make env PORT=9000 API_KEY=mysecret TIMEOUT_MS=60000"