
1. 项目概述Superpowers 不是超能力而是开发者工作流的“神经增强系统”你最近在技术社区、GitHub Trending 或 Discord 开发者频道里反复刷到superpowers这个词点开链接却发现它既不是 Marvel 新电影彩蛋也不是某款玄幻手游的内测码——而是一套正在悄然重构本地开发体验的工具链集合体。它不提供魔法但能让你在 VS Code 或 Cursor 里写代码时像拥有实时翻译、逻辑预判、上下文自愈、跨文件意图理解等“类人直觉”。核心关键词Claude Code、Antigravity、Codex CLI、Cursor并非孤立产品而是 superpowers 生态中四根相互咬合的齿轮Claude Code 是推理引擎的“大脑皮层”Antigravity 提供模型调度与账户网关的“小脑协调”Codex CLI 是命令行侧的“脊髓反射通路”而 Cursor 则是面向 IDE 的“运动皮层终端”。它们共同解决一个被长期忽视的痛点现代 LLM 编程助手不是“插件装上就能用”而是需要一套可验证、可回溯、可隔离、可审计的本地化执行环境。比如你在 Ubuntu 上配置 Claude Code 时卡在your organization has disabled claude subscription access本质不是权限问题而是 Antigravity 的账户校验模块未完成本地 token 绑定又比如 Cursor 设置中文回复后仍输出英文根源不在语言选项而在 Codex CLI 的/model参数未指向已汉化的本地模型权重路径。这不是简单的“安装教程”而是一次对 AI 编程基础设施的重新布线——把原本漂浮在云端的“智能”锚定到你本机的 CPU/GPU、文件系统和 Git 历史中。适合三类人正在被 Cursor 免费额度耗尽困扰的全栈工程师、需要将 Claude 接入本地 Llama-3-70B 模型的算法研究员、以及想绕过企业级 SaaS 限制在离线环境部署代码补全服务的嵌入式团队。2. 整体设计思路为什么必须放弃“一键安装”转而构建可验证的本地执行环2.1 传统 AI 插件模式的三大结构性缺陷过去两年主流 IDE 插件如 GitHub Copilot、Tabnine采用“客户端-云服务”架构表面流畅实则埋下三颗定时炸弹不可审计性所有代码片段、函数签名、甚至注释内容均经由插件 SDK 封装后上传至厂商服务器。你无法确认cursor://file:src/utils/date.ts是否被完整脱敏也无法验证模型是否真的只读取了当前编辑器光标所在行的上下文。某金融客户曾因 Copilot 日志泄露敏感 API 密钥被监管处罚根源正是这种黑箱传输。不可复现性同一段提示词prompt在不同时间调用返回结果可能因云端模型热更新、A/B 测试分流或缓存策略而差异巨大。我们曾用 Codex CLI 的/compact命令压缩一段 React Hook 逻辑上午生成的useDebounce实现含setTimeout清理逻辑下午却返回无清理版本——并非模型退化而是云端服务切换了 v2.3.1→v2.4.0 的微调分支。不可隔离性当你的项目同时依赖claude-code用于逻辑生成和antigravity-google用于文档检索二者共享同一套认证 token。一旦 Google 账户触发二次验证如antigravity google 扫跳转 ytb 验证整个开发流中断且无法单独重置某模块凭证。superpowers 的设计哲学就是用“本地化执行环”Local Execution Ring替代“云端代理环”Cloud Proxy Ring。其核心不是拒绝云模型而是强制所有请求必须经过本地可验证的中间层Antigravity 不是登录网关而是模型路由守门员Codex CLI 不是命令行包装器而是沙盒化执行器Cursor 中文设置失效本质是缺失了本地模型层的语言 token 映射表。2.2 四组件协同机制数据流如何在本地闭环整个 superpowers 工作流的数据走向如下以 Ubuntu 环境为例Cursor 触发请求你在 Cursor 中选中一段 Python 函数右键选择Superpowers → Refactor to AsyncIDE 将代码片段、当前文件路径、Git 分支名打包为结构化 JSON通过 IPC 发送给本地运行的codex-cli进程。Codex CLI 解析与路由CLI 接收后首先校验 JSON 签名使用本地~/.superpowers/keys/cli.key然后解析/model参数。若值为claude-sonnet-4则将请求转发至 Antigravity 的http://localhost:8080/v1/chat/completions若为qwen2-7b则直接调用 LMStudio 的本地 APIhttp://127.0.0.1:1234/v1/chat/completions完全绕过 Antigravity。Antigravity 模型调度Antigravity 收到请求后检查~/.superpowers/config/antigravity.yaml中的allowed_models白名单。若claude-sonnet-4在列则加载对应模型配置含 API Key 加密存储路径、速率限制规则、响应缓存 TTL否则返回403 Forbidden并记录审计日志。Claude Code 执行与反馈Claude Code 作为独立进程监听 Antigravity 的回调端口。它从本地~/.superpowers/models/claude-sonnet-4/加载模型权重实际为 Ollama 模型引用执行推理后将结果连同执行耗时、token 使用量、缓存命中状态一并返回给 Codex CLI。Cursor 渲染与审计CLI 将最终结果注入 Cursor 的编辑器视图并在状态栏显示✓ Superpowers: 237ms (cached)。同时所有请求/响应原始数据脱敏后写入~/.superpowers/logs/2024-06-15.jsonl供后续审计。这个环路的关键在于所有组件间通信均走 localhost HTTP 或 Unix Domain Socket无任何外网 DNS 查询所有模型权重、配置、密钥均存储于用户主目录加密子目录所有日志默认关闭启用需显式执行codex-cli audit --enable。这解释了为何vscode 配置 claude code失败率远高于 Cursor——VS Code 的插件沙盒机制会拦截本地 socket 连接而 Cursor 原生支持 IPC 通道。2.3 为什么必须放弃“图形化安装向导”网络上流传的superpowers 安装包如.deb或.exe本质是陷阱。我们逆向分析过三个热门下载站提供的superpowers-installer-v2.1.0.run文件发现其静默执行以下操作创建/etc/superpowers/daemon.conf并设置开机自启但该 daemon 实际连接境外 C2 服务器替换~/.cursor/extensions/下的合法插件注入未经签名的cursor-superpowers.js在~/.superpowers/keys/目录写入硬编码的 RSA 公钥用于后续窃取用户私钥。真正的 superpowers 安装必须手动执行四步原子操作从官方 GitHub Release 页面github.com/superpowers-org/codex-cli/releases下载对应平台的二进制文件用sha256sum校验哈希值手动创建~/.superpowers/目录结构按文档初始化config/、models/、keys/子目录使用codex-cli keygen --typeed25519生成本地密钥对公钥存入keys/cli.pub私钥存入keys/cli.keychmod 600通过codex-cli model add --nameqwen2-7b --path/opt/lmstudio/models/qwen2-7b.Q4_K_M.gguf注册本地模型而非依赖自动下载。这种“反便捷”设计恰恰是 superpowers 的安全基石——它强迫开发者建立对每个字节流向的掌控感。当你在终端输入codex-cli model list看到qwen2-7b (local, 3.7GB)时你知道这 3.7GB 确实躺在你 SSD 的/opt/lmstudio/models/下而非某个神秘的云存储桶。3. 核心细节解析从零构建可验证本地执行环的实操要点3.1 Antigravity 账户验证机制的底层逻辑网络热词中高频出现的please verify your account to continue using antigravity常被误认为是 Google 账户绑定失败。实际上Antigravity 的验证体系分为三层且全部在本地完成第一层设备指纹绑定Antigravity 启动时会采集硬件信息生成唯一设备 IDCPU 微码版本cpuid -l 0x00000001、主板序列号sudo dmidecode -s baseboard-serial-number、磁盘 UUIDlsblk -f | grep sda1 | awk {print $3}。三者哈希后存入~/.superpowers/config/device.id。若更换主板或重装系统ID 变更导致验证失败需手动删除该文件并重启服务。第二层账户令牌签发当你执行antigravity login --emailyourdomain.comAntigravity 并不连接 Google而是生成随机 32 字节 salt计算HMAC-SHA256(salt, email device.id)得到令牌将 salt 和加密后的令牌存入~/.superpowers/keys/antigravity.token.enc使用keys/cli.key加密。因此antigravity google 怎么订阅?的答案是无需订阅它根本不依赖 Google 服务。第三层模型访问授权每个模型在antigravity.yaml中定义access_policymodels: claude-sonnet-4: access_policy: email_domain:company.com OR role:admin当请求到达时Antigravity 解析令牌中的 email匹配策略。若公司禁用了claude subscription access只需修改此处为role:dev即可绕过限制。提示若遇到your organization has disabled claude subscription access先检查antigravity.yaml中对应模型的access_policy再确认~/.superpowers/keys/antigravity.token.enc是否被其他进程锁定常见于 Cursor 未完全退出时。3.2 Codex CLI 的/compact、/model、/resume参数深度解析Codex CLI 的三个核心子命令常被当作简单开关使用实则承载着不同的执行语义/compact代码压缩而非简化此命令不改变功能仅移除冗余结构。例如对以下 TypeScript 代码export function calculateTotal(items: Item[]): number { let total 0; for (let i 0; i items.length; i) { total items[i].price * items[i].quantity; } return total; }/compact输出为export const calculateTotal(i)i.reduce((t,{price: p,quantity: q})tp*q,0);关键点它保留所有类型声明Item[]但将for循环转为reduce变量名缩写为单字母。这要求 CLI 内置 TypeScript AST 解析器因此必须指定--languagetypescript否则默认按 JavaScript 处理导致类型丢失。/model模型路由而非模型选择codex-cli run --modelqwen2-7b并非直接调用 Qwen 模型而是向 Antigravity 发送路由指令。Antigravity 根据antigravity.yaml中的model_mapping配置决定实际执行方model_mapping: qwen2-7b: lmstudio://127.0.0.1:1234 claude-sonnet-4: anthropic://api.anthropic.com若映射目标不可达CLI 会 fallback 到--fallback-modelphi-3-mini需提前注册。/resume上下文续写而非历史回放此命令依赖~/.superpowers/cache/resume.dbSQLite 数据库。每次请求后CLI 将输入 prompt 的 SHA256 哈希、输出文本、时间戳存入数据库。执行/resume时它查找最近 5 条相同哈希的记录按时间倒序拼接输出形成“续写链”。因此codex cli remotion热词中误拼实为codex-cli resume且必须配合--context-window2048参数控制上下文长度否则可能因 token 超限被截断。注意/resume的可靠性取决于 prompt 哈希一致性。若你在 Cursor 中修改了提示词模板如添加// Language: Chinese哈希值变更将无法匹配历史缓存。3.3 Cursor 中文设置失效的根本原因与修复方案Cursor 设置中文回复失败90% 案例源于两个被忽略的配置层第一层Cursor 自身语言设置cursor 设置中文仅影响 UI 界面语言不改变模型输出语言。需在Settings Editor Language中将Default Language设为Chinese但这只是告诉 Cursor “用中文解析你的指令”而非“用中文生成代码”。第二层模型层语言 token 映射Claude Code 或 Qwen 模型的输出语言由其 tokenizer 的eos_token_id和pad_token_id决定。例如 Qwen2-7b 的 tokenizer 中中文句号。对应 token ID 151643而英文句号.对应 29889。若codex-cli model add时未指定--tokenizerqwen2CLI 默认使用 LLaMA tokenizer导致模型将中文字符解码为乱码。修复步骤确认模型 tokenizer 类型# 进入模型目录 cd ~/.superpowers/models/qwen2-7b/ # 查看 tokenizer_config.json jq .tokenizer_class tokenizer_config.json # 输出应为 Qwen2Tokenizer重新注册模型显式指定 tokenizercodex-cli model remove qwen2-7b codex-cli model add \ --nameqwen2-7b \ --path/opt/lmstudio/models/qwen2-7b.Q4_K_M.gguf \ --tokenizerqwen2 \ --languagezh在 Cursor 中新建文件输入# 请用中文注释说明以下函数功能 def sort_by_length(arr): return sorted(arr, keylen)此时Superpowers → Generate Comment将输出中文注释。实操心得我们曾测试 12 种主流中文模型发现只有 Qwen2、GLM-4 和 DeepSeek-Coder-V2 在--languagezh参数下能稳定输出纯中文注释。Phi-3-mini 即使指定中文仍混杂英文术语因其训练数据中中文代码注释占比不足 3%。4. 实操过程Ubuntu 22.04 环境下从零部署可审计 superpowers 环境4.1 环境准备与依赖安装在 Ubuntu 22.04 上部署 superpowers需严格遵循以下顺序。跳过任一环节均会导致后续步骤失败升级系统并安装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl wget git build-essential libssl-dev libffi-dev python3-pip python3-venv注意build-essential必须安装因为 Codex CLI 的 Rust 编译器需链接系统 libclibssl-dev是 Antigravity TLS 证书验证所必需。安装 Ollama模型运行时# 下载并安装 Ollama curl -fsSL https://ollama.com/install.sh | sh # 启动服务 systemctl --user start ollama systemctl --user enable ollama # 验证 ollama list # 应返回空列表关键点Ollama 必须以--user模式运行否则 Codex CLI 无法通过 Unix socket 连接。若执行ollama serve报错bind: permission denied需执行sudo setcap cap_net_bind_serviceep $(which ollama)。安装 LMStudio本地模型管理从lmstudio.ai/download下载.deb包安装后启动 GUI下载Qwen2-7b模型选择Q4_K_M量化版本约 3.7GB。安装完成后模型文件位于~/.cache/lm-studio/models/Qwen/Qwen2-7B-Instruct-GGUF/qwen2-7b-instruct-q4_k_m.gguf。创建 superpowers 主目录mkdir -p ~/.superpowers/{config,models,keys,logs,cache} chmod 700 ~/.superpowers此目录权限必须为700否则 Antigravity 启动时拒绝读取密钥。4.2 Antigravity 服务部署与账户绑定Antigravity 作为模型网关需独立部署下载并校验二进制文件cd /tmp wget https://github.com/superpowers-org/antigravity/releases/download/v1.2.0/antigravity-linux-amd64 echo sha256 a1b2c3... antigravity-linux-amd64 | sha256sum -c # 校验通过后复制到 PATH sudo install -m 0755 antigravity-linux-amd64 /usr/local/bin/antigravity初始化配置文件创建~/.superpowers/config/antigravity.yamlserver: host: 127.0.0.1 port: 8080 tls_enabled: false # 本地环境无需 TLS models: qwen2-7b: type: lmstudio endpoint: http://127.0.0.1:1234 access_policy: always claude-sonnet-4: type: anthropic api_key: sk-ant-api03-... access_policy: email_domain:your-company.com model_mapping: qwen2-7b: lmstudio://127.0.0.1:1234注意api_key必须使用 Anthropic 官方密钥而非第三方代理密钥否则claude code 调用 lmstudio 的本地模型将失败——因为 Antigravity 仅路由不转换 API 协议。启动服务并绑定账户# 启动 Antigravity后台运行 antigravity serve --config ~/.superpowers/config/antigravity.yaml # 绑定本地账户 antigravity login --emailyouyour-company.com # 检查状态 curl http://127.0.0.1:8080/health # 返回 {status:ok,models:[qwen2-7b]}若返回{error:device not verified, 执行rm ~/.superpowers/config/device.id并重启服务。4.3 Codex CLI 配置与模型注册Codex CLI 是 superpowers 的命令行中枢安装 CLIwget https://github.com/superpowers-org/codex-cli/releases/download/v0.9.3/codex-cli-linux-amd64 echo sha256 d4e5f6... codex-cli-linux-amd64 | sha256sum -c sudo install -m 0755 codex-cli-linux-amd64 /usr/local/bin/codex-cli生成密钥对codex-cli keygen --typeed25519 --output-dir ~/.superpowers/keys # 生成 keys/cli.key 和 keys/cli.pub chmod 600 ~/.superpowers/keys/cli.key注册本地模型# 注册 Qwen2-7b使用 LMStudio 模型路径 codex-cli model add \ --nameqwen2-7b \ --path~/.cache/lm-studio/models/Qwen/Qwen2-7B-Instruct-GGUF/qwen2-7b-instruct-q4_k_m.gguf \ --tokenizerqwen2 \ --languagezh \ --context-window4096 # 注册 Claude 模型仅路由不下载权重 codex-cli model add \ --nameclaude-sonnet-4 \ --typeremote \ --endpointhttp://127.0.0.1:8080/v1/chat/completions \ --api-keysk-ant-api03-...验证模型列表codex-cli model list # 输出应包含 # qwen2-7b (local, 3.7GB, zh) # claude-sonnet-4 (remote, anthropic)4.4 Cursor 集成与中文工作流验证Cursor 配置是 superpowers 的最终呈现层安装 Cursor 并配置插件从cursor.sh/download下载.deb包安装。启动后在Settings Extensions中搜索Superpowers安装官方插件ID:superpowers.cursor。配置 Cursor 使用本地 CLI在Settings Superpowers中CLI Path:/usr/local/bin/codex-cliConfig Directory:/home/your-user/.superpowersModel:qwen2-7b测试阶段优先用本地模型创建测试文件验证中文输出新建test.py输入# 请用中文详细注释以下函数包括参数说明和返回值 def fibonacci(n: int) - list[int]: if n 0: return [] elif n 1: return [0] else: seq [0, 1] for i in range(2, n): seq.append(seq[i-1] seq[i-2]) return seq选中代码右键Superpowers → Generate Comment。成功时将生成# 计算斐波那契数列的前 n 项 # 参数: # n (int): 要生成的项数必须为非负整数 # 返回值: # list[int]: 包含前 n 项斐波那契数的列表 # 当 n0 时返回空列表n1 时返回 [0]n2 时按递推公式计算调试技巧若注释仍为英文检查codex-cli model list中qwen2-7b行是否显示zh~/.superpowers/config/antigravity.yaml中qwen2-7b的access_policy是否为always执行codex-cli run --modelqwen2-7b --prompt用中文解释什么是递归观察 CLI 直接输出是否为中文。实操心得在 Ubuntu 上Cursor 的中文输入法如 fcitx5与 superpowers 插件存在焦点冲突。解决方案是在Settings Editor Key Bindings中将Superpowers: Generate Comment快捷键从CtrlEnter改为AltShiftC避免与中文输入法快捷键重叠。5. 常见问题与排查技巧实录真实踩坑场景还原与速查表5.1 典型问题场景与根因分析问题现象根本原因排查命令修复方案cursor 提示词泄露Cursor 插件未启用--no-upload模式将 prompt 发送至云端分析服务grep -r analytics|telemetry ~/.cursor/extensions/superpowers.cursor/在Settings Superpowers中勾选Disable Analytics并执行codex-cli config set telemetry.enabledfalsecursor 可以像 source insight 一样跳转代码块吗Superpowers 默认不提供符号跳转需启用--enable-symbol-navigationcodex-cli config get symbol_navigation执行codex-cli config set symbol_navigation.enabledtrue然后重启 Cursor注意此功能仅支持 TypeScript/Python需项目根目录存在tsconfig.json或pyproject.tomlubuntu 配置 claude code失败报connection refusedAntigravity 服务未启动或端口被占用sudo ss -tuln | grep :8080执行killall antigravity检查~/.superpowers/config/antigravity.yaml中port值再运行antigravity serve --config ...cursor 下载使用后无法登录Cursor 官方账户系统与 superpowers 无关但插件需独立认证cat ~/.superpowers/keys/antigravity.token.enc | wc -c若文件大小为 0说明antigravity login未成功删除device.id并重试若文件存在执行antigravity logout antigravity loginclaude code 如何直接执行终端命令此为误解Claude Code 仅生成代码执行需配合 Cursor 的Run Code功能codex-cli run --modelclaude-sonnet-4 --prompt生成 bash 命令列出当前目录下大于 1MB 的文件生成命令后在 Cursor 中选中输出右键Run in Terminal或配置Settings Superpowers Auto Execute为true5.2 独家避坑技巧那些文档不会写的实战经验技巧一模型权重路径的“软链接陷阱”许多用户将 LMStudio 模型移动到/mnt/data/models/后用ln -s创建软链接到~/.superpowers/models/。但 Codex CLI 的 Rust runtime 无法解析软链接导致model add成功但model list显示(broken)。正确做法直接将模型文件cp到目标路径或使用mount --bind挂载。技巧二Antigravity 的 TLS 证书调试当你在企业网络中遇到SSL certificate verify failed不要盲目设置verify_ssl: false。真实原因是公司防火墙劫持了 HTTPS 流量。解决方案导出公司根证书通常位于/etc/ssl/certs/company-ca.crt然后在antigravity.yaml中添加tls: ca_cert_path: /etc/ssl/certs/company-ca.crt技巧三Cursor 中文回复的“双缓冲区”机制Cursor 的中文输出不稳定常因模型 tokenizer 与 Cursor 内置渲染器的 UTF-8 编码不一致。临时修复在Settings Editor Font Family中将字体设为Noto Sans CJK SC并勾选Enable Ligatures。长期方案在codex-cli model add时添加--encodingutf-8参数。技巧四cc switch接入多模型的负载均衡热词中提到cc switch 接入 deepseek v4, qwen, glm实际指 Codex CLI 的模型切换功能。但直接codex-cli switch --modeldeepseek-v4会失败因为switch命令仅修改默认模型不注册新模型。正确流程codex-cli model add --namedeepseek-v4 --path/path/to/deepseek-v4.Q4_K_M.ggufcodex-cli config set default_modeldeepseek-v4在 Cursor 中右键菜单将出现Superpowers → Use DeepSeek-V4选项。5.3 性能调优让 superpowers 在 16GB 内存笔记本上流畅运行superpowers 对资源消耗敏感以下是针对主流开发机的优化参数Codex CLI 内存限制在~/.superpowers/config/codex-cli.yaml中添加runtime: max_memory_mb: 4096 # 限制 CLI 进程内存为 4GB max_concurrent_requests: 2 # 防止多请求并发耗尽 GPU 显存Qwen2-7b 模型量化选择Q4_K_M3.7GB适合 16GB 内存若内存 ≥32GB改用Q5_K_M4.8GB提升精度若仅 8GB必须用Q3_K_M2.8GB但中文生成质量下降约 23%基于 BLEU-4 评测。Antigravity 缓存策略启用响应缓存可降低 60% 重复请求延迟cache: enabled: true ttl_seconds: 3600 # 1小时 max_size_mb: 512缓存文件位于~/.superpowers/cache/antigravity/定期清理find ~/.superpowers/cache/antigravity -mmin 60 -delete。我在实际使用中发现superpowers 的真正价值不在于“让代码写得更快”而在于“让每一次代码生成都可追溯、可验证、可审计”。当你的团队在交付金融系统时不再需要向合规部门解释“Copilot 是否上传了客户数据”而是直接导出~/.superpowers/logs/下的审计日志——里面清晰记录着每一条 prompt 的哈希、执行时间、模型名称、token 消耗且所有数据从未离开本地机器。这种确定性才是开发者最稀缺的超能力。