idea-analogist
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and 扩展——不评判、不挑刺、不要求事实证据**。Do NOT use when 用户要数据(用…
在已经过独立验证的 CLIProxyAPI upstream 之上部署 NewAPI 计费层,把 Codex/Claude/Gemini/Qwen 等订阅账号包装成可计费的 OpenAI 兼容 API。本 Skill 不负责新建裸 CLIProxyAPI;负责 NewAPI Docker 部署、容器到宿主桥接、模型计费倍率、参数化额度修正、多账号 OAuth 凭据热加载和双路径验证。当用户说“给现有 cliproxy 加 NewAPI”“配置 NewAPI 渠道接已运行的 cliproxy”“NewAPI
$ npx -y skills add majiayu000/spellbook --skill cliproxy-newapi-stack --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cliproxy-newapi-stackContext preview
The summary Claude sees to decide when to auto-load this skill.
在已经过独立验证的 CLIProxyAPI upstream 之上部署 NewAPI 计费层,把 Codex/Claude/Gemini/Qwen 等订阅账号包装成可计费的 OpenAI 兼容 API。本 Skill 不负责新建裸 CLIProxyAPI;负责 NewAPI Docker 部署、容器到宿主桥接、模型计费倍率、参数化额度修正、多账号 OAuth 凭据热加载和双路径验证。当用户说“给现有 cliproxy 加 NewAPI”“配置 NewAPI 渠道接已运行的 cliproxy”“NewAPI
name: cliproxy-newapi-stack description: 在已经过独立验证的 CLIProxyAPI upstream 之上部署 NewAPI 计费层,把 Codex/Claude/Gemini/Qwen 等订阅账号包装成可计费的 OpenAI 兼容 API。本 Skill 不负责新建裸 CLIProxyAPI;负责 NewAPI Docker 部署、容器到宿主桥接、模型计费倍率、参数化额度修正、多账号 OAuth 凭据热加载和双路径验证。当用户说“给现有 cliproxy 加 NewAPI”“配置 NewAPI 渠道接已运行的 cliproxy”“NewAPI 价格不对”“给现有部署加账号”“172.17.0.1 容器网络”或“408 冷却放大故障”时触发。 allowed-tools: Bash, Read, Write, Edit metadata: argument-hint: '[ssh-目标,例如 root@1.2.3.4]'
在用户已有并已验证的 **CLIProxyAPI** upstream 前增加 **NewAPI** (`calciumion/new-api`) 计费、限流和多用户 token 层。本 Skill 不安装裸 CLIProxyAPI,也不调用其他部署 Skill 补齐这个前置条件。
所有"完成"结论必须基于**本会话**命令输出(W-16)。价格和额度变更后必须真发一次请求并查 `logs.quota` 与本次请求的 token 数和目标价格相符。
---
SSH tunnel 或 loopback 请求验证健康、模型列表和认证;证据不足就停止,不猜测、 不自动安装裸 upstream
安全默认:本地 OAuth + scp 同步;NewAPI 仅绑定 VPS loopback,通过 SSH tunnel 完成首次注册。公网访问必须走已配置 TLS 的反向代理,不能直接开放 NewAPI 原始 HTTP 端口。
---
先记录现有服务的进程、监听地址、健康响应、模型列表和配置备份位置。任何一项 无法验证都停止。只有用户在当前消息批准修改这个既有 upstream 时,才执行以下 两个补丁:
1. **加稳定性开关**到 `/root/CLIProxyAPI/config.yaml`:
disable-cooling: true
原因见 `references/troubleshooting.md` "CLIProxyAPI cooldown 原理"。 若漏改,30 并发 5KB payload 会出现混合 ~50% 503。
2. **不要把 CLIProxyAPI 端口暴露到公网**(与裸部署不同):
---
IMAGE='calciumion/new-api@sha256:<VERIFIED_DIGEST>' \ SSH_TARGET=root@<HOST> SSH_KEY=~/.ssh/id_ed25519 PORT=8200 \ scripts/deploy_newapi.sh
脚本只绑定远端 `127.0.0.1:8200`。首次注册前保持防火墙关闭该端口,建立 SSH tunnel:
ssh -N -L 8200:127.0.0.1:8200 -i <KEY> <SSH_TARGET>
仅访问本机 `http://127.0.0.1:8200` 完成 root 账号注册,并把密码保存到密码 管理器。注册和登录验证成功后,再配置带 TLS 的 Caddy/Nginx 反向代理;先 验证 HTTPS、认证和来源限制,再按需开放 `443/tcp`。禁止开放 `<NEWAPI_PORT>`。
---
NewAPI 后台 → "渠道" → 新建 → OpenAI 类型:
⚠️ **不能写 `127.0.0.1`** — 容器里的 127.0.0.1 是容器自己。详见 `references/troubleshooting.md` "容器网络速记"。
`gpt-5.4,gpt-5.3-codex,gpt-5.3-codex-spark,gpt-5.4-mini,gpt-5.2`
NewAPI 后台 → "令牌" → 新建:
---
用 `scripts/set_pricing.py`(基于实测 USD/1M 自动算出三个倍率):
SSH_TARGET=root@<HOST> SSH_KEY=~/.ssh/id_ed25519 \
scripts/set_pricing.py \
--model gpt-5.4 --input 2.5 --cached 0.25 --output 15 \
--model gpt-5.3-codex --input 1.75 --cached 0.175 --output 14脚本会:合并写入 `options` 表的 `ModelRatio` / `CacheRatio` / `CompletionRatio`,重启容器。
⚠️ 倍率语义见 `references/newapi-pricing.md` —— `CacheRatio` / `CompletionRatio` 是**相对 输入价的倍数**,不是绝对单价。`ModelRatio` 在不同 fork 里可能除以 2,第一次配置务必发请求 看 `logs.quota` 实际值匹配预期。
NewAPI 在线充值通常未配。需要紧急修正额度时,可使用参数化 SQLite helper:
SSH_TARGET=root@<HOST> SSH_KEY=~/.ssh/id_ed25519 \ scripts/topup.sh <user_id> <quota> # 例:1 1000000000 → 1B quota ≈ USD 2000 (默认 QuotaPerUnit=500000)
如果要让用户自助充值,NewAPI 后台 → 系统 → 支付:
---
只把非敏感配置写入客户端 shell 配置:
export BASE_URL="https://<NEWAPI_DOMAIN>/v1" export BASE_MODEL="<虚拟模型名>" # 如 gpt-5.4
API key 必须存进 Keychain 或其他密码管理器,在当前进程启动前读取;禁止写入 `~/.zshrc`、聊天、脚本或命令行参数。例如 macOS 可使用:
key="$(security find-generic-password -s newapi-client -a client-default -w)" export BASE_API_KEY="$key"
跨多台机器同步时(W-14 文件归属):单台单台手动 SSH 改各自的 rc 文件,避免并行写覆盖。
---
不需要重启服务,CLIProxyAPI 有 file watcher。
最简单:
PROVIDER=codex \ SSH_TARGET=root@<HOST> SSH_KEY=~/.ssh/id_ed25519 \ CLIPROXY_LOCAL=<本地 CLIProxyAPI 仓库路径> \ scripts/add_codex_account.sh
脚本流程: 1. 本地启 `go run ./cmd/server -<provider>-login -config config.yaml` 2. 浏览器**用新账号**登录(先在浏览器登出旧账号或用无痕窗口 — 否则会复用旧 session 把旧凭据 覆盖回去) 3. 自动 diff `~/.cli-proxy-api/<provider>-*.json`,把新文件 `scp` 到 VPS 4. tail VPS 日志确认 `auth file changed (CREATE)`
详见 `references/multi-account.md`(含订阅条件、轮询语义、删除账号、验证方法)。
---
SSH_TARGET=root@<HOST> SSH_KEY=~/.ssh/id_ed25519 \ CLIPROXY_URL=http://127.0.0.1:<TUNNELED_CLIPROXY_PORT> \ NEWAPI_URL=https://<NEWAPI_DOMAIN> \ CLIPROXY_KEY="$(security find-generic-password -s cliproxy-admin -w)" \ NEWAPI_TOKEN=$(security find-generic-password -s newapi-client -a client-default -w) \ MODEL=<虚拟模型> INPUT_USD_PER_M=<输入价> OUTPUT_USD_PER_M=<输出价> \ QUOTA_PER_UNIT=500000 \ scripts/verify_stack.sh
通过判定:
任一不满足都不得声称"部署完成"。
---
| 文件 | 用途 | |---|---| | `scripts/deploy_newapi.sh` | NewAPI 容器一键部署 + 健康自检 | | `scripts/set_pricing.py` | 用 USD/1M 三参数自动写 NewAPI ratios | | `scripts/topup.sh` | 直接 SQLite 改 `users.quota` | | `scripts/verify_stack.sh` | 双路径 + 计费日志验证 | | `scripts/add_co
Cross-runtime skills for Claude Code, Codex, and multi-agent workflows.
Repo: majiayu000/spellbook
想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and 扩展——不评判、不挑刺、不要求事实证据**。Do NOT use when 用户要数据(用…
想法群聊室 — 反方角色。被 idea-team 主编排器调用,或用户单独说"反方意见"、"挑这个想法的刺"、"为什么会失败"、"找漏洞 / 反例"、"devil's advocate"时触发。**专门挑漏洞、找隐藏假设、给反例——不安慰、不"也许可以这样"、不全盘否定**。Do NOT use when…
想法群聊室 — 调研员角色。被 idea-team 主编排器调用,或用户单独说"调研一下 X"、"X 的现状/竞品/数据"、"找 2026 数据"、"事实底"时触发。**用 WebSearch 拉真实 2026 数据、列竞品、引来源——只给事实,不评判,不建议**。Do NOT use when…
想法群聊室主持人 — 把一句话想法丢给多角色 AI 团队(调研员/反方/类比者)做查漏补缺。每个角色有自己的 voice,他们互相 @ 接话;你随时插话。**这是创意扩展工具,不打分、不否决、不堵路**。Use when 用户说"组个团队聊一下"、"开会讨论这个想法"、"找几个角度看看"、"群聊一下 X"、"team…
端到端产品教练 — 把一句话想法走到 PRD + 可点击 HTML 原型。会顶嘴、强制砍功能、用 Nielsen + Norman 做友好性硬检。Use when user 说"我有一个想法"、"想做一个产品"、"做 MVP"、"写 PRD"、"做用户友好的产品",或调用插件命令…
Mobile app UI design expert for iOS and Android. Use when designing app interfaces, creating design systems, ensuring accessibility, or following platform…