Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwitchCodex

一个只在本机运行的 Codex 配置切换网页。它管理 config.toml 与 auth.json,支持官方初始快照、自定义档案、一键切换和切换前备份。

每个配置档案都可以选择审批与沙箱模式:

  • 请求批准:由用户处理审批请求,使用 workspace-write 沙箱。
  • 自动批准符合条件的请求:由 auto_review reviewer 处理符合条件的审批请求,仍使用 workspace-write 沙箱。
  • 完全绕过审批和沙箱:使用 approval_policy = "never" 与 sandbox_mode = "danger-full-access",仅建议在隔离环境中使用。

切换档案时会自动覆盖旧会话 .jsonl 中的 model_provider、approval_policy、approvals_reviewer 和 sandbox_policy。顶部的“同步全部会话设置”按钮可以在不切换档案时重复执行;已经运行中的 Codex 进程需要重新打开会话才会读取更新后的文件。

启动

Termux、Linux 或 macOS 直接运行 ./start.sh,Windows 双击 start.bat。启动脚本会在后台启动服务并自动打开管理页;停止时分别运行 ./stop.sh 或 stop.bat。

也可以使用前台模式:npm start。

然后打开 http://127.0.0.1:3210。

默认路径:

  • Codex 配置:$CODEX_HOME,未设置时为 ~/.codex
  • SwitchCodex 私有数据:$SWITCHCODEX_HOME,未设置时为 ~/.switchcodex
  • 自动备份:~/.switchcodex/backups

可通过环境变量修改监听端口:

SWITCHCODEX_PORT=8080 npm start

出于安全考虑,默认只监听 127.0.0.1。不建议将服务直接暴露到局域网或公网。

安全设计

  • 认证文件不会进入本项目,私有目录权限为 700,文件权限为 600。
  • 每次切换前自动备份当前配置。
  • 自动将占用内置 openai ID 的自定义 provider 迁移为 openai-custom。
  • 切换配置时自动将全部历史会话同步到当前 provider,也可在页面中手动一键同步。
  • 持久记录最后切换的配置,不会因 Codex 自动追加项目设置而丢失“正在使用”标记。
  • 使用临时文件加重命名的方式写入,写入失败时自动恢复。
  • 限制本机 Host、使用每次启动随机生成的请求令牌,并设置严格的网页安全策略。
  • 官方初始快照不可从网页编辑或删除。

切换只影响新启动的 Codex 进程;已经运行的会话通常需要退出后重新打开。

About

Local Codex configuration profile manager

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages