ProfileDock 下载

← 文档

Claude / Codex 隔离原理

ProfileDock 不替代官方应用,也不修改它们。它只做两件事:

1. 用 --user-data-dir 启动

Claude Desktop 和 Codex 都基于 Electron。Electron 应用接受 --user-data-dir <path> 参数,强制使用指定目录作为用户数据目录(缓存、登录态、设置都落在这里)。

ProfileDock 为每个 profile 分配一个独立路径:

~/Library/Application Support/ProfileDock/Profiles/<app-kind>/<uuid>/

启动时把这个路径传给官方应用,官方应用就把所有状态写到这里。

2. 为 Codex 额外设 CODEX_HOME

Codex 内部的 codex app-server 后台进程默认共享 ~/.codex。这会让多个 Codex profile 抢占同一个目录。

ProfileDock 启动 Codex 时同时设置环境变量:

CODEX_HOME=<profile-dir>/CodexHome

这样每个 Codex profile 都有独立的 app-server 状态,不会出现 ECONNRESET 错误。

包装 .app 是什么

每个 profile 生成一个独立的 .app bundle 放在 ~/Applications/ProfileDock/。这些 bundle 用不同的 CFBundleIdentifier,所以 macOS 把它们当成独立应用:

这些 .app 内部只是一个 shell 脚本,调用真正的官方应用 + 传递 --user-data-dir

不做的事