Sobre o projeto

# One API Acesse todos os grandes modelos de linguagem através do formato padrão da API OpenAI, pronto para uso. ## Modelos e Canais Suportados - OpenAI ChatGPT (incluindo Azure OpenAI) - Anthropic Claude (incluindo AWS Claude) - Google PaLM2 / Gemini - Mistral - ByteDance Doubao (Volcano Engine) - Baidu ERNIE Bot - Alibaba Qwen - iFlytek Spark - Zhipu ChatGLM - 360 Intelligence Brain - Tencent Hunyuan - Moonshot AI, Baichuan, MINIMAX, DeepSeek - Groq, Ollama, Zero One万物, StepFun, Coze - Cohere, Cloudflare Workers AI, together.ai, novita.ai - SiliconCloud, xAI, DeepL e outros ## Funcionalidades Principais 1. **Adaptação Unificada de API**: Todos os canais expõem interfaces compatíveis com OpenAI, sem necessidade de alterar código. 2. **Balanceamento de Carga**: Suporta roteamento multi-canal com distribuição automática baseada em grupos e multiplicadores. 3. **Gestão de Tokens**: Define tempo de expiração, limite de quota, IPs permitidos e listas de modelos para cada token. 4. **Gestão de Canais**: Criação e gestão em lote de múltiplos canais downstream, com configuração independente de modelos. 5. **Agrupamento de Usuários**: Diferentes grupos podem ter multiplicadores e permissões distintas. 6. **Códigos de Troca**: Geração e exportação em lote de códigos promocionais para recarga de contas. 7. **Retentativa Automática**: Em caso de falha de um canal, o sistema alterna automaticamente para outro canal disponível. 8. **Interface de Desenho**: Suporte a retransmissão de geração de imagens. 9. **Recompensas de Convite**: Sistema de convite entre usuários. 10. **Implantação Multi-máquina**: Suporta arquitetura master/slave distribuída com sincronização de cache via Redis. 11. **Personalização**: Nome do sistema, logo, rodapé, página inicial e página "Sobre" configuráveis. 12. **Métodos de Login**: Registro por e-mail, autorização via Feishu, GitHub e WeChat Official Account. 13. **Cloudflare AI Gateway**: Integração direta com Cloudflare AI Gateway. 14. **Troca de Tema**: Suporte a troca de temas de interface. ## Métodos de Implantação ### Implantação via Docker (recomendado) ```shell # Modo SQLite docker run --name one-api -d --restart always -p 3000:3000 \ -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \ justsong/one-api # Modo MySQL docker run --name one-api -d --restart always -p 3000:3000 \ -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \ -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \ justsong/one-api ``` Conta inicial: usuário `root`, senha `123456`. ### Implantação via Docker Compose ```shell docker-compose up -d ``` Os dados são armazenados no diretório `./data/mysql`. ### Implantação Manual ```shell git clone https://github.com/songquanpeng/one-api.git cd one-api/web/default && npm install && npm run build cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api ./one-api --port 3000 --log-dir ./logs ``` ### Plataformas de Terceiros Compatível com implantação automática via Sealos, Zeabur, Render e painel Baota. ## Como Usar 1. Adicione as chaves API de cada modelo na página "Canais". 2. Crie tokens de acesso para usuários na página "Tokens". 3. No cliente, defina o API Base como o endereço do One API (ex: `https://seu-dominio/v1`) e o API Key como o token gerado. Para especificar um canal, basta anexar `-CHANNEL_ID` ao token, por exemplo: `Authorization: Bearer ONE_API_KEY-1`. ## Variáveis de Ambiente | Variável | Descrição | |---|---| | `REDIS_CONN_STRING` | Habilita cache Redis | | `SESSION_SECRET` | Chave fixa de sessão, mantém login após reinicialização | | `SQL_DSN` | Usa MySQL/PostgreSQL em vez de SQLite | | `SYNC_FREQUENCY` | Frequência de sincronização de cache (segundos), recomendada para multi-máquina | | `NODE_TYPE` | `master` ou `slave`, para implantação multi-máquina | | `FRONTEND_BASE_URL` | Redireciona requisições do frontend pelo servidor | | `INITIAL_ROOT_TOKEN` | Cria automaticamente o token root no primeiro inicio | ## Licença Licença MIT, requerendo manter os créditos e link para o projeto no rodapé da página.