{"_id":"@liuzhao1225/codex-account-switcher","_rev":"3-1d672425227976cf5236b7cdbbd304a3","name":"@liuzhao1225/codex-account-switcher","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@liuzhao1225/codex-account-switcher","version":"0.1.0","keywords":["codex","codex-account-switcher","codex-desktop","account-switcher","multi-account","macos","windows","download","liuzhao1225"],"author":{"url":"liuzhao1225","name":"Zhao Liu"},"license":"MIT","_id":"@liuzhao1225/codex-account-switcher@0.1.0","maintainers":[{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"}],"homepage":"https://liuzhao1225.github.io/codex-account-switcher/","bugs":{"url":"https://github.com/liuzhao1225/codex-account-switcher/issues"},"bin":{"codex-account-switcher-download":"bin/download.mjs"},"dist":{"shasum":"d61a4c3ebed2546f5f215ba7f01fbd5ec38067f5","tarball":"https://registry.npmjs.org/@liuzhao1225/codex-account-switcher/-/codex-account-switcher-0.1.0.tgz","fileCount":4,"integrity":"sha512-rvwvwqvJMJ5duqLDF1HTXAyKToFpdU4m/VQOyilZ1ySAFIab4kwv8zjhDJijJwFXa2BQDZUiLJ//BQzuXthi1w==","signatures":[{"sig":"MEUCIQCQANnNyi4F+37JnWGZXOQ3KSQG2dhXM4QHGRz6n6rUPQIgcrLxFWppmBgFjrxfJ3UB2Ft4s6NaLnvTHLnRhl3xplQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8272},"type":"module","engines":{"node":">=18"},"gitHead":"e0e99b59ca3e62501bc84fc1f4e59a52dc5c11d4","_npmUser":{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"},"repository":{"url":"git+https://github.com/liuzhao1225/codex-account-switcher.git","type":"git","directory":"npm"},"_npmVersion":"11.19.0","description":"Official download-link helper for Zhao Liu's native Codex Account Switcher for macOS and Windows (liuzhao1225/codex-account-switcher).","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codex-account-switcher_0.1.0_1790444991554_0.03643601758849524","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@liuzhao1225/codex-account-switcher","version":"0.2.0","keywords":["codex","codex-account-switcher","codex-desktop","account-switcher","multi-account","macos","windows","download","liuzhao1225"],"author":{"url":"liuzhao1225","name":"Zhao Liu"},"license":"MIT","_id":"@liuzhao1225/codex-account-switcher@0.2.0","maintainers":[{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"}],"homepage":"https://liuzhao1225.github.io/codex-account-switcher/","bugs":{"url":"https://github.com/liuzhao1225/codex-account-switcher/issues"},"bin":{"codex-account-switcher":"bin/cli.mjs","codex-account-switcher-download":"bin/download.mjs"},"dist":{"shasum":"6c33f82bfe7eeaf461a96f5c193761ab5d7f0751","tarball":"https://registry.npmjs.org/@liuzhao1225/codex-account-switcher/-/codex-account-switcher-0.2.0.tgz","fileCount":8,"integrity":"sha512-V90A3UdZRiM6AvWxUD+5B/2Q4wwiNPGb7jsEn1HhwCCjvGRJbrqcy/AL+EudGyv7zCF7xAeLykPqn6+Pp7N2Eg==","signatures":[{"sig":"MEYCIQDkDUAcAkbeKXd4i0GMpBbQarns0urEGy3/r4cA2uSN7AIhAIDagf7EgqVEnH/HrXhKEYP6l92V5ummIW32C9RLSprm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDw59vL/v71DlugAc780bIB3bHV+RdOB2+0WYGJ+SkxtQIgKVy2bRt876wcb+Eh+KvgLvSeI/5PAW8ghotBEmk8D0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29555},"type":"module","_from":"file:.build/npm-installer/liuzhao1225-codex-account-switcher-0.2.0.tgz","engines":{"node":">=18"},"scripts":{"postinstall":"node bin/postinstall.mjs"},"_npmUser":{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"},"_resolved":"/Users/liuzhao/code/codex-account-switcher/.build/npm-installer/liuzhao1225-codex-account-switcher-0.2.0.tgz","_integrity":"sha512-V90A3UdZRiM6AvWxUD+5B/2Q4wwiNPGb7jsEn1HhwCCjvGRJbrqcy/AL+EudGyv7zCF7xAeLykPqn6+Pp7N2Eg==","repository":{"url":"git+https://github.com/liuzhao1225/codex-account-switcher.git","type":"git","directory":"npm"},"_npmVersion":"11.19.0","description":"Install Zhao Liu's native Codex Account Switcher for macOS and Windows from verified GitHub Release packages (liuzhao1225/codex-account-switcher).","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codex-account-switcher_0.2.0_1790469341904_0.6751527840867928","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"_id":"@liuzhao1225/codex-account-switcher@0.2.1","bin":{"codex-account-switcher":"bin/cli.mjs","codex-account-switcher-download":"bin/download.mjs"},"bugs":{"url":"https://github.com/liuzhao1225/codex-account-switcher/issues"},"dist":{"shasum":"4534cb5aed7e0eb43e9f03753a450710d526ff41","tarball":"https://registry.npmjs.org/@liuzhao1225/codex-account-switcher/-/codex-account-switcher-0.2.1.tgz","fileCount":8,"integrity":"sha512-3cvxfk1RkGeaNrx1LQitkvk+nTekPE7n+hYcR/hx2Pk5aqolwnz23LmWlR81Fq4+YfnN8Az7TDuP/A/+2AhYxQ==","signatures":[{"sig":"MEUCIQD1wu5K0pASlH1ZHoWAQUB9u/doljtYLxoBTfs7FlM9kwIgAx8W99bGd6uXmhgNj+UMoiCC+js+76s7UTpSB25bWvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCxXwIXU5nCnHGzgYCD68UU5M4GoJnLZaL0twaI/Lf0lQIhAOa+DVUN++Dnlod6slfFPS0lxAWHqOr0gbi04QHFYLJl"}],"unpackedSize":34042},"name":"@liuzhao1225/codex-account-switcher","type":"module","_from":"file:.build/release-v0.1.17/liuzhao1225-codex-account-switcher-0.2.1.tgz","author":{"url":"liuzhao1225","name":"Zhao Liu"},"engines":{"node":">=18"},"license":"MIT","scripts":{"postinstall":"node bin/postinstall.mjs"},"version":"0.2.1","_npmUser":{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"},"homepage":"https://liuzhao1225.github.io/codex-account-switcher/","keywords":["codex","codex-account-switcher","codex-desktop","account-switcher","multi-account","macos","windows","download","liuzhao1225"],"_resolved":"/Users/liuzhao/code/codex-account-switcher/.build/release-v0.1.17/liuzhao1225-codex-account-switcher-0.2.1.tgz","_integrity":"sha512-3cvxfk1RkGeaNrx1LQitkvk+nTekPE7n+hYcR/hx2Pk5aqolwnz23LmWlR81Fq4+YfnN8Az7TDuP/A/+2AhYxQ==","repository":{"url":"git+https://github.com/liuzhao1225/codex-account-switcher.git","type":"git","directory":"npm"},"_npmVersion":"11.19.0","description":"Install Zhao Liu's native Codex Account Switcher for macOS and Windows from verified GitHub Release packages (liuzhao1225/codex-account-switcher).","directories":{},"maintainers":[{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"}],"_nodeVersion":"26.7.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codex-account-switcher_0.2.1_1791430720056_0.17463663189725587"}}},"time":{"created":"2026-09-26T17:49:51.429Z","modified":"2026-10-08T03:38:40.322Z","0.1.0":"2026-09-26T17:49:51.672Z","0.2.0":"2026-09-27T00:35:42.241Z","0.2.1":"2026-10-08T03:38:40.148Z"},"bugs":{"url":"https://github.com/liuzhao1225/codex-account-switcher/issues"},"author":{"url":"liuzhao1225","name":"Zhao Liu"},"license":"MIT","homepage":"https://liuzhao1225.github.io/codex-account-switcher/","keywords":["codex","codex-account-switcher","codex-desktop","account-switcher","multi-account","macos","windows","download","liuzhao1225"],"repository":{"url":"git+https://github.com/liuzhao1225/codex-account-switcher.git","type":"git","directory":"npm"},"description":"Install Zhao Liu's native Codex Account Switcher for macOS and Windows from verified GitHub Release packages (liuzhao1225/codex-account-switcher).","maintainers":[{"name":"liuzhao1225","email":"liuzhao1225@gmail.com"}],"readme":"# Codex Account Switcher by liuzhao1225\n\n**Codex Account Switcher** is the free, open-source native macOS and Windows app created by **Zhao Liu (刘朝), GitHub: liuzhao1225**. Source: [liuzhao1225/codex-account-switcher](https://github.com/liuzhao1225/codex-account-switcher).\n\nThis npm package installs and updates the native app from this repository's **latest GitHub Release**. Account sign-in, usage display and confirmed account switching run in the existing SwiftUI/macOS and WPF/Windows app. No Electron rewrite or background Node.js process is involved.\n\n## Install\n\nRequires Node.js 18+ (ARM64 on macOS; x64 on Windows):\n\n```sh\nnpm install -g @liuzhao1225/codex-account-switcher\n```\n\nThe global `postinstall` script downloads the latest platform release, checks its SHA-256 file and installs the desktop app. npm must allow lifecycle scripts. Use `--foreground-scripts` to see progress and errors.\n\nYou can also run the installer directly, including when installation scripts are disabled:\n\n```sh\nnpx @liuzhao1225/codex-account-switcher@latest install\n```\n\nRunning `npx @liuzhao1225/codex-account-switcher@latest` without arguments also installs or updates. Local dependency installation (`npm i` without `-g`) and npx's package-fetch step only install the command-line package; the command itself performs the desktop installation.\n\n| Platform | Requirements | Default installation and launcher |\n| --- | --- | --- |\n| macOS | macOS 14+, Apple Silicon, ARM64 Node.js | `~/Applications/Codex Account Switcher.app`, registered with Launch Services |\n| Windows | Windows 10/11, x64 Node.js | `%LOCALAPPDATA%\\Programs\\Codex Account Switcher\\Codex Account Switcher.exe`, with a current-user Start menu shortcut |\n\nmacOS reuses the signed, notarized DMG. The installer mounts it read-only, copies the complete app with `ditto`, checks identity/version, signature and Gatekeeper assessment, then detaches the image. Windows reuses the self-contained portable EXE, which is currently unsigned. It creates a Start menu shortcut; it does not register an entry in Windows Installed Apps.\n\nOn macOS, a successful install or update also removes recognized duplicate copies from the other standard locations (`~/Applications` or `/Applications`), including when the selected target is already current. Copies must be stopped and no newer than the release being installed; a running or newer copy stops the operation before installation changes. Paths that identify the selected app itself, including case variants and symlinked parent directories, are excluded. Aliases of the same duplicate are removed only once, and running apps are recognized through aliases too. Development builds in project folders are left untouched.\n\nInstallation does not launch the app automatically or request administrator privileges. Open it from Finder / Start or run:\n\n```sh\ncodex-account-switcher open\n```\n\n## Update\n\n```sh\ncodex-account-switcher update\n# Or, without a global npm installation:\nnpx @liuzhao1225/codex-account-switcher@latest\n```\n\nEvery install/update resolves GitHub `releases/latest` again. It then downloads the asset and checksum from the same resolved version tag, so a new release during installation cannot mix two versions. Publishing a new native GitHub Release is enough for this installer to fetch it; a new npm publication is needed only when the installer changes.\n\nThe npm installer has its own version (`--version`). The installed app uses the version selected by GitHub latest. An already current installation is kept; a newer installed app is never downgraded. Quit the app before an update. Network, checksum, permissions and deployment failures return a nonzero exit code without substituting a download-link success message. Account files and preferences are never read or modified.\n\nTo manage an app in a different directory, pass the **parent directory** on each command or set `CODEX_ACCOUNT_SWITCHER_INSTALL_DIR`:\n\n```sh\ncodex-account-switcher install --dir /Applications\ncodex-account-switcher open --dir /Applications\ncodex-account-switcher update --dir /Applications\n```\n\nFor a custom directory during global npm installation, set `CODEX_ACCOUNT_SWITCHER_INSTALL_DIR` before running npm. Updating the npm package alone is not a periodic application updater; run the command again to check GitHub latest. Existing native app update behavior remains available.\n\n## Uninstall\n\n```sh\ncodex-account-switcher uninstall\nnpm uninstall -g @liuzhao1225/codex-account-switcher\n```\n\nThe first command removes this desktop application and its launcher, preserving saved accounts and preferences. The second removes the npm command-line package. Removing the npm package alone leaves the independently installed desktop app in place. Use the same `--dir` or environment variable if you chose a custom location.\n\n## Download links and identity\n\n```sh\ncodex-account-switcher --json\ncodex-account-switcher --open\ncodex-account-switcher-download\n```\n\n`--json` returns canonical project and latest-download URLs. `--open` opens the release page; `open` starts the installed app. The original `codex-account-switcher-download` command keeps its download-only default. The unscoped npm package `codex-account-switcher` is independently maintained; use the full `@liuzhao1225/` scope.\n\nThe installer has no runtime dependencies, credential access or telemetry. It contacts GitHub to retrieve release metadata and artifacts. See [project facts](https://liuzhao1225.github.io/codex-account-switcher/about/) and [native app privacy](https://liuzhao1225.github.io/codex-account-switcher/privacy/). Package security reports apply to the exact npm package/version they name; they do not establish a security assessment of the downloaded native app.\n\n## 简体中文\n\n**Codex 账号切换器**由刘朝（Zhao Liu，GitHub: **liuzhao1225**）维护。执行 `npm install -g @liuzhao1225/codex-account-switcher` 后，全局安装脚本会从本项目 GitHub latest 下载对应 DMG／EXE，验证 SHA-256，完成用户级安装并配置启动入口。npm 需要允许执行安装脚本。\n\n也可以直接运行 `npx @liuzhao1225/codex-account-switcher@latest` 或加上 `install`。每次运行都会重新检查 GitHub latest；未来只需发布 GitHub 新版本，安装器就能获取新包。npm 安装器和桌面应用版本独立。\n\n使用 `codex-account-switcher open` 启动、`update` 更新、`uninstall` 卸载。更新前请退出应用，卸载保留账号数据。普通项目依赖安装不会自动部署桌面应用。macOS 默认放入 `~/Applications`；Windows 默认放入当前用户的 `Programs\\Codex Account Switcher` 并创建开始菜单快捷方式。\n\nmacOS 安装或更新成功后，会清理其他标准位置（`~/Applications` 或 `/Applications`）中属于同一应用、未运行且版本不高于目标版本的重复副本；目标已是最新版时也会清理。遇到运行中或更高版本的副本，会在安装变更前停止。同一目标的大小写路径和父目录软链接别名会被排除；同一副本只清理一次，通过别名启动的运行中应用也会被识别；项目目录里的开发构建会保留。\n\n维护者操作与验证见仓库 [GEO 维护说明](https://github.com/liuzhao1225/codex-account-switcher/blob/main/docs/seo-geo.md)。\n","readmeFilename":"README.md"}