# Chat2API **Repository Path**: yzsmzc/Chat2API ## Basic Information - **Project Name**: Chat2API - **Description**: https://github.com/xiaoY233/Chat2API - **Primary Language**: JavaScript - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-04 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Chat2API
δΈζ | Official Website | Documentation
Multi-platform AI Service Unified Management Tool
Chat2API enables zero-cost access to leading AI models by leveraging official web UIs. It supports providers such as DeepSeek, GLM, Kimi, MiniMax, Qwen, and Z.ai, and seamlessly integrates with tools like openlcaw, Cline, and Roo-Code β making any OpenAI-compatible client work out of the box.
 ## β¨ Features - OpenAI Compatible API: Provides standard OpenAI-compatible API endpoints for seamless integration - Multi-Provider Support: Connect DeepSeek, GLM, Kimi, MiniMax, Perplexity π, Qwen, Z.ai and more - π Context Management: Intelligent conversation context management with sliding window, token limit, and summary strategies - π Function Calling Support: Universal tool calling capability for all models via prompt engineering, compatible with Cherry Studio, Kilo Code, and other clients - π Model Mapping: Flexible model name mapping with wildcard support and preferred provider/account selection - π Custom Parameters: Support for custom HTTP headers to enable web search, thinking mode, and deep research features - Dashboard Monitoring: Real-time request traffic, token usage, and success rates - API Key Management: Generate and manage keys for your local proxy - Model Management: View and manage available models from all providers - Request Logs: Detailed request logging for debugging and analysis - Proxy Configuration: Flexible proxy settings and routing strategies - System Tray Integration: Quick access to status from menu bar - Multilingual: English and Simplified Chinese support - Modern UI: Clean, responsive interface with dark/light theme support ## π€ Supported Providers | Provider | Auth Type | OAuth | Models | | ---------------- | ------------- | ----- | ------------------------------------------------------------------------------- | | DeepSeek | User Token | Yes | DeepSeek-V3.2 | | GLM | Refresh Token | Yes | GLM-5 | | Kimi | JWT Token | Yes | kimi-k2.5 | | MiniMax | JWT Token | Yes | MiniMax-M2.5 | | π Perplexity | JWT Token | Yes | Sonar, Sonar Pro, Sonar Deep Research | | Qwen (CN) | SSO Ticket | Yes | Qwen3.5-Plus, Qwen3-Max, Qwen3-Flash, Qwen3-Coder, qwen-max-latest | | Qwen AI (Global) | JWT Token | Yes | Qwen3.5-Plus, Qwen3-Max, Qwen3-VL-Plus, Qwen3-Coder-Plus, Qwen-Plus, Qwen-Turbo | | Z.ai | JWT Token | Yes | GLM-5, GLM-4.7, GLM-4.6V, GLM-4.6 | ## π₯ Installation ### Download Download the latest release from [GitHub Releases](https://github.com/xiaoY233/Chat2API/releases): | Platform | Download | | --------------------- | --------------------------------------- | | macOS (Apple Silicon) | `Chat2API-x.x.x-arm64.dmg` | | macOS (Intel) | `Chat2API-x.x.x-x64.dmg` | | Windows | `Chat2API-x.x.x-x64-setup.exe` | | Linux | `Chat2API-x.x.x-x64.AppImage` or `.deb` | ### Build from Source **Requirements:** - Node.js 18+ - npm - Git ```bash # Clone the repository git clone https://github.com/xiaoY233/Chat2API.git cd Chat2API # Install dependencies npm install # Start development server npx electron-vite dev 2>&1 ``` ### Build for Production ```bash npm run build # Build the application npm run build:mac # Build for macOS (dmg, zip) npm run build:win # Build for Windows (nsis) npm run build:linux # Build for Linux (AppImage, deb) npm run build:all # Build for all platforms ``` ## π Usage ### Step 1: Launch the App After installation, launch Chat2API. You'll see the main dashboard. ### Step 2: Add a Provider 1. Navigate to **Providers** from the sidebar 2. Click **Add Provider** button 3. Select a built-in provider (e.g., DeepSeek) 4. Enter your authentication credentials For example, to get a DeepSeek token: 1. Visit [DeepSeek Chat](https://chat.deepseek.com/) 2. Start any conversation 3. Press `F12` to open Developer Tools 4. Go to **Application** > **Local Storage** 5. Find `userToken` and copy its value ### Step 3: Configure Proxy 1. Navigate to **Proxy Settings** from the sidebar 2. Set the port (default: 8080) 3. Choose a load balancing strategy: - **Round Robin**: Distributes requests evenly across accounts - **Fill First**: Uses one account until limit is reached - **Failover**: Automatically switches on failure 4. Click **Start Proxy** ### Step 4: Test the API Using Python (OpenAI SDK): ```python from openai import OpenAI client = OpenAI( api_key="your-api-key", base_url="http://localhost:8080/v1" ) response = client.chat.completions.create( model="DeepSeek-V3.2", messages=[ {"role": "user", "content": "Hello, who are you?"} ] ) print(response.choices[0].message.content) ``` ### Step 5: Manage API Keys (Optional) For security, you can enable API Key authentication: 1. Go to **API Keys** page 2. Click **New API Key** 3. Enter a name and description 4. Copy the generated key ## πΈ Screenshots | Dashboard | Providers | |-----------|-----------| |  |  | | Proxy Settings | API Keys | |----------------|----------| |  |  | | Models | Session | |--------|---------| |  |  | ## βοΈ Settings - **Port**: Change the proxy listening port (default: 8080) - **Routing Strategy**: Round Robin or Fill First - **Auto-start**: Launch proxy automatically on app startup - **Theme**: Light, Dark, or System preference - **Language**: English or Simplified Chinese ## ποΈ Architecture ``` Chat2API/ βββ src/ β βββ main/ # Electron main process β β βββ index.ts # App entry point β β βββ tray.ts # System tray integration β β βββ proxy/ # Proxy server management β β βββ ipc/ # IPC handlers β β βββ utils/ # Utilities β βββ preload/ # Context bridge β βββ renderer/ # React frontend β βββ components/ # UI components β βββ pages/ # Page components β βββ stores/ # Zustand state β βββ hooks/ # Custom hooks βββ build/ # Build resources βββ scripts/ # Build scripts ``` ## π§ Tech Stack | Component | Technology | | --------- | --------------------- | | Framework | Electron 33+ | | Frontend | React 18 + TypeScript | | Styling | Tailwind CSS | | State | Zustand | | Build | Vite + electron-vite | | Packaging | electron-builder | | Server | Koa | ## π Data Storage Application data is stored in `~/.chat2api/` directory: - `config.json` - Application configuration - `providers.json` - Provider settings - `accounts.json` - Account credentials (encrypted) - `logs/` - Request logs ## β FAQ ### macOS: "App is damaged and can't be opened" Due to macOS security mechanisms, apps downloaded outside the App Store may trigger this warning. Run the following command to fix it: ```bash sudo xattr -rd com.apple.quarantine "/Applications/Chat2API.app" ``` ### How to update? Check for updates in the **About** page, or download the latest version from [GitHub Releases](https://github.com/xiaoY233/Chat2API/releases). ## π€ Contributing 1. Fork the project 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit changes (`git commit -m 'Add amazing feature'`) 4. Push to branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## π License GNU General Public License v3.0. See [LICENSE](LICENSE) for details. This means: - β Free to use, modify, and distribute - β Derivative works must be open-sourced under the same license - β Must preserve original copyright notices ## π Acknowledgments - [Electron](https://www.electronjs.org/) - Cross-platform framework - [React](https://react.dev/) - UI framework - [TypeScript](https://www.typescriptlang.org/) - Type-safe JavaScript - [Tailwind CSS](https://tailwindcss.com/) - CSS framework - [Zustand](https://zustand-demo.pmnd.rs/) - State management - [Koa](https://koajs.com/) - HTTP server