---
title: "launch"
description: "macOS 普通 Codex 窗口替代入口。"
image: "https://daftai2026.github.io/incodex/social.svg"
---

> Documentation Index
> Fetch the complete documentation index at: https://daftai2026.github.io/incodex/llms.txt
> Use this file to discover all available pages before exploring further.

# launch

{/*
[INPUT]: 依赖原生命令解析、安装记录与 macOS 启动分支。
[OUTPUT]: 说明共享 Finder 入口、旧入口迁移与移除边界。
[POS]: 普通宿主命令页；open 定义私密会话，install 定义应用集成。
[PROTOCOL]: 变更时更新此头部，然后检查 CLAUDE.md
*/}

> **macOS 替代入口：** 此入口复用既有私密窗口实现，但不与 `install` 完全等价。

`inc` 和 `incodex` 在此命令及其参数中通用。

```bash
incodex launch [--dry-run] [--app <path>]
incodex launch --remove [--dry-run] [--yes]
```

`launch` 在 macOS 打开普通 Codex，不复制、修改或重签应用。它自动选择已有接入：

- **已经安装 Incodex**：复用有提交记录的安装、Loader、IPC、Runtime、菜单和权限流程。通过正常 LaunchServices 请求打开或激活应用。不另建 CDP controller，不发布 Runtime，也不要求先卸载。
- **未安装的官方原版**：启动应用并连接本机 CDP。复用帽子入口和动作工厂，把私密窗口请求交给既有 Rust `open` 生命周期。

Windows 沿用现有 `install` 集成和官方图标。这个 macOS 替代入口不新增 Windows 启动包或第二条注入链。

若标准 Codex 档案已有经过验证的 Incodex 启动器宿主，`launch` 会唤回现有窗口，即使该宿主位于另一个应用路径。Finder 入口仍保留请求的目标，供后续启动使用。单凭档案锁不能授权控制进程。否则，已安装分支使用正常激活；CDP 分支复用已捕获的自有窗口，其他方式启动的应用须先正常退出。此命令不会关闭 Codex。

启动 Codex 前，`launch` 会发布 `/Applications/ChatGPT - Inc.app`。发布并验证共享入口后，它会迁移 `~/Applications/ChatGPT - Inc.app` 与 `~/Applications/Incodex Launcher.app` 中精确归属 Incodex 的旧入口。未知、已修改或其他用户拥有的入口保持不变。它不会创建 `/Applications`、回退到用户目录或请求 `sudo`。外部同名包会使前置检查失败，不会先打开官方应用。这个薄 shell 调用同一 CLI，保留 `HOME`，不复制配置或会话。CLI 保留渠道稳定链接，不固定 Homebrew Cellar 版本。Finder 入口随后退出；只有 CDP 分支保留 App 作用域的 CLI，因此终端命令须保持运行。启动请求成功不等于可见界面已经就绪。Finder 入口没有独立错误界面。终端命令会显示即时错误；`~/.incodex/launchers/launch.log` 保留最近的目标、阶段和有界错误回执。私有日志最多八条、4 KiB；预览和入口移除不写此日志。`installed-requested` 只代表 LaunchServices 收到请求，不代表窗口已就绪。启动器会跟随所选 ChatGPT 或 Codex Dock 图标样式；资源不可用时回退到宿主文件图标。它不会在后台监听 Dock 变化。运行 `inc update`，再运行 `incodex launch` 刷新。此操作不需要重签、重装或重启宿主。[启动指南](/incodex/zh/launchers/)说明 Finder 位置与旧入口迁移。

## 创建与使用 Finder 入口

1. 运行 `incodex launch --dry-run` 预览目标。
2. 运行 `incodex launch`，或在 macOS `inc` 菜单选择 **Launch**。**Open** 则直接打开私密窗口。
3. 在 Finder 中选择 **前往 › 前往文件夹**，输入 `/Applications` 并按回车。打开其中的 **ChatGPT - Inc.app**，再点击应用内帽子眼镜控件，打开私密窗口。

Finder 入口复用同一个 `launch` 命令，不另建 Runtime 或安装器。它记住创建时选择的应用。再次运行 `launch --app <path>` 会替换此目标。

## 只移除 Finder 入口

```bash
incodex launch --remove --dry-run
incodex launch --remove
```

命令先打印计划，在终端确认一次。非交互移除必须加 `--yes`。它只删除已识别的 Incodex 启动器包，包括旧名称。它不启动或关闭 Codex，不卸载应用集成，也不删除 Runtime 或会话。原 Codex 应用已不存在时仍可移除。`--remove` 不与 `--app` 合用。

`incodex uninstall` 移除应用集成，不是 Finder 入口的移除命令。脚本安装的 macOS CLI 自卸载也会清理已识别的自有 Finder 入口，避免指向已删除的 CLI。

## 参数

| 参数 | 含义 |
| --- | --- |
| `--dry-run` | 预览启动或移除入口，不打开窗口，不写文件。 |
| `--remove` | 只移除已识别的 Incodex Finder 入口。 |
| `--yes` | 确认无终端移除；仅与 `--remove` 合用。 |
| `--app <path>` | 指定官方 Codex `.app`；默认路径为 `/Applications/ChatGPT.app`。 |

## Runtime 更新

已安装应用继续使用原有 Runtime 更新链。以下约束只适用于未安装的 CDP 分支。

`launch` 运行期间，兼容的注入器与共享动作工厂更新使用现有 `UiUpdate` 事务。渲染器和动作控制器都必须确认新代际。缺少确认或代际被取代时，事务会回滚。原生 open 请求会核对 CLI 是否包含所选 Runtime；旧 CLI 拒绝启动，不发布旧资产。原生或其他不可热换的 Runtime 资产变化需要重启；此入口不提供与 `install` 完全相同的功能。

未安装的 CDP 分支不提供现有 Dock/状态菜单或已安装权限探针。`incodex install` 仍是现有应用集成路径。其私密窗口使用 WindowServer 关窗观察，不要求 CLI 或启动器的辅助功能权限。这不会授予或转移官方应用权限。

私密子进程仍运行时，重复点击帽子会复用该 owner 并请求置前。成功须收到私密 guardian 的页面与系统激活确认，不能只凭管道写入成功。缺少控制能力或置前失败只使该请求失败，仍保留私密窗口。若已没有普通页面，重新激活会失败，不会暗中另开应用。

## 示例

```bash
incodex launch --dry-run
incodex launch
incodex launch --app "/Applications/ChatGPT.app"
```

用 `incodex launch --help` 查看已安装版本的帮助。运行 `inc update` 更新至最新稳定版。

Source: https://daftai2026.github.io/incodex/zh/commands/launch/index.mdx
