OhMyGPT公开API文档
    OhMyGPT公开API文档
    • 本站介绍
    • 更新日志
    • 新版网站介绍
    • 自助开票系统使用文档
    • Telegram Bot使用文档
    • 自建Cloudflare Worker反代教程
    • OhMyGPT Socket.IO 实时端点 [Alpha开放中]
    • Files文件存储服务 开放API
      • 文件存储服务
      • 文件上传
        POST
      • 文件信息更新
        POST
      • 删除文件
        POST
      • 用户查询 (分页)
        POST
      • 用户元数据查询 (by fileUinqueIds)
        POST
      • 文件下载接口(Public公开文件下载)
        GET
      • 文件下载接口(Private私有文件下载)
        GET
    • OAuth开放API
      • 开放OAuth API介绍
      • 用户授权页
        GET
      • Code展示页
        GET
      • 申请access_token
        POST
      • 读取用户基本信息
        POST
      • 读取用户余额信息
        POST
      • 收取用户费用
        POST
      • 为用户创建一个Stripe Checkout充值订单
        POST
      • 为用户创建一个Stripe Invoice充值订单
        POST
      • 调用其它开放API
        POST
      • 通过OAuth Token读取用户管理Token
        POST
      • 通过OAuth Token更新用户管理Token
        POST
    • Midjourney、SD图像生成 API
      • Midjourney开放API接口
        • Midjourney服务说明文档
        • Midjourney 文生图 任务创建
        • Midjourney 执行动作 任务创建
        • Midjourney Blend 混合图生图 任务创建
        • Midjourney Describe prompt提取 任务创建
        • Midjourney 查询指定任务ID 的执行状态
        • Midjourney 分页批量查询任务
        • 从对象存储获取Midjourney生成的图片
        • 通过WSRV反代Discord图片
        • 通过WSRV反代并压缩Discord图片
        • 从对象存储+WSRV获取Midjourney生成的图片
        • 从对象存储+WSRV获取Midjourney生成的图片(压缩)
      • 其它图像生成API
        • ND图像生成 API
      • Flux图像生成
        • Flux Schnell 图像生成
        • Flux Dev 图像生成
        • Flux Pro 图像生成
        • Flux Pro 1.1 图像生成
        • Flux 1.1 Pro Ultura 图像生成
    • 管理API列表
      • 创建新的API Key
      • 修改API Key信息
      • 查询用户所有的API Key
      • 删除指定API Key
      • 查询用户会员到期日期接口
      • 用户余额查询接口
      • 查询当前模型倍率接口
    • Claude
      • Anthropic 原生 Messages API
      • Anthropic 原生 Completions 企业商用 API
      • Anthropic 原生 Messages Token Count API
    • OpenAI
      • 关于OpenAI兼容API接口说明
      • 关于Azure OpenAI API接口服务说明
      • Audio
        • TTS文本转语音服务
      • Chat
        • Chat Completion
        • Completion (Legacy)
      • Images
        • 图像生成
        • Image Edit
      • Embeddings
        • Embeddings
      • Realtime 实时通话端点
      • Models
    • 其它开放API
      • 搜索API
        • Google Custom Search API
        • Google Search By Serper
      • Azure API
        • Azure 文本转语音
        • Azure 获取TTS 语音列表

    自建Cloudflare Worker反代教程

    简介#

    本文主要说明如何自建一个基于Cloudflare Worker的API反代服务,实现API原始数据记录+自定义模型重写功能。
    由于偶尔会有部分用户想自定义模型名称以便兼容某些行为奇怪的客户端,有些用户想要获得API交互的原始数据以排查错误,但是我们出于兼容性和保护客户隐私的方面考虑,不太愿意在服务端直接对这些功能添加支持,因此我们设计了一个基于CF Worker的小脚本简单实现这些功能的同时,兼顾安全性和隐私。
    效果展示:
    API模型重写claude-3-haiku=>claude-3-5-haiku,claude-3.5-haiku-8080=>claude-3-5-sonnet:
    image.png
    API交互原始数据记录:
    image.png

    配置#

    创建Worker#

    进入您的Cloudflare Dashboard控制面板
    点击Worker & Pages => Overveiw => Create 创建新的Worker
    image.png
    image.png
    名字随意,点击创建即可
    image.png

    编辑Worker代码#

    创建成功后点击编辑代码:
    image.png
    将原有代码清空,然后把下面整段代码全部复制进去,然后点击Deploy保存并更新部署
    image.png

    创建并初始化D1数据库#

    Worker & Pages => D1 => Create按钮创建新的数据库
    image.png
    名称随意,输入完后点击创建即可
    image.png
    初始化数据库,执行建表语句:
    将上面这段SQL复制到蓝框中执行
    image.png
    这样就算成功:
    image.png

    配置Worker#

    绑定D1数据库#

    找到刚刚创建的Worker
    image.png
    绑定D1数据库:
    image.png
    image.png
    变量名这里填写DB,数据库就选择刚刚初始化的那个,点击Deploy部署即可
    image.png

    配置Worker环境变量#

    默认情况下,此时此Worker已经可以转发API了,但是不会进行任何行为
    可以在这里设置Worker的环境变量
    image.png
    image.png
    如果需要启用日志记录:
    新增环境变量: API_LOGGING
    将其设置为 enabled
    如果需要使用日志下载接口,需要配置API密钥:
    环境变量: API_SEC_KEY
    设置为一个只有您知道的私密密钥
    如果您需要模型重写功能:
    设置环境变量: API_MODEL_REWRITE
    格式: model1=>model2,model3=>model4

    开始请求#

    假设您的Worker地址是:
    wandering-poetry-3106.hash070.workers.dev
    那么您如果想要访问OpenAI的Chat.Completions API接口,可以对这个接口发起请求 https://wandering-poetry-3106.hash070.workers.dev/v1/chat/completions , 如果想要访问Messages API接口,可以对 https://wandering-poetry-3106.hash070.workers.dev/v1/messages 发起请求
    image.png
    如果您需要下载日志:
    可以在浏览器中打开形如下面这个URL(注意地址和Key按照这个格式替换成你自己搭建的
    https://[你的Worker地址]/logs?key=[你的API_SEC_KEY]&format=[导出数据格式]
    
    例如:
    https://wandering-poetry-3106.hash070.workers.dev/logs?key=your-secret-key&format=csv
    其中URL中的这个key参数应当填写为您设置的API_SEC_KEY变量,format指导出数据格式,可以是json或csv表格
    如果您需要清除数据:
    可以在浏览器中直接访问这个URL
    https://[你的Worker地址]/clear-logs?key=[你的API_SEC_KEY]
    {"success":true,"message":{"en":"Logs cleared successfully","zh":"日志已成功清除"}}
    附:
    API 接口说明
    日志导出
    地址:/logs
    方法:GET
    参数:
    
    key:API_SEC_KEY(必填)
    format:导出格式(可选,默认 csv)
    
    csv:CSV 格式
    json:JSON 格式
    示例:
    /logs?key=your-api-key
    /logs?key=your-api-key&format=json
    日志清理
    地址:/clear-logs
    方法:GET
    参数:
    
    key:API_SEC_KEY(必填)
    示例:
    /clear-logs?key=your-api-key
    上一页
    Telegram Bot使用文档
    下一页
    OhMyGPT Socket.IO 实时端点 [Alpha开放中]
    Built with