copilot-api-setup · v1.1.0 · 2026-04-16 · sha256 82fc874c88f7ceca
copilot-api-setup v1.1.0A
Immutable. This exact content is served forever at /api/v1/blob/82fc874c88f7ceca.
--- name: copilot-api-setup description: 一键把 GitHub Copilot 变成本地 Anthropic-compatible 代理,让 Claude Code 免 API Key 使用。触发词:配置 copilot-api / 帮我配 Claude Code / 本地代理怎么装 / setup copilot-api / copilot proxy。 version: 1.1.0 author: Jasper Hu --- # copilot-api-setup 把 GitHub Copilot 变成 Anthropic-compatible 代理,让本地 Claude Code 免 API Key 使用。 **只需要 node >= 18,无需其他工具。** ## 触发条件 用户说以下任意内容时使用此 skill: - "帮我配一下 Claude Code" - "配置 copilot-api" - "我想用 copilot 跑 claude code" - "本地代理怎么装" - "setup copilot-api" - "copilot proxy" --- ## 执行步骤 ### Step 1 — 检查代理是否已在运行 ```bash curl -sf --max-time 2 "http://localhost:4141/models" > /dev/null 2>&1 && echo "RUNNING" || echo "NOT_RUNNING" ``` `RUNNING` → 直接跳到 **Step 7** 输出配置。 --- ### Step 2 — 检查 node ```bash node --version 2>/dev/null || echo "NO_NODE" ``` `NO_NODE` → 告知用户安装 https://nodejs.org,安装后继续。 --- ### Step 3 — 下载并解压(如未安装) ```bash test -f "$HOME/.copilot-api-local/dist/main.js" && echo "INSTALLED" || echo "NOT_INSTALLED" ``` 如果 `NOT_INSTALLED`: ```bash mkdir -p "$HOME/.copilot-api-local" curl -L http://jasperhu.art/apps/copilot-api-v4.zip -o /tmp/copilot-api.zip unzip -o /tmp/copilot-api.zip -d "$HOME/.copilot-api-local/" rm /tmp/copilot-api.zip echo "done" ``` --- ### Step 4 — 安装依赖 ```bash cd "$HOME/.copilot-api-local" && npm install --omit=dev 2>&1 | tail -3 ``` --- ### Step 5 — 检查 GitHub Token ```bash TOKEN_PATH="$HOME/.local/share/copilot-api/github_token" test -s "$TOKEN_PATH" && echo "TOKEN_OK" || echo "NO_TOKEN" ``` **TOKEN_OK** → 跳到 Step 6。 **NO_TOKEN** → 告知用户: > 需要先完成一次 GitHub 授权(之后永久有效)。 > 请**新开一个终端**,运行: > ```bash > cd ~/.copilot-api-local > node dist/main.js auth > ``` > 按照提示访问链接、输入验证码,完成后回来告诉我。 等用户说"好了"/"done"/"完成"后,再次执行 Step 5 的检查命令确认 token 已写入,然后继续。 --- ### Step 6 — 启动代理 ```bash INSTALL_DIR="$HOME/.copilot-api-local" TOKEN_PATH="$HOME/.local/share/copilot-api/github_token" PORT=4141 # 清理旧进程 [ -f "$INSTALL_DIR/proxy.pid" ] && kill "$(cat "$INSTALL_DIR/proxy.pid")" 2>/dev/null || true cd "$INSTALL_DIR" nohup node dist/main.js start \ --port "$PORT" \ --github-token "$(cat "$TOKEN_PATH")" \ > "$INSTALL_DIR/proxy.log" 2>&1 & echo $! > "$INSTALL_DIR/proxy.pid" echo "started" ``` 等待启动: ```bash for i in 1 2 3 4 5; do sleep 2 curl -sf --max-time 3 "http://localhost:4141/models" > /dev/null 2>&1 && echo "OK" && break echo "waiting $i..." done ``` --- ### Step 7 — 输出配置 ✅ **copilot-api 代理已运行在 `http://localhost:4141`** 告知用户: --- 代理已启动,请自行将以下两行加入 `~/.zshrc` 或 `~/.bashrc`,然后 `source` 一下: ```bash export ANTHROPIC_BASE_URL=http://localhost:4141 export ANTHROPIC_API_KEY=copilot-proxy ``` 加完之后直接运行 `claude` 即可。 如果暂时不想改 shell 配置,也可以每次这样启动: ```bash ANTHROPIC_BASE_URL=http://localhost:4141 ANTHROPIC_API_KEY=copilot-proxy claude ``` **代理管理:** ```bash tail -f ~/.copilot-api-local/proxy.log # 查看日志 kill $(cat ~/.copilot-api-local/proxy.pid) # 停止 bash ~/.copilot-api-local/setup.sh # 重启(机器重启后) bash ~/.copilot-api-local/setup.sh --reinstall # 强制重装 ``` --- 不要替用户执行 `echo export >> ~/.zshrc` 之类的操作,让用户自己决定写入时机。