← 返回 Skills 市场
renning22

One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more.

作者 Ning Ren · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
1079
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install asia-llm-router-skills
功能描述
Unified LLM Gateway - One API for 70+ AI models. Route to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more with a single API key.
使用说明 (SKILL.md)

OpenClaw LLM Router 🧠

Unified LLM Gateway for autonomous agents. Powered by AIsa.

One API key. 70+ models. OpenAI-compatible.

Replace 100+ API keys with one. Access GPT-4, Claude-3, Gemini, Qwen, Deepseek, Grok, and more through a unified, OpenAI-compatible API.

🔥 What Can You Do?

Multi-Model Chat

"Chat with GPT-4 for reasoning, switch to Claude for creative writing"

Model Comparison

"Compare responses from GPT-4, Claude, and Gemini for the same question"

Vision Analysis

"Analyze this image with GPT-4o - what objects are in it?"

Cost Optimization

"Route simple queries to fast/cheap models, complex queries to GPT-4"

Fallback Strategy

"If GPT-4 fails, automatically try Claude, then Gemini"

Why LLM Router?

Feature LLM Router Direct APIs
API Keys 1 10+
SDK Compatibility OpenAI SDK Multiple SDKs
Billing Unified Per-provider
Model Switching Change string Code rewrite
Fallback Routing Built-in DIY
Cost Tracking Unified Fragmented

Supported Model Families

Family Developer Example Models
GPT OpenAI gpt-4.1, gpt-4o, gpt-4o-mini, o1, o1-mini, o3-mini
Claude Anthropic claude-3-5-sonnet, claude-3-opus, claude-3-sonnet
Gemini Google gemini-2.0-flash, gemini-1.5-pro, gemini-1.5-flash
Qwen Alibaba qwen-max, qwen-plus, qwen2.5-72b-instruct
Deepseek Deepseek deepseek-chat, deepseek-coder, deepseek-v3, deepseek-r1
Grok xAI grok-2, grok-beta

Note: Model availability may vary. Check marketplace.aisa.one/pricing for the full list of currently available models and pricing.

Quick Start

export AISA_API_KEY="your-key"

API Endpoints

OpenAI-Compatible Chat Completions

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

Request

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    "temperature": 0.7,
    "max_tokens": 1000
  }'

Parameters

Parameter Type Required Description
model string Yes Model identifier (e.g., gpt-4.1, claude-3-sonnet)
messages array Yes Conversation messages
temperature number No Randomness (0-2, default: 1)
max_tokens integer No Maximum response tokens
stream boolean No Enable streaming (default: false)
top_p number No Nucleus sampling (0-1)
frequency_penalty number No Frequency penalty (-2 to 2)
presence_penalty number No Presence penalty (-2 to 2)
stop string/array No Stop sequences

Message Format

{
  "role": "user|assistant|system",
  "content": "message text or array for multimodal"
}

Response

{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "gpt-4.1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing uses..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 50,
    "completion_tokens": 200,
    "total_tokens": 250,
    "cost": 0.0025
  }
}

Streaming Response

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-sonnet",
    "messages": [{"role": "user", "content": "Write a poem about AI."}],
    "stream": true
  }'

Streaming returns Server-Sent Events (SSE):

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

Vision / Image Analysis

Analyze images by passing image URLs or base64 data:

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "What is in this image?"},
          {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
        ]
      }
    ]
  }'

Function Calling

Enable tools/functions for structured outputs:

curl -X POST "https://api.aisa.one/v1/chat/completions" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{"role": "user", "content": "What is the weather in Tokyo?"}],
    "functions": [
      {
        "name": "get_weather",
        "description": "Get current weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {"type": "string", "description": "City name"},
            "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
          },
          "required": ["location"]
        }
      }
    ],
    "function_call": "auto"
  }'

Google Gemini Format

For Gemini models, you can also use the native format:

POST https://api.aisa.one/v1/models/{model}:generateContent
curl -X POST "https://api.aisa.one/v1/models/gemini-2.0-flash:generateContent" \
  -H "Authorization: Bearer $AISA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Explain machine learning."}]
      }
    ],
    "generationConfig": {
      "temperature": 0.7,
      "maxOutputTokens": 1000
    }
  }'

Python Client

