# @12errh/antigravity-proxy 中文文档

规范地址：https://npmcn.com/package/%4012errh/antigravity-proxy/

版本：1\.0\.12
npm 元数据更新时间：2026-10-17T07:22:59.124Z
中文译文更新时间：2026-11-06T03:09:44.683Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%4012errh/antigravity-proxy
原文对照：https://npmcn.com/package/%4012errh/antigravity-proxy/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.8 MB，376 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：8 个
- 首次发布：2026-06-24T07:39:19.814Z
- 最新版本发布：2026-10-17T07:22:58.945Z
- 近 30 天下载量：5916（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

Antigravity 的 LLM 代理 – 将 Google 双子座API 调用翻译到任何提供者

## 安装

```sh
npm install @12errh/antigravity-proxy
```

也可以使用：`pnpm add @12errh/antigravity-proxy`、`yarn add @12errh/antigravity-proxy`、`bun add @12errh/antigravity-proxy`

## README

# 反重力代理服务器

![Antigravity](https://antigravity.google/assets/image/brand/antigravity-icon__full-color.png)

# 反重力代理服务器

**使用任何 AI 提供者** 与 **抗重力2.0** ——NVIDIA,OpenRouter,OpenAI,格罗克,Anthropic,Google双子座,OpenCode Zen,OpenCode Go,或9+本地推论解决方案.

 [![npm version](https://img.shields.io/npm/v/@12errh/antigravity-proxy.svg)](https://www.npmjs.com/package/@12errh/antigravity-proxy)[![npm downloads](https://img.shields.io/npm/dm/@12errh/antigravity-proxy.svg) ](https://www.npmjs.com/package/@12errh/antigravity-proxy)[![CI](https://github.com/12errh/antigravity-proxy/actions/workflows/ci.yml/badge.svg) ](https://github.com/12errh/antigravity-proxy/actions/workflows/ci.yml)![Node >=20](https://img.shields.io/badge/node-%3E%3D20-brightgreen) ![MIT](https://img.shields.io/badge/license-MIT-blue) ![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)

* * *

## 快速安装

```bash
npm install -g @12errh/antigravity-proxy
antigravity setup    # interactive wizard — picks provider, enters API key, configures port
antigravity start    # starts proxy + dashboard + launches Antigravity desktop
```

> **无需克隆 .** Npm包包括一切:CLI,代理,仪表板,certs,以及所有提供者. 安装一次,到处跑.

* * *

## 快速启动

### 先决条件

-   **反重力2.0 桌面** (温道,macOS,或Linux)
-   **节点.js 20+**
-   **管理员/基层权限** (第443口)——关于Linux/macOS运行 `sudo antigravity start`; CLI 在您机器( nvm, fnm, volta, 或系统) 下重新执行 20+ 节点, 因此 sudo 不需要 root 上的节点 `PATH`
-   至少一个 API 密钥或本地模式服务器

### 平台支持

| 平台 | 状态 | 页:1 |
| --- | --- | --- |
| **视窗 10/11** | 已测试 | CLI 处理证书安装( UAC), 端口绑定, 并启动 |
| **马科斯** | 获支持 | CLI 信任系统密钥链中的 cert( sudo 提示) 、 端口绑定和启动 |
| **链接** | 获支持 | CLI 在NSS DB中信任证书(`~/.pki/nssdb`,电子应用读取的内容) **财务报告和审定财务报表** 系统 CA 存储; 安装 `libnss3-tools` 何时通过apt/dnf/paceman `certutil` 缺少 |

> 每个平台的前提条件不同: **端口 443 需要管理员** 和 **根/苏多** 在 Linux/macOS 上。 桌面应用程序总是在443上连接(通过主机文件与代理程序连接),因此代理模式必须绑定443来截取应用程序流量——a `PROXY_PORT` 例如,8443在从根开始时自动修正为443. `--port 8443` 运行代理, 仅用于直接 API 测试; 桌面应用程序的登录不会被截取到其他端口 .

### 通过CLI发射(建议)

```bash
npm install -g @12errh/antigravity-proxy
antigravity start                    # background mode — runs silently, launches desktop
antigravity start --foreground       # foreground mode — see live logs in terminal
antigravity start --port 8443        # no admin needed (testing only — app sign-in needs 443)
antigravity start --trust-cert       # auto-trust TLS certificate
antigravity stop                     # stop everything cleanly
```

### 从来源发射(发展)

**获取仓库**

```bash
git clone https://github.com/12errh/antigravity-proxy.git
cd antigravity-proxy
```

**Windows( PowerShell 作为管理员)**

```powershell
.\start.ps1
```

**macOS / Linux 系统**

```bash
chmod +x start.sh
./start.sh
```

**无管理员(第8443号港口——仅测试)**

```bash
./start.sh --port 8443
```

> 桌面应用程序总是在443上连接;使用 `--simple` 在没有代理的情况下启动应用程序,或与sudo/管理员运行以进行应用程序截取.

然后打开 **http://localhost:4000 (英语)** 在浏览器中配置提供者、模型映射和查看实时数据.

* * *

## 关键特性

| 特性 | 状态 | 说明 |
| --- | --- | --- |
| **自动上下文收缩** | ✅ | 接近上下文限制时基于 LLM 的归纳 |
| **每个供应商的模型倒置** | ✅ | 在失败前在同一供应商内尝试多个模型 |
| **多供应商故障** | ✅ | 具有指数备份的优先链 |
| **按型号排列** | ✅ | 每个模型别名一行,每个提供者一列 |
| **重试 + 后退** | ✅ | 可配置的每供应商和全球 |
| **热重装配置** | ✅ | 更改不需要重新启动 |
| **工具正常化** | ✅ | 别名分辨率, 类型强制, 默认填充 |
| **模型能力检测** | ✅ | 自动检测推理、视觉、工具 |
| **提供者优化** | ✅ | 格罗克(图像剥离),Zen/NVIDIA(合理努力) |
| **实时仪表板** | ✅ | 实时日志、 数据、 配置编辑器 |
| **费用跟踪** | ✅ | 每天,每名模特,每名提供者 |
| **本地发现** | ✅ | 9+ 自动检测到的推论解决方案 |
| **全文搜索** | ✅ | 搜索请求、会话、日志 |
| **块状** | ✅ | 提供者、模型、内容过滤 |
| **会话比较** | ✅ | 逐会分析 |

* * *

## \* 如何运作

```mermaid
graph TD
    A[Antigravity 2.0 Desktop] --> B[TLS 443]
    B --> C[Proxy]
    C --> D[Cloud APIs]
    C --> E[Local APIs]
    C --> F[Dashboard]
    
    D --> G[OpenRouter]
    D --> H[NVIDIA]
    D --> I[OpenAI]
    D --> J[Groq]
    D --> K[Anthropic]
    D --> L[Google Gemini]
    D --> M[Zen]
    
    E --> N[Ollama]
    E --> O[vLLM]
    E --> P[LM Studio]
    E --> Q[llama.cpp]
    
    F --> R[Live Logs]
    F --> S[Request History]
    F --> T[Config Editor]
    F --> U[Model Matrix]
    F --> V[Provider Priority]
```

### 请求管道

1.  **TLS 截取** - 接收双子座API呼叫端口443
2.  **脱下上下文** ——去掉批量上下文,注入紧凑 `agent-context.md` 参考文献
3.  **工具规范化** ——解决异名,强迫类型,填补缺省
4.  **决议范本** ——通过重试+后置的优先权顺序的路由
5.  **能力检测** ——自动检测推理/视觉/工具支持
6.  **努力的理由** - 应用 `reasoning_effort` 如果配置的话
7.  **翻译** — 转换为目标提供者的 API 格式
8.  **流线** ——以双子座格式包裹的返回SSE响应
9.  **日志** - 记录到SQLite,用于成本跟踪、历史、会议

* * *

## \* 支助提供者

### 云的 APIs

| 提供者 | 类型 | 信封瓦尔 | 页:1 |
| --- | --- | --- | --- |
| **打开路透社** | 云类 API | `OPENROUTER_API_KEY` | 300+ 一个键的模型 |
| **NVIDIA 尼姆语** | 云类 API | `NVIDIA_API_KEY` | 注册时免费信用 |
| **开放AI** | 云类 API | `OPENAI_API_KEY` | GPT-4o,O系列 |
| **格罗克** | 云类 API | `GROQ_API_KEY` | 超快LPU推论 |
| **安东尼** | 云类 API | `ANTHROPIC_API_KEY` | 克劳德 3.x / 4.x |
| **谷歌双子座** | 云类 API | `GOOGLE_API_KEY` | 双子座 2.5 亲子/闪光 |
| **打开代码禅** | 云门 | `OPENCODE_API_KEY` | Claude、GPT、双子座、Grok、Kimi、GLM——一把钥匙 |
| **打开代码去** | 云门 | `OPENCODE_GO_API_KEY` | Depseek, Quen, MiniMax, GLM, Kimi, MiMo — 10美元/分 |

### 本地推论

| 提供者 | 类型 | 页:1 |
| --- | --- | --- |
| **奥拉玛** | 当地 | 在端口11434上自动发现 |
| **vLLM 数据** | 当地 | 自动发现于端口 8000 |
| **LM 工作室** | 当地 | 1234端口自动发现 |
| **拉玛.cpp** | 当地 | 自动发现于端口 8080 |
| **文本生成-webui** | 当地 | 在端口5000上自动发现 |
| **塔比API** | 当地 | 在端口5000上自动发现 |
| **当地AI** | 当地 | 自动发现于端口 8080 |
| **列表** | 当地 | 在4000号端口自动发现 |
| **Aphrodite 发动机** | 当地 | 自动发现于端口 8000 |

* * *

## • 模型标签-矩阵

模型分页显示一个矩阵:每个反重力模型别名一行,每个提供者一列.

```mermaid
graph TD
    A[Model Alias] --> B[Default]
    A --> C[OpenRouter]
    A --> D[Zen]
    
    E[claude-sonnet-4-6] --> F[claude-sonnet-4-5]
    E --> G[anthropic/claude-3-5-sonnet-20241022]
    E --> H[claude-sonnet-4-5]
    
    I[gemini-2.5-flash] --> J[gemini-2.5-flash]
    I --> K[google/gemini-2.0-flash-exp]
    I --> L[deepseek-v4-flash]
    
    M[gpt-4o] --> N[openai/gpt-4o]
    M --> O[openai/gpt-4o]
```

**特征 :**

-   双击任意单元格以打开活模式拾取器
-   隐藏未使用的提供者的列切换
-   快速添加按钮( E)`+ Claude`, (中文(简体) ), `+ Gemini`, (中文(简体) ), `+ GPT`(中文(简体) )
-   空单元格使用默认值
-   已填入单元格的提供者标识

* * *

## \* 示范选项——努力的理由

一些模型支持 `reasoning_effort` 来控制思维深度 :

| 模范家庭组织 | 职等 |
| --- | --- |
| 深搜索 R 序列 | 低、中、高、最大 |
| NVIDIA 步调 | 低、中、高、最大 |
| OpenAI 系列 | 低、中、高 |
| Quen 思考, GLM 想想吧,基米,你觉得呢 | 低、中、高 |

**自动检测 :** 模式选项标签检测支持的模型,并允许您设定每个模型的级别。 设置持续在 `proxy/reasoning-effort.json` 不重新启动.

* * *

## 配置标签 — API 密钥

| 密钥 | 提供者 |
| --- | --- |
| `OPENROUTER_API_KEY` | [开口/钥匙](https://openrouter.ai/keys) |
| `NVIDIA_API_KEY` | [建置. nvidia.com (中文(简体) )](https://build.nvidia.com/) 注册时的免费信贷 |
| `OPENAI_API_KEY` | [平台. openai.com/api-keys (中文(简体) )](https://platform.openai.com/api-keys) |
| `GROQ_API_KEY` | [控制台.groq.com/键盘](https://console.groq.com/keys) |
| `ANTHROPIC_API_KEY` | [控制台. harmanic.com/设置/钥匙](https://console.anthropic.com/settings/keys) |
| `GOOGLE_API_KEY` | [aistudio.google.com/ apikey (英语)](https://aistudio.google.com/apikey) |
| `OPENCODE_API_KEY` | [打开码.ai/auth](https://opencode.ai/auth) - Claude、GPT、双子座、Grok、Kimi、GLM的钥匙 |

所有密钥都是热重装的 `.env` - 不需要重新开始.

* * *

## 建筑

```mermaid
graph TD
    %% Root level
    A[agent-context.md] --> B[start.ps1]
    B --> C[README.md]
    C --> D[CHANGELOG.md]
    C --> E[docs/]
    C --> F[proxy/]
    
    %% docs/ directory
    E --> G[SETUP.md]
    E --> H[CONFIGURATION.md]
    E --> I[DEVELOPER.md]
    
    %% proxy/ directory
    F --> K[src/]
    
    %% src/ directory - main components
    K --> L[adapters/]
    K --> M[adapter.ts]
    K --> N[provider-plugin.ts]
    K --> O[provider-registry.ts]
    K --> P[plugins/]
    K --> Q[tool-capabilities.ts]
    K --> R[tool-normalizer.ts]
    K --> S[model-capabilities.ts]
    K --> T[router.ts]
    K --> U[models.ts]
    K --> V[index.ts]
    K --> W[engine.ts]
    K --> X[mapper.ts]
    K --> Y[config.ts]
    K --> Z[provider-cache.ts]
    
    %% adapters subdirectory
    L --> A1[openai.ts]
    L --> A2[anthropic.ts]
    L --> A3[google.ts]
    L --> A4[groq.ts]
    L --> A5[zen.ts]
    L --> A6[nvidia.ts]
    L --> A7[types.ts]
    
    %% plugins subdirectory
    P --> B1[builtin-plugins.ts]
    
    %% dashboard subdirectory
    F --> C1[dashboard/]
    C1 --> C2[index.html]
    C1 --> C3[login.html]
    
    %% Other files in proxy/
    F --> D1[models.json]
    F --> D2[pricing.json]
    F --> D3[reasoning-effort.json]
    F --> D4[blocklist.json]
    F --> D5[.env]
    F --> D6[.env.example]
    F --> D7[certs/]
    F --> D8[logs/]
    
    %% Note: actual configuration for certs and logs are nested
```

````

---

## 🔧 Environment Variables

```env
# Provider priority (first = primary)
PROVIDER_PRIORITY=openrouter,nvidia,zen

# API keys
OPENROUTER_API_KEY=sk-or-v1-...
NVIDIA_API_KEY=nvapi-...
OPENAI_API_KEY=sk-...
GROQ_API_KEY=gsk_...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AIza...
OPENCODE_API_KEY=sk-...
OPENCODE_GO_API_KEY=sk-opencode-go-...

# Ports
PROXY_PORT=443          # TLS port the desktop app connects to (root starts auto-correct other values)
API_PORT=4000           # Dashboard + REST API port

# Retry & failover
PROXY_RETRIES=3         # Attempts per provider
PROXY_BACKOFF_MS=100    # Initial backoff (doubles each retry)

# Rate limiting (0 = unlimited)
RATE_LIMIT_GLOBAL=0
RATE_LIMIT_PROVIDER=0
RATE_LIMIT_WINDOW_MS=60000

# Logging
LOG_LEVEL=info          # debug | info | warn | error
LOG_MAX_SIZE_MB=10      # Rotate when reached
LOG_MAX_FILES=5         # Keep N rotated files
LOG_MAX_AGE_DAYS=30     # Delete files older than

# Dashboard auth (optional)
DASHBOARD_USER=admin
DASHBOARD_PASSWORD=your_password

# Failover webhook (optional)
FAILOVER_WEBHOOK_URL=https://hooks.example.com/webhook

# Workspace context hardening
WORKSPACE_CONTEXT_ENVELOPE=strict   # off | loose | strict

# Inline context mode
CONTEXT_STRIP_MODE=lite             # lite (recommended) | strip | passthrough
````

> ### \\\\\\ 背景模式解释
> 
> **字 (建议):** 压缩用途 `agent-context-lite.md` (~3.5K令牌)——与全上下文相同的工具覆盖,使令牌减少66%. 脱去原生Antigravity上下文,注入压缩版.
> 
> **脱:** 全部使用 `agent-context.md` (~10K令牌) ——去掉批量上下文(技能/插件/身份),注入完整的操作手册.
> 
> **过关 :** 前进原生抗重力上下文不变(~28K令牌)——最简单的方法,没有注射高通.

* * *

## QQ 快速链接

-   [设置指南](https://npmcn.com/package/%4012errh/antigravity-proxy/docs/SETUP.md)
-   [配置参考](https://npmcn.com/package/%4012errh/antigravity-proxy/docs/CONFIGURATION.md)
-   [开发者指南](https://npmcn.com/package/%4012errh/antigravity-proxy/docs/DEVELOPER.md) ← **用于添加提供者和插件开发**
-   [变化](https://npmcn.com/package/%4012errh/antigravity-proxy/CHANGELOG.md)
-   [捐款](https://npmcn.com/package/%4012errh/antigravity-proxy/CONTRIBUTING.md)
-   [安全政策](https://npmcn.com/package/%4012errh/antigravity-proxy/SECURITY.md)

* * *

## QQ 开发快速启动

```bash
cd proxy
npm install            # Install dependencies
npm run build          # Compile TypeScript → dist/
npm run typecheck      # Type-check only
npm test               # Run tests
npm run dev            # Watch mode
```

**新供应商 :** 见 `docs/DEVELOPER.md` 用于插件架构指南.

**运行测试 :**

```bash
# All tests
npm test

# Filter by component
npx tsx test/run.ts plugin-architecture
npx tsx test/run.ts tool-translation
npx tsx test/run.ts model-discovery
npx tsx test/run.ts provider-adapters
```

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/package/%4012errh/antigravity-proxy/LICENSE)。 。 。 .

## 常见问题

### @12errh/antigravity-proxy 是什么？

Antigravity 的 LLM 代理 – 将 Google 双子座API 调用翻译到任何提供者

### 如何安装 @12errh/antigravity-proxy？

在项目目录运行 npm install @12errh/antigravity-proxy，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 antigravity，可以用 npx antigravity 直接运行。

### @12errh/antigravity-proxy 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @12errh/antigravity-proxy 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @12errh/antigravity-proxy 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @12errh/antigravity-proxy 可以商用吗？

@12errh/antigravity-proxy 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @12errh/antigravity-proxy 的下载量有多少？

根据 npm 官方下载统计，@12errh/antigravity-proxy 在 2026/10/05 – 2026/11/03 这 30 天内被下载 5,916 次，日均约 197 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @12errh/antigravity-proxy 还在维护吗？

最新版本 1\.0\.12 发布于 2026/10/17（21 天前）；至今共发布 12 个版本，其中过去 12 个月发布了 12 个；首次发布于 2026/06/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

