diff --git a/crates/codex-plus-core/src/install/mod.rs b/crates/codex-plus-core/src/install/mod.rs index 2a201a19..6b950c13 100644 --- a/crates/codex-plus-core/src/install/mod.rs +++ b/crates/codex-plus-core/src/install/mod.rs @@ -129,7 +129,18 @@ pub fn default_install_root() -> Option { #[cfg(target_os = "macos")] { - return Some(PathBuf::from("/Applications")); + let sys_apps = PathBuf::from("/Applications"); + if sys_apps.join(format!("{SILENT_NAME}.app")).exists() + || sys_apps.join(format!("{MANAGER_NAME}.app")).exists() + { + return Some(sys_apps); + } + if let Ok(exe) = std::env::current_exe() { + if let Some(dir) = macos_applications_dir_from_exe(&exe) { + return Some(dir); + } + } + return Some(sys_apps); } #[cfg(not(any(windows, target_os = "macos")))] diff --git a/crates/codex-plus-core/tests/model_catalog.rs b/crates/codex-plus-core/tests/model_catalog.rs index 060ff364..d9d7c5f9 100644 --- a/crates/codex-plus-core/tests/model_catalog.rs +++ b/crates/codex-plus-core/tests/model_catalog.rs @@ -89,6 +89,8 @@ async fn model_catalog_uses_active_relay_profile_model_list_for_display() { base_url: "https://example.test/v1".to_string(), protocol: RelayProtocol::Responses, model_list: "deepseek-coder\nqwen3-coder\nclaude-compatible".to_string(), + config_contents: "model = \"qwen3-coder\"\n".to_string(), + relay_mode: codex_plus_core::settings::RelayMode::MixedApi, ..RelayProfile::default() }], ..BackendSettings::default() diff --git a/scripts/installer/macos/package-dmg.sh b/scripts/installer/macos/package-dmg.sh old mode 100644 new mode 100755 index 8752e204..a90ad6f7 --- a/scripts/installer/macos/package-dmg.sh +++ b/scripts/installer/macos/package-dmg.sh @@ -84,7 +84,6 @@ sign_app() { prepare_icon create_app "Codex++" "CodexPlusPlus" "$BINARY_DIR/codex-plus-plus" "com.bigpizzav3.codexplusplus" "true" create_app "Codex++ 管理工具" "CodexPlusPlusManager" "$BINARY_DIR/codex-plus-plus-manager" "com.bigpizzav3.codexplusplus.manager" "false" -ln -s /Applications "$STAGE/Applications" sign_app "$STAGE/Codex++.app" sign_app "$STAGE/Codex++ 管理工具.app"