Installation

No installation required - uses standard library only.

CLI Usage

# Basic completion
python3 {baseDir}/scripts/llm_router_client.py chat --model gpt-4.1 --message "Hello, world!"

# With system prompt
python3 {baseDir}/scripts/llm_router_client.py chat --model claude-3-sonnet --system "You are a poet" --message "Write about the moon"

# Streaming
python3 {baseDir}/scripts/llm_router_client.py chat --model gpt-4o --message "Tell me a story" --stream

# Multi-turn conversation
python3 {baseDir}/scripts/llm_router_client.py chat --model qwen-max --messages '[{"role":"user","content":"Hi"},{"role":"assistant","content":"Hello!"},{"role":"user","content":"How are you?"}]'

# Vision analysis
python3 {baseDir}/scripts/llm_router_client.py vision --model gpt-4o --image "https://example.com/image.jpg" --prompt "Describe this image"

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

# Compare models
python3 {baseDir}/scripts/llm_router_client.py compare --models "gpt-4.1,claude-3-sonnet,gemini-2.0-flash" --message "What is 2+2?"

Python SDK Usage

from llm_router_client import LLMRouterClient

client = LLMRouterClient()  # Uses AISA_API_KEY env var

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

# With options
response = client.chat(
    model="claude-3-sonnet",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain relativity."}
    ],
    temperature=0.7,
    max_tokens=500
)

# Streaming
for chunk in client.chat_stream(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Write a story."}]
):
    print(chunk, end="", flush=True)

# Vision
response = client.vision(
    model="gpt-4o",
    image_url="https://example.com/image.jpg",
    prompt="What's in this image?"
)

# Compare models
results = client.compare_models(
    models=["gpt-4.1", "claude-3-sonnet", "gemini-2.0-flash"],
    message="Explain quantum computing"
)
for model, result in results.items():
    print(f"{model}: {result['response'][:100]}...")

Use Cases

1. Cost-Optimized Routing

Use cheaper models for simple tasks:

def smart_route(message: str) -> str:
    # Simple queries -> fast/cheap model
    if len(message) \x3C 50:
        model = "gpt-3.5-turbo"
    # Complex reasoning -> powerful model
    else:
        model = "gpt-4.1"
    
    return client.chat(model=model, messages=[{"role": "user", "content": message}])

2. Fallback Strategy

Automatic fallback on failure:

def chat_with_fallback(message: str) -> str:
    models = ["gpt-4.1", "claude-3-sonnet", "gemini-2.0-flash"]
    
    for model in models:
        try:
            return client.chat(model=model, messages=[{"role": "user", "content": message}])
        except Exception:
            continue
    
    raise Exception("All models failed")

3. Model A/B Testing

Compare model outputs:

results = client.compare_models(
    models=["gpt-4.1", "claude-3-opus"],
    message="Analyze this quarterly report..."
)

# Log for analysis
for model, result in results.items():
    log_response(model=model, latency=result["latency"], cost=result["cost"])

4. Specialized Model Selection

Choose the best model for each task:

MODEL_MAP = {
    "code": "deepseek-coder",
    "creative": "claude-3-opus",
    "fast": "gpt-3.5-turbo",
    "vision": "gpt-4o",
    "chinese": "qwen-max",
    "reasoning": "gpt-4.1"
}

def route_by_task(task_type: str, message: str) -> str:
    model = MODEL_MAP.get(task_type, "gpt-4.1")
    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 'xyz' is not available"
  }
}

Common error codes:

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

Best Practices

  1. Use streaming for long responses to improve UX
  2. Set max_tokens to control costs
  3. Implement fallback for production reliability
  4. Cache responses for repeated queries
  5. Monitor usage via response metadata
  6. Use appropriate models - don't use GPT-4 for simple tasks

OpenAI SDK Compatibility

Just change the base URL and key:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AISA_API_KEY"],
    base_url="https://api.aisa.one/v1"
)

response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Pricing

Token-based pricing varies by model. Check marketplace.aisa.one/pricing for current rates.

Model Family Approximate Cost
GPT-4.1 / GPT-4o ~$0.01 / 1K tokens
Claude-3-Sonnet ~$0.01 / 1K tokens
Gemini-2.0-Flash ~$0.001 / 1K tokens
Qwen-Max ~$0.005 / 1K tokens
DeepSeek-V3 ~$0.002 / 1K tokens

