diff --git a/README.es.md b/README.es.md
index cc0fd2d..9010c45 100644
--- a/README.es.md
+++ b/README.es.md
@@ -201,7 +201,7 @@ _(Consulta la advertencia en la parte superior de esta página si usas Windows y
Con la aplicación en ejecución y al menos una cuenta agregada, configura tu IDE preferido (Cursor, Windsurf, OpenCode, etc.):
```plaintext
-API Base URL: http://localhost:10100/v1
+API Base URL: http://localhost:8045/v1
API Key: (copiar de la página Proxy en la app)
Model: gemini-3-flash (o cualquier modelo mapeado)
```
@@ -298,7 +298,7 @@ Sí, este es un aviso común para nuevas aplicaciones no firmadas. Haz clic en *
P: ¿El IDE no se puede conectar al proxy?
1. Asegúrate de que el proxy esté funcionando (indicador verde en la barra de estado).
-2. Confirma que el puerto coincide con tu configuración del IDE (por defecto `10100`).
+2. Confirma que el puerto coincide con tu configuración del IDE (por defecto `8045`).
3. Copia la API key directamente desde la página Proxy y pégala en la configuración de tu IDE.
4. Asegúrate de tener al menos una cuenta activa en la página Cuentas.
diff --git a/README.md b/README.md
index 6d1372b..28e1f74 100644
--- a/README.md
+++ b/README.md
@@ -78,7 +78,7 @@ It is a personal desktop tool, not a hosted service: everything runs on your mac
## Requirements
-- Node.js `^20.19.0 || >=22.12.0` (Vite 8 engine range). The repository pins 22.17.1 in `.nvmrc`; this audit ran on Node 24.20.0.
+- Node.js `^20.19.0 || >=22.12.0` (Vite 8 engine range). The repository pins 22.17.1 in `.nvmrc`.
- pnpm `10.11.0` (declared in `package.json`). With Corepack enabled, `pnpm` resolves to that version automatically.
- Native build toolchain for `better-sqlite3` and `keytar`: on Linux, `base-devel`/`build-essential`, `python3` and `libsecret`; on macOS, Xcode Command Line Tools; on Windows, Visual Studio Build Tools with the C++ workload. `pnpm install` runs `scripts/setup-dev.js --check-only`, which reports what is missing.
- A graphical session to run the desktop app itself (Electron).
@@ -158,7 +158,7 @@ Routes actually mapped by the gateway (read from the running server):
| `GET /v1beta/models`, `GET /v1beta/models/:model` | Gemini-native model listing. |
| `POST /v1beta/models/:modelAction`, `POST /v1beta/models/:model/countTokens` | Gemini-native generate and token counting. |
-Authentication: the gateway accepts the API key as `Authorization: Bearer `, `x-api-key: ` or `x-goog-api-key: `. If the configured key is empty, the gateway runs open, which is only sensible while it is bound to localhost.
+Authentication: the gateway accepts the API key as `Authorization: Bearer `, `x-api-key: ` or `x-goog-api-key: `. If the configured key is empty, the gateway runs open. It listens on all network interfaces (`0.0.0.0`, see `src/server/main.ts`), so always set an API key on a machine that is reachable from a LAN.
## Build and release
@@ -199,19 +199,18 @@ scripts/ dev environment setup, Windows build help
## Verification
-Previously recorded Linux x64 checks (Node 24.20.0, pnpm 10.11.0), before the review below:
+Checks used before merging, all run with `pnpm`:
-| Command | Result |
+| Command | Notes |
|---|---|
-| `pnpm install --frozen-lockfile` | exit 0 |
-| `pnpm test` | 54 test files, 499 tests, all passing |
-| `pnpm run type-check` | exit 0 |
-| `pnpm run lint` | exit 0 (327 warnings, no errors) |
-| `pnpm run format` | all files formatted |
-| `pnpm run package` | exit 0, `out/Gemini Nexus-linux-x64` |
-| `pnpm run test:e2e` | not run: Playwright drives Electron and needs a graphical session |
+| `pnpm install --frozen-lockfile` | Run it with a native toolchain, or add `--ignore-scripts` to skip compiling `better-sqlite3`/`keytar` (the unit tests mock both). |
+| `pnpm test` | Vitest suite under `src/tests/unit` and `src/tests/integration`. |
+| `pnpm run type-check` | `tsc --noEmit`. |
+| `pnpm run lint` | ESLint; reports warnings (mostly `no-explicit-any`) but no errors. |
+| `pnpm run format` | Prettier check. |
+| `pnpm run test:e2e` | Not part of CI: Playwright drives Electron and needs a graphical session. |
-The E2E suite is also excluded from CI for the same reason.
+Electron packaging, real account switching and the E2E suite need separate validation on each platform.
## Current state and limitations
@@ -221,6 +220,8 @@ The E2E suite is also excluded from CI for the same reason.
- UI languages are en, zh-CN, ru and vi. The default language in `DEFAULT_APP_CONFIG` is `zh-CN`.
- Windows installers are unsigned (SmartScreen warning). macOS builds are unsigned and unnotarized.
- The E2E suite does not run in CI.
+- `src/tests/GeminiNexusCoreFeatures.test.ts` sits outside the Vitest `include` globs, so it never runs, and several of its cases no longer match the current request mapper.
+- `response_format: { type: 'json_schema' }` sets the JSON mime type but the schema itself is not forwarded upstream (`buildGenerationConfig` in `src/lib/geminiNexus/ClaudeRequestMapper.ts`).
- The project is mid-migration to a single license: the code inherited from AntigravityManager is CC BY-NC-SA 4.0 (non-commercial), while the new code is MIT. See the license section.
- `pnpm install` reports `Ignored build scripts: sharp`. `sharp` is only used by `scripts/generate-assets.ts` for icon generation, and its prebuilt binaries are installed through optional dependencies.
@@ -248,11 +249,3 @@ The project is being migrated to MIT as the remaining original code is rewritten
## Credits
Originally forked from [AntigravityManager](https://github.com/Draculabo/AntigravityManager). Since the fork the codebase has been largely rewritten by [evandrodevbr](https://github.com/evandrodevbr): UI/UX, usage analytics, traffic monitor, environment isolation, CI/CD, test infrastructure and documentation.
-
-## Review checks (2026-09-30)
-
-Retry durations are parsed as complete values: `500ms` is milliseconds, and fractional components are rounded after summation. Invalid trailing text is rejected. Account and model lockouts honor the later expiration. IDE fallback configuration remains available at loopback when the OS denies network-interface enumeration.
-
-Focused checks: `pnpm exec vitest run src/tests/unit/rate-limit-tracker.test.ts src/tests/unit/ipc/proxy-advanced-handler.test.ts`. Run `pnpm test`, `pnpm type-check`, `pnpm lint` and `pnpm format` for the full non-E2E gates. Native SQLite/keytar are mocked by the unit-test configuration; Electron packaging, real account switching and E2E still require separate validation.
-
-This review passes all 509 tests across 54 files, type checking, lint (327 existing warnings, no errors) and formatting with Node 24.19.0 and pnpm 10.11.0. The original lockfile is retained: its audit still reports two critical findings, in `tar` and `seroval`, requiring a separately validated dependency update.
diff --git a/README.pt-BR.md b/README.pt-BR.md
index 33b7eb4..f1c7f07 100644
--- a/README.pt-BR.md
+++ b/README.pt-BR.md
@@ -201,7 +201,7 @@ _(Consulte o aviso no topo desta página se você estiver usando o Windows e enc
Com o aplicativo rodando e pelo menos uma conta adicionada, configure sua IDE preferida (Cursor, Windsurf, OpenCode, etc.):
```plaintext
-API Base URL: http://localhost:10100/v1
+API Base URL: http://localhost:8045/v1
API Key: (copie da página Proxy no app)
Model: gemini-3-flash (ou qualquer modelo mapeado)
```
@@ -319,7 +319,7 @@ Sim, este é um aviso comum para novos aplicativos não assinados. Clique em **"
P: A IDE não consegue conectar ao proxy?
1. Certifique-se de que o proxy está rodando (indicador verde na barra de status).
-2. Verifique se a porta corresponde à configuração da sua IDE (padrão: `10100`).
+2. Verifique se a porta corresponde à configuração da sua IDE (padrão: `8045`).
3. Copie a API key da página Proxy e cole nas configurações da sua IDE.
4. Verifique se pelo menos uma conta está ativa na página de Contas.
diff --git a/README.zh-CN.md b/README.zh-CN.md
index 8dc3c05..4d7100e 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -201,7 +201,7 @@ _(如果您使用的是 Windows 并在安装时遇到了 SmartScreen 提示,
在代理运行并至少添加一个账户后,配置您首选的 IDE(Cursor、Windsurf、OpenCode 等):
```plaintext
-API Base URL: http://localhost:10100/v1
+API Base URL: http://localhost:8045/v1
API Key: (从应用的 Proxy 页面复制)
Model: gemini-3-flash (或您选择的任何映射模型)
```
@@ -298,7 +298,7 @@ npm test
问:IDE 无法连接到代理?
1. 确保代理正在运行(查看状态栏的绿色指示器)。
-2. 确认端口与您 IDE 中的配置一致(默认为 `10100`)。
+2. 确认端口与您 IDE 中的配置一致(默认为 `8045`)。
3. 直接从 Proxy 页面复制 API 密钥并粘贴到 IDE 设置中。
4. 确保在 Accounts 页面中至少有一个活跃的账户。