From 564aef548a573c3af5c0c99d4b64cce6b6976c0c Mon Sep 17 00:00:00 2001 From: daniel Date: Wed, 1 Apr 2026 04:02:41 +0000 Subject: [PATCH] fix readme --- Makefile | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 31a3175..3fc33c4 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,17 @@ WORKSPACE ?= CHAT_ONLY_WORKSPACE ?= true CONFIG_DIRS ?= +# ── Cursor / Claude Code(~/.claude)──────────────── +# 預設 id 須與 GET http://HOST:PORT/v1/models 回傳的 data[].id 一致;可於命令列覆寫 +CLAUDE_SETTINGS ?= $(HOME)/.claude/settings.json +CLAUDE_JSON ?= $(HOME)/.claude.json +ANTHROPIC_AUTH_TOKEN ?= +ANTHROPIC_DEFAULT_SONNET_MODEL ?= claude-4.6-sonnet-medium +ANTHROPIC_DEFAULT_OPUS_MODEL ?= claude-4.6-opus-max +ANTHROPIC_DEFAULT_HAIKU_MODEL ?= gemini-3-flash +# 僅影響 claude-settings 寫入的 ANTHROPIC_BASE_URL(預設等同 HOST;可設為 localhost) +ANTHROPIC_BASE_HOST ?= $(HOST) + # ── TLS / HTTPS ─────────────────────────────── TLS_CERT ?= TLS_KEY ?= @@ -39,7 +50,8 @@ ENV_FILE ?= .env OPENCODE_CONFIG ?= $(HOME)/.config/opencode/opencode.json -.PHONY: env run build clean help opencode opencode-models pm2 pm2-stop pm2-logs claude-code pm2-claude-code +.PHONY: env run build clean help opencode opencode-models pm2 pm2-stop pm2-logs claude-code pm2-claude-code \ + claude-settings claude-onboarding claude-cursor-setup ## 產生 .env 檔(預設輸出至 .env,可用 ENV_FILE=xxx 覆寫) env: @@ -126,6 +138,31 @@ pm2: build pm2-opencode: opencode pm2 @echo "OpenCode 設定已更新並用 pm2 啟動代理" +## 寫入 ~/.claude/settings.json(ANTHROPIC_BASE_URL、三個 DEFAULT_* 模型;需 jq) +claude-settings: + @command -v jq >/dev/null 2>&1 || { echo "需要 jq"; exit 1; } + @mkdir -p $$(dirname "$(CLAUDE_SETTINGS)") + @jq -n \ + --arg base "http://$(ANTHROPIC_BASE_HOST):$(PORT)" \ + --arg token "$(ANTHROPIC_AUTH_TOKEN)" \ + --arg sonnet "$(ANTHROPIC_DEFAULT_SONNET_MODEL)" \ + --arg opus "$(ANTHROPIC_DEFAULT_OPUS_MODEL)" \ + --arg haiku "$(ANTHROPIC_DEFAULT_HAIKU_MODEL)" \ + '{ env: { ANTHROPIC_BASE_URL: $$base, ANTHROPIC_AUTH_TOKEN: $$token, ANTHROPIC_DEFAULT_SONNET_MODEL: $$sonnet, ANTHROPIC_DEFAULT_OPUS_MODEL: $$opus, ANTHROPIC_DEFAULT_HAIKU_MODEL: $$haiku } }' \ + > "$(CLAUDE_SETTINGS).tmp" && mv "$(CLAUDE_SETTINGS).tmp" "$(CLAUDE_SETTINGS)" + @echo "已寫入 $(CLAUDE_SETTINGS)(BASE_URL=http://$(ANTHROPIC_BASE_HOST):$(PORT))" + +## 將 ~/.claude.json 的 hasCompletedOnboarding 設為 true(繞過初次引導;需 jq) +claude-onboarding: + @command -v jq >/dev/null 2>&1 || { echo "需要 jq"; exit 1; } + @test -f "$(CLAUDE_JSON)" || { echo "找不到 $(CLAUDE_JSON)"; exit 1; } + @jq '.hasCompletedOnboarding = true' "$(CLAUDE_JSON)" > "$(CLAUDE_JSON).tmp" && mv "$(CLAUDE_JSON).tmp" "$(CLAUDE_JSON)" + @echo "已設定 $(CLAUDE_JSON) hasCompletedOnboarding=true" + +## 一次執行 claude-settings + claude-onboarding +claude-cursor-setup: claude-settings claude-onboarding + @echo "Cursor/Claude Code 本機設定已套用" + ## 編譯並用 pm2 啟動 + 設定 Claude Code 環境變數 pm2-claude-code: pm2 @echo "" @@ -162,9 +199,13 @@ help: @echo " make opencode 編譯並設定 OpenCode(更新 opencode.json)" @echo " make pm2-opencode 設定 OpenCode + 啟動代理" @echo " make opencode-models 編譯、設定 OpenCode 並同步模型列表" + @echo " make claude-settings 寫入 ~/.claude/settings.json(模型與 BASE_URL)" + @echo " make claude-onboarding 設定 ~/.claude.json hasCompletedOnboarding=true" + @echo " make claude-cursor-setup 同上兩步一次完成" @echo " make clean 刪除二進位檔與 .env" @echo "" @echo "覆寫範例:" @echo " make env PORT=9000 API_KEY=mysecret TIMEOUT_MS=60000" @echo " make pm2-claude-code PORT=8765 API_KEY=mykey" @echo " make pm2-opencode PORT=8765" + @echo " make claude-settings PORT=8766 ANTHROPIC_BASE_HOST=localhost ANTHROPIC_DEFAULT_OPUS_MODEL=claude-4.6-opus-high"