Z for Copilot

Access Z.ai (Zhipu) models within GitHub Copilot Chat
🌐 Z.ai •
📖 API Docs •
🔑 Get API Key
✨ Features
- 🧠 All Z Models - Every Z chat-capable model fetched dynamically from the API
- 🔀 Model Picker - Select Z models via the model selector dropdown on any Copilot Chat conversation
- 💬 Chat Participant - Invoke
@z directly in Copilot Chat for a dedicated, history-aware Z conversation
- 🔧 Tool Calling - Function calling support for agentic workflows
- 🖼️ Vision - Image input support for models that support it
- 🔒 Secure - API key stored using VS Code's encrypted secrets API
- ⚡ Streaming - Real-time response streaming for faster interactions
🔧 Requirements
- VS Code 1.109.0 or higher
- GitHub Copilot Chat extension installed (required)
- A valid Z.ai API key
🚀 Installation
- Install from VS Code Marketplace (or install the
.vsix file)
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Run:
Z: Manage API Key
- Enter your API key from z.ai
- (Optional) Run:
Z: Manage Settings to switch endpoint mode
🔑 Getting Your API Key
- Go to Z.ai Console
- Sign up or log in with your account
- Navigate to API Keys section
- Click Create new key
- Copy the key and paste it into VS Code when prompted
💬 Usage
Model Picker
To use a Z model in an existing Copilot Chat conversation without the @z handle:
- Open GitHub Copilot Chat panel in VS Code
- Click the model selector dropdown
- Choose a Z.ai model
- Start chatting!
Chat Participant
Type @z in any Copilot Chat input to direct the conversation to Z.ai. The participant is sticky — once invoked, it stays active for the thread.
@z explain the architecture of this project
Usage Status Bar
When a Z_API_KEY is configured, the extension shows a usage item on the right side of the status bar.
- Hourly view:
$(graph) Z · {num}% of 5 Hours
- Weekly view:
$(graph) Z · {num}% of Week
Click the status bar item to toggle between hourly and weekly views.
Tooltip includes:
Z.ai {Plan} plan (auto-detected from Z.ai quota API)
- Token quota windows and progress bars
- MCP time-limit usage windows
- Last updated time
You can also refresh usage manually via command palette:
Related settings:
zModels.usage.enabled
zModels.usage.refreshInterval
Advanced modelOptions support
This provider supports the following modelOptions keys (used internally by VS Code model requests and useful for extension contributors):
temperature: number
topP: number
safePrompt: boolean
Thinking controls:
thinking: boolean (false maps to thinking.type = "disabled")
thinkingType: "enabled" | "disabled"
clearThinking: boolean (alias: clear_thinking)
Structured output:
jsonMode: boolean (maps to response_format: { type: "json_object" })
responseFormat: "json_object" | { type: "json_object" }
Web search tool:
webSearch: boolean | object (alias: web_search)
true enables default web search tool config
- object passes through as
web_search tool configuration
Notes:
- Requests use streaming (
stream: true) and tool streaming (tool_stream: true) when tools are present.
- Tool calls are assembled incrementally from SSE deltas and emitted as soon as arguments become valid JSON.
- Cache usage is automatic server-side; cached prompt token counts are logged when returned by the API (
usage.prompt_tokens_details.cached_tokens).
- Token counting in VS Code uses a compatible approximation (
cl100k_base) and should be treated as an estimate for GLM models.
🛡️ Privacy & Security
- Your API key is stored securely using VS Code's encrypted secrets API
- No data is stored by this extension - all requests go directly to Z.ai
- See Z.ai Privacy Policy for details
🎛️ MCP Servers
This extension supports Model Context Protocol (MCP) servers for enhanced capabilities:
- Vision MCP: Image processing and analysis
- Search MCP: Web and code search capabilities
- Reader MCP: Document reading and PDF processing
- ZRead MCP: Advanced reading and contextual analysis
You can enable/disable MCP servers in VS Code settings:
- Open VS Code Settings (
Ctrl+, or Cmd+,)
- Search for "Z.ai"
- Enable/disable individual MCP servers as needed
Troubleshooting
command 'z-chat.manageApiKey' not found
- Ensure you are running the latest extension build and reload VS Code (
Developer: Reload Window).
- This usually indicates extension activation failed before command registration.
Selecting Z.ai in Model Manager does nothing
- This is typically the same activation issue as above; update/reload the extension first.
No registered MCP servers
- MCP server definitions are registered eagerly, but they are only resolvable/startable after a valid API key is stored.
- MCP registration depends on VS Code builds that include MCP provider APIs. In builds without that API, the extension still works for chat/models, but MCP server registration is skipped.
🛠️ Development
Prerequisites
Build
pnpm install
pnpm run compile # type-check + lint + bundle
pnpm run watch # parallel watch for type-check and bundle
Testing
pnpm test # unit tests (Vitest)
pnpm run test:coverage # unit tests with coverage
pnpm run test:extension # VS Code integration tests
Debugging
Open the project in VS Code and press F5 to launch the Extension Development Host with the extension loaded.
📄 License
MIT License - See LICENSE for details.
Maintained by Daniel Sieradski (@selfagency).