Skip to content

About

Independent macOS utility for isolated Codex / ChatGPT profiles, accounts, API providers, and conversation history.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

English | 简体中文

Codex Multi Launcher

Codex Multi Launcher logo: overlapping windows and launch arrow

Each Codex / ChatGPT desktop profile uses an isolated CODEX_HOME and app data directory. Profiles support ChatGPT account login or an API key with an independent provider, Base URL, and model. Selected conversation history can be copied from the source app or existing profiles. API keys are stored locally with encryption; diagnostics redact credentials.

Screenshots

The screenshots show the real application with example profiles.

Profile management

Create a profile

Download

Get the macOS Apple Silicon (arm64) ZIP, release notes, and checksums from the release page.

Extract the ZIP and move Codex 多开助手.app to Applications. This package is ad-hoc signed and has not been notarized by Apple.

Development

Requires Node.js and npm, plus an installed Codex / ChatGPT desktop app to launch profiles.

npm ci
npm run typecheck
npm run build
npm start

Use npm run dev for live development. Create a profile, choose API key or ChatGPT account login, configure the provider if needed, and generate its launcher. Open the profile from the manager or its launcher. Settings include language, theme, diagnostics, and update checks against this repository's releases.

Third-party API profiles support multiple display-name / request-model mappings with a selectable default, editable in both the creation wizard and profile details. For example, show Fast Model while sending provider-fast-model. Each profile gets its own model catalog and new-chat defaults, replacing inherited model choices; legacy profiles automatically get a single default mapping. Restart that ChatGPT / Codex instance after saving. Existing chats can select a configured model manually.

The mapping table has shared Default, Display name, and Request model ID column headers. New profiles start with blank model fields. Enter the Base URL and API key, fetch models using the button to the left of Add model, then use each row's dropdown to the left of its delete button to search the full, scrollable model list and select a model. Selection fills both the display name and request model ID; both remain editable. Fetch failures show an explanation, and manual entry remains available.

Each mapping also supports a context window in tokens, multiple reasoning levels (none, minimal, low, medium, high, xhigh, max, ultra), and a default from those levels, following cc-switch's model catalog settings. Context windows must be positive integers. Leave these settings empty to use native model metadata, or the existing 128000-token / four-level defaults for unknown models. Setting a per-model window removes inherited global window and compaction limits so they cannot override the catalog. Auto reasoning keeps the profile's effort when supported, otherwise choosing the highest selected level. The default model's reasoning choice is also written to new-chat configuration. Clearing overrides restores the defaults; restart the instance after saving.

Verification and macOS Packaging

npm run verify:e2e
npm run verify:model-mappings
npm run verify:application-menu
npm run verify:paths
CSC_IDENTITY_AUTO_DISCOVERY=false npm run package:mac:arm64 -- --config.mac.notarize=false --publish never

The final command creates a locally ad-hoc signed app under dist-app/mac-arm64/ and a ZIP with update metadata under dist-app/. Developer ID signing and notarization require your own Apple credentials. Packaging retains the Electron entitlements in config/entitlements.mac.plist. Existing Windows source and verification scripts are retained, but Windows packages are not validated by the local macOS workflow.

Maintenance and Origin

This project focuses on local profile management, launchers, history sync, diagnostics, and themes. Paid-service authorization, promotional announcements, sponsorship links, and the marketing website have been removed. Client updates come from this repository's releases.

Development, issue tracking, and releases are maintained independently here. Changes from other projects are reviewed individually rather than automatically synchronized.

The initial code was derived from JqyModi/codex-multi-launcher, originally authored by Modi. This acknowledgment records the historical source; commit history and contributor attribution are preserved.

About

Independent macOS utility for isolated Codex / ChatGPT profiles, accounts, API providers, and conversation history.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages