一套Codex配置,多台电脑安全复用:codex-profile-sync开源 📅 2026/8/13 22:32:25 文章目录1. 它解决了什么问题2. 为什么不直接同步整个.codex目录3. 我比较看重的几个特性3.1 应用前先看计划3.2 不随意覆盖本机文件3.3 同时支持通用配置与平台差异3.4 写入失败可以恢复3.5 边界明确4. 快速开始5. 它适合谁6. 当前状态7. 总结如果你只在一台电脑上使用Codex配置通常不是一个问题。但使用一段时间之后情况会慢慢发生变化你配置了常用的MCP Server安装了插件针对不同任务维护了Named Profiles又积累了一批自己的Skills。此时换到另一台电脑面对一个“全新”的Codex往往需要重新寻找配置、修改路径、安装工具再回忆一遍当初是怎么调好的。更麻烦的是macOS上的配置不能原样搬到Windows服务器上的环境又和个人电脑不同。直接复制~/.codex看似省事却可能把Token、OAuth状态、历史记录、缓存和本机路径一起带走直接用Git覆盖配置则可能破坏目标机器上原本正常工作的环境。我想要的其实很简单维护一份自己的Codex配置在macOS、Windows和Linux上都能使用应用前可以先看改了什么遇到本机修改不直接覆盖隐私和运行时状态仍然留在本地。为此我开源了codex-profile-sync。它是一个面向Codex的跨平台配置同步工具可以将一份私有、可移植的Codex Profile安全地应用到不同电脑。目前支持macOS、Windows和Linux。项目地址https://github.com/GreenLv/codex-profile-sync当前状态Alpha最新版本见 GitHub Releases1. 它解决了什么问题codex-profile-sync主要面向下面这类场景办公电脑和个人电脑都在使用Codex同时使用macOS、Windows或Linux已经维护了自己的MCP配置、插件偏好、Named Profiles或Skills希望用私有Git仓库保存个人配置但不想把隐私数据一起上传不希望同步工具静默覆盖本机已有配置每次换电脑或重装环境都不想从头配置一遍。使用它之后你只需要维护一份私有的Source Bundle。不同设备拉取这份Bundle后先预览变更再应用到本机即可。私有Source Bundle │ ├────► macOS ├────► Windows └────► Linux其中既可以保存三端通用的配置也可以单独保存不同操作系统上的路径和命令差异。2. 为什么不直接同步整个.codex目录Codex的本地目录中不只有我们主动编写的配置还包含登录状态、会话、历史记录、日志、缓存、Memories以及其他机器生成内容。这些数据并不适合被整体复制更不适合直接提交到GitHub。因此codex-profile-sync将整个同步过程分成三层公开的同步引擎也就是本项目本身包含代码、文档与测试私有的Source Bundle只保存你主动选择的可移植配置本机Codex状态登录信息、历史记录、缓存等内容始终留在当前机器。简单来说它不是把你的整个Codex目录上传到云端而是只管理你明确指定的那部分配置。目前可以同步的内容包括$CODEX_HOME/config.toml中明确声明的配置项用于不同任务的Codex Named Profiles$HOME/.agents/skills下的用户Skills可选默认关闭。Token、OAuth状态、会话历史、日志、数据库、缓存、Memories和插件缓存等运行时数据都不在管理范围内。3. 我比较看重的几个特性3.1 应用前先看计划工具不会直接修改配置。每次同步都可以先运行plan查看哪些内容将被创建、更新或删除以及是否存在冲突。codex-profile-sync plan--source$HOME/private-codex-profile对于配置同步我更希望“先知道会发生什么”而不是执行完成之后再检查有没有出问题。3.2 不随意覆盖本机文件如果目标机器上存在一个同名文件但它并不属于当前Profile工具会拒绝覆盖。如果某个已同步文件后来被本机修改下一次更新也会转为冲突交给用户确认而不是用源端版本静默替换。3.3 同时支持通用配置与平台差异macOS、Windows和Linux可以共享同一份通用配置同时分别维护少量平台Overlay。例如一个MCP Server的配置逻辑三端相同只有Python或可执行文件路径不同那么只需要在平台配置中记录路径差异不必维护三份完整配置。3.4 写入失败可以恢复应用配置时已有文件会先备份写入采用原子替换。若多文件应用中途失败工具会尝试恢复已经修改的目标文件。此外符号链接、路径逃逸和受保护的Codex运行时配置也会被拒绝。3.5 边界明确codex-profile-sync只负责将已经存在于本机的Source Bundle应用到Codex环境。它不会自动执行git pull或git push不会安装插件、完成MCP登录也不会发起网络请求。Git负责在设备间传递你的私有配置codex-profile-sync负责安全地把这些配置应用到本机。两者的职责是分开的。4. 快速开始项目需要Python 3.11或更高版本。首先从PyPI安装pipxinstallcodex-profile-sync或者使用uvuv toolinstallcodex-profile-sync然后在公开引擎仓库之外创建自己的私有Source Bundlecodex-profile-sync init$HOME/private-codex-profile根据需要修改其中的通用配置、平台配置、Profiles和Skills。修改完成后依次执行codex-profile-sync plan--source$HOME/private-codex-profilecodex-profile-sync apply--source$HOME/private-codex-profilecodex-profile-sync doctor--source$HOME/private-codex-profile这三个命令分别用于plan预览变化与冲突不修改文件apply确认后应用配置doctor检查当前机器是否已经与Source Bundle保持一致。如果希望在多台电脑间共享配置可以自行将private-codex-profile放入一个私有Git仓库。在另一台机器上拉取后重新运行plan → apply → doctor即可。关于Source Bundle格式、平台Overlay和配置允许列表的完整说明可以参见项目的中文README。5. 它适合谁如果你刚刚开始使用Codex只有一台电脑和几行简单配置那么可能暂时不需要这个项目。但如果你已经开始积累自己的Codex工作流尤其是下面这些内容多个MCP Server针对不同任务的Named Profiles自己编写或长期维护的SkillsmacOS、Windows和Linux之间不同的命令路径一套希望长期保存、持续演进的个人Codex环境那么codex-profile-sync可以帮你把这些内容从“散落在不同电脑上的手工配置”变成一套可以审查、迁移和恢复的个人配置资产。6. 当前状态codex-profile-sync目前处于Alpha阶段已发布到PyPI并已经实现基础配置、Named Profiles和可选Skills的跨平台应用以及变更预览、冲突检测、备份与失败恢复。Source Bundle Schema已经进行版本化。在1.0之前CLI还可能继续增加安全且向后兼容的检查。我希望这个项目保持轻量和克制不尝试接管完整的Codex运行时只把“个人配置如何安全地跨设备复用”这件事做好。7. 总结codex-profile-sync的核心思路可以概括为一句话使用公开的同步引擎管理一份私有的Codex Source Bundle只将用户明确声明的配置安全地应用到当前机器。如果你也在多台设备上使用Codex或者已经积累了自己的Profiles、MCP配置与Skills欢迎试用GitHubGreenLv/codex-profile-sync如果这个项目对你有帮助欢迎点一个Star、提交Issue或参与改进。也欢迎分享你在多设备使用Codex时遇到的问题和希望支持的场景。