One API key for Chinese AI models. Route to Qwen, Deepseek

China LLM Gateway - Unified interface for Chinese LLMs including Qwen, DeepSeek, GLM, Baichuan. OpenAI compatible, one API Key for all models.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 780 · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description claim a unified gateway for Chinese models and the package requires only curl, python3, and AISA_API_KEY. The included client talks to https://api.aisa.one and exposes model selection, streaming, and comparison features that match the stated purpose.
Instruction Scope
SKILL.md provides examples and an OpenAI-compatible API endpoint (api.aisa.one). Instructions and examples only reference the AISA_API_KEY and network calls to the gateway; there are no instructions to read unrelated files, system secrets, or send data to third-party endpoints.
Install Mechanism
No install spec — instruction-only plus an included Python script. No downloads from untrusted URLs or archive extraction. Uses system Python and curl (reasonable for this CLI client).
Credentials
Only a single env var (AISA_API_KEY) is required and it is the primary credential used by the client. No unrelated tokens, keys, or config paths are requested.
Persistence & Privilege
always is false and the skill does not request permanent system or cross-skill changes. disable-model-invocation is default (agent may call it autonomously) which is normal; this is not itself a red flag.
Assessment
This skill appears coherent: it uses one API key (AISA_API_KEY) and calls https://api.aisa.one as documented. Before installing, confirm you trust the AIsa provider and the api.aisa.one domain, do not reuse high-privilege or cloud provider keys, and rotate the key if needed. If you plan to run the included Python script, review the full script locally and run it in a constrained environment (sandbox/container) if you have concerns. Be aware that all prompts and any sensitive data you send will go to the AIsa service and may incur usage costs; avoid sending secrets in prompts.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
latestvk971z3ba7y2p0jf10rmtje14es834y3m

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🐉 Clawdis
Binscurl, python3
EnvAISA_API_KEY
Primary envAISA_API_KEY

SKILL.md

OpenClaw CN-LLM 🐉

China LLM Unified Gateway. Powered by AIsa.

One API Key to access all Chinese LLMs. OpenAI compatible interface.

Qwen, DeepSeek, GLM, Baichuan, Moonshot, and more - unified API access.

🔥 What You Can Do

Intelligent Chat

"Use Qwen to answer Chinese questions, use DeepSeek for coding"

Deep Reasoning

"Use DeepSeek-R1 for complex reasoning tasks"

Code Generation

"Use DeepSeek-Coder to generate Python code with explanations"

Long Text Processing

"Use Qwen-Long for ultra-long document summarization"

Model Comparison

"Compare response quality between Qwen-Max and DeepSeek-V3"

Supported Models

Qwen (Alibaba)

ModelInput PriceOutput PriceFeatures
qwen3-max$1.37/M$5.48/MMost powerful general model
qwen3-max-2026-01-23$1.37/M$5.48/MLatest version
qwen3-coder-plus$2.86/M$28.60/MEnhanced code generation
qwen3-coder-flash$0.72/M$3.60/MFast code generation
qwen3-coder-480b-a35b-instruct$2.15/M$8.60/M480B large model
qwen3-vl-plus$0.43/M$4.30/MVision-language model
qwen3-vl-flash$0.86/M$0.86/MFast vision model
qwen3-omni-flash$4.00/M$16.00/MMultimodal model
qwen-vl-max$0.23/M$0.57/MVision-language
qwen-plus-2025-12-01$1.26/M$12.60/MPlus version
qwen-mt-flash$0.168/M$0.514/MFast machine translation
qwen-mt-lite$0.13/M$0.39/MLite machine translation

DeepSeek

ModelInput PriceOutput PriceFeatures
deepseek-r1$2.00/M$8.00/MReasoning model, supports Tools
deepseek-v3$1.00/M$4.00/MGeneral chat, 671B parameters
deepseek-v3-0324$1.20/M$4.80/MV3 stable version
deepseek-v3.1$4.00/M$12.00/MLatest Terminus version

Note: Prices are in M (million tokens). Model availability may change, see marketplace.aisa.one/pricing for the latest list.

Quick Start

export AISA_API_KEY="your-key"

API Endpoints

OpenAI Compatible Interface

POST https://api.aisa.one/v1/chat/completions

Qwen Example

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-max",
    "messages": [
      {"role": "system", "content": "You are a professional Chinese assistant."},
      {"role": "user", "content": "Please explain what a large language model is?"}
    ],
    "temperature": 0.7,
    "max_tokens": 1000
  }'

DeepSeek Example

# DeepSeek-V3 general chat (671B parameters)
curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v3",
    "messages": [{"role": "user", "content": "Write a quicksort algorithm in Python"}],
    "temperature": 0.3
  }'

# DeepSeek-R1 deep reasoning (supports Tools)
curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1",
    "messages": [{"role": "user", "content": "A farmer needs to cross a river with a wolf, a sheep, and a cabbage. The boat can only carry the farmer and one item at a time. If the farmer is not present, the wolf will eat the sheep, and the sheep will eat the cabbage. How can the farmer safely cross?"}]
  }'

# DeepSeek-V3.1 Terminus latest version
curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v3.1",
    "messages": [{"role": "user", "content": "Implement an LRU cache with get and put operations"}]
  }'

Qwen3 Code Generation Example

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-coder-plus",
    "messages": [{"role": "user", "content": "Implement a thread-safe Map in Go"}]
  }'

