claude-code-router
Use Claude Code as the foundation for coding infrastructure, allowing you to decide how to interact with the model while enjoying updates from Anthropic.
Top Related Projects
Integrate cutting-edge LLM technology quickly and easily into your apps
🦜🔗 Build context-aware reasoning applications
Examples and guides for using the OpenAI API
The ChatGPT Retrieval Plugin lets you easily find personal or work documents by asking questions in natural language.
JARVIS, a system to connect LLMs with ML community. Paper: https://arxiv.org/pdf/2303.17580.pdf
Quick Overview
Claude Code Router is an open-source project that provides a simple and efficient way to route code snippets to different language models, including Claude and GPT. It aims to enhance the development workflow by allowing developers to seamlessly integrate AI-powered code assistance into their projects.
Pros
- Easy integration with various language models
- Supports multiple programming languages
- Customizable routing logic
- Lightweight and easy to set up
Cons
- Limited documentation
- Still in early development stages
- May require additional configuration for complex use cases
- Potential dependency on third-party APIs
Code Examples
Here are a few examples of how to use Claude Code Router:
- Basic routing setup:
from claude_code_router import CodeRouter
router = CodeRouter()
router.add_route("python", "claude")
router.add_route("javascript", "gpt")
result = router.route_code("print('Hello, World!')", "python")
print(result) # Output: Claude's response for Python code
- Custom routing logic:
def custom_route(code, language):
if "machine learning" in code.lower():
return "claude"
return "gpt"
router = CodeRouter(custom_routing_func=custom_route)
result = router.route_code("import tensorflow as tf", "python")
print(result) # Output: Claude's response for machine learning code
- Handling multiple languages:
router = CodeRouter()
router.add_route("python", "claude")
router.add_route("javascript", "gpt")
router.add_route("java", "claude")
js_code = "console.log('Hello, World!');"
java_code = "System.out.println('Hello, World!');"
js_result = router.route_code(js_code, "javascript")
java_result = router.route_code(java_code, "java")
print(js_result) # Output: GPT's response for JavaScript code
print(java_result) # Output: Claude's response for Java code
Getting Started
To get started with Claude Code Router, follow these steps:
-
Install the package:
pip install claude-code-router
-
Import and initialize the router:
from claude_code_router import CodeRouter router = CodeRouter()
-
Add routes for different languages:
router.add_route("python", "claude") router.add_route("javascript", "gpt")
-
Route code snippets:
result = router.route_code("print('Hello, World!')", "python") print(result)
For more advanced usage and configuration options, refer to the project's documentation.
Competitor Comparisons
Integrate cutting-edge LLM technology quickly and easily into your apps
Pros of Semantic Kernel
- More comprehensive framework for building AI applications
- Extensive documentation and examples
- Larger community and active development
Cons of Semantic Kernel
- Steeper learning curve due to its complexity
- Heavier resource requirements
Code Comparison
Claude Code Router:
@router.post("/generate")
async def generate(prompt: str):
response = claude.complete(prompt)
return {"response": response}
Semantic Kernel:
var kernel = Kernel.Builder.Build();
var result = await kernel.RunAsync("What is the capital of France?");
Console.WriteLine(result);
Key Differences
Claude Code Router is a lightweight API wrapper for Claude AI, focusing on simplicity and ease of use. It's ideal for quick integrations and prototyping.
Semantic Kernel is a more robust framework for building AI applications, offering advanced features like memory, planning, and plugin systems. It's better suited for complex, production-grade applications.
Claude Code Router is Python-based and centered around Claude AI, while Semantic Kernel is primarily C#-based and designed to work with multiple AI services.
Choose Claude Code Router for rapid development and simple Claude AI integrations. Opt for Semantic Kernel when building more sophisticated AI applications with advanced features and flexibility across different AI services.
🦜🔗 Build context-aware reasoning applications
Pros of LangChain
- More comprehensive framework for building LLM applications
- Larger community and ecosystem with extensive documentation
- Supports multiple LLM providers and integrations
Cons of LangChain
- Steeper learning curve due to its extensive features
- Can be overkill for simpler projects
- Requires more setup and configuration
Code Comparison
Claude Code Router:
from claude_code_router import ClaudeCodeRouter
router = ClaudeCodeRouter()
result = router.route("Generate a Python function to calculate factorial")
print(result)
LangChain:
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
llm = OpenAI()
prompt = PromptTemplate.from_template("Generate a Python function to calculate {task}")
result = llm(prompt.format(task="factorial"))
print(result)
Summary
LangChain offers a more comprehensive solution for building LLM applications with extensive features and integrations. However, it may be more complex for simple use cases. Claude Code Router provides a more straightforward approach for code-related tasks but with fewer features. The choice between the two depends on the project's complexity and specific requirements.
Examples and guides for using the OpenAI API
Pros of openai-cookbook
- Comprehensive collection of examples and best practices for using OpenAI's APIs
- Well-maintained and regularly updated by OpenAI's team
- Covers a wide range of use cases and applications
Cons of openai-cookbook
- Focused solely on OpenAI's products, limiting its applicability to other AI models
- May be overwhelming for beginners due to its extensive content
Code comparison
openai-cookbook:
import openai
response = openai.Completion.create(
engine="text-davinci-002",
prompt="Translate the following English text to French: '{}'",
max_tokens=60
)
claude-code-router:
from claude_code_router import ClaudeCodeRouter
router = ClaudeCodeRouter()
result = router.route_code("Translate the following English text to French: '{}'")
Summary
openai-cookbook is a comprehensive resource for working with OpenAI's APIs, offering a wide range of examples and best practices. It's well-maintained but focuses exclusively on OpenAI products. claude-code-router, on the other hand, is a specialized tool for routing code to Claude AI, providing a simpler interface for specific use cases. The choice between the two depends on the user's needs and the AI models they're working with.
The ChatGPT Retrieval Plugin lets you easily find personal or work documents by asking questions in natural language.
Pros of chatgpt-retrieval-plugin
- More comprehensive documentation and setup instructions
- Supports multiple vector database options (Pinecone, Weaviate, Zilliz, Milvus, Qdrant)
- Includes a FastAPI server for handling requests and responses
Cons of chatgpt-retrieval-plugin
- More complex setup and configuration process
- Requires additional dependencies and services to run
- Focused specifically on ChatGPT integration, less flexible for other use cases
Code Comparison
claude-code-router:
def route_code(code: str) -> str:
# Simple routing logic based on code content
if "def " in code:
return "python"
elif "function " in code:
return "javascript"
else:
return "unknown"
chatgpt-retrieval-plugin:
@app.post("/upsert")
async def upsert(
request: Request,
background_tasks: BackgroundTasks,
metadata: Optional[Dict[str, str]] = None,
):
# Complex upsert logic for vector database
# ...
The code comparison shows that claude-code-router has a simpler, more focused approach to code routing, while chatgpt-retrieval-plugin involves more complex API endpoints and database interactions.
Pros of TaskMatrix
- More comprehensive task management system with multiple agents and task decomposition
- Supports a wider range of applications, including image processing and web browsing
- More actively maintained with recent updates and contributions
Cons of TaskMatrix
- More complex setup and configuration required
- Potentially higher resource usage due to multiple agents and broader functionality
- Steeper learning curve for users new to multi-agent systems
Code Comparison
TaskMatrix:
def decompose_task(task):
subtasks = []
# Complex task decomposition logic
return subtasks
def execute_task(task, agents):
for agent in agents:
agent.process(task)
Claude Code Router:
def route_code(code):
language = detect_language(code)
return ROUTERS[language].process(code)
TaskMatrix offers a more complex task management system with multiple agents, while Claude Code Router focuses specifically on routing and processing code snippets. TaskMatrix provides broader functionality but requires more setup, while Claude Code Router is simpler and more focused on code-related tasks.
JARVIS, a system to connect LLMs with ML community. Paper: https://arxiv.org/pdf/2303.17580.pdf
Pros of JARVIS
- More comprehensive AI agent framework with multi-modal capabilities
- Larger community and backing from Microsoft
- Supports a wider range of tasks beyond just code routing
Cons of JARVIS
- More complex setup and configuration required
- Heavier resource requirements due to broader feature set
- Steeper learning curve for developers
Code Comparison
claude-code-router:
@app.route("/generate", methods=["POST"])
def generate():
prompt = request.json["prompt"]
response = claude.complete(prompt)
return jsonify({"response": response})
JARVIS:
@app.agent()
async def code_agent(human_input: str) -> str:
# Complex agent logic here
response = await llm.generate(human_input)
return await tools.refine_code(response)
The claude-code-router example shows a simpler API endpoint for code generation, while JARVIS demonstrates a more sophisticated agent-based approach with additional processing steps.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
I am currently seeking Agent development related job opportunities, either based in Hangzhou or remote. If you are interested in my projects or have suitable opportunities, feel free to reach out! ð§ Email: m@musiiot.top
A powerful tool to route Claude Code requests to different models and customize any request.
Now you can use models such as
GLM-4.5
,Kimi-K2
,Qwen3-Coder-480B-A35B
, andDeepSeek v3.1
for free through the iFlow Platform.
You can use theccr ui
command to directly import theiflow
template in the UI. Itâs worth noting that iFlow limits each user to a concurrency of 1, which means youâll need to route background requests to other models.
If youâd like a better experience, you can try iFlow CLI.
⨠Features
- Model Routing: Route requests to different models based on your needs (e.g., background tasks, thinking, long context).
- Multi-Provider Support: Supports various model providers like OpenRouter, DeepSeek, Ollama, Gemini, Volcengine, and SiliconFlow.
- Request/Response Transformation: Customize requests and responses for different providers using transformers.
- Dynamic Model Switching: Switch models on-the-fly within Claude Code using the
/model
command. - GitHub Actions Integration: Trigger Claude Code tasks in your GitHub workflows.
- Plugin System: Extend functionality with custom transformers.
ð Getting Started
1. Installation
First, ensure you have Claude Code installed:
npm install -g @anthropic-ai/claude-code
Then, install Claude Code Router:
npm install -g @musistudio/claude-code-router
2. Configuration
Create and configure your ~/.claude-code-router/config.json
file. For more details, you can refer to config.example.json
.
The config.json
file has several key sections:
-
PROXY_URL
(optional): You can set a proxy for API requests, for example:"PROXY_URL": "http://127.0.0.1:7890"
. -
LOG
(optional): You can enable logging by setting it totrue
. When set tofalse
, no log files will be created. Default istrue
. -
LOG_LEVEL
(optional): Set the logging level. Available options are:"fatal"
,"error"
,"warn"
,"info"
,"debug"
,"trace"
. Default is"debug"
. -
Logging Systems: The Claude Code Router uses two separate logging systems:
- Server-level logs: HTTP requests, API calls, and server events are logged using pino in the
~/.claude-code-router/logs/
directory with filenames likeccr-*.log
- Application-level logs: Routing decisions and business logic events are logged in
~/.claude-code-router/claude-code-router.log
- Server-level logs: HTTP requests, API calls, and server events are logged using pino in the
-
APIKEY
(optional): You can set a secret key to authenticate requests. When set, clients must provide this key in theAuthorization
header (e.g.,Bearer your-secret-key
) or thex-api-key
header. Example:"APIKEY": "your-secret-key"
. -
HOST
(optional): You can set the host address for the server. IfAPIKEY
is not set, the host will be forced to127.0.0.1
for security reasons to prevent unauthorized access. Example:"HOST": "0.0.0.0"
. -
NON_INTERACTIVE_MODE
(optional): When set totrue
, enables compatibility with non-interactive environments like GitHub Actions, Docker containers, or other CI/CD systems. This sets appropriate environment variables (CI=true
,FORCE_COLOR=0
, etc.) and configures stdin handling to prevent the process from hanging in automated environments. Example:"NON_INTERACTIVE_MODE": true
. -
Providers
: Used to configure different model providers. -
Router
: Used to set up routing rules.default
specifies the default model, which will be used for all requests if no other route is configured. -
API_TIMEOUT_MS
: Specifies the timeout for API calls in milliseconds.
Environment Variable Interpolation
Claude Code Router supports environment variable interpolation for secure API key management. You can reference environment variables in your config.json
using either $VAR_NAME
or ${VAR_NAME}
syntax:
{
"OPENAI_API_KEY": "$OPENAI_API_KEY",
"GEMINI_API_KEY": "${GEMINI_API_KEY}",
"Providers": [
{
"name": "openai",
"api_base_url": "https://api.openai.com/v1/chat/completions",
"api_key": "$OPENAI_API_KEY",
"models": ["gpt-5", "gpt-5-mini"]
}
]
}
This allows you to keep sensitive API keys in environment variables instead of hardcoding them in configuration files. The interpolation works recursively through nested objects and arrays.
Here is a comprehensive example:
{
"APIKEY": "your-secret-key",
"PROXY_URL": "http://127.0.0.1:7890",
"LOG": true,
"API_TIMEOUT_MS": 600000,
"NON_INTERACTIVE_MODE": false,
"Providers": [
{
"name": "openrouter",
"api_base_url": "https://openrouter.ai/api/v1/chat/completions",
"api_key": "sk-xxx",
"models": [
"google/gemini-2.5-pro-preview",
"anthropic/claude-sonnet-4",
"anthropic/claude-3.5-sonnet",
"anthropic/claude-3.7-sonnet:thinking"
],
"transformer": {
"use": ["openrouter"]
}
},
{
"name": "deepseek",
"api_base_url": "https://api.deepseek.com/chat/completions",
"api_key": "sk-xxx",
"models": ["deepseek-chat", "deepseek-reasoner"],
"transformer": {
"use": ["deepseek"],
"deepseek-chat": {
"use": ["tooluse"]
}
}
},
{
"name": "ollama",
"api_base_url": "http://localhost:11434/v1/chat/completions",
"api_key": "ollama",
"models": ["qwen2.5-coder:latest"]
},
{
"name": "gemini",
"api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
"api_key": "sk-xxx",
"models": ["gemini-2.5-flash", "gemini-2.5-pro"],
"transformer": {
"use": ["gemini"]
}
},
{
"name": "volcengine",
"api_base_url": "https://ark.cn-beijing.volces.com/api/v3/chat/completions",
"api_key": "sk-xxx",
"models": ["deepseek-v3-250324", "deepseek-r1-250528"],
"transformer": {
"use": ["deepseek"]
}
},
{
"name": "modelscope",
"api_base_url": "https://api-inference.modelscope.cn/v1/chat/completions",
"api_key": "",
"models": ["Qwen/Qwen3-Coder-480B-A35B-Instruct", "Qwen/Qwen3-235B-A22B-Thinking-2507"],
"transformer": {
"use": [
[
"maxtoken",
{
"max_tokens": 65536
}
],
"enhancetool"
],
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
"use": ["reasoning"]
}
}
},
{
"name": "dashscope",
"api_base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
"api_key": "",
"models": ["qwen3-coder-plus"],
"transformer": {
"use": [
[
"maxtoken",
{
"max_tokens": 65536
}
],
"enhancetool"
]
}
},
{
"name": "aihubmix",
"api_base_url": "https://aihubmix.com/v1/chat/completions",
"api_key": "sk-",
"models": [
"Z/glm-4.5",
"claude-opus-4-20250514",
"gemini-2.5-pro"
]
}
],
"Router": {
"default": "deepseek,deepseek-chat",
"background": "ollama,qwen2.5-coder:latest",
"think": "deepseek,deepseek-reasoner",
"longContext": "openrouter,google/gemini-2.5-pro-preview",
"longContextThreshold": 60000,
"webSearch": "gemini,gemini-2.5-flash"
}
}
3. Running Claude Code with the Router
Start Claude Code using the router:
ccr code
Note: After modifying the configuration file, you need to restart the service for the changes to take effect:
ccr restart
4. UI Mode
For a more intuitive experience, you can use the UI mode to manage your configuration:
ccr ui
This will open a web-based interface where you can easily view and edit your config.json
file.
Providers
The Providers
array is where you define the different model providers you want to use. Each provider object requires:
name
: A unique name for the provider.api_base_url
: The full API endpoint for chat completions.api_key
: Your API key for the provider.models
: A list of model names available from this provider.transformer
(optional): Specifies transformers to process requests and responses.
Transformers
Transformers allow you to modify the request and response payloads to ensure compatibility with different provider APIs.
-
Global Transformer: Apply a transformer to all models from a provider. In this example, the
openrouter
transformer is applied to all models under theopenrouter
provider.{ "name": "openrouter", "api_base_url": "https://openrouter.ai/api/v1/chat/completions", "api_key": "sk-xxx", "models": [ "google/gemini-2.5-pro-preview", "anthropic/claude-sonnet-4", "anthropic/claude-3.5-sonnet" ], "transformer": { "use": ["openrouter"] } }
-
Model-Specific Transformer: Apply a transformer to a specific model. In this example, the
deepseek
transformer is applied to all models, and an additionaltooluse
transformer is applied only to thedeepseek-chat
model.{ "name": "deepseek", "api_base_url": "https://api.deepseek.com/chat/completions", "api_key": "sk-xxx", "models": ["deepseek-chat", "deepseek-reasoner"], "transformer": { "use": ["deepseek"], "deepseek-chat": { "use": ["tooluse"] } } }
-
Passing Options to a Transformer: Some transformers, like
maxtoken
, accept options. To pass options, use a nested array where the first element is the transformer name and the second is an options object.{ "name": "siliconflow", "api_base_url": "https://api.siliconflow.cn/v1/chat/completions", "api_key": "sk-xxx", "models": ["moonshotai/Kimi-K2-Instruct"], "transformer": { "use": [ [ "maxtoken", { "max_tokens": 16384 } ] ] } }
Available Built-in Transformers:
Anthropic
:If you use only theAnthropic
transformer, it will preserve the original request and response parameters(you can use it to connect directly to an Anthropic endpoint).deepseek
: Adapts requests/responses for DeepSeek API.gemini
: Adapts requests/responses for Gemini API.openrouter
: Adapts requests/responses for OpenRouter API. It can also accept aprovider
routing parameter to specify which underlying providers OpenRouter should use. For more details, refer to the OpenRouter documentation. See an example below:"transformer": { "use": ["openrouter"], "moonshotai/kimi-k2": { "use": [ [ "openrouter", { "provider": { "only": ["moonshotai/fp8"] } } ] ] } }
groq
: Adapts requests/responses for groq API.maxtoken
: Sets a specificmax_tokens
value.tooluse
: Optimizes tool usage for certain models viatool_choice
.gemini-cli
(experimental): Unofficial support for Gemini via Gemini CLI gemini-cli.js.reasoning
: Used to process thereasoning_content
field.sampling
: Used to process sampling information fields such astemperature
,top_p
,top_k
, andrepetition_penalty
.enhancetool
: Adds a layer of error tolerance to the tool call parameters returned by the LLM (this will cause the tool call information to no longer be streamed).cleancache
: Clears thecache_control
field from requests.vertex-gemini
: Handles the Gemini API using Vertex authentication.chutes-glm
Unofficial support for GLM 4.5 model via Chutes chutes-glm-transformer.js.qwen-cli
(experimental): Unofficial support for qwen3-coder-plus model via Qwen CLI qwen-cli.js.rovo-cli
(experimental): Unofficial support for gpt-5 via Atlassian Rovo Dev CLI rovo-cli.js.
Custom Transformers:
You can also create your own transformers and load them via the transformers
field in config.json
.
{
"transformers": [
{
"path": "/User/xxx/.claude-code-router/plugins/gemini-cli.js",
"options": {
"project": "xxx"
}
}
]
}
Router
The Router
object defines which model to use for different scenarios:
-
default
: The default model for general tasks. -
background
: A model for background tasks. This can be a smaller, local model to save costs. -
think
: A model for reasoning-heavy tasks, like Plan Mode. -
longContext
: A model for handling long contexts (e.g., > 60K tokens). -
longContextThreshold
(optional): The token count threshold for triggering the long context model. Defaults to 60000 if not specified. -
webSearch
: Used for handling web search tasks and this requires the model itself to support the feature. If you're using openrouter, you need to add the:online
suffix after the model name. -
image
(beta): Used for handling image-related tasks (supported by CCRâs built-in agent). If the model does not support tool calling, you need to set theconfig.forceUseImageAgent
property totrue
. -
You can also switch models dynamically in Claude Code with the
/model
command:/model provider_name,model_name
Example:/model openrouter,anthropic/claude-3.5-sonnet
Custom Router
For more advanced routing logic, you can specify a custom router script via the CUSTOM_ROUTER_PATH
in your config.json
. This allows you to implement complex routing rules beyond the default scenarios.
In your config.json
:
{
"CUSTOM_ROUTER_PATH": "/User/xxx/.claude-code-router/custom-router.js"
}
The custom router file must be a JavaScript module that exports an async
function. This function receives the request object and the config object as arguments and should return the provider and model name as a string (e.g., "provider_name,model_name"
), or null
to fall back to the default router.
Here is an example of a custom-router.js
based on custom-router.example.js
:
// /User/xxx/.claude-code-router/custom-router.js
/**
* A custom router function to determine which model to use based on the request.
*
* @param {object} req - The request object from Claude Code, containing the request body.
* @param {object} config - The application's config object.
* @returns {Promise<string|null>} - A promise that resolves to the "provider,model_name" string, or null to use the default router.
*/
module.exports = async function router(req, config) {
const userMessage = req.body.messages.find((m) => m.role === "user")?.content;
if (userMessage && userMessage.includes("explain this code")) {
// Use a powerful model for code explanation
return "openrouter,anthropic/claude-3.5-sonnet";
}
// Fallback to the default router configuration
return null;
};
Subagent Routing
For routing within subagents, you must specify a particular provider and model by including <CCR-SUBAGENT-MODEL>provider,model</CCR-SUBAGENT-MODEL>
at the beginning of the subagent's prompt. This allows you to direct specific subagent tasks to designated models.
Example:
<CCR-SUBAGENT-MODEL>openrouter,anthropic/claude-3.5-sonnet</CCR-SUBAGENT-MODEL>
Please help me analyze this code snippet for potential optimizations...
Status Line (Beta)
To better monitor the status of claude-code-router at runtime, version v1.0.40 includes a built-in statusline tool, which you can enable in the UI.
The effect is as follows:
ð¤ GitHub Actions
Integrate Claude Code Router into your CI/CD pipeline. After setting up Claude Code Actions, modify your .github/workflows/claude.yaml
to use the router:
name: Claude Code
on:
issue_comment:
types: [created]
# ... other triggers
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
# ... other conditions
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Prepare Environment
run: |
curl -fsSL https://bun.sh/install | bash
mkdir -p $HOME/.claude-code-router
cat << 'EOF' > $HOME/.claude-code-router/config.json
{
"log": true,
"NON_INTERACTIVE_MODE": true,
"OPENAI_API_KEY": "${{ secrets.OPENAI_API_KEY }}",
"OPENAI_BASE_URL": "https://api.deepseek.com",
"OPENAI_MODEL": "deepseek-chat"
}
EOF
shell: bash
- name: Start Claude Code Router
run: |
nohup ~/.bun/bin/bunx @musistudio/claude-code-router@1.0.8 start &
shell: bash
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@beta
env:
ANTHROPIC_BASE_URL: http://localhost:3456
with:
anthropic_api_key: "any-string-is-ok"
Note: When running in GitHub Actions or other automation environments, make sure to set
"NON_INTERACTIVE_MODE": true
in your configuration to prevent the process from hanging due to stdin handling issues.
This setup allows for interesting automations, like running tasks during off-peak hours to reduce API costs.
ð Further Reading
â¤ï¸ Support & Sponsoring
If you find this project helpful, please consider sponsoring its development. Your support is greatly appreciated!
![]() |
![]() |
Our Sponsors
A huge thank you to all our sponsors for their generous support!
- AIHubmix
- BurnCloud
- @Simon Leischnig
- @duanshuaimin
- @vrgitadmin
- @*o
- @ceilwoo
- @*说
- @*æ´
- @K*g
- @R*R
- @bobleer
- @*è
- @*å
- @Clarence-pan
- @carter003
- @S*r
- @*æ
- @*æ
- @Z*z
- @*ç¶
- @cluic
- @*è
- @PromptExpert
- @*åº
- @yusnake
- @*é£
- @è£*
- @*æ±
- @*涯
- @*:-ï¼
- @**ç£
- @*ç¢
- @*æ
- @Z*o
- @*ç¨
- @congzhangzh
- @*_
- @Z*m
- @*é«
- @c*y
- @*æ
- @witsice
- @b*g
- @*亿
- @*è¾
- @JACK
- @*å
- @W*l
- @kesku
- @biguncle
- @äºåå
- @a*g
- @*æ
- @*å¸
- @*æ
- @S*y
- @f*o
- @*æº
- @F*t
- @r*c
- @qierkang
- @*å
- @snrise-z
- @*ç
- @greatheart1000
- @*ç
- @zcutlip
- @Peng-YM
- @*æ´
- @*.
- @F*t
- @*æ¿
- @*é
- @*å¶
- @ä¸*o
- @*é
- @**æ¨
- @*è¿
- @*é
- @**å
- @**é£
- @**é©°
- @x*g
(If your name is masked, please contact me via my homepage email to update it with your GitHub username.)
Top Related Projects
Integrate cutting-edge LLM technology quickly and easily into your apps
🦜🔗 Build context-aware reasoning applications
Examples and guides for using the OpenAI API
The ChatGPT Retrieval Plugin lets you easily find personal or work documents by asking questions in natural language.
JARVIS, a system to connect LLMs with ML community. Paper: https://arxiv.org/pdf/2303.17580.pdf
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot