海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

AIClient-2-API 是一个为开发者设计的轻量化API代理工具,其核心在于模拟多种AI客户端的授权和请求过程。该项目将那些原本仅限在客户端使用的大模型服务,例如谷歌的Gemini CLI、阿里的Qwen Code Plus以及Kiro客户端内置的Claude模型等,通过技术手段统一封装成与OpenAI API格式兼容的本地接口。这种封装的目的是提供一个统一的接入点。这意味着,开发者可以将原本依赖OpenAI接口的各类应用或工具(如LobeChat、NextChat等),直接对接到AIClient-2-API上。这样,开发者无需进行复杂的代码适配,就能无缝地使用背后所支持的多种不同大模型。该项目使用Node.js构建,支持Docker快速部署,并提供了账号池管理、故障转移和日志记录等进阶功能,以提高服务的稳定性和使用的灵活性。

功能列表

  • 模拟客户端授权与请求: 核心功能,通过模拟Gemini CLI、Kiro等客户端的OAuth授权流程和请求格式,来调用其背后的模型服务,突破官方API的限制。
  • 统一API接口: 将所有支持的模型封装成标准的OpenAI API格式,实现一个接口调用多种模型的目的。
  • 兼容OpenAI生态: 任何支持OpenAI API的客户端和工具链都可以零成本接入,直接使用本项目提供的接口地址即可。
  • 突破使用限制: 利用模拟客户端授权的方式,可以获得比官方普通免费API更高的请求额度和使用频率。
  • 免费模型利用: 支持通过模拟Kiro客户端API的方式,免费调用其内置的Claude Sonnet 4模型。
  • 账号池管理: 支持为每个模型服务商配置多个账号,实现请求的自动轮询、故障转移和配置降级,提升服务的稳定性。
  • 请求监控与审计: 内置日志功能,可以记录所有通过代理的请求和响应内容,方便调试、审计或构建私有数据集。
  • 动态提示词管理: 允许用户通过配置文件灵活控制系统提示词(System Prompt)的行为,可以强制覆盖客户端的提示词,也可以在末尾追加内容。
  • 易于扩展: 项目采用模块化设计,为开发者添加新的模型服务商提供了清晰简单的实现路径。
  • 容器化部署: 提供完整的Docker支持,用户可以通过Docker镜像快速部署和隔离运行环境。

使用帮助

AIClient-2-API项目旨在简化开发流程,通过一个统一的接口调用不同的大模型。以下是详细的安装和使用说明。

环境准备

在开始之前,请确保你的电脑已经安装了以下软件:

  • Node.js: 项目基于Node.js运行。
  • Git: 用于从GitHub克隆项目代码。
  • Docker (推荐): Docker不是必需的,但官方推荐使用Docker进行部署,因为它可以简化环境配置和依赖管理。

安装与启动

方法一:使用Docker部署(推荐)

Docker是官方推荐的部署方式,它能提供一个干净、隔离的运行环境。

  1. 拉取Docker镜像:
    打开你的终端(在Windows上是CMD或PowerShell,在macOS或Linux上是Terminal),执行以下命令从Docker Hub拉取最新的镜像:

    docker pull justlovemaki/aiclient-2-api:latest
    
  2. 运行容器:
    执行以下命令来启动容器。这个命令会将容器的3000端口映射到你本机的3000端口。

    docker run -d -p 3000:3000 --name aiclient2api justlovemaki/aiclient-2-api:latest
    

    你可以通过修改-p参数来改变映射到本机的端口号,例如 -p 8080:3000 会将服务部署在本地的8080端口。

方法二:手动下载并运行

如果你不希望使用Docker,也可以直接在你的电脑上运行。

  1. 克隆代码库:
    打开终端,进入你希望存放项目的文件夹,然后执行以下命令:

    git clone https://github.com/justlovemaki/AIClient-2-API.git
    
  2. 进入项目目录:
    cd AIClient-2-API
    
  3. 安装依赖:
    使用npm包管理器安装项目所需的依赖库。

    npm install
    
  4. 启动服务:
    安装完成后,执行以下命令即可启动服务。

    node src/api-server.js
    

    默认情况下,服务会启动在localhost3000端口。

核心配置与使用

启动服务后,你需要将其配置到你的AI客户端应用中。

  1. 获取接口地址:
    • 如果你是通过Docker或本地直接运行,并且没有修改端口,那么你的API接口地址是:http://localhost:3000
    • 如果你将服务部署在其他服务器上,请将localhost替换为服务器的IP地址。
  2. 配置客户端:
    打开你常用的AI客户端(如LobeChat, NextChat, AMA, GPT-S等),找到设置API接口地址的地方。通常这个设置项被称为API EndpointBase URLAPI基地址

    • 将接口地址填写为 http://localhost:3000
    • 在API Key(API密钥)字段,填写你在启动参数中设置的密钥,默认为 123456
    • 保存设置后,客户端的所有请求就会发送到AIClient-2-API代理服务。
  3. 切换和使用不同模型:
    AIClient-2-API通过不同的路径来调用相应的模型服务。例如:

    • 调用Kiro认证的Claude模型: http://localhost:3000/claude-kiro-oauth
    • 调用Gemini模型: http://localhost:3000/gemini-cli-oauth
    • 调用自定义的OpenAI兼容模型: http://localhost:3000/openai-custom
      你可以在客户端中直接选择模型,或者在支持路径切换的工具中指定完整的URL。

授权文件配置 (模拟客户端的关键步骤)

要使用Gemini、Kiro、Qwen等需要OAuth授权的模型,你需要先获取相应的授权文件。这是本项目模拟客户端功能得以实现的关键。

  1. 获取授权文件:
    • Gemini: 你需要先运行Gemini的官方CLI工具并进行授权。授权后,会在用户主目录下的 ~/.gemini/ 文件夹生成 oauth_creds.json 文件。
    • Kiro: 需要下载其客户端并登录授权,之后会在 ~/.aws/sso/cache/ 目录生成 kiro-auth-token.json 文件。
    • Qwen: 使用时会自动打开浏览器进行授权,完成后会在 ~/.qwen/ 目录生成 oauth_creds.json 文件。
  2. 提供给代理服务:
    获取到授权文件后,你需要告诉代理服务在哪里找到这些文件。你可以通过项目启动参数来指定授权文件的路径,例如使用Gemini时,可以这样启动服务:

    node src/api-server.js --model-provider gemini-cli-oauth --gemini-oauth-creds-file /path/to/your/oauth_creds.json
    

代理设置

如果你的运行环境无法直接访问Google、OpenAI等服务,你需要为终端设置HTTP代理。

  • Linux / macOS:
    export HTTP_PROXY="http://your_proxy_address:port"
    
  • Windows (CMD):
    set HTTP_PROXY=http://your_proxy_address:port
    

请注意,只需设置HTTP代理,不要设置HTTPS代理。

应用场景

  1. 统一开发环境
    对于需要在多种大模型之间进行测试、比较和选择的开发者来说,AIClient-2-API提供了一个完美的解决方案。通过“模拟请求”和“统一接口”,开发者无需为每个模型维护一套独立的API调用代码,只需将所有请求指向本地代理,就可以通过简单的参数切换来调用不同的后端模型,极大地简化了开发和调试流程。
  2. 为现有应用赋能
    如果你已经拥有一个基于OpenAI API构建的应用,但希望引入更多样化的模型(例如利用Gemini的免费额度,或Claude的文本处理能力),AIClient-2-API可以作为中间层无缝接入。无需修改现有应用的大量代码,只需将API请求地址指向该代理,即可立即使用所有支持的模型。
  3. 个人学习与研究
    对于AI爱好者和研究人员,官方API的高昂费用和调用限制是一个障碍。该项目通过模拟客户端授权等方式,让用户可以利用Gemini等模型的免费调用额度,或使用Kiro内置的免费Claude模型,为个人学习和进行小规模实验提供了一个低成本的平台。
  4. 构建可审计的AI应用
    项目中强大的日志功能可以将所有通过代理的请求(Prompts)和模型的响应完整记录下来。这对于需要进行内容审计、数据分析或行为监控的场景至关重要。企业可以利用这个功能来确保AI应用的使用符合内部规范,或者收集数据用于模型的后续微调和优化。

QA

  1. 这个项目安全吗?我的授权文件和密钥会泄露吗?
    AIClient-2-API是一个在本地运行的代理服务器,它不会收集或上传你的任何数据和密钥。 但是,你需要妥善保管好你的授权文件和在启动参数中设置的API密钥,避免在不安全的网络环境中使用。
  2. 为什么我无法访问Google或OpenAI的服务?
    如果你的服务器或本地环境位于无法直接访问这些服务的地区,你需要在运行本项目的终端中设置HTTP代理。具体设置方法请参考文档中的“代理设置”部分。
  3. 使用Gemini CLI模式是否意味着我每天真的可以无限次调用?
    该项目通过模拟Gemini CLI的授权方式来绕过官方对普通免费API的速率限制,从而获得更高的请求额度,但并非意味着完全没有限制。官方对CLI工具的使用仍然会有一定的频率和用量监控,过度滥用仍有可能导致账户被限制。
  4. 我需要事先安装那些被模拟的客户端软件吗?
    你不需要安装完整的客户端软件,但你必须运行一次这些客户端软件的授权流程,以获取它们本地生成的OAuth授权文件(例如 oauth_creds.json 或 kiro-auth-token.json)。AIClient-2-API正是通过读取这些文件来完成模拟客户端的授权步骤。
  5. 这个项目是否需要付费?
    AIClient-2-API项目本身是开源免费的,遵循GPLv3开源许可。 它不提供任何AI模型服务,只是一个API代理工具。 你调用后端模型所产生的费用(如果超出免费额度)需要由相应的第三方服务商收取。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文