An open API service indexing awesome lists of open source software.

https://github.com/airtaxi/codex-app-windows-arm64

Unofficial Windows ARM64 repackaging script for the OpenAI Codex app.
https://github.com/airtaxi/codex-app-windows-arm64

appx arm64 codex electron msix openai-codex powershell windows-arm64 windows-on-arm woa

Last synced: 6 days ago
JSON representation

Unofficial Windows ARM64 repackaging script for the OpenAI Codex app.

Awesome Lists containing this project

README

          

# Codex App Windows ARM64

[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![๊ธฐ์—ฌ์ž](https://img.shields.io/github/contributors/airtaxi/codex-app-windows-arm64)](https://github.com/airtaxi/codex-app-windows-arm64/graphs/contributors)

๐ŸŒ [English](README.md) | ํ•œ๊ตญ์–ด

Codex App Windows ARM64๋Š” ๊ณต์‹ Windows x64 Codex ์•ฑ์„ Windows on ARM์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋น„๊ณต์‹ ์žฌํŒจํ‚ค์ง• ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค. Microsoft Store์— ์„ค์น˜๋œ Codex x64 ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ ธ์™€ ๊ฐ€๋Šฅํ•œ ๋Ÿฐํƒ€์ž„๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ payload๋ฅผ ARM64 ํ˜ธํ™˜ ๋นŒ๋“œ๋กœ ๊ต์ฒดํ•˜๊ณ , ๋กœ์ปฌ ์ž์ฒด ์„œ๋ช… ARM64 MSIX ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” OpenAI๊ฐ€ Codex ์•ฑ์˜ ๊ณต์‹ Windows ARM64 ์ง€์›์„ ์ œ๊ณตํ•  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

## Disclaimer

์ด ํ”„๋กœ์ ํŠธ๋Š” OpenAI์™€ ์ œํœด ๊ด€๊ณ„๊ฐ€ ์—†์œผ๋ฉฐ, OpenAI๊ฐ€ ๋ณด์ฆํ•˜๊ฑฐ๋‚˜ ํ›„์›ํ•˜๊ฑฐ๋‚˜ ๊ณต์‹ ์ง€์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋กœ์ปฌ ์‹คํ—˜๊ณผ ํ˜ธํ™˜์„ฑ ์ž‘์—…์„ ์œ„ํ•œ ๋…๋ฆฝ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

OpenAI, Codex ๋ฐ ChatGPT๋Š” OpenAI์˜ ์ƒํ‘œ์ž…๋‹ˆ๋‹ค. ๊ทธ ์™ธ ๋ชจ๋“  ์ƒํ‘œ๋Š” ๊ฐ ์†Œ์œ ์ž์˜ ์ž์‚ฐ์ž…๋‹ˆ๋‹ค.

## ์š”๊ตฌ์‚ฌํ•ญ

- Windows on ARM ์žฅ์น˜.
- Microsoft Store์—์„œ ์„ค์น˜ํ•œ ๊ณต์‹ Codex x64 ์•ฑ ๋˜๋Š” Microsoft Store CDN์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ๊ณต์‹ x64 Codex MSIX.
- PowerShell 7(`pwsh`) ๊ถŒ์žฅ. Windows PowerShell์€ fallback์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
- `PATH`์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Node.js, `node`, `pnpm`.
- `makeappx.exe`, `signtool.exe`, `mt.exe`๋ฅผ ํฌํ•จํ•œ Windows SDK ๋„๊ตฌ.
- upstream Linux ARM64 runtime asset ์••์ถ• ํ•ด์ œ๋ฅผ ์œ„ํ•ด `PATH`์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” `tar.exe`.
- ARM64 C++ toolchain์ด ํฌํ•จ๋œ Visual Studio C++ desktop build tools.
- Electron, Node.js, Codex helper ๋ฐ”์ด๋„ˆ๋ฆฌ, ripgrep, ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋“ˆ ๋นŒ๋“œ ์˜์กด์„ฑ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•œ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ.

## Release์—์„œ ๋น ๋ฅด๊ฒŒ ์„ค์น˜

Scoop ์‚ฌ์šฉ:

```powershell
scoop bucket add codex-woa https://github.com/airtaxi/codex-app-windows-arm64
scoop install codex-woa
```

์ผ๋ฐ˜์ ์ธ ์—…๋ฐ์ดํŠธ:

```powershell
scoop update
scoop update codex-woa
```

[GitHub Releases](https://github.com/airtaxi/codex-app-windows-arm64/releases) ํŽ˜์ด์ง€์—์„œ release zip์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์••์ถ•์„ ํ‘ผ ๋’ค ๋‹ค์Œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

```bat
Install.bat
```

์„ค์น˜ํ•˜๊ธฐ ์ „์— Codex๋ฅผ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜์„ธ์š”. `Install.bat`์€ `Install.ps1`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋Š” MSIX ์„œ๋ช…์ž๊ฐ€ ํฌํ•จ๋œ ์ธ์ฆ์„œ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•„์š”ํ•˜๋ฉด ๋กœ์ปฌ ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐ ์ €์žฅ์†Œ์— ๋“ฑ๋กํ•˜๊ณ , ์ƒ์„ฑ๋œ MSIX ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ ๋’ค ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ Windows Computer Use ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์žฌํŒจํ‚ค์ง• ์•ฑ์„ ์ œ๊ฑฐํ•˜๋ ค๋ฉด Windows ์„ค์ •์—์„œ Codex WoA๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์€ ๋กœ์ปฌ ์ธ์ฆ์„œ ์‹ ๋ขฐ ๋ฐ Computer Use ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ์˜๋„์ ์œผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์„ธ์š”.

```powershell
[Environment]::SetEnvironmentVariable("CODEX_ELECTRON_ENABLE_WINDOWS_COMPUTER_USE", $null, "User")
```

## ๋นŒ๋“œ

์ด ์ €์žฅ์†Œ์—์„œ ๋นŒ๋“œ ๋ž˜ํผ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

```bat
Build-CodexWoA.bat -SourceMode StoreMsix -Force
```

`-SourceMode StoreMsix`๋Š” ์ตœ์‹  ๊ณต์‹ Codex x64 MSIX๋ฅผ Microsoft Store ๋งํฌ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  SHA-1์„ ๊ฒ€์ฆํ•œ ๋’ค ์†Œ์Šค ํŒจํ‚ค์ง€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

`-SourceMode Installed`๋Š” Microsoft Store์—์„œ ์ด๋ฏธ ์„ค์น˜๋œ ๊ณต์‹ Codex x64 ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

`-SourceMode StoreLatest`๋Š” MSIX๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Microsoft Store๋ฅผ ์—ด์–ด Codex๋ฅผ ๊ณต์‹ ๊ฒฝ๋กœ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ํ•œ ๋’ค, ์„ค์น˜๋œ x64 ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

`-SourceMode Msix -SourceMsixPath `๋Š” ๊ณต์‹ x64 Codex MSIX๋ฅผ ์ง์ ‘ ์ถ”์ถœํ•ด ์†Œ์Šค ํŒจํ‚ค์ง€๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ถœ๋ ฅ ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” `dist`์ž…๋‹ˆ๋‹ค.

## ์ถœ๋ ฅ๋ฌผ

๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ๋‹ค์Œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

- `dist\Codex-WoA__arm64.msix`
- `dist\cert\CodexWoA.cer`
- `dist\Install.ps1`
- `dist\Install.bat`
- `dist\build-report.json`

์ธ์ฆ์„œ๋Š” ํ•„์š”ํ•  ๋•Œ ๋กœ์ปฌ์—์„œ ์ƒ์„ฑ๋˜๋ฉฐ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

## ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ

- `AppxManifest.xml`์„ ARM64 ํŒจํ‚ค์ง€ identity์— ๋งž๊ฒŒ ์žฌ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
- Electron ๋Ÿฐํƒ€์ž„์„ `win32-arm64`๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.
- ๋ฒˆ๋“ค๋œ Node.js๋ฅผ `win-arm64`๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.
- `better-sqlite3`, `node-pty`, plugin `classic-level` ๊ฐ™์€ in-process ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋“ˆ์„ ARM64๋กœ rebuildํ•ฉ๋‹ˆ๋‹ค.
- ๋กœ์ปฌ ์ž์ฒด ์„œ๋ช… ํŒจํ‚ค์ง€์—์„œ๋Š” native Windows updater๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
- upstream ARM64 asset์ด ์žˆ๋Š” helper ์‹คํ–‰ ํŒŒ์ผ์„ ARM64 ๋ฒ„์ „์œผ๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.
- Codex๊ฐ€ Windows sandbox setup helper๋ฅผ MSIX ํŒจํ‚ค์ง€ ์™ธ๋ถ€๋กœ ๋ณต์‚ฌํ•œ ๋’ค UAC installer detection์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋ช…์‹œ์ ์ธ `asInvoker` manifest๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.
- `app\resources\codex` ๋ฐ `app\resources\codex-resources\bwrap`์— ARM64 WSL Codex runtime source๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
- ARM64 ๋Œ€์ฒด๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณ„๋„ out-of-process ๋„๊ตฌ์—๋งŒ x64 fallback์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

## ํ˜„์žฌ ์ง€์› ์ƒํƒœ

์ด ํŒจํ‚ค์ง€๋Š” Windows on ARM์„ ์œ„ํ•œ best-effort ํ˜ธํ™˜์„ฑ ๋นŒ๋“œ์ž…๋‹ˆ๋‹ค. ์•ฑ ์‹คํ–‰, ๋กœ๊ทธ์ธ ํ๋ฆ„, ๋Œ€ํ™” ์‚ฌ์šฉ, ARM64 `node-pty`, ARM64 `rg.exe` ๊ต์ฒด๋Š” ๋กœ์ปฌ์—์„œ ๊ฒ€์ฆํ–ˆ์ง€๋งŒ, ๊ณต์‹ OpenAI ์ง€์›์„ ๋Œ€์ฒดํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๋„ค์ดํ‹ฐ๋ธŒ ์˜์กด์„ฑ ์—…๋ฐ์ดํŠธ, helper ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ต์ฒด, ํŒจํ‚ค์ง• ๊ฒ€์ฆ, Windows on ARM ๋Ÿฐํƒ€์ž„ ๋™์ž‘๊ณผ ๊ด€๋ จ๋œ ์ œ๋ณด์™€ pull request๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

## ๊ธฐ์—ฌ์ž

์ด ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•ด ์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๊ธฐ์—ฌ์ž

## ๋ผ์ด์„ ์Šค

Codex App Windows ARM64๋Š” [MIT ๋ผ์ด์„ ์Šค](LICENSE)๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

## ์ œ์ž‘์ž

[์ดํ˜ธ์› (airtaxi)](https://github.com/airtaxi)์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

OpenAI Codex์˜ ๋„์›€์„ ๋ฐ›์•„ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.