Using 知数云 in Jan
Jan is an offline-first open-source AI desktop client that can both run models locally and connect to OpenAI-compatible endpoints through the Remote Engine. This article explains how to connect to 知数云.
¶ Application Process
To connect 知数云 in Jan, first go to the 知数云 Console, obtain your API Token, and keep it for later use.

If you have not logged in or registered yet, you will be automatically redirected to the login page, where you will be invited to register and log in. After logging in or registering, you will automatically return to the current page.
When applying for the first time, you will receive free credits and can try 知数云's model services for free.
¶ Download Jan
Go to the Jan official website and download the package for your platform (Windows, macOS, Linux). For Apple Silicon devices, please download the arm64 package for optimal performance.
¶ Configure 知数云
Jan divides models into two types: Local Engine (running locally) and Remote Engine (third-party APIs). 知数云 uses the OpenAI-compatible protocol and is connected through the Remote Engine.
Open Jan, go to Settings → Model Providers, find the OpenAI card and edit it:
| Field | Value | Description |
|---|---|---|
| API Key | Your 知数云 Token | The Token copied from the console |
| Base URL | https://xapi.zhishuyun.com/v1 |
Must end with /v1, with no trailing slash |
The requirement that the Base URL must end with
/v1is an explicit convention in the official Jan documentation. If you do not want to overwrite the original OpenAI configuration, you can use “+ Add Provider” to create a new Provider of typeopenai-compatibleand fill in the same content.

After saving the custom Provider, Jan will first attempt to call {Base URL}/models to obtain the model list. If the current version or endpoint does not return an available list, click + Add Model at the bottom of the same edit page to manually enter the model ID. After adding it, the model will appear in the dropdown menu in the upper-left corner and have a “Cloud” icon to distinguish it from remote / local models.

MODEL_IDis a placeholder; please fill it in according to the current model catalog, and configure model capabilities separately.
¶ Select a Model
The model catalog will continue to be updated. Prioritize using the model list automatically loaded by the client; when manual entry is required, first request GET https://xapi.zhishuyun.com/v1/models to obtain the current model IDs, then select based on the context, image, and tool-calling capabilities supported by the client.
¶ Verify the Integration
If you are unsure whether the issue is with Jan or the network, you can first use curl to directly verify the endpoint (replace {token} with your Token):
curl -X POST 'https://xapi.zhishuyun.com/v1/chat/completions' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "ping"}]
}'
Returning an OpenAI-compatible chat.completion object indicates that both the Token and endpoint are ready; if HTTP 403 used_up is returned, it means the Token is valid but the balance is insufficient. Simply recharge in the console.
¶ Advanced: Local + Cloud Hybrid
Jan includes a local OpenAI-compatible API Server that can be enabled (Settings → Local API Server). Once enabled, it listens on http://localhost:1337/v1/chat/completions and runs the local models you have downloaded. This allows you to point the Base URL to localhost for free debugging in frameworks such as LangChain / LlamaIndex, then switch to 知数云 remote models for complex tasks. Conversation context will not be lost when switching models.
¶ Frequently Asked Questions
¶ Connection error or 404
Usually, the Base URL is missing /v1. Change it to https://xapi.zhishuyun.com/v1 (it must end with /v1, and do not write it as .../openai/v1).
¶ 401 Unauthorized
Please confirm that the API Key contains the 知数云 Token (without the Bearer prefix and without extra spaces), and that the corresponding application's balance is sufficient.
¶ Remote models do not appear in the dropdown menu
First, click the model refresh button to trigger /v1/models; if automatic discovery fails, manually add the exact model ID with + Add Model.
¶ Can I upload images for the model to analyze
Yes, but you need to select a model from the current model catalog that explicitly supports visual input.