Every response includes usage.cost and usage.credits_remaining.

Get Started

  1. Sign up at aisa.one
  2. Get your API key from the dashboard
  3. Add credits (pay-as-you-go)
  4. Set environment variable: export AISA_API_KEY="your-key"

Full API Reference

See API Reference for complete endpoint documentation.

安全使用建议
This skill appears internally consistent, but you should confirm you trust the AIsa provider before using it. Do not put high‑value secrets in prompts sent to third-party LLM providers; treat AISA_API_KEY like any other API secret (rotate it if exposed, use least-privilege keys if supported). Review the provider's pricing and privacy/billing terms (marketplace.aisa.one), and consider testing with non-sensitive data first. If you need stronger assurance, verify the skill's source (who published it), and confirm the HTTPS endpoints and DNS names (api.aisa.one) match the real vendor before entering credentials.
功能分析
Type: OpenClaw Skill Name: asia-llm-router-skills Version: 1.0.0 The OpenClaw LLM Router skill bundle provides a Python client (`scripts/llm_router_client.py`) to interact with the AIsa LLM API at `https://api.aisa.one/v1`. The client uses standard Python libraries, requires and transmits the `AISA_API_KEY` for authentication, and performs expected API calls for chat, vision, and model comparison. The `SKILL.md` and `README.md` files contain clear documentation and usage examples without any evidence of prompt injection attempts against the OpenClaw agent or instructions for malicious actions. While the `image_url` parameter in the `vision` method could potentially be used to probe for Server-Side Request Forgery (SSRF) vulnerabilities in the remote `aisa.one` backend, the client code itself is not designed to exploit this, nor does it instruct the agent to do so, making it a potential vulnerability in the broader system rather than malicious intent within this skill bundle.
能力评估
Purpose & Capability
The name/description claim a unified LLM gateway and the skill only requires AISA_API_KEY, curl, and python3. The included Python client and API endpoints (api.aisa.one / marketplace.aisa.one) align with that purpose — nothing requests unrelated cloud credentials or system access.
Instruction Scope
SKILL.md and README explicitly show how to set AISA_API_KEY and call the AIsa endpoints. Instructions do not direct the agent to read arbitrary system files, other env vars, or to exfiltrate data to unexpected endpoints. The runtime instructions are narrowly scoped to making API calls, streaming SSE handling, vision payloads, and model comparisons.
Install Mechanism
There is no install spec (instruction-only) and the provided Python script uses standard library urllib; nothing downloads or extracts third-party binaries. This is a low-risk install posture.
Credentials
Only a single credential (AISA_API_KEY) is required and is clearly the gateway API key the skill needs. No additional keys, secrets, or configuration paths are requested.
Persistence & Privilege
always is false and the skill does not request to modify other skills or system-wide settings. It does not ask for permanent elevated privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install asia-llm-router-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /asia-llm-router-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
asia-llm-router-skills v1.0.0 - Initial release of the LLM Router skill powered by OpenClaw. - Provides a unified API gateway to 70+ AI models (GPT, Claude, Gemini, Qwen, Deepseek, Grok, and more) with a single API key. - Features OpenAI-compatible endpoints for chat, model comparison, vision, function calling, and cost optimization. - Includes example usage via curl and a Python CLI and SDK client. - Supports advanced features like routing, model fallback, unified billing, and tracking. - Extensive documentation for setup, endpoints, parameters, and supported model families.
元数据
Slug asia-llm-router-skills
版本 1.0.0
许可证
累计安装 1
当前安装数 0
历史版本数 1
常见问题

One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more. 是什么?

Unified LLM Gateway - One API for 70+ AI models. Route to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more with a single API key. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1079 次。

如何安装 One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more.?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install asia-llm-router-skills」即可一键安装,无需额外配置。

One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more. 是免费的吗?

是的,One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more. 完全免费(开源免费),可自由下载、安装和使用。

One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more. 支持哪些平台?

One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more. 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 One API key. 70+ models. Route requests to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more.?

由 Ning Ren(@renning22)开发并维护,当前版本 v1.0.0。

💬 留言讨论