Parameter Reference

ParameterTypeRequiredDescription
modelstringYesModel identifier
messagesarrayYesMessage list
temperaturenumberNoRandomness (0-2, default 1)
max_tokensintegerNoMaximum tokens to generate
streambooleanNoStream output (default false)
top_pnumberNoNucleus sampling parameter (0-1)

Response Format

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "qwen-max",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A large language model (LLM) is a deep learning-based..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 30,
    "completion_tokens": 150,
    "total_tokens": 180,
    "cost": 0.001
  }
}

Streaming Output

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-plus",
    "messages": [{"role": "user", "content": "Tell a Chinese folk story"}],
    "stream": true
  }'

Returns Server-Sent Events (SSE) format:

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"Once"}}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":" upon"}}]}
...
data: [DONE]

Python Client

CLI Usage

# Qwen chat
python3 {baseDir}/scripts/cn_llm_client.py chat --model qwen3-max --message "Hello, please introduce yourself"

# Qwen3 code generation
python3 {baseDir}/scripts/cn_llm_client.py chat --model qwen3-coder-plus --message "Write a binary search algorithm"

# DeepSeek-R1 reasoning
python3 {baseDir}/scripts/cn_llm_client.py chat --model deepseek-r1 --message "Which is larger, 9.9 or 9.11? Please reason in detail"

# DeepSeek-V3 chat
python3 {baseDir}/scripts/cn_llm_client.py chat --model deepseek-v3 --message "Tell a story" --stream

# With system prompt
python3 {baseDir}/scripts/cn_llm_client.py chat --model qwen3-max --system "You are a classical poetry expert" --message "Write a poem about plum blossoms"

# Model comparison
python3 {baseDir}/scripts/cn_llm_client.py compare --models "qwen3-max,deepseek-v3" --message "What is quantum computing?"

# List supported models
python3 {baseDir}/scripts/cn_llm_client.py models

Python SDK Usage

from cn_llm_client import CNLLMClient

client = CNLLMClient()  # Uses AISA_API_KEY environment variable

# Qwen chat
response = client.chat(
    model="qwen3-max",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response["choices"][0]["message"]["content"])

# Qwen3 code generation
response = client.chat(
    model="qwen3-coder-plus",
    messages=[
        {"role": "system", "content": "You are a professional programmer."},
        {"role": "user", "content": "Implement a singleton pattern in Python"}
    ],
    temperature=0.3
)

# Streaming output
for chunk in client.chat_stream(
    model="deepseek-v3",
    messages=[{"role": "user", "content": "Tell a story about an idiom"}]
):
    print(chunk, end="", flush=True)

# Model comparison
results = client.compare_models(
    models=["qwen3-max", "deepseek-v3", "deepseek-r1"],
    message="Explain what machine learning is"
)
for model, result in results.items():
    print(f"{model}: {result['response'][:100]}...")

Use Cases

1. Chinese Content Generation

# Copywriting
response = client.chat(
    model="qwen3-max",
    messages=[
        {"role": "system", "content": "You are a professional copywriter."},
        {"role": "user", "content": "Write a product introduction for a smart watch"}
    ]
)

2. Code Development

# Code generation and explanation
response = client.chat(
    model="qwen3-coder-plus",
    messages=[{"role": "user", "content": "Implement a thread-safe Map in Go"}]
)

3. Complex Reasoning

# Mathematical reasoning
response = client.chat(
    model="deepseek-r1",
    messages=[{"role": "user", "content": "Prove: For any positive integer n, n³-n is divisible by 6"}]
)

4. Visual Understanding

# Image understanding
response = client.chat(
    model="qwen3-vl-plus",
    messages=[
        {"role": "user", "content": [
            {"type": "text", "text": "Describe the content of this image"},
            {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
        ]}
    ]
)

5. Model Routing Strategy

MODEL_MAP = {
    "chat": "qwen3-max",           # General chat
    "code": "qwen3-coder-plus",    # Code generation
    "reasoning": "deepseek-r1",    # Complex reasoning
    "vision": "qwen3-vl-plus",     # Visual understanding
    "fast": "qwen3-coder-flash",   # Fast response
    "translate": "qwen-mt-flash"   # Machine translation
}

def route_by_task(task_type: str, message: str) -> str:
    model = MODEL_MAP.get(task_type, "qwen3-max")
    return client.chat(model=model, messages=[{"role": "user", "content": message}])

Error Handling

Errors return JSON with error field:

{
  "error": {
    "code": "model_not_found",
    "message": "Model 'xxx' is not available"
  }
}

Common error codes:

  • 401 - Invalid or missing API Key
  • 402 - Insufficient balance
  • 404 - Model not found
  • 429 - Rate limit exceeded
  • 500 - Server error

Pricing

ModelInput ($/M)Output ($/M)
qwen3-max$1.37$5.48
qwen3-coder-plus$2.86$28.60
qwen3-coder-flash$0.72$3.60
qwen3-vl-plus$0.43$4.30
deepseek-v3$1.00$4.00
deepseek-r1$2.00$8.00
deepseek-v3.1$4.00$12.00

Price unit: $ per Million tokens. Each response includes usage.cost and usage.credits_remaining.

Get Started

  1. Register at aisa.one
  2. Get API Key
  3. Top up (pay-as-you-go)
  4. Set environment variable: export AISA_API_KEY="your-key"

Full API Reference

See API Reference for complete endpoint documentation.

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…