Back to feed

Hello-Application-XH/HelloGML

Hello-Application-XH/HelloGML
206
+28/day
83
TypeScriptAI/ML

智谱清言网页版的 Cloudflare Worker 2API层,提供 OpenAI / Claude / Gemini 三种协议兼容接口,支持流式对话、Tools调用、AI 绘图、视频生成与多账号 Token 轮询。

From the README

GLM-Free-API for Cloudflare Workers

About

智谱清言网页版的 Cloudflare Worker 2API层,提供 OpenAI / Claude / Gemini 三种协议兼容接口,支持流式对话、Tools调用、AI 绘图、视频生成与多账号 Token 轮询。

目录

更新概述

我们已经发布了预发布更新,新的更新主要面向与自动补号功能,更新可以自动获取游客token并且循环补号,真正实现无限API以及0维护,本更新已经推送至auto分支。当前更新并不稳定,可能有不确定的bug或者随机行为,因此不会发布mian主更新。需要的可以在auto更新下载部署。 因为一些其他原因,本仓库的下一次更新时间,确定为5月19日。此前仓库不会有任何更新或者bug修复。

项目概述

本项目将智谱清言(chatglm.cn)网页端的私有流式 API 转换为标准的大语言模型服务接口,使任何支持 OpenAI、Claude 或 Gemini 协议的客户端都能直接调用 GLM 系列模型的能力。

核心特性

| 特性 | 说明 | | ------------------- | ------------------------------------------------------------ | | 多协议兼容 | 同时支持 OpenAI (/v1/chat/completions)、Claude (/v1/messages)、Gemini (/v1beta/models/...) 三种请求格式 | | 流式响应 | 完整的 SSE 流式输出,支持逐字显示与 reasoning_content(思考过程) | | 动态 Token 管理 | 认证与资源分离:API Key 仅用于身份验证,所有 refresh_token 组成统一池子按轮询策略调度 | | 多账号轮询 | 支持在 Authorization Header 中以逗号分隔传入多个 api_key,自动选择可用账号 | | AI 绘图 | 对接智谱清言绘图智能体,支持文生图与多轮图生图 | | 视频生成 | 支持文生视频、图生视频及风格参数控制 | | 工具调用 | 完整支持 Function Calling,兼容 OpenAI / Claude 格式,适配 claude-code、open-code 等 IDE | | 联网搜索 | 模型自动触发联网搜索,搜索结果通过 reasoning_content 字段返回 | | 长文档/图像解析 | 支持 BASE64 图像上传与长文本上下文 |

架构设计

┌─────────────────┐     ┌──────────────────────────┐     ┌─────────────────┐
│   客户端应用     │────▶│  Cloudflare Worker (V8)  │────▶│  chatglm.cn     │
│ (NextChat/Lobe) │     │                          │     │  私有 API       │
└─────────────────┘     │  • KV: api_key 映射      │     └─────────────────┘
                        │  • Cache: access_token   │
                        │  • 签名算法              │
                        │  • 协议适配层            │
                        └──────────────────────────┘

请求处理流程

  1. 客户端以 Authorization: Bearer 发起请求
  2. Worker 验证该 api_key 是否有效(检查 ak:* 记录)
  3. 从 Token 池(所有 rt:* 记录)中按轮询策略选择一个 refresh_token
  4. access_token 未缓存或已过期,使用选中的 refresh_token 向智谱换取新的 access_token
  5. 构造带签名的请求头,调用智谱流式接口
  6. 将智谱 SSE 流实时转换为目标协议格式并返回给客户端

快速开始

前置要求

获取 refresh_token

登录 chatglm.cn 后,打开浏览器开发者工具 → Application → Cookies,复制 chatglm_refresh_token 的值。

安装与本地开发

cd cf-worker
npm install

# 本地开发(自动模拟 KV 和 Cache)
npx wrangler dev --local

本地服务默认运行在 `

部署指南

第一步:创建 KV Namespace

npx wrangler kv:namespace create GLM_TOKENS

命令会输出如下内容,将 id 填入 wrangler.toml

[[kv_namespaces]]
binding = "GLM_TOKENS"
id = ""

第二步:配置环境变量

编辑 wrangler.toml

[vars]
# 智谱请求签名密钥(保持默认值即可,或自定义)
SIGN_SECRET = "8a1317a7468aa3ad86e997d08f3f31cb"

# 管理接口保护密钥,部署前务必修改为随机