[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11204":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},11204,"Proxima","Zen4-bit\u002FProxima","Zen4-bit","Multi-AI MCP Server - Connect ChatGPT, Claude, Gemini & Perplexity to your coding tools without any API",null,"https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima","JavaScript",1060,148,12,9,0,14,25,242,42,94.02,false,"main","2026-06-12 04:00:54","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"assets\u002Fproxima-icon.png\" alt=\"Proxima\" width=\"72\"\u002F>\n\n# Proxima\n\n**4 AI providers. 1 local server. No API keys.**\n\nUse ChatGPT, Claude, Gemini & Perplexity directly inside your coding tools — through your existing accounts.\n\n\u003Cbr>\n\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-4.1.0-blue)](https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima\u002Freleases)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima#Install)\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Non--Commercial-red)](LICENSE)\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-proximamcp.in-blue)](https:\u002F\u002Fwww.proximamcp.in)\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FZen4-bit\u002FProxima?style=social)](https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima\u002Fstargazers)\n[![Sponsors](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsor-%E2%9D%A4-pink?logo=github)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002FZen4-bit)\n\n\u003Cbr>\n\n[Getting Started](#getting-started) · [CLI](#cli-tool) · [REST API](#rest-api) · [WebSocket](#websocket) · [SDKs](#sdks) · [MCP Tools](#mcp-tools)\n\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n---\n\n## Demo\n\n**App Demo · CLI · Webhook Live Chat & Battle · Application Overview**\n\n\u003Ctable cellspacing=\"0\" cellpadding=\"0\">\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F5e75eb68-b1b5-43dc-979d-3bf6faa48fa0\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa8564fc9-b3b3-4a53-bc35-cfce72fe34da\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fbb7fa455-d379-4e69-b530-f7c09d2faccf\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd4121fdb-f97e-4d35-846c-5ec7c5249a85\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## Overview\n\nProxima is a local AI gateway that connects multiple AI providers to your development environment. It communicates with each provider at the browser level through your active login sessions — the same way you'd chat with them in your browser.\n\n\u003Cbr>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd>🌐 \u003Cstrong>One Endpoint\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Everything through \u003Ccode>\u002Fv1\u002Fchat\u002Fcompletions\u003C\u002Fcode> — no separate URLs\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🤖 \u003Cstrong>4 AI Providers\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>ChatGPT, Claude, Gemini, Perplexity — any model, any task\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>⚡ \u003Cstrong>Provider Engines\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Native browser-level communication — 3–10x faster, more reliable\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🖥️ \u003Cstrong>CLI Tool\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>proxima ask\u003C\u002Fcode>, \u003Ccode>proxima fix\u003C\u002Fcode>, \u003Ccode>proxima debate\u003C\u002Fcode> — right from your terminal\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🔌 \u003Cstrong>WebSocket\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Real-time streaming at \u003Ccode>ws:\u002F\u002Flocalhost:3210\u002Fws\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🧰 \u003Cstrong>45+ MCP Tools\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Search, code, translate, analyze, debate, audit — all via MCP\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>📡 \u003Cstrong>REST API\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>OpenAI-compatible API on \u003Ccode>localhost:3210\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>📦 \u003Cstrong>SDKs\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Python & JavaScript — one function each\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🧠 \u003Cstrong>Smart Router\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Auto-picks the best available AI for your query\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🔑 \u003Cstrong>No API Keys\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Uses your existing browser sessions — see \u003Ca href=\"#security--privacy\">how it works\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>🔒 \u003Cstrong>Local & Private\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Runs on \u003Ccode>127.0.0.1\u003C\u002Fcode>, data goes only to providers you're logged into\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n---\n\n## What's New in v4.1.0\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"40\">\u003Cstrong>🔥\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>Provider Engine System\u003C\u002Fstrong>\u003Cbr>Proxima now uses native browser-level communication with AI providers — no DOM scraping. Responses are 3–10x faster and far more stable, with SSE streaming support and automatic fallback mechanisms.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>⚡\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>CLI Tool\u003C\u002Fstrong>\u003Cbr>Run \u003Ccode>proxima ask\u003C\u002Fcode>, \u003Ccode>proxima fix\u003C\u002Fcode>, \u003Ccode>proxima debate\u003C\u002Fcode> from any terminal. Pipe errors straight from your build output. Supports file context, git diff piping, and JSON output for scripts.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🔌\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>WebSocket Server\u003C\u002Fstrong>\u003Cbr>Real-time streaming AI at \u003Ccode>ws:\u002F\u002Flocalhost:3210\u002Fws\u003C\u002Fcode>. Bidirectional communication with status updates, request tracking, and keepalive. Useful for apps, scripts, anything that needs live output.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🛠️\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>15 New MCP Tools\u003C\u002Fstrong>\u003Cbr>\u003Ccode>chain_query\u003C\u002Fcode>, \u003Ccode>solve\u003C\u002Fcode>, \u003Ccode>debate\u003C\u002Fcode>, \u003Ccode>security_audit\u003C\u002Fcode>, \u003Ccode>verify\u003C\u002Fcode>, \u003Ccode>fix_error\u003C\u002Fcode>, \u003Ccode>build_architecture\u003C\u002Fcode>, \u003Ccode>write_tests\u003C\u002Fcode>, \u003Ccode>explain_error\u003C\u002Fcode>, \u003Ccode>convert_code\u003C\u002Fcode>, \u003Ccode>ask_selected\u003C\u002Fcode>, \u003Ccode>conversation_export\u003C\u002Fcode>, \u003Ccode>ask_perplexity\u003C\u002Fcode>, \u003Ccode>github_search\u003C\u002Fcode>, \u003Ccode>get_ui_reference\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>📄\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>Interactive API Docs\u003C\u002Fstrong>\u003Cbr>Live documentation at \u003Ccode>\u002Fdocs\u003C\u002Fcode>, \u003Ccode>\u002Fcli\u003C\u002Fcode>, \u003Ccode>\u002Fws\u003C\u002Fcode> — with a working chat widget to test queries directly in your browser.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🎯\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>Multi-Model Queries\u003C\u002Fstrong>\u003Cbr>\u003Ccode>model: \"all\"\u003C\u002Fcode> queries every provider at once. \u003Ccode>model: [\"claude\", \"chatgpt\"]\u003C\u002Fcode> targets specific ones. Compare responses side-by-side from multiple AI providers in a single request.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>📤\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>Conversation Export\u003C\u002Fstrong>\u003Cbr>Export full conversation history from any provider using \u003Ccode>conversation_export\u003C\u002Fcode>. Continue working on AI agent projects, revisit ideas discussed with providers, and build on previous plans without losing context.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>🛡️\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>New REST API Functions\u003C\u002Fstrong>\u003Cbr>New \u003Ccode>security_audit\u003C\u002Fcode> and \u003Ccode>debate\u003C\u002Fcode> functions added to the REST API endpoint. File upload support via \u003Ccode>file\u003C\u002Fcode> field in request body.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n**Bug fixes & improvements:**\n- 🔧 Staggered multi-provider queries — prevents UI freezes during parallel requests\n- 🔧 Smart provider selection — routes coding tasks to Claude, research to Perplexity\n- 🔧 Response caching with TTL (5 min) and automatic eviction (max 100 entries)\n- 🔧 Rate limit handling — detects 429 responses, auto-recovery on expired sessions\n- 🔧 Engine auto-injection on page navigation with duplicate guard\n- 🔧 Claude conversation auto-recovery (handles 404\u002F410 expired sessions)\n- 🔧 ChatGPT SHA3-512 proof-of-work challenge solver\n- 🔧 10MB body size limit on REST API with CORS headers\n- 🔧 Socket leak prevention on IPC reconnect\n\n---\n\n## Getting Started\n\n### Requirements\n\n- [Node.js 18+](https:\u002F\u002Fnodejs.org\u002F) (for MCP server and CLI)\n- **Windows 10\u002F11** — pre-built installer available\n- **macOS \u002F Linux** — supported via source code\n\n\u003Cbr>\n\n### Install\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n**Download Installer (Windows)**\n\nDownload the latest release and run the installer.\n\n\u003Cbr>\n\n[Download Proxima v4.1.0 →](https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima\u002Freleases)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n**Run from Source (Windows \u002F macOS \u002F Linux)**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FZen4-bit\u002FProxima.git\ncd Proxima\nnpm install\nnpm start\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n> Electron will open the Proxima window. Log in to your AI providers, enable REST API in Settings, and you're ready.\n\n\u003Cbr>\n\n**CLI install:**\n- **Windows:** Settings → **⚡ Install CLI to PATH**, or `npm link`\n- **macOS \u002F Linux:** `npm link` (may need `sudo npm link`)\n\n\u003Cbr>\n\n### Connect to your editor\n\n1. Open Proxima and log into your AI providers (one-time setup)\n2. Go to **Settings → MCP Configuration** → copy the config\n3. Paste into your editor's MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"proxima\": {\n      \"command\": \"node\",\n      \"args\": [\"C:\u002Fpath\u002Fto\u002FProxima\u002Fsrc\u002Fmcp-server-v3.js\"]\n    }\n  }\n}\n```\n\n4. Restart your editor. The tools will appear.\n\n> **Tip:** Use the copy button in Settings — don't type the path manually.\n\n**Works with:** Cursor · VS Code (MCP extension) · Claude Desktop · Windsurf · Gemini CLI · any MCP-compatible client\n\n---\n\n## Supported Providers\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd align=\"center\" width=\"25%\">\n\u003Cbr>\n\u003Cstrong>ChatGPT\u003C\u002Fstrong>\n\u003Cbr>\nOpenAI's GPT\n\u003Cbr>\u003Cbr>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" width=\"25%\">\n\u003Cbr>\n\u003Cstrong>Claude\u003C\u002Fstrong>\n\u003Cbr>\nAnthropic's Claude\n\u003Cbr>\u003Cbr>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" width=\"25%\">\n\u003Cbr>\n\u003Cstrong>Gemini\u003C\u002Fstrong>\n\u003Cbr>\nGoogle's Gemini\n\u003Cbr>\u003Cbr>\n\u003C\u002Ftd>\n\u003Ctd align=\"center\" width=\"25%\">\n\u003Cbr>\n\u003Cstrong>Perplexity\u003C\u002Fstrong>\n\u003Cbr>\nWeb search & research\n\u003Cbr>\u003Cbr>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nEach provider runs through a dedicated **engine script** that handles communication at the browser level. Responses are streamed via SSE using your existing login. If an engine can't connect, Proxima falls back to DOM-based interaction automatically.\n\n\u003Cbr>\n\n\n---\n\n## How It Works\n\nIn v4.1.0, Proxima uses a **Provider Engine System** instead of DOM scraping.\n\nWhen you send a query, Proxima uses a lightweight engine script within the provider's browser tab. That script handles communication at the browser level and streams the response back via SSE. If the engine fails for any reason, Proxima automatically falls back to DOM-based interaction — so it keeps working either way.\n\n```\nYour editor → MCP tool call → Proxima local server\n                                      ↓\n                           Engine injected into session\n                                      ↓\n                      Browser-level communication (SSE stream)\n                                      ↓\n                              Response returned\n```\n\n\u003Cbr>\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Engine\u003C\u002Fth>\u003Cth>Provider\u003C\u002Fth>\u003Cth>How it works\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>chatgpt-engine.js\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>ChatGPT\u003C\u002Ftd>\u003Ctd>Handles proof-of-work challenges, streams via SSE\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>claude-engine.js\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Claude\u003C\u002Ftd>\u003Ctd>Org-level auth handling, SSE streaming, auto-recovery\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>gemini-engine.js\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Gemini\u003C\u002Ftd>\u003Ctd>SSE streaming with auto-reconnect\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>perplexity-engine.js\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Perplexity\u003C\u002Ftd>\u003Ctd>SSE streaming\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n## CLI Tool\n\nThe `proxima` CLI lets you use any AI provider from your terminal.\n\n\u003Cbr>\n\n### Install\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\">\n\n**From the app**\n\nSettings → ⚡ Install CLI to PATH\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\">\n\n**From source**\n\n```bash\nnpm link                  # Windows\nsudo npm link             # macOS \u002F Linux\n```\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\">\n\n**Without installing**\n\n```bash\nnpm run cli -- ask \"question\"\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n### Commands\n\n```bash\n# Ask any provider\nproxima ask \"How does async\u002Fawait work in JS?\"\nproxima ask claude \"Review this approach\"\nproxima ask chatgpt \"Explain this error\"\n\n# Search\nproxima search \"latest Node.js release\"\n\n# Code\nproxima code \"REST API with Express and JWT auth\"\nproxima code review \"function fetchUser(id) { ... }\"\nproxima code explain \"async\u002Fawait\"\n\n# Smart tools\nproxima fix \"SyntaxError: Unexpected token '\u003C'\"\nproxima debate \"tabs vs spaces\"\nproxima audit \"SELECT * FROM users WHERE id=\" + req.query.id\nproxima brainstorm \"features for a dev productivity tool\"\n\n# Translate\nproxima translate \"Hello world\" --to Hindi\n\n# Compare all providers\nproxima compare \"Bun vs Node.js for production\"\n\n# Utilities\nproxima status                     # server status\nproxima stats                      # response time stats\nproxima models                     # list available providers\nproxima new                        # reset all conversations\n```\n\n### Pipe Support\n\n```bash\n# Fix build errors directly\nnpm run build 2>&1 | proxima fix\n\n# Review a git diff\ngit diff | proxima code review\n\n# Pass file as context\nproxima ask \"What does this do?\" --file src\u002Fserver.js\n```\n\n\u003Cbr>\n\n### Flags\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Flag\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>-m\u003C\u002Fcode> \u002F \u003Ccode>--model\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Override provider (\u003Ccode>claude\u003C\u002Fcode>, \u003Ccode>chatgpt\u003C\u002Fcode>, \u003Ccode>gemini\u003C\u002Fcode>, \u003Ccode>perplexity\u003C\u002Fcode>, \u003Ccode>auto\u003C\u002Fcode>)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>--json\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Raw JSON output for scripting\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>-l\u003C\u002Fcode> \u002F \u003Ccode>--lang\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Specify code language\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>--file\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Include a file as context\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>--to\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Target language for translate\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>--from\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Source language for translate\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## REST API\n\nProxima runs an OpenAI-compatible REST API at `http:\u002F\u002Flocalhost:3210`.\n\nEnable it in **Settings → REST API & CLI**.\n\n\u003Cbr>\n\n### Endpoints\n\n```\nPOST \u002Fv1\u002Fchat\u002Fcompletions   — OpenAI-compatible chat\nGET  \u002Fv1\u002Fmodels             — List available models\nGET  \u002Fv1\u002Ffunctions          — API function catalog with examples\nGET  \u002Fv1\u002Fstats              — Response time stats per provider\nPOST \u002Fv1\u002Fconversations\u002Fnew  — Reset all conversations\nGET  \u002Fapi\u002Fstatus            — Server status\nGET  \u002Fdocs                  — Interactive API docs (with live chat widget)\nGET  \u002Fcli                   — CLI documentation\nGET  \u002Fws                    — WebSocket documentation\n```\n\n\u003Cbr>\n\n### Functions\n\nThe `\"function\"` field controls what happens. No function = normal chat.\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Function\u003C\u002Fth>\u003Cth>Body Fields\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Cem>(none)\u003C\u002Fem>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Normal chat\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"search\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Web search + AI analysis\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"translate\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>, \u003Ccode>to\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Translate text\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"brainstorm\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Generate ideas\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"code\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>, \u003Ccode>action\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Code generate\u002Freview\u002Fdebug\u002Fexplain\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"analyze\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>, \u003Ccode>url\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Analyze URL or content\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"security_audit\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>code\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Scan code for vulnerabilities\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>\"debate\"\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>\u003Ccode>model\u003C\u002Fcode>, \u003Ccode>message\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Multi-perspective debate\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n### Examples\n\n**Chat:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"model\": \"claude\", \"message\": \"What is AI?\"}'\n```\n\n**Search:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -d '{\"model\": \"perplexity\", \"message\": \"AI news 2026\", \"function\": \"search\"}'\n```\n\n**Translate:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -d '{\"model\": \"gemini\", \"message\": \"Hello world\", \"function\": \"translate\", \"to\": \"Hindi\"}'\n```\n\n**Code Generate:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -d '{\"model\": \"claude\", \"message\": \"Sort algorithm\", \"function\": \"code\", \"action\": \"generate\", \"language\": \"Python\"}'\n```\n\n**Query All Providers:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -d '{\"model\": \"all\", \"message\": \"Explain quantum computing\"}'\n```\n\n**Security Audit:**\n```bash\ncurl http:\u002F\u002Flocalhost:3210\u002Fv1\u002Fchat\u002Fcompletions \\\n  -d '{\"model\": \"claude\", \"function\": \"security_audit\", \"code\": \"db.query(\\\"SELECT * FROM users WHERE id=\\\" + req.query.id)\"}'\n```\n\n\u003Cbr>\n\n### Multi-model queries\n\n```javascript\nmodel: \"all\"                       \u002F\u002F all enabled providers\nmodel: [\"claude\", \"chatgpt\"]       \u002F\u002F specific providers\n```\n\n\u003Cbr>\n\n### Response Format\n\n```json\n{\n  \"id\": \"proxima-abc123\",\n  \"model\": \"claude\",\n  \"choices\": [{\n    \"message\": {\n      \"role\": \"assistant\",\n      \"content\": \"AI response here...\"\n    }\n  }],\n  \"proxima\": {\n    \"provider\": \"claude\",\n    \"responseTimeMs\": 2400\n  }\n}\n```\n\nWhen using `model: \"all\"`, each provider gets its own entry in `choices[]`.\n\n---\n\n## SDKs\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n### Python\n\n```python\nfrom proxima import Proxima\nclient = Proxima()\n\n# Chat — any model\nresponse = client.chat(\"Hello\", model=\"claude\")\nresponse = client.chat(\"Hello\", model=\"chatgpt\")\nresponse = client.chat(\"Hello\")  # auto picks best\nprint(response.text)\nprint(response.response_time_ms)\n\n# Search\nresult = client.chat(\"AI news 2026\",\n    model=\"perplexity\", function=\"search\")\n\n# Translate\nhindi = client.chat(\"Hello world\",\n    model=\"gemini\", function=\"translate\",\n    to=\"Hindi\")\n\n# Code\ncode = client.chat(\"Sort algorithm\",\n    model=\"claude\", function=\"code\",\n    action=\"generate\", language=\"Python\")\n\n# System\nmodels = client.get_models()\nstats = client.get_stats()\nclient.new_conversation()\n```\n\n`pip install requests`, then copy `sdk\u002Fproxima.py` to your project.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n### JavaScript\n\n```javascript\nconst { Proxima } = require('.\u002Fsdk\u002Fproxima');\nconst client = new Proxima();\n\n\u002F\u002F Chat — any model\nconst res = await client.chat(\"Hello\",\n    { model: \"claude\" });\nconsole.log(res.text);\n\n\u002F\u002F Search\nconst news = await client.chat(\"AI news\",\n    { model: \"perplexity\",\n      function: \"search\" });\n\n\u002F\u002F Translate\nconst hindi = await client.chat(\"Hello\",\n    { model: \"gemini\",\n      function: \"translate\",\n      to: \"Hindi\" });\n\n\u002F\u002F Code generate\nconst code = await client.chat(\"Sort algo\",\n    { model: \"claude\",\n      function: \"code\",\n      action: \"generate\" });\n\n\u002F\u002F System\nconst models = await client.getModels();\nconst stats = await client.getStats();\n```\n\nWorks with Node.js 18+ (native `fetch`).\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cbr>\n\n### SDK Configuration\n\n```python\nclient = Proxima(base_url=\"http:\u002F\u002F192.168.1.100:3210\")   # custom URL\nclient = Proxima(default_model=\"claude\")                  # default model\n```\n\n---\n\n## WebSocket\n\nReal-time streaming AI at `ws:\u002F\u002Flocalhost:3210\u002Fws`.\n\nRequires REST API to be enabled in Settings.\n\n\u003Cbr>\n\n### Example\n\n```javascript\nconst ws = new WebSocket(\"ws:\u002F\u002Flocalhost:3210\u002Fws\");\n\nws.send(JSON.stringify({\n  action: \"ask\",\n  model: \"claude\",\n  message: \"What is a closure?\",\n  id: \"req_1\"\n}));\n\nws.onmessage = (e) => {\n  const msg = JSON.parse(e.data);\n  \u002F\u002F { type: \"status\",   id: \"req_1\", status: \"processing\", model: \"claude\" }\n  \u002F\u002F { type: \"response\", id: \"req_1\", model: \"claude\", content: \"...\", responseTimeMs: 2400 }\n};\n```\n\n\u003Cbr>\n\n### Available Actions\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Action\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask\u003C\u002Fcode> \u002F \u003Ccode>chat\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Chat with any provider\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Web search\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>generate \u002F review \u002F explain \u002F optimize \u002F debug\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>translate\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Translate text\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>brainstorm\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Generate ideas\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>debate\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Multi-provider debate (queries all providers)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>audit\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Security code audit\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>new_conversation\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Reset conversation context for all providers\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>stats\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Connection and provider statistics\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ping\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Keepalive — returns \u003Ccode>pong\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## MCP Tools\n\n### 🤖 AI Provider Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_chatgpt\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Query ChatGPT (supports file upload)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_claude\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Query Claude (supports file upload)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_gemini\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Query Gemini (supports file upload)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_perplexity\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Query Perplexity (supports file upload)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_all_ais\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Send same query to all providers at once\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>ask_selected\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Pick specific providers to query\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>compare_ais\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Get and compare responses side by side\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>smart_query\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Auto-picks best provider, falls back if one fails\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🔧 Development Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>solve\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>One-shot problem solver — senior engineer level\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>fix_error\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Root cause + exact fix for any error\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>build_architecture\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Full project architecture blueprint\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>write_tests\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Generate tests (jest \u002F vitest \u002F mocha \u002F pytest)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>explain_error\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Error explained in plain terms, no jargon\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>convert_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Convert code between languages or frameworks\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### ⚔️ Multi-AI Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>chain_query\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Sequential multi-AI pipeline — use \u003Ccode>{previous}\u003C\u002Fcode> to pass output forward\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>debate\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Multi-provider debate with FOR \u002F AGAINST \u002F NEUTRAL stances\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>verify\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Cross-provider answer verification with confidence score (0–100%)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>security_audit\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Code security scan — flags CRITICAL \u002F HIGH \u002F MEDIUM \u002F LOW issues\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 💻 Code Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>generate_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Generate code from a description\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>explain_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Plain-English explanation of any code\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>optimize_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Performance improvement suggestions\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>review_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Code review feedback\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>verify_code\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Check against best practices\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🔍 Search Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>deep_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Comprehensive web search\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>internet_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>General internet search on any topic\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>news_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Latest news articles\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>reddit_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Reddit discussions\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>github_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Find open-source repos, code, and solutions on GitHub\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>academic_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Papers and research\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>math_search\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Math problems step-by-step\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 📝 Content Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>brainstorm\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Generate ideas on any topic\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>summarize_url\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Summarize any URL\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>generate_article\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Full article generation\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>writing_help\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Writing assistance\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>fact_check\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Fact verification\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>find_stats\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Find statistics and data\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>how_to\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Step-by-step instructions\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>compare\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Compare two things in depth\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🔬 Analysis Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>analyze_document\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Analyze documents from URL\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>extract_data\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Extract structured data from text or URL\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>get_ui_reference\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>UI\u002FUX design consultant — colors, layouts, components, CSS tokens, and code improvements\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 📁 File Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>analyze_file\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Upload and analyze a local file\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>review_code_file\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Code review on a local file (bugs, performance, security)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🪟 Window Controls\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>show_window\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Show the Proxima window\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>hide_window\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Hide to system tray\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>toggle_window\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Toggle visibility\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>set_headless_mode\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Run fully in background\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 🔄 Session Tools\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Tool\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>new_conversation\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Reset conversation context\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>clear_cache\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Clear response cache\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>\u003Ccode>conversation_export\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Export full conversation history\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## Security & Privacy\n\nSince Proxima works without API keys, a few things worth knowing:\n\n- **No credentials stored.** Proxima uses your existing browser session cookies — the same way you're already logged in.\n- **Nothing leaves your machine** except the queries you send to AI providers you're logged into.\n- **Runs on localhost.** The MCP server, REST API, and WebSocket are all local. Nothing is exposed to the internet.\n- **No telemetry.** Proxima doesn't collect or send any usage data anywhere.\n- **Sessions are yours.** If you log out from a provider's website or clear browser data, you'll need to log in again through Proxima.\n\n> Proxima doesn't bypass authentication — it uses the sessions you already have. Same as using the site in a browser.\n\n---\n\n## Project Structure\n\n```\nProxima\u002F\n├── electron\u002F\n│   ├── main-v2.cjs                  # Electron main process\n│   ├── browser-manager.cjs          # Browser session management\n│   ├── rest-api.cjs                 # REST API server (OpenAI-compatible)\n│   ├── ws-server.cjs                # WebSocket server\n│   ├── provider-api.cjs             # Provider engine injection manager\n│   ├── index-v2.html                # App UI\n│   ├── preload.cjs                  # Renderer preload bridge\n│   └── providers\u002F\n│       ├── chatgpt-engine.js        # SHA3-512 POW + SSE streaming\n│       ├── claude-engine.js         # Org auth + SSE streaming\n│       ├── gemini-engine.js         # Session SSE streaming\n│       └── perplexity-engine.js     # SSE streaming\n├── cli\u002F\n│   └── proxima-cli.cjs              # Terminal CLI\n├── src\u002F\n│   ├── mcp-server-v3.js             # MCP server (50+ tools)\n│   └── enabled-providers.json       # Provider config\n├── sdk\u002F\n│   ├── proxima.py                   # Python SDK\n│   └── proxima.js                   # JavaScript SDK\n├── assets\u002F                          # Icons, screenshots, demo\n└── package.json\n```\n\n---\n\n## Troubleshooting\n\n**Windows Firewall prompt on first launch**\n\u003Cbr>Proxima runs on `localhost:19223` and `localhost:3210`. Click Allow — it only accepts local connections.\n\n**Provider shows \"Not logged in\"**\n\u003Cbr>Each provider has a different login method:\n- **ChatGPT, Claude, Perplexity** — click the provider tab and log in using OTP (email code). Google Sign-In is restricted in embedded browsers by Google's policy.\n- **Gemini** — uses cookie-based authentication. Log in to Google in your regular browser first, then Proxima picks up the session automatically.\n\n**REST API not responding**\n\u003Cbr>Check that REST API is enabled in Settings → REST API & CLI section. Visit `http:\u002F\u002Flocalhost:3210` in your browser to verify.\n\n**MCP tools not showing in editor**\n1. Make sure Proxima is running\n2. Verify the path in your MCP config (use the Settings copy button)\n3. Restart your editor\n\n**CLI: `proxima` not found after install**\n\u003Cbr>Open a fresh terminal. If still not found, click **🔧 Fix** in Settings → CLI section.\n\n**CLI: \"Cannot connect to Proxima\"**\n\u003Cbr>Proxima must be running and REST API must be enabled. The CLI connects to `localhost:3210`.\n\n**WebSocket won't connect**\n\u003Cbr>WebSocket shares the REST API server. Enable REST API in Settings first.\n\n---\n\n**Sponsors 💖**\n-\nWith ongoing development of Proxima, [![GitHub Sponsors](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsoring-%E2%9D%A4-pink?logo=github)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002FZen4-bit) contributes to maintaining and improving the project on [GitHub](https:\u002F\u002Fgithub.com\u002Fsponsors\u002FZen4-bit)\n\n\n## License\n\nProxima is licensed for **non-commercial use only**. See [LICENSE](LICENSE) for full terms.\n\n---\n\n\u003Cdiv align=\"center\">\n\n**Proxima v4.1.0** — One API, All AI Models ⚡\n\nMade by [Zen4-bit](https:\u002F\u002Fgithub.com\u002FZen4-bit) · Every ⭐ matters 💕\n\n\u003C\u002Fdiv>\n","Proxima 是一个本地 AI 网关，能够将 ChatGPT、Claude、Gemini 和 Perplexity 四种 AI 服务集成到你的开发工具中，无需使用 API 密钥。其核心功能包括通过单个端点 `\u002Fv1\u002Fchat\u002Fcompletions` 进行统一访问、支持多种 AI 模型和任务、原生浏览器级通信以实现更快更稳定的交互体验，以及提供命令行工具、WebSocket 实时流、REST API 和多语言 SDK 等多种接入方式。该项目特别适合需要在开发环境中高效利用多个 AI 服务的开发者，无论是代码生成、调试还是自然语言处理等场景，都能显著提升工作效率。",2,"2026-06-11 03:31:21","trending"]