[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73798":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},73798,"claude-code-hub","ding113\u002Fclaude-code-hub","ding113","一个现代化的 Claude Code & Codex API 代理服务，提供智能负载均衡、用户管理和使用统计功能。","https:\u002F\u002Fclaude-code-hub.app",null,"TypeScript",3038,337,4,29,0,36,86,234,108,109.59,"MIT License",false,"main",true,[27,28],"claude-api","claude-code","2026-06-12 04:01:11","\u003Cp align=\"right\">\n  \u003Ca href=\".\u002FREADME.en.md\" aria-label=\"Switch to English version of this README\">English\u003C\u002Fa> | \u003Cstrong>中文\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\n# Claude Code Hub\n\n**🚀 智能 AI API 代理中转服务平台｜面向团队的多供应商统一接入、弹性调度与精细化运营中心**\n\n[![Container Image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fghcr.io-ding113%2Fclaude--code--hub-181717?logo=github)](https:\u002F\u002Fgithub.com\u002Fding113\u002Fclaude-code-hub\u002Fpkgs\u002Fcontainer\u002Fclaude-code-hub)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fding113\u002Fclaude-code-hub)](LICENSE)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fding113\u002Fclaude-code-hub)](https:\u002F\u002Fgithub.com\u002Fding113\u002Fclaude-code-hub\u002Fstargazers)\n[![Telegram Group](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTelegram-交流群-blue?logo=telegram)](https:\u002F\u002Ft.me\u002Fygxz_group)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fding113\u002Fclaude-code-hub)\n\nClaude Code Hub 通过 Next.js 15 + Hono + PostgreSQL + Redis 组合，实现 Claude\u002FOpenAI 兼容 API 代理、智能负载均衡、实时监控、价格管理与自动化文档，帮助团队安全、可观测地管理多家 AI 服务商。\n\n💬 **加入讨论**：有部署、功能或技术问题？欢迎加入 [Telegram 交流群](https:\u002F\u002Ft.me\u002Fygxz_group) 与社区一起讨论！\n\n\u003C\u002Fdiv>\n\n---\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Fcubence.com\u002Fsignup?code=SCE7Y3QR&source=cch\">\n\u003Cimg src=\"public\u002Freadme\u002Fcubence.jpg\" alt=\"Cubence Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：\u003Ca href=\"https:\u002F\u002Fcubence.com\u002Fsignup?code=SCE7Y3QR&source=cch\">Cubence\u003C\u002Fa> 一家稳定高效的AI服务中转平台，为 Claude Code、Codex、Gemini 等AI工具提供中转服务，有着不错的稳定性和性价比。\u003Cbr\u002F>\nCubence 为 CCH 的使用用户提供了特别的优惠折扣：在购买时使用优惠券 \u003Ccode>DING113CCH\u003C\u002Fcode>，可享受 \u003Cb>10% 优惠折扣\u003C\u002Fb> → \u003Ca href=\"https:\u002F\u002Fcubence.com\u002Fsignup?code=SCE7Y3QR&source=cch\">立即访问\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Fwww.packyapi.com\u002Fregister?aff=withcch\">\n\u003Cimg src=\"public\u002Freadme\u002Fpackycode.png\" alt=\"PackyCode Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：感谢 \u003Ca href=\"https:\u002F\u002Fwww.packyapi.com\u002Fregister?aff=withcch\">PackyCode\u003C\u002Fa> 赞助本项目！PackyCode 是一家稳定、高效的 API 中转服务商，提供 Claude Code、Codex、Gemini 等多种中转服务。\u003Cbr\u002F>\nPackyCode 为本软件的用户提供了特别优惠，使用此链接注册并在充值时填写优惠码 \u003Ccode>WITHCCH\u003C\u002Fcode>，可享受 \u003Cb>9 折优惠\u003C\u002Fb> → \u003Ca href=\"https:\u002F\u002Fwww.packyapi.com\u002Fregister?aff=withcch\">立即访问\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Fco.yes.vg\u002Fregister?ref=ygxz\">\n\u003Cimg src=\"public\u002Freadme\u002Fyescode.png\" alt=\"YesCode Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：\u003Ca href=\"https:\u002F\u002Fco.yes.vg\u002Fregister?ref=ygxz\">YesCode\u003C\u002Fa> 是一家低调务实的 AI API 中转服务商，专注于为开发者提供稳定可靠的 Claude、Codex、Gemini 等模型接入服务，以扎实的技术底蕴和持续稳定的服务质量赢得用户信赖。\u003Cbr\u002F>\n通过此链接注册即可体验 → \u003Ca href=\"https:\u002F\u002Fco.yes.vg\u002Fregister?ref=ygxz\">立即访问\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Faigocode.com\u002Finvite\u002FQDNEJJAH\">\n\u003Cimg src=\"public\u002Freadme\u002Faigocode.jpg\" alt=\"AIGoCode Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：\u003Ca href=\"https:\u002F\u002Faigocode.com\u002Finvite\u002FQDNEJJAH\">AIGoCode\u003C\u002Fa> 是一个集成了 Claude Code、Codex 以及 Gemini 最新模型的一站式平台，为你提供稳定、高效且高性价比的 AI 编程服务。提供灵活的订阅计划，可包月可套餐，零封号风险，国内直连，无需魔法，超大积分池，极速响应。\u003Cbr\u002F>\nAIGoCode 为 CCH 的用户提供了特别福利，通过此链接注册的用户首次充值可以获得额外 \u003Cb>10% 奖励额度\u003C\u002Fb> → \u003Ca href=\"https:\u002F\u002Faigocode.com\u002Finvite\u002FQDNEJJAH\">立即访问\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Fwww.aicodemirror.com\u002Fregister?invitecode=ZRQVL9\">\n\u003Cimg src=\"public\u002Freadme\u002Faicodemirror.jpg\" alt=\"AICodeMirror Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：感谢 \u003Ca href=\"https:\u002F\u002Fwww.aicodemirror.com\u002Fregister?invitecode=ZRQVL9\">AICodeMirror\u003C\u002Fa> 对本项目的赞助！AICodeMirror 提供 Claude Code \u002F Codex \u002F Gemini CLI 官方高稳定性中转服务，支持企业级并发、快速开票、7×24 小时专属技术支持。\u003Cbr\u002F>\nClaude Code \u002F Codex \u002F Gemini 官方渠道价格低至原价的 38% \u002F 6% \u002F 9%，充值还有额外折扣！\u003Cbr\u002F>\n针对 claude-code-hub 用户，AICodeMirror 特别推出福利：通过下方链接注册，首充立享 8 折 优惠；企业客户更可享受最高 7.5 折 折上折。\u003Cbr\u002F>\n通过此链接注册即可享受优惠 → \u003Ca href=\"https:\u002F\u002Fwww.aicodemirror.com\u002Fregister?invitecode=ZRQVL9\">立即访问\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"200\">\n\u003Ca href=\"https:\u002F\u002Fpateway.ai\u002F?ch=1ycdoum&aff=T8FV5H42\">\n\u003Cimg src=\"public\u002Freadme\u002Fpateway.png\" alt=\"PatewayAI Logo\" width=\"180\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cb>💎 特别优惠\u003C\u002Fb>：\u003Ca href=\"https:\u002F\u002Fpateway.ai\u002F?ch=1ycdoum&aff=T8FV5H42\">PatewayAI\u003C\u002Fa> 是一家面向重度 AI 开发者、专注官方直连的高品质模型 API 中转服务商。提供 Claude 全系列与 Codex 系列模型，100% 官方源直供，不掺假不注水，欢迎检验。计费透明，Token 级账单可逐笔核验。\u003Cbr\u002F>\n同时支持企业级高并发，并为企业客户提供了专业的管理平台，企业客户可签订正式合同并开具发票，更多详情进入官网获取联系方式。\u003Cbr\u002F>\n现在通过 \u003Ca href=\"https:\u002F\u002Fpateway.ai\u002F?ch=1ycdoum&aff=T8FV5H42\">此链接注册\u003C\u002Fa> 即送 \u003Cb>$3 试用额度\u003C\u002Fb>，用户充值低至 \u003Cb>6 折\u003C\u002Fb>，邀请好友双向赠送，邀请奖励可达 \u003Cb>$150\u003C\u002Fb>。\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## ✨ 核心功能 Highlights\n\n- 🤖 **智能负载均衡**：权重 + 优先级 + 分组调度，内置熔断保护与最多 3 次故障转移，保障请求稳定。\n- 🧩 **多供应商管理**：同时接入 Claude、Codex、Gemini CLI、OpenAI Compatible，自定义模型重定向与 HTTP\u002FHTTPS\u002FSOCKS 代理。\n- 🛡️ **限流与并发控制**：RPM、金额（5 小时\u002F周\u002F月）、并发 Session 多维限制，Redis Lua 脚本确保原子性与 Fail-Open 降级。\n- 📘 **自动化 OpenAPI 文档**：39 个 REST 端点由 Server Actions 自动生成 OpenAPI 3.1.0，Swagger + Scalar UI 双界面即刻试用。\n- 📊 **实时监控与统计**：仪表盘、活跃 Session、消耗排行榜、决策链记录、代理状态追踪，秒级掌控运行态势。\n- 💰 **价格表管理**：分页查询 + SQL 优化，支持搜索防抖、LiteLLM 同步，千级模型也能快速检索。\n- 🔁 **Session 管理**：5 分钟上下文缓存，记录决策链，避免频繁切换供应商并保留全链路审计。\n- 🔄 **OpenAI 兼容端点**：支持 `\u002Fv1\u002Fchat\u002Fcompletions`（OpenAI 兼容格式），工具调用与 reasoning 字段透传，严格同格式路由，无跨格式转换。\n\n## ⚡️ 快速开始 Quick Start\n\n### 环境要求\n\n- Docker 与 Docker Compose（推荐使用最新版本）\n- 可选（本地开发）：Node.js ≥ 20，Bun ≥ 1.3\n\n### 🚀 一键部署脚本（✨ 推荐方式，全自动安装）\n\n一键部署脚本会**自动完成**以下所有步骤：\n\n- 检查并安装 Docker 和 Docker Compose（Linux\u002FmacOS 支持自动安装）\n- 创建部署目录并配置文件\n- 生成安全的管理员令牌和数据库密码\n- 启动所有服务并等待健康检查\n- 显示访问地址和管理员令牌\n\n**Linux \u002F macOS:**\n\n```bash\n# 下载并运行部署脚本\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fding113\u002Fclaude-code-hub\u002Fmain\u002Fscripts\u002Fdeploy.sh -o deploy.sh\nchmod +x deploy.sh\n.\u002Fdeploy.sh\n```\n\n或者使用 wget：\n\n```bash\nwget https:\u002F\u002Fraw.githubusercontent.com\u002Fding113\u002Fclaude-code-hub\u002Fmain\u002Fscripts\u002Fdeploy.sh\nchmod +x deploy.sh\n.\u002Fdeploy.sh\n```\n\n**Windows (PowerShell 管理员模式):**\n\n```powershell\n# 下载并运行部署脚本\nInvoke-WebRequest -Uri \"https:\u002F\u002Fraw.githubusercontent.com\u002Fding113\u002Fclaude-code-hub\u002Fmain\u002Fscripts\u002Fdeploy.ps1\" -OutFile \"deploy.ps1\"\nSet-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force\n.\\deploy.ps1\n```\n\n**部署目录：**\n\n- Linux: `\u002Fwww\u002Fcompose\u002Fclaude-code-hub`\n- macOS: `~\u002FApplications\u002Fclaude-code-hub`\n- Windows: `C:\\ProgramData\\claude-code-hub`\n\n**分支选择：**\n\n脚本会提示选择部署分支：\n\n- `main`（默认）：稳定版本，推荐生产环境使用\n- `dev`：开发版本，包含最新功能，用于测试\n\n**重要提示：**\n\n- ⚠️ 请妥善保存脚本输出的**管理员令牌**（Admin Token），这是登录后台的唯一凭证！\n- ⚠️ Windows 用户：如果未安装 Docker Desktop，脚本会自动打开下载页面\n\n### 三步启动（Docker Compose）\n\n1. **克隆项目并配置环境**\n\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fding113\u002Fclaude-code-hub.git\n   cd claude-code-hub\n   cp .env.example .env\n   ```\n\n2. **修改配置文件**\n\n   编辑 `.env` 文件，**必须修改** `ADMIN_TOKEN`（后台登录令牌）：\n\n   ```bash\n   # 必须修改此项！\n   ADMIN_TOKEN=your-secure-token-here\n\n   # Docker Compose 默认配置（通常无需修改）\n   DSN=postgres:\u002F\u002Fpostgres:postgres@postgres:5432\u002Fclaude_code_hub\n   REDIS_URL=redis:\u002F\u002Fredis:6379\n   ```\n\n3. **启动服务**\n\n   ```bash\n   docker compose up -d\n   ```\n\n   查看启动状态：\n\n   ```bash\n   docker compose ps\n   docker compose logs -f app\n   ```\n\n### 访问应用\n\n启动成功后：\n\n- **管理后台**：`http:\u002F\u002Flocalhost:23000`（使用 `.env` 中的 `ADMIN_TOKEN` 登录）\n- **API 文档（Scalar UI）**：`http:\u002F\u002Flocalhost:23000\u002Fapi\u002Factions\u002Fscalar`\n- **API 文档（Swagger UI）**：`http:\u002F\u002Flocalhost:23000\u002Fapi\u002Factions\u002Fdocs`\n- **公开状态 API**：[docs\u002Fpublic-status-api.md](docs\u002Fpublic-status-api.md)\n- **API 认证指南**：[docs\u002Fapi-authentication-guide.md](docs\u002Fapi-authentication-guide.md)\n\n> 💡 **提示**：\n> - 如需修改端口，请编辑 `docker-compose.yml` 中的 `ports` 配置。\n> - 如需通过脚本或编程调用 API，请参考 [API 认证指南](docs\u002Fapi-authentication-guide.md)。\n> - 如需接入无需认证的公开状态接口，请参考 [Public Status API](docs\u002Fpublic-status-api.md)。\n\n## 🖼️ 界面预览 Screenshots\n\n| 功能       | 截图                                                 | 说明                                                                              |\n| ---------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- |\n| 仪表盘     | ![Dashboard](public\u002Freadme\u002F首页.png)                 | 汇总调用量、成本、活跃 Session 与时间分布，实时洞察整体使用情况。                 |\n| 供应商管理 | ![Provider Management](public\u002Freadme\u002F供应商管理.png) | 为每个供应商配置权重、成本系数、并发限制、代理及模型重定向，实现精细调度。        |\n| 日志与审计 | ![Logs](public\u002Freadme\u002F日志.png)                      | 统一查询请求日志，支持时间\u002F用户\u002F供应商\u002F模型筛选，查看 Token、成本与缓冲命中情况。 |\n| 排行榜     | ![Leaderboard](public\u002Freadme\u002F排行榜.png)             | 按用户统计请求数、Token 与成本，用于费用分摊与用量治理。                          |\n\n## 🏗️ 架构说明 Architecture\n\n### 高层架构\n\n```\n客户端 \u002F CLI \u002F 第三方系统\n        │\n        ▼\nNext.js 15 App Router (v1 API 路由)\n        │\nHono + Proxy Pipeline (认证 → Session 分配 → 限流 → 供应商选择 → 请求转发 → 响应处理)\n        │\n多供应商 (Claude \u002F OpenAI \u002F Gemini \u002F 第三方) + PostgreSQL + Redis\n```\n\n- **App 层**：`src\u002Fapp` 中的 dashboard、settings、api actions，提供 UI 与内部 API。\n- **Proxy 核心**：`src\u002Fapp\u002Fv1\u002F_lib\u002Fproxy-handler.ts` 串联 Auth、SessionGuard、RateLimitGuard、ProviderResolver、Forwarder、ResponseHandler。\n- **业务逻辑**：`src\u002Flib` 存放限流、Session、熔断器、代理、price-sync；`src\u002Frepository` 封装 Drizzle ORM 查询。\n- **文档体系**：`src\u002Fapp\u002Fapi\u002Factions\u002F[...route]\u002Froute.ts` 自动注册 Action → OpenAPI 端点。\n\n### 数据流与组件\n\n1. **入口**：请求携带 API Key 命中 Next.js API Route → `ProxyAuthenticator` 校验身份。\n2. **上下文管理**：`SessionManager` 从 Redis 读取 5 分钟缓存，控制并发并记录决策链。\n3. **限流**：`RateLimitService` 使用 Lua 脚本原子写入 RPM\u002F金额\u002F并发指标，Redis 不可用则 Fail-Open 降级。\n4. **调度**：`ProviderResolver` 根据权重、优先级、熔断状态与 Session 复用策略选择最佳供应商，至多 3 次重试。\n5. **转发与响应处理**：`ProxyForwarder` 负责上游请求转发，`ProxyResponseHandler` 处理响应流并保留端点原生格式，支持代理与模型重定向。\n6. **监控**：日志、排行榜、价格表等 UI 通过 `repository` 查询 PostgreSQL，以小时级聚合呈现指标。\n\n## 🚢 部署指南 Deployment\n\n### 🐳 Docker Compose（✨ 推荐方式，开箱即用）\n\nDocker Compose 是**首选部署方式**，自动配置数据库、Redis 和应用服务，无需手动安装依赖，适合生产环境快速部署。\n\n1. 准备 `.env`（参考 `.env.example`）；确认 `DSN` 与 `REDIS_URL` 指向 Compose 内的服务。\n2. 启动：\n   ```bash\n   docker compose up -d\n   ```\n3. 查看日志与状态：\n   ```bash\n   docker compose logs -f app\n   docker compose ps\n   ```\n4. 升级：\n   ```bash\n   docker compose pull && docker compose up -d\n   ```\n   若需停止并清理，执行 `docker compose down`.\n\n### ☸️ Kubernetes \u002F k3s（生产 \u002F 多节点 \u002F 高可用）\n\n项目提供 **k3s 与标准 Kubernetes 双兼容**的一键部署脚本 `scripts\u002Fdeploy-k8s.sh` 与运维 CLI `scripts\u002Fcch`，覆盖 HPA 自动扩缩容、PodDisruptionBudget、NetworkPolicy、滚动升级带自动回滚、定时备份等生产需求。\n\n最简命令（本机无集群时会提示自动安装 k3s）：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fding113\u002Fclaude-code-hub.git\ncd claude-code-hub\nbash scripts\u002Fdeploy-k8s.sh --install-k3s -y\n```\n\n带域名的标准 K8s 部署：\n\n```bash\nbash scripts\u002Fdeploy-k8s.sh \\\n  --ingress-host hub.example.com \\\n  --ingress-class nginx \\\n  --storage-class standard \\\n  -y\n```\n\n部署完成后使用 `cch` 管理运行时：\n\n```bash\ncch status            # 查看 Pod \u002F HPA \u002F 资源\ncch update            # 拉新镜像 + 自动迁移 + 滚动更新（失败自动回滚）\ncch backup            # 备份 PostgreSQL\ncch info              # 显示访问地址 + Admin Token\ncch doctor            # 诊断集群与部署状态\n```\n\n完整参数、占位符说明、云厂商 StorageClass 对照、故障排查等详见：**[docs\u002Fk8s-deployment.md](docs\u002Fk8s-deployment.md)**。\n\n### 本地开发（dev 工具链）\n\n1. 进入 `dev\u002F` 目录：`cd dev`.\n2. `make dev` 一键启动 PostgreSQL + Redis + bun dev。\n3. 常用命令：\n   - `make db`：仅启动数据库与 Redis\n   - `make logs` \u002F `make logs-app`：快速查看服务日志\n   - `make clean` \u002F `make reset`：清理或重置环境\n4. 推荐使用 `make migrate`、`make db-shell` 处理数据库变更。\n\n### 手动部署（bun build + start）\n\n1. 安装依赖并构建：\n   ```bash\n   bun install\n   bun run build      # 自动复制 VERSION\n   ```\n2. 设置环境变量（建议通过系统服务或 PM2 注入），确保数据库、Redis 可访问。\n3. 启动生产服务器：\n   ```bash\n   bun run start\n   ```\n4. 注意：首次运行可开启 `AUTO_MIGRATE=true` 自动迁移，生产环境完成后建议改为 `false` 并使用 Drizzle CLI 手动管理。\n\n## ⚙️ 配置说明 Configuration\n\n| 变量                                       | 默认值                   | 说明与建议                                                                   |\n| ------------------------------------------ | ------------------------ | ---------------------------------------------------------------------------- |\n| `ADMIN_TOKEN`                              | `change-me`              | 后台登录令牌，部署前必须修改。                                               |\n| `DSN`                                      | -                        | PostgreSQL 连接串，如 `postgres:\u002F\u002Fuser:pass@host:5432\u002Fdb`.                   |\n| `DB_POOL_MAX`                              | 生产环境 `20` \u002F 开发 `10` | PostgreSQL 连接池上限（每进程）；高并发可提高，k8s 多副本需结合 `max_connections` 分摊。 |\n| `DB_POOL_IDLE_TIMEOUT`                     | `20`                     | 空闲连接回收（秒）；避免连接长期占用。                                       |\n| `DB_POOL_CONNECT_TIMEOUT`                  | `10`                     | 建立连接超时（秒）；避免网络异常时卡住连接获取。                             |\n| `MESSAGE_REQUEST_WRITE_MODE`               | `async`                  | 请求日志写入模式：`async` 异步批量（默认）；`sync` 同步写入（更实时但更慢）。 |\n| `MESSAGE_REQUEST_ASYNC_FLUSH_INTERVAL_MS`  | `250`                    | 异步批量写入 flush 间隔（毫秒）。                                            |\n| `MESSAGE_REQUEST_ASYNC_BATCH_SIZE`         | `200`                    | 单次批量写入最大条数（避免单条 SQL 过大）。                                  |\n| `MESSAGE_REQUEST_ASYNC_MAX_PENDING`        | `5000`                   | 内存队列上限（防止 DB 异常时无限增长；超限将丢弃最旧更新并告警）。           |\n| `AUTO_MIGRATE`                             | `true`                   | 启动时自动执行 Drizzle 迁移；生产环境可关闭以人工控制。                      |\n| `REDIS_URL`                                | `redis:\u002F\u002Flocalhost:6379` | Redis 地址，支持 `rediss:\u002F\u002F` 用于 TLS。                                      |\n| `REDIS_TLS_REJECT_UNAUTHORIZED`            | `true`                   | 是否验证 Redis TLS 证书；设为 `false` 可跳过验证（用于自签\u002F共享证书）。      |\n| `ENABLE_RATE_LIMIT`                        | `true`                   | 控制多维限流开关；Fail-Open 策略在 Redis 不可用时自动降级。                  |\n| `ENABLE_API_KEY_VACUUM_FILTER`             | `true`                   | 是否启用 API Key 真空过滤器（仅负向短路无效 key；可设为 `false\u002F0` 关闭用于排查\u002F节省内存）。 |\n| `ENABLE_API_KEY_REDIS_CACHE`               | `true`                   | 是否启用 API Key 鉴权 Redis 缓存（需 Redis 可用；异常自动回落到 DB）。       |\n| `API_KEY_AUTH_CACHE_TTL_SECONDS`           | `60`                     | API Key 鉴权缓存 TTL（秒，默认 60，最大 3600）。                              |\n| `AUTH_SESSION_TTL_SECONDS`                 | `604800`                 | Web UI 登录态 TTL（秒，默认 7 天）；`ADMIN_TOKEN` opaque 登录的签名 cookie 也使用该值。降低该值会按签发时间收紧已签发 admin 签名 cookie 的剩余寿命，且不会延长其原始 `exp`。 |\n| `SESSION_TTL`                              | `300`                    | 代理请求上下文缓存时间（秒），影响供应商复用策略；不控制 Web UI 登录态。       |\n| `ENABLE_SECURE_COOKIES`                    | `true`                   | 仅 HTTPS 场景能设置 Secure Cookie；HTTP 访问（非 localhost）需改为 `false`。 |\n| `ENABLE_CIRCUIT_BREAKER_ON_NETWORK_ERRORS` | `false`                  | 是否将网络错误计入熔断器；开启后能更激进地阻断异常线路。                     |\n| `APP_PORT`                                 | `23000`                  | 生产端口，可被容器或进程管理器覆盖。                                         |\n| `APP_URL`                                  | 空                       | 设置后 OpenAPI 文档 `servers` 将展示正确域名\u002F端口。                          |\n| `API_TEST_TIMEOUT_MS`                      | `15000`                  | 供应商 API 测试超时时间（毫秒，范围 5000-120000），跨境网络可适当提高。      |\n\n> 布尔变量支持 `true\u002Ffalse` 或 `1\u002F0`；在 `.env` 文件里写成带引号形式也没问题（dotenv 会解析并去掉引号）。更多字段参考 `.env.example`。\n\n## ❓ FAQ\n\n1. **数据库连接失败怎么办？**\n   - 确认 `DSN` 格式与凭据无误；Docker 场景下使用服务名（如 `postgres:5432`）。\n   - 查看 `docker compose ps` 或本地 PostgreSQL 状态，必要时通过 `make db-shell` 诊断。\n\n2. **Redis 离线会影响服务吗？**\n   - 平台采用 Fail-Open 策略：限流与会话统计会降级，但请求仍会继续；建议监控日志中的 Redis Error 并尽快恢复。\n\n3. **熔断器持续打开如何排查？**\n   - 查看日志中的 `[CircuitBreaker]` 记录，确认是否由于 4xx\u002F5xx 或网络错误导致。\n   - 在管理后台检查供应商健康状态，等待 30 分钟或重启应用重置状态。\n\n4. **提示“无可用供应商”该怎么办？**\n   - 检查供应商是否启用、权重\u002F优先级设置合理，以及是否达到并发\u002F金额限制。\n   - 查看决策链日志，确认是否被熔断或代理失败导致。\n\n5. **代理配置失败？**\n   - 确认 URL 含协议前缀（`http:\u002F\u002F`、`socks5:\u002F\u002F` 等），并使用后台“测试连接”按钮验证。\n   - 若启用降级策略（`proxy_fallback_to_direct`），请在日志中确认是否已自动切换至直连。\n\n## 🤝 贡献指南 Contributing\n\n欢迎通过 Issue \u002F PR 参与开发，提交前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)，遵循双语目录、分支命名和 Conventional Commits 规则。\n\n## 🌐 致谢 Acknowledgments\n\n项目基于 [zsio\u002Fclaude-code-hub](https:\u002F\u002Fgithub.com\u002Fzsio\u002Fclaude-code-hub) 深度改进，OpenAI 兼容层参考 [router-for-me\u002FCLIProxyAPI](https:\u002F\u002Fgithub.com\u002Frouter-for-me\u002FCLIProxyAPI)，供应商检测功能参考 [prehisle\u002Frelay-pulse](https:\u002F\u002Fgithub.com\u002Fprehisle\u002Frelay-pulse)。感谢原作者及社区贡献者！\n\n## ⭐ Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=ding113\u002Fclaude-code-hub&type=Date)](https:\u002F\u002Fstar-history.com\u002F#ding113\u002Fclaude-code-hub&Date)\n\n## 📜 许可证 License\n\n本项目采用 [MIT License](LICENSE)，可自由使用与二次开发，仍需遵守条款并保留致谢信息。\n","Claude Code Hub 是一个现代化的 Claude Code & Codex API 代理服务平台，提供智能负载均衡、用户管理和使用统计功能。该项目基于 Next.js 15、Hono、PostgreSQL 和 Redis 构建，能够实现对多家 AI 服务商（如 Claude 和 OpenAI）API 的统一接入与管理，并支持实时监控和自动化文档生成。此外，它还具备价格管理和弹性调度能力，确保服务的安全性和可观测性。Claude Code Hub 适用于需要集成多个 AI 服务提供商的企业或开发团队，尤其适合那些追求高效运营和成本控制的场景。",2,"2026-06-11 03:47:25","high_star"]