Skip to content

Repository files navigation

Codex API Switchboard

纯前端本地运行的 Codex 自定义 API 站点安全切换与 TOML 配置转换工具

在切换模型 API Provider 时,仅精准替换自定义路由配置,完整保留既有插件、Profiles 与功能开关。
采用严格 CSP 隔离,无任何网络出站与服务端,文件处理全流程在浏览器本地完成。

License: MIT Privacy CSP Cloudflare Pages

在线体验 · English · 核心特性 · 本地校验


解决的痛点

在使用 Codex 切换不同的第三方 API 站点时,如果直接用新配置覆盖本地文件,容易丢失历史积累的插件、自定义快捷键、UI 开关、上下文深度及 Profile 设置。

Codex API Switchboard 专注解决这个窄而高频的场景:

  1. 拖入/粘贴 现有的 config.toml;
  2. 精准替换:仅覆写 [model_providers.custom] 区块下的 base_url 与 experimental_bearer_token;
  3. 格式自适应:自动补齐 base_url 缺失的 /v1 后缀;
  4. 安全脱敏:前端界面对 Token 执行掩码脱敏,复制与下载时无缝还原完整内容。

转换示例 (Diff 预览)

  [general]
  telemetry = false
  plugin_marketplace = true

- [model_providers.custom]
- base_url = "https://old-api-endpoint.com"
- experimental_bearer_token = "sk-old-token-xxxxxxxx"
+ [model_providers.custom]
+ base_url = "https://new-api-endpoint.com/v1"
+ experimental_bearer_token = "sk-new-token-yyyyyyyy"

  [profiles.default]
  model = "gpt-4o"
  temperature = 0.7

隐私与安全模型

本项目采用**绝对零信任(Zero-Trust)**的前端安全架构:

安全维度 具体实现与保障
网络隔离 (CSP) _headers 显式声明 connect-src 'none',浏览器内核级禁止任何对外 fetch/xhr 网络请求
无服务端设计 纯静态资源托管于 Cloudflare Pages,不设任何后端 API 与数据中转服务
零存储 不使用 Cookie、localStorage 或 IndexedDB,标签页关闭后临时内存即刻销毁
DOM 保护 页面渲染展示默认遮罩 Token,防止截图或旁路窥屏导致凭据泄露

关键决策

决策维度 采用方案 否决方案 代价与收益
架构形态 纯客户端 Vanilla JS 处理 搭建后端 API 执行 TOML 解析 无法做重型复杂跨平台语法校验,但赋予用户绝对的隐私信任与零服务器运维成本
安全策略 强制设置 connect-src 'none' CSP 引入外部 CDN / 埋点分析工具 放弃了访客统计与三方 UI 库,但确保了敏感 API Key 绝对无外泄可能
依赖选型 原生轻量 TOML 替换逻辑 引入臃肿的通用 AST 解析库 需针对目标节点编写正则替换守卫,但将页面首屏体积压缩至几十 KB

本地开发与校验

项目内置了自动化安全守卫脚本,强校验公开产物与 CSP 规范:

# 运行本地安全契约与语法校验
npm run validate

校验套件自动核验:

  • _headers 必须包含 connect-src 'none';
  • 源码中未调用任何未经允许的存储或联网 Web API;
  • 产物中绝无开发者本地路径与 Token 遗留。

许可

本项目基于 MIT License 开源。

Releases

Packages

Contributors

Languages