mirror of
https://github.com/musistudio/claude-code-router.git
synced 2026-04-30 03:09:29 +00:00
fix docs
This commit is contained in:
parent
e7608ada4a
commit
4c5a84e028
17 changed files with 2092 additions and 388 deletions
|
|
@ -11,17 +11,103 @@ Claude Code Router Server 是一个核心服务组件,负责将 Claude Code
|
|||
## 架构概述
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
|
||||
│ Claude Code │────▶│ CCR Server │────▶│ LLM Provider │
|
||||
│ Client │ │ (Router + │ │ (OpenAI/ │
|
||||
└─────────────┘ │ Transformer) │ │ Gemini/etc)│
|
||||
└──────────────────┘ └──────────────┘
|
||||
┌─────────────┐ ┌─────────────────────────────┐ ┌──────────────┐
|
||||
│ Claude Code │────▶│ CCR Server │────▶│ LLM Provider │
|
||||
│ Client │ │ ┌─────────────────────┐ │ │ (OpenAI/ │
|
||||
└─────────────┘ │ │ @musistudio/llms │ │ │ Gemini/etc)│
|
||||
│ │ (核心包) │ │ └──────────────┘
|
||||
│ │ - 请求转换 │ │
|
||||
│ │ - 响应转换 │ │
|
||||
│ │ - 认证处理 │ │
|
||||
│ └─────────────────────┘ │
|
||||
│ │
|
||||
│ - 路由逻辑 │
|
||||
│ - Agent 系统 │
|
||||
│ - 配置管理 │
|
||||
└─────────────────────────────┘
|
||||
│
|
||||
├─ Web UI
|
||||
├─ Config API
|
||||
└─ Logs API
|
||||
```
|
||||
|
||||
## 核心包:@musistudio/llms
|
||||
|
||||
服务器构建于 **@musistudio/llms** 之上,这是一个通用的 LLM API 转换库,提供了核心的请求/响应转换能力。
|
||||
|
||||
### 什么是 @musistudio/llms?
|
||||
|
||||
`@musistudio/llms` 是一个独立的 npm 包(`@musistudio/llms`),负责处理:
|
||||
|
||||
- **API 格式转换**:在不同的 LLM 提供商 API 之间转换(Anthropic、OpenAI、Gemini 等)
|
||||
- **请求/响应转换**:将请求和响应转换为统一格式
|
||||
- **认证处理**:管理不同提供商的认证方法
|
||||
- **流式响应支持**:处理来自不同提供商的流式响应
|
||||
- **转换器系统**:提供可扩展的架构来添加新的提供商
|
||||
|
||||
### 核心概念
|
||||
|
||||
#### 1. 统一请求/响应格式
|
||||
|
||||
核心包定义了统一格式(`UnifiedChatRequest`、`UnifiedChatResponse`),抽象了提供商特定的差异:
|
||||
|
||||
```typescript
|
||||
interface UnifiedChatRequest {
|
||||
messages: UnifiedMessage[];
|
||||
model: string;
|
||||
max_tokens?: number;
|
||||
temperature?: number;
|
||||
stream?: boolean;
|
||||
tools?: UnifiedTool[];
|
||||
tool_choice?: any;
|
||||
reasoning?: {
|
||||
effort?: ThinkLevel;
|
||||
max_tokens?: number;
|
||||
enabled?: boolean;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
#### 2. 转换器接口
|
||||
|
||||
所有转换器都实现一个通用接口:
|
||||
|
||||
```typescript
|
||||
interface Transformer {
|
||||
transformRequestIn?: (request: UnifiedChatRequest, provider: LLMProvider, context: TransformerContext) => Promise<any>;
|
||||
transformRequestOut?: (request: any, context: TransformerContext) => Promise<UnifiedChatRequest>;
|
||||
transformResponseIn?: (response: Response, context?: TransformerContext) => Promise<Response>;
|
||||
transformResponseOut?: (response: Response, context: TransformerContext) => Promise<Response>;
|
||||
endPoint?: string;
|
||||
name?: string;
|
||||
auth?: (request: any, provider: LLMProvider, context: TransformerContext) => Promise<any>;
|
||||
}
|
||||
```
|
||||
|
||||
#### 3. 内置转换器
|
||||
|
||||
核心包包含以下转换器:
|
||||
- **anthropic**:Anthropic API 格式
|
||||
- **openai**:OpenAI API 格式
|
||||
- **gemini**:Google Gemini API 格式
|
||||
- **deepseek**:DeepSeek API 格式
|
||||
- **groq**:Groq API 格式
|
||||
- **openrouter**:OpenRouter API 格式
|
||||
- 等等...
|
||||
|
||||
### 与 CCR Server 的集成
|
||||
|
||||
CCR server 通过以下方式集成 `@musistudio/llms`:
|
||||
|
||||
1. **转换器服务**(`packages/core/src/services/transformer.ts`):管理转换器的注册和实例化
|
||||
2. **提供商配置**:将提供商配置映射到核心包的 LLMProvider 接口
|
||||
3. **请求管道**:在请求处理过程中按顺序应用转换器
|
||||
4. **自定义转换器**:支持加载外部转换器插件
|
||||
|
||||
### 版本和更新
|
||||
|
||||
`@musistudio/llms` 的当前版本是 `1.0.51`。它作为独立的 npm 包发布,可以独立使用或作为 CCR Server 的一部分使用。
|
||||
|
||||
## 核心功能
|
||||
|
||||
### 1. 请求路由
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue