菜单

命令行界面

相关源文件

命令行界面(CLI)为g4f系统在不同操作模式下运行提供了统一的入口点。本文档涵盖了CLI工具的结构、配置选项以及与核心系统组件的集成。有关底层API服务器实现的更多信息,请参阅FastAPI 端点。有关GUI服务器的详细信息,请参阅Web 界面

CLI 架构与入口点

g4f CLI围绕一个主入口点构建,该入口点使用Python的argparse子解析器分派到不同的操作模式。CLI支持两种主要模式:用于运行FastAPI服务器的API模式,以及用于运行Flask Web界面的GUI模式。

CLI入口点定义在main()函数中,该函数为不同模式创建子解析器,并根据所选模式分派到相应的运行器。

来源:g4f/cli.py39-52

API 模式配置

API模式提供了丰富的配置选项,用于运行FastAPI服务器,并可自定义提供商设置、身份验证选项和服务器参数。

核心服务器配置

参数类型默认描述
--bind字符串0.0.0.0:1337服务器的绑定字符串
--portintNone服务器端口覆盖
--debug标志启用详细日志记录
--workersintNone工作进程数量
--reload标志启用自动重载

提供商和模型配置

参数类型描述
--model字符串聊天补全的默认模型
--providerchoice可用提供商中的默认提供商
--media-providerchoice图像生成的默认提供商
--ignored-providerslist要忽略的提供商列表

认证和安全

参数类型描述
--g4f-api-key字符串API访问的身份验证密钥
--ignore-cookie-files标志不读取 .har 和 cookie 文件
--cookie-browserslist用于cookie访问的浏览器列表

网络和SSL配置

参数类型描述
--proxy字符串默认代理配置
--ssl-keyfile字符串HTTPS的SSL密钥文件路径
--ssl-certfile字符串HTTPS的SSL证书文件路径

来源:g4f/cli.py10-37

GUI 模式配置

GUI模式提供了一组更简单的配置选项,侧重于Web界面托管和基本提供商管理。

GUI 服务器配置

参数类型默认描述
--host字符串0.0.0.0GUI服务器的主机名
--portint8080GUI服务器的端口
--debug标志启用调试模式

提供商配置

参数类型描述
--ignored-providerslist要忽略的提供商列表
--ignore-cookie-files标志不读取 .har 和 cookie 文件
--cookie-browserslist用于cookie访问的浏览器列表

来源:g4f/gui/gui_parser.py6-16

配置流程与系统集成

CLI通过配置对象和系统初始化与g4f核心系统集成。下图展示了CLI参数如何流入系统配置

API 模式配置处理

run_api_args()函数处理CLI参数并通过以下几个步骤配置系统

  1. 全局配置:使用AppConfig.set_config()设置应用程序范围的配置
  2. 提供商配置:配置默认提供商和被忽略的提供商
  3. Cookie 配置:如果指定,设置浏览器cookie访问
  4. 服务器启动:使用处理后的服务器参数调用run_api()

来源:g4f/cli.py54-80

GUI 模式配置处理

run_gui_args()函数处理GUI特定的配置

  1. 调试配置:如果指定,启用调试日志
  2. Cookie 处理:读取cookie文件,除非被忽略
  3. 提供商过滤:在ProviderUtils中禁用被忽略的提供商
  4. 浏览器配置:设置指定的cookie浏览器
  5. 服务器启动:使用主机、端口和调试设置调用run_gui()

来源:g4f/gui/run.py9-23

命令使用示例

启动API服务器

启动GUI服务器

集成点

CLI是用户配置与g4f系统核心组件之间的主要接口

  • 提供商系统:CLI提供商参数直接配置提供商选择和过滤机制
  • 身份验证系统:Cookie和API密钥参数配置身份验证方法
  • 模型系统:模型选择参数设置聊天补全的默认模型
  • 服务器系统:服务器配置参数控制FastAPI和Flask服务器行为

来源:g4f/cli.py1-84 g4f/gui/gui_parser.py1-16 g4f/gui/run.py1-28