A powerful VS Code extension that provides model support for GitHub Copilot Chat, seamlessly integrating 20+ AI providers including ZhipuAI, MiniMax, MoonshotAI, DeepSeek, Codex (OpenAI), Chutes, OpenCode, Blackbox, Vercel AI, Cline, and custom OpenAI/Anthropic compatible models.
Note
Aether CLI has been moved to a separate package (@oevortex/aether). The CLI is no longer bundled with this extension.
Aether now includes an MCP (Model Context Protocol) Bridge that exposes VS Code Language Model tools to external AI clients:
- What it does: Exposes
vscode.lm.toolsto MCP clients like Claude Code, Claude Desktop, Cursor, and Windsurf - Auto-Start: Enabled by default (
aether.mcpBridge.http.enabled) - Port: Runs on
http://localhost:59684(configurable viaaether.mcpBridge.http.port) - Features:
- 动态 Bar panel with tool management (checkboxes to expose/hide tools)
- Tools grouped by extension with exposure controls
- HTTP MCP Server using StreamableHTTP transport
- Dynamic tool discovery with configurable polling
- Rich tooltips with metadata and input schemas
- Status bar integration showing server status and tool count
Quick Start:
- Launch Extension Development Host (
F5) - Find Aether MCP Bridge in the 动态 Bar
- Click to view and manage tools
- Run "Aether: Copy MCP Config to Clipboard"
- Paste into your MCP client config (e.g.,
.mcp.json)
Example MCP Client Config:
{
"mcpServers": {
"aether-mcp-bridge": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:59684/mcp", "--allow-http"]
}
}
}| Provider | Description | Key Models | Highlights |
|---|---|---|---|
| Codex | OpenAI Codex | GPT-5.2 Codex, GPT-5.3 Codex | 400k context Image Input OAuth Reasoning Modes |
| ZhipuAI | GLM Coding Plan | GLM-4.5, GLM-4.6, GLM-4.7, GLM-5, GLM-4.7-Flash | 256K context Web 搜索 MCP SDK Free Tier |
| MiniMax | Coding Plan | MiniMax-M2.5, MiniMax-M2.1 | 205K context Web 搜索 Thinking Mode |
| MoonshotAI | Kimi For Coding | Kimi-K2-Thinking, Kimi-K2-0905-Preview | 256K context Agentic Coding Thinking Mode |
| DeepSeek | DeepSeek AI | DeepSeek-V3.2, DeepSeek-V3.2 Reasoner | 128K context GPT-5 Level Reasoning |
| Chutes | Chutes AI | Various models | Global Request Limit |
| OpenCode | OpenCode AI | Claude 4.5, GPT-5 | Multi-model Access |
| Blackbox | Blackbox AI | kimi-k2.5, blackbox-base-2 | Official API API Key Required |
| Vercel AI | Vercel AI Gateway | Dynamic language models | Dynamic Models Vision 标签 Context Metadata |
| Cline | Cline API | Dynamic provider/model IDs | Dynamic Models OpenAI SDK Authenticated Discovery |
| DeepInfra | DeepInfra | OpenAI-compatible models | LLM & Image Models |
| Kilo AI | Kilo AI | Dynamic model fetching | High Performance |
| Zenmux | Zenmux AI | Dynamic model fetching | OpenAI-compatible |
| Lightning AI | Lightning AI | Various models | Dynamic Models |
| Hugging Face | Hugging Face | Various models | Router Integration |
| Mistral AI | Mistral AI | Mistral models | OpenAI-compatible |
| NVIDIA NIM | NVIDIA NIM | NVIDIA models | 40 RPM Throttle Model Discovery |
| Ollama Cloud | Ollama | Local & Cloud models | OpenAI-compatible |
| Qwen CLI | Qwen Code CLI | Qwen models | OAuth via CLI |
| Compatible | Custom API | User-defined models | OpenAI/Anthropic Compatible |
Tip
Manage multiple accounts per provider with ease
- Add unlimited accounts for each AI provider
- Quick switch between accounts with
Ctrl+Shift+Q/Cmd+Shift+Q - Visual account status in the status bar
- Secure credential storage using VS Code Secret Storage
Tip
Automatic load distribution across accounts
- Auto-switch when hitting rate limits or quota exhaustion
- Intelligent retry with exponential backoff strategy
- Real-time quota monitoring and usage statistics
- Seamless failover without interrupting your workflow
Tip
Secure login for supported providers
| Provider | Auth Method | Command |
|---|---|---|
| Codex | OpenAI OAuth | Aether: Codex Login |
| Qwen CLI | Alibaba OAuth | qwen auth login (CLI) |
Tip
Real-time information retrieval
| Tool | Provider | Description |
|---|---|---|
#zhipuWeb搜索 |
ZhipuAI | Multi-engine search (Sogou, Quark, Standard) |
#minimaxWeb搜索 |
MiniMax | Coding Plan web search |
Example usage in Copilot Chat:
@workspace #zhipuWeb搜索 What are the latest features in TypeScript 5.5?
Tip
Smart code completion features
| Feature | Description | Default |
|---|---|---|
| FIM (Fill In the Middle) | Intelligent code completion based on context | Disabled |
| NES (Next Edit Suggestions) | Predictive editing suggestions | Disabled |
Enable in 设置:
{
"chp.fimCompletion.enabled": true,
"chp.nesCompletion.enabled": true
}Keybindings:
| Action | Windows/Linux | macOS |
|---|---|---|
| Trigger inline suggestion | Alt+/ |
Alt+/ |
| Toggle NES manual mode | Shift+Alt+/ |
Shift+Alt+/ |
📦 From VS Code 市场 (Recommended)
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X/Cmd+Shift+X) - 搜索 for "Aether"
- Click Install
Or visit the 市场 page directly: Aether on Visual Studio 市场
📁 From .vsix File
- Download the
.vsixfile from 发布 - In VS Code, press
Ctrl+Shift+P/Cmd+Shift+P - Type "Extensions: Install from VSIX..."
- Select the downloaded file
🔨 Build from Source
# Clone the repository
git clone https://github.com/OEvortex/aether.git
cd aether
# Install dependencies
npm install
# Build the extension
npm run compile
# Package as .vsix
npm run package
# Install the packaged extension
code --install-extension aether-*.vsix| Provider | Command |
|---|---|
| Codex (OpenAI) | Cmd+Shift+P → Aether: Codex Login |
| ZhipuAI | Cmd+Shift+P → Aether: ZhipuAI Configuration Wizard |
| MiniMax | Cmd+Shift+P → Aether: MiniMax Configuration Wizard |
| MoonshotAI | Cmd+Shift+P → Aether: MoonshotAI Configuration Wizard |
| DeepSeek | Cmd+Shift+P → Aether: Configure DeepSeek |
| Chutes | Cmd+Shift+P → Aether: Configure Chutes |
| Zenmux | Cmd+Shift+P → Aether: Configure Zenmux |
| OpenCode | Cmd+Shift+P → Aether: Configure OpenCode |
| Blackbox | Cmd+Shift+P → Aether: Configure Blackbox |
| Vercel AI | Cmd+Shift+P → Aether: Configure Vercel AI |
| Cline | Cmd+Shift+P → Aether: Configure Cline |
| Hugging Face | Cmd+Shift+P → Aether: Configure Hugging Face |
| Kilo AI | Cmd+Shift+P → Aether: Configure Kilo AI |
| Lightning AI | Cmd+Shift+P → Aether: Lightning AI Configuration Wizard |
| DeepInfra | Cmd+Shift+P → Aether: Configure DeepInfra |
| NVIDIA NIM | Cmd+Shift+P → Aether: Configure NVIDIA NIM |
| Mistral AI | Cmd+Shift+P → Aether: Configure Mistral AI |
| Ollama Cloud | Cmd+Shift+P → Aether: Configure Ollama Cloud |
| Custom Models | Cmd+Shift+P → Aether: Compatible Provider 设置 |
- Open GitHub Copilot Chat
- Click the model dropdown
- Select a model from your configured provider (e.g.,
⦿ ZhipuAI > glm-4.5)
Cmd+Shift+P → "Aether: 设置"
→ Select a provider
→ Add accounts with API keys
Cmd+Shift+P → "Aether: 设置"
→ Select a provider
→ Toggle "Load Balance" for automatic account switching
关注 these simple steps to add and manage providers using the 设置 page:
Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux) and type:
Aether: 设置
Click on the provider you want to configure (e.g., ZhipuAI, MiniMax, MoonshotAI, etc.)
Enter your API key and configure provider settings:
- API Key: Your provider's API key
- Base URL: Custom API endpoint (optional)
- Additional 设置: Provider-specific settings exposed by the extension manifest, such as endpoint, SDK mode, and other provider options
Toggle the "Load Balance" switch to enable automatic account switching when rate limits are hit.
- Add Multiple Accounts: Add multiple API keys per provider for load balancing
- Edit 设置: Click the edit icon to modify provider details and provider-specific settings
- Delete Account: Remove accounts you no longer need
- Switch Account: Use
Ctrl+Shift+Q/Cmd+Shift+Qfor quick switching - Load Balance: Automatically distribute requests across accounts
- Quota Tracking: Monitor usage and remaining quota in real-time
| Setting | Type | Default | Description |
|---|---|---|---|
chp.temperature |
number | 0.1 |
Controls output randomness (0-2) |
chp.topP |
number | 1 |
Controls output diversity (0-1) |
chp.maxTokens |
number | 8192 |
Maximum output tokens (32-256000) |
chp.rememberLastModel |
boolean | true |
Remember last used model |
| Setting | Type | Default | Description |
|---|---|---|---|
chp.zhipu.search.enableMCP |
boolean | true |
Enable MCP SDK mode for web search |
chp.zhipu.endpoint |
string | "open.bigmodel.cn" |
API endpoint (open.bigmodel.cn or api.z.ai) |
chp.zhipu.plan |
string | "coding" |
Plan type (coding or normal) |
chp.zhipu.thinking |
string | "auto" |
Thinking mode (enabled, disabled, auto) |
chp.zhipu.clearThinking |
boolean | true |
Clear thinking context between turns |
| Setting | Type | Default | Description |
|---|---|---|---|
chp.minimax.endpoint |
string | "minimaxi.com" |
API endpoint (minimaxi.com or minimax.io) |
| Setting | Type | Default | Description |
|---|---|---|---|
chp.fimCompletion.enabled |
boolean | false |
Enable FIM completion |
chp.fimCompletion.debounceMs |
number | 500 |
Debounce delay (50-1000ms) |
chp.fimCompletion.timeoutMs |
number | 5000 |
Request timeout (1000-30000ms) |
| Setting | Type | Default | Description |
|---|---|---|---|
chp.nesCompletion.enabled |
boolean | false |
Enable NES completion |
chp.nesCompletion.manualOnly |
boolean | false |
Only trigger manually (Alt+/) |
chp.nesCompletion.debounceMs |
number | 500 |
Debounce delay (50-1000ms) |
chp.nesCompletion.timeoutMs |
number | 5000 |
Request timeout (1000-30000ms) |
| Model | Input | Output | Features |
|---|---|---|---|
| GLM-4.5 | 98K | 32K | Tool Calling |
| GLM-4.5-air | 98K | 32K | Tool Calling |
| GLM-4.6 | 229K | 32K | Tool Calling |
| GLM-4.7 | 229K | 32K | Tool Calling |
| GLM-5 | 229K | 32K | Tool Calling |
| GLM-4.7-Flash | 229K | 32K | Free |
| Model | Input | Output | Features |
|---|---|---|---|
| MiniMax-M2.5 | 172K | 32K | Thinking, Tool Calling |
| MiniMax-M2.5-highspeed | 172K | 32K | ~100 TPS, Thinking |
| MiniMax-M2.1 | 172K | 32K | Thinking, Tool Calling |
| Model | Input | Output | Features |
|---|---|---|---|
| Kimi For Coding | 224K | 32K | Tool Calling |
| Kimi-K2-Thinking | 224K | 32K | Thinking, Agentic |
| Kimi-K2-Thinking-Turbo | 224K | 32K | Thinking, Fast |
| Kimi-K2-0905-Preview | 224K | 32K | Agentic Coding |
| Model | Input | Output | Features |
|---|---|---|---|
| DeepSeek-V3.2 | 128K | 16K | Tool Calling |
| DeepSeek-V3.2 Reasoner | 128K | 16K | Thinking, Tool Calling |
| Model | Input | Output | Features |
|---|---|---|---|
| GPT-5.2 Codex | 344K | 65K | Image Input, Tool Calling |
| GPT-5.3 Codex | 344K | 65K | Image Input, Tool Calling |
| GPT-5.3 Codex (Low) | 344K | 65K | Low Reasoning |
| GPT-5.3 Codex (Medium) | 344K | 65K | Medium Reasoning |
| GPT-5.3 Codex (High) | 344K | 65K | High Reasoning |
| Action | Windows/Linux | macOS |
|---|---|---|
| Trigger inline suggestion | Alt+/ |
Alt+/ |
| Toggle NES manual mode | Shift+Alt+/ |
Shift+Alt+/ |
| Attach selection to Copilot | Ctrl+Shift+A |
Cmd+Shift+A |
| Insert handle reference | Ctrl+Shift+H |
Cmd+Shift+H |
| Insert handle (full path) | Ctrl+Alt+Shift+H |
Cmd+Alt+Shift+H |
| Quick switch account | Ctrl+Shift+Q |
Cmd+Shift+Q |
| Command | Description |
|---|---|
Aether: Configure ZhipuAI |
Set ZhipuAI API key |
Aether: ZhipuAI Configuration Wizard |
Full ZhipuAI setup with MCP mode |
Aether: Configure MiniMax |
Set MiniMax API key |
Aether: MiniMax Configuration Wizard |
Full MiniMax setup |
Aether: Configure MoonshotAI |
Set MoonshotAI API key |
Aether: MoonshotAI Configuration Wizard |
Full MoonshotAI setup |
Aether: Configure DeepSeek |
Set DeepSeek API key |
Aether: Configure Chutes |
Set Chutes API key |
Aether: Configure Zenmux |
Set Zenmux API key |
Aether: Configure OpenCode |
Set OpenCode API key |
Aether: Configure Blackbox |
Set Blackbox API key |
Aether: Configure Vercel AI |
Set Vercel AI API key |
Aether: Configure Cline |
Set Cline API key |
Aether: Configure Hugging Face |
Set Hugging Face API key |
Aether: Configure Kilo AI |
Set Kilo AI API key |
Aether: Lightning AI Configuration Wizard |
Full Lightning AI setup |
Aether: Configure DeepInfra |
Set DeepInfra API key |
Aether: Configure NVIDIA NIM |
Set NVIDIA NIM API key |
Aether: Configure Mistral AI |
Set Mistral AI API key |
Aether: Configure Ollama Cloud |
Set Ollama Cloud API key |
Aether: Compatible Provider 设置 |
Configure custom models |
| Command | Description |
|---|---|
Aether: Codex Login |
Login to OpenAI Codex |
Aether: Codex Logout |
Logout from Codex |
| Command | Description |
|---|---|
Aether: Add Account |
Add a new account |
Aether: Switch Account |
Switch to another account |
Aether: Quick Switch Account |
Quick switch with Ctrl+Shift+Q |
Aether: Remove Account |
Remove an account |
Aether: View All Accounts |
List all configured accounts |
| Command | Description |
|---|---|
Aether: Toggle NES Manual Trigger Mode |
Toggle NES manual mode |
Aether: Attach Selection to Copilot Chat |
Attach selected code to chat |
Aether: Insert Handle Reference |
Insert #file:filename:L1-L100 |
Aether: Insert Handle Reference with Full Path |
Insert #handle:path/to/file:L1-L100 |
Aether: Open Aether 设置 |
Open settings page |
Add your own OpenAI or Anthropic compatible models:
- Run
Aether: Compatible Provider 设置 - Click "Add Model"
- Configure your model:
{
"id": "my-custom-model",
"name": "My Custom Model",
"baseUrl": "https://api.example.com/v1",
"apiKey": "your-api-key",
"model": "model-name",
"maxInputTokens": 128000,
"maxOutputTokens": 8192,
"sdkMode": "openai",
"capabilities": {
"toolCalling": true,
"imageInput": false
}
}| Requirement | Version |
|---|---|
| VS Code | >= 1.104.0 |
| Node.js | >= 20.0.0 |
| npm | >= 9.0.0 |
| GitHub Copilot Chat | Required (extension dependency) |
# Install dependencies
npm install
# Build in development mode
npm run compile:dev
# Build for production
npm run compile
# Watch mode
npm run watch
# Run linting
npm run lint
# Format code
npm run format
# Package extension
npm run packagecopilot-helper/
├── src/
│ ├── extension.ts # Entry point
│ ├── accounts/ # Multi-account management
│ ├── copilot/ # Core Copilot integration
│ ├── providers/ # AI provider implementations
│ │ ├── providerRegistry.ts # Provider registry
│ │ ├── zhipu/ # ZhipuAI provider
│ │ ├── minimax/ # MiniMax provider
│ │ ├── moonshot/ # MoonshotAI provider
│ │ ├── codex/ # OpenAI Codex
│ │ └── ... # Other providers
│ ├── tools/ # Web search tools
│ ├── types/ # TypeScript definitions
│ ├── ui/ # 设置 pages
│ └── utils/ # Shared utilities
├── dist/ # Compiled output
├── package.json # Extension manifest
└── tsconfig.json # TypeScript config
This project is licensed under the MIT License - see the LICENSE file for details.






