@@ -440,3 +523,85 @@ const docsMap = [
}, { rootMargin: '100% 0px' }).observe(section);
}
+
+
diff --git a/docs-site/src/styles/custom.css b/docs-site/src/styles/custom.css
index ddd7b5e4a44..45757eb5fe1 100644
--- a/docs-site/src/styles/custom.css
+++ b/docs-site/src/styles/custom.css
@@ -314,6 +314,34 @@ main:has(.lp) .content-panel:first-child { padding-block: 0; }
align-items: center;
text-align: center;
}
+/* announcement pill over the headline: same chrome as the provider chips,
+ emphasis via the filled tag segment — no capsule borders on children */
+.lp-announce {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ margin-bottom: 1.25rem;
+ padding: 0.35rem 0.9rem;
+ border-radius: var(--ocx-radius-pill);
+ border: 0;
+ background-color: rgba(255, 255, 255, 0.95);
+ color: #1a1a1a;
+ font-size: var(--sl-text-sm);
+ font-weight: 500;
+ text-decoration: none;
+ white-space: nowrap;
+ max-width: 100%;
+ box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
+}
+.lp-announce svg { flex: none; opacity: 0.7; }
+:root[data-theme='dark'] .lp-announce,
+:root:not([data-theme='light']) .lp-announce { background-color: rgba(255, 255, 255, 0.94); }
+.lp-announce:focus-visible,
+.lp-download a:focus-visible,
+.lp-dl-more > summary:focus-visible {
+ outline: 2px solid light-dark(#2f6fe4, #8ab0f5);
+ outline-offset: 2px;
+}
.lp-hero-copy h1 {
margin: 0;
font-size: clamp(2.25rem, 5.5vw, 4rem);
@@ -784,6 +812,203 @@ main:has(.lp) .content-panel:first-child { padding-block: 0; }
max-width: 64ch;
}
+/* ---- download sheet -------------------------------------------------------
+ Opaque sheet in the scene stack (same surface as .lp-quick) so it covers
+ the pinned hero while scrolling by. Cards reuse the bento cell chrome;
+ the recommended card keeps the same radius and gets an accent tint. */
+.lp-download {
+ padding: clamp(2rem, 6vh, 4rem) clamp(1.25rem, 4vw, 3.5rem);
+ border: 1px solid var(--sl-color-hairline-light);
+ border-radius: 24px;
+ background-color: var(--ocx-surface);
+ scroll-margin-top: calc(var(--sl-nav-height) + 1rem);
+ text-align: center;
+}
+/* Section chrome is centred; card copy stays left-aligned for reading. */
+.lp-dl-card { text-align: start; }
+.lp-download-title {
+ margin: 0;
+ font-size: var(--sl-text-3xl);
+ font-weight: 650;
+ line-height: 1.15;
+ color: var(--sl-color-white);
+ text-wrap: balance;
+}
+.lp-download-sub {
+ margin: 0.625rem 0 0;
+ color: var(--sl-color-gray-3);
+ line-height: 1.6;
+}
+.lp-download-version {
+ margin: 0.375rem 0 0;
+ min-height: 1.25rem;
+ font-family: var(--sl-font-mono);
+ font-size: var(--sl-text-xs);
+ color: var(--sl-color-gray-4);
+}
+.lp-dl-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 0.875rem;
+ margin-top: 1.25rem;
+}
+@media (max-width: 48rem) { .lp-dl-grid { grid-template-columns: 1fr; } }
+/* Detected platform: its card stands alone; the others sit in the disclosure. */
+.lp-download:has(.lp-dl-more:not([hidden])) .lp-dl-grid {
+ grid-template-columns: minmax(0, 28rem);
+ justify-content: center;
+}
+.lp-download:has(.lp-dl-more:not([hidden])) .lp-dl-grid .lp-dl-actions { min-height: 0; }
+.lp-dl-more:not([hidden]) { display: block; margin-top: 1rem; }
+.lp-dl-more > summary {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.4rem;
+ min-height: 44px;
+ cursor: pointer;
+ list-style: none;
+ font-size: var(--sl-text-sm);
+ font-weight: 500;
+ color: var(--sl-color-gray-2);
+ border-radius: var(--ocx-radius-pill);
+}
+.lp-dl-more > summary::-webkit-details-marker { display: none; }
+.lp-dl-more > summary::after {
+ content: '';
+ width: 0.45rem;
+ height: 0.45rem;
+ border-right: 1.6px solid currentColor;
+ border-bottom: 1.6px solid currentColor;
+ transform: translateY(-2px) rotate(45deg);
+}
+.lp-dl-more[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
+.lp-dl-more > summary:hover { color: var(--sl-color-white); }
+.lp-dl-more-grid {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 0.875rem;
+ max-width: 56rem;
+ margin: 0.5rem auto 0;
+}
+@media (max-width: 48rem) { .lp-dl-more-grid { grid-template-columns: 1fr; } }
+.lp-dl-card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ gap: 0.5rem;
+ padding: 1.25rem 1.375rem;
+ border: 1px solid var(--sl-color-gray-5);
+ border-radius: var(--ocx-radius);
+ background-color: var(--ocx-raised);
+ min-width: 0;
+}
+.lp-dl-card[data-recommended] {
+ border-color: light-dark(#2f6fe4, #8ab0f5);
+ background-color: color-mix(in srgb, light-dark(#2f6fe4, #8ab0f5) 8%, var(--ocx-raised));
+}
+.lp-dl-mark { width: 28px; height: 28px; color: var(--sl-color-white); }
+.lp-dl-card h3 {
+ margin: 0;
+ font-size: var(--sl-text-base);
+ font-weight: 650;
+ color: var(--sl-color-white);
+}
+.lp-dl-meta,
+.lp-dl-note {
+ margin: 0;
+ font-size: var(--sl-text-sm);
+ line-height: 1.55;
+ color: var(--sl-color-gray-3);
+}
+.lp-dl-note { color: var(--sl-color-gray-4); font-size: var(--sl-text-xs); }
+/* Actions (primary button + secondary links) pin to the card bottom so the
+ three buttons share one baseline regardless of per-card copy length. */
+.lp-dl-actions {
+ display: flex;
+ flex-direction: column;
+ gap: 0.5rem;
+ margin-top: auto;
+ padding-top: 0.625rem;
+ /* one link line reserved in every card (Linux carries the .deb link) so
+ the buttons share a row in the three- and two-column layouts */
+ min-height: calc(44px + 0.5rem + 0.625rem + 1.5 * var(--sl-text-xs));
+ justify-content: flex-start;
+}
+.lp-dl-btn {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+ min-height: 44px;
+ padding: 0.55rem 1.25rem;
+ border: 1px solid transparent;
+ border-radius: var(--ocx-radius-pill);
+ background-color: var(--sl-color-accent-high);
+ color: var(--sl-color-text-invert);
+ font-weight: 500;
+ font-size: var(--sl-text-sm);
+ font-family: var(--sl-font);
+ text-decoration: none;
+ white-space: nowrap;
+}
+.lp-dl-btn-icon { width: 16px; height: 16px; flex: none; }
+.lp-dl-btn-fmt { font-weight: 400; opacity: 0.72; }
+/* Once one card is flagged recommended, the other cards demote to a
+ secondary hairline button. With no flag (JS off, unknown platform)
+ every button keeps the primary fill. */
+.lp-download:has(.lp-dl-card[data-recommended]) .lp-dl-card:not([data-recommended]) .lp-dl-btn {
+ background-color: transparent;
+ border-color: var(--sl-color-gray-5);
+ color: var(--sl-color-white);
+}
+.lp-announce-text { min-width: 0; }
+/* Korean breaks between words; Japanese and Chinese keep per-character breaks. */
+html:lang(ko) .lp-download { word-break: keep-all; overflow-wrap: break-word; }
+.lp-dl-alt {
+ align-self: flex-start;
+ font-size: var(--sl-text-xs);
+ line-height: 1.5;
+ color: light-dark(#2f6fe4, #8ab0f5);
+ text-decoration: none;
+}
+.lp-dl-alt:hover { text-decoration: underline; text-underline-offset: 3px; }
+.lp-dl-reco {
+ display: none;
+ order: -1;
+ align-self: flex-start;
+ margin: 0;
+ padding: 0.2rem 0.6rem;
+ border-radius: var(--ocx-radius-pill);
+ background-color: color-mix(in srgb, light-dark(#2f6fe4, #8ab0f5) 14%, transparent);
+ font-size: var(--sl-text-xs);
+ font-weight: 500;
+ color: light-dark(#2f6fe4, #8ab0f5);
+}
+.lp-dl-card[data-recommended] .lp-dl-reco { display: block; }
+.lp-dl-foot {
+ margin: 1.5rem 0 0;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ gap: 0.375rem 1rem;
+ font-size: var(--sl-text-sm);
+ color: var(--sl-color-gray-3);
+}
+.lp-dl-foot code {
+ font-family: var(--sl-font-mono);
+ font-size: var(--sl-text-xs);
+ padding: 0.15rem 0.5rem;
+ border-radius: var(--ocx-radius-sm);
+ background-color: var(--sl-color-bg-inline-code);
+ color: var(--sl-color-white);
+}
+.lp-dl-foot a {
+ color: light-dark(#2f6fe4, #8ab0f5);
+ text-decoration: none;
+}
+.lp-dl-foot a:hover { text-decoration: underline; text-underline-offset: 3px; }
+
/* ---- footer --------------------------------------------------------------- */
footer.sl-flex .meta { color: var(--sl-color-gray-4); }
@@ -832,9 +1057,13 @@ footer.sl-flex .meta { color: var(--sl-color-gray-4); }
}
.lp-btn-primary, .lp-btn-ghost { transition: transform 0.15s, opacity 0.15s, border-color 0.15s; }
.lp-btn-primary:hover, .lp-btn-ghost:hover { transform: translateY(-1px); }
+ .lp-dl-btn, .lp-announce { transition: transform 0.15s, opacity 0.15s, border-color 0.15s; }
+ .lp-dl-btn:hover, .lp-announce:hover { transform: translateY(-1px); }
/* quiet below-scene reveals (sections after the scene stack) */
@supports (animation-timeline: view()) {
+ .lp-download-title,
+ .lp-dl-grid,
.lp-bento-title,
.lp-next h2,
.lp-next-grid,
diff --git a/package.json b/package.json
index a599b4321c7..23bb5a90ad8 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,9 @@
"src",
"gui/dist",
"assets/banner.png",
+ "assets/download-macos.svg",
+ "assets/download-windows.svg",
+ "assets/download-linux.svg",
"assets/architecture.png",
"assets/claude-code-models.gif",
"assets/codex-app-picker.png",
diff --git a/readme/README.fr.md b/readme/README.fr.md
index 3609597a54e..6e760f0655b 100644
--- a/readme/README.fr.md
+++ b/readme/README.fr.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
Proxy universel de fournisseurs pour OpenAI Codex, Claude Code, Claude Desktop & Grok Build
Deux commandes suffisent pour que chacun d'eux exécute le LLM de votre choix.
+
+
+
+
+
+
+
Application de bureau (bêta) : macOS universel .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb. Vous préférez le terminal ? Installez la CLI :
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -79,7 +91,31 @@ tandis que les fils existants restent associés au compte qui les a démarrés.
## Démarrage rapide
-### Installation personnelle
+### Application de bureau (bêta)
+
+L'application de bureau reprend le même proxy et le même tableau de bord dans une fenêtre native, avec une icône dans la barre d'état et le binaire `ocx` inclus.
+Elle se rattache à un proxy déjà en cours d'exécution ou démarre celui qui est fourni, et le tableau de bord reste
+sur le port du proxy (**http://localhost:10100** sauf si vous en avez configuré un autre). Choisissez le fichier
+correspondant à votre plateforme sur la page de la [dernière version publiée](https://github.com/lidge-jun/opencodex/releases/latest) :
+
+| Plateforme | Fichier | Remarques |
+|---|---|---|
+| macOS 13+ (Apple Silicon et Intel) | `OpenCodex-
-macos.dmg` | Compilation universelle, signée avec un identifiant Developer ID et notariée |
+| Windows (x64) | `OpenCodex--windows-x64.msi` | Pas encore signée numériquement : SmartScreen demande une confirmation, choisissez **Informations complémentaires → Exécuter quand même** |
+| Linux (x86_64) | `OpenCodex--linux-x86_64.AppImage` ou `-linux-amd64.deb` | La barre d'état nécessite un environnement de bureau compatible AppIndicator |
+
+Chaque fichier est accompagné d'un `.sha256` sur la page de la version. Sous macOS 14+, l'application embarque
+également une extension WidgetKit qui affiche l'état du proxy, l'utilisation du jour et les quotas des
+fournisseurs ; le modèle de données des instantanés qu'elle affiche se trouve dans [`app/`](../app)
+(`MenuBarCore`). Pour compiler l'application vous-même, exécutez
+`bun install && bun run build:gui` à la racine du dépôt, puis, dans `desktop/`,
+`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` sous macOS,
+ou `bun install && bun run prepare-sidecar && bun run build:local` sous Windows et Linux (l'étape du widget
+exige macOS). Le [guide de l'application de bureau](https://opencodex.me/fr/guides/desktop-app/) et le
+[guide de l'application macOS dans la barre des menus](https://opencodex.me/fr/guides/macos-menu-bar/) détaillent le premier lancement, et
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) répertorie tout ce qui est écrit sur le disque.
+
+### Installation personnelle (CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+ ; le runtime Bun est inclus automatiquement
@@ -93,34 +129,6 @@ fournisseurs (plus de 40 intégrés, ou n'importe quel point de terminaison comp
choisissez les modèles, gérez les comptes. `ocx gui`
rouvre le tableau de bord à tout moment.
-
-Application de bureau et widget macOS — bêta
-
-Une application native qui reprend le même tableau de bord, accompagnée d’une extension WidgetKit qui
-affiche l’état du proxy, l’utilisation du jour et les quotas des fournisseurs sans ouvrir de
-navigateur. Le proxy ne change pas : l’application détecte une instance en cours d’exécution ou
-démarre le sidecar `ocx` inclus, tandis que le tableau de bord reste accessible sur le port du proxy
-(**http://localhost:10100** sauf si vous en avez configuré un autre).
-
-Cette version est en bêta. Les versions publiées de l’application macOS sont signées avec un identifiant
-Developer ID et notariées (les compilations locales sont signées ad hoc) ; le programme d’installation
-Windows n’est pas encore signé, et SmartScreen affiche donc un avertissement au premier lancement.
-Le widget nécessite macOS 14 ou une version ultérieure ; le modèle de données des instantanés qu’il
-affiche se trouve dans [`app/`](../app) (`MenuBarCore`).
-
-Téléchargez l’application depuis la [dernière version publiée](https://github.com/lidge-jun/opencodex/releases),
-ou compilez-la localement : exécutez `bun install && bun run build:gui` à la racine du dépôt, puis
-`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` dans
-`desktop/`.
-
-Les emplacements d’installation, les fichiers de service et tous les autres éléments écrits sur le
-disque sont répertoriés dans [`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed).
-Le [guide de l’application de bureau](https://opencodex.me/fr/guides/desktop-app/) et le
-[guide de l’application macOS dans la barre des menus](https://opencodex.me/fr/guides/macos-menu-bar/)
-détaillent l’installation sur chaque plateforme et le premier lancement.
-
-
-
### Groupe de comptes ChatGPT
opencodex peut également gérer un **groupe de comptes ChatGPT** pour l'authentification Codex. Ajoutez plusieurs
@@ -260,13 +268,13 @@ s'il est inaccessible). `ocx status` / `ocx doctor` / `ocx health` indiquent l'
## Plateformes prises en charge
-| Système d'exploitation | État | Gestionnaire de services |
-|---|---|---|
-| macOS (arm64 / x64) | Entièrement pris en charge | launchd |
-| Linux (x64 / arm64) | Entièrement pris en charge | systemd (unité utilisateur) |
-| Windows (x64) | Entièrement pris en charge | Planificateur de tâches (masqué) / service natif en option (`--native`, WinSW) |
+| Système d'exploitation | État | Gestionnaire de services | Application de bureau (bêta) |
+|---|---|---|---|
+| macOS (arm64 / x64) | Entièrement pris en charge | launchd | `.dmg` universel |
+| Linux (x64 / arm64) | Entièrement pris en charge | systemd (unité utilisateur) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | Entièrement pris en charge | Planificateur de tâches (masqué) / service natif en option (`--native`, WinSW) | x64 `.msi` |
-Nécessite [Node](https://nodejs.org) 18+. L'environnement d'exécution Bun est inclus lors de `npm install` — aucune installation
+L'installation de la CLI nécessite [Node](https://nodejs.org) 18+ ; l'application de bureau n'a besoin ni de Node ni de Bun. L'environnement d'exécution Bun est inclus lors de `npm install` — aucune installation
séparée de Bun n'est nécessaire, ni WSL sous Windows. Si npm a bloqué les scripts d'installation de l'environnement inclus,
consultez la [documentation d'installation](https://opencodex.me/fr/getting-started/installation/).
diff --git a/readme/README.ja.md b/readme/README.ja.md
index 4aed5948dd0..5383ac67f24 100644
--- a/readme/README.ja.md
+++ b/readme/README.ja.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
OpenAI Codex、Claude Code、Claude Desktop、Grok Build のための汎用プロバイダープロキシ
コマンド 2 つで、そのすべてが好きな LLM で動きます。
+
+
+
+
+
+
+デスクトップアプリ(ベータ版): macOS ユニバーサル .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb。ターミナル派なら CLI をインストール:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -78,7 +90,29 @@ Desktop、Grok Build から使えます。Codex 認証用の **ChatGPT アカウ
## クイックスタート
-### 個人向けインストール
+### デスクトップアプリ(ベータ版)
+
+デスクトップアプリは、同じプロキシとダッシュボードをネイティブウィンドウに収め、トレイと同梱の `ocx` を備えたものです。
+すでに起動しているプロキシに接続するか、同梱のプロキシを起動します。ダッシュボードはプロキシの
+ポートで開きます(別のポートを設定していなければ **http://localhost:10100**)。
+[最新リリース](https://github.com/lidge-jun/opencodex/releases/latest)から、お使いのプラットフォーム向けのファイルを選んでください。
+
+| プラットフォーム | ファイル | 備考 |
+|---|---|---|
+| macOS 13 以降(Apple Silicon と Intel) | `OpenCodex--macos.dmg` | ユニバーサルビルド。Developer ID で署名・公証済み |
+| Windows(x64) | `OpenCodex--windows-x64.msi` | まだコード署名なし。SmartScreen が一度だけ確認するので、**詳細情報 → 実行**を選択 |
+| Linux(x86_64) | `OpenCodex--linux-x86_64.AppImage` または `-linux-amd64.deb` | トレイには AppIndicator 対応のデスクトップが必要 |
+
+リリースページでは各ファイルの横に `.sha256` があります。macOS 14 以降では、プロキシの状態、
+今日の使用量、プロバイダーのクォータを表示する WidgetKit 拡張も付属します。表示に使う
+スナップショットモデルは [`app/`](../app)(`MenuBarCore`)にあります。アプリを自分でビルドするには、
+リポジトリのルートで `bun install && bun run build:gui` を実行し、
+`desktop/` で macOS なら `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`、Windows と Linux なら `bun install && bun run prepare-sidecar && bun run build:local` を実行します(ウィジェットの手順は macOS 専用です)。
+[デスクトップアプリガイド](https://opencodex.me/ja/guides/desktop-app/)と
+[macOS メニューバーアプリガイド](https://opencodex.me/ja/guides/macos-menu-bar/)で初回起動について説明しています。
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) にはディスクに書き込まれるすべてのものをまとめています。
+
+### 個人向けインストール(CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18 以上。Bun ランタイムは自動で同梱されます
@@ -91,32 +125,6 @@ ocx start # プロキシとダッシュボードが loca
組み込み、または任意の OpenAI 互換エンドポイント)、モデルの選択、アカウントの管理はここで行います。
`ocx gui` でいつでもダッシュボードを開き直せます。
-
-デスクトップアプリと macOS ウィジェット — ベータ版
-
-同じダッシュボードを包むネイティブアプリに、ブラウザーを開かなくてもプロキシの状態、今日の使用量、
-プロバイダーのクォータを確認できる WidgetKit 拡張を加えたものです。プロキシ自体は変わりません。アプリは
-起動中のプロキシを見つけるか、同梱の `ocx` サイドカーを起動します。ダッシュボードはプロキシの
-ポートで開きます(別のポートを設定していなければ **http://localhost:10100**)。
-
-現在はベータ版です。macOS アプリのリリースビルドは Developer ID で署名され、公証されています
-(ローカルビルドはアドホック署名)。Windows インストーラーはまだコード署名されていないため、
-初回起動時に SmartScreen の警告が表示されます。ウィジェットには macOS 14 以降が必要です。
-表示に使うスナップショットモデルは
-[`app/`](../app)(`MenuBarCore`)にあります。
-
-[最新リリース](https://github.com/lidge-jun/opencodex/releases)からダウンロードするか、
-ローカルでビルドできます。リポジトリのルートで `bun install && bun run build:gui` を実行し、
-`desktop/` で `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` を実行します。
-
-インストール先、サービスファイルなどディスクに書き込まれるものは
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) にまとめています。
-[デスクトップアプリガイド](https://opencodex.me/ja/guides/desktop-app/)と
-[macOS メニューバーアプリガイド](https://opencodex.me/ja/guides/macos-menu-bar/)では、
-プラットフォーム別のインストール手順と初回起動について説明しています。
-
-
-
### ChatGPT アカウントプール
opencodex では、Codex 認証用の **ChatGPT アカウントプール**も管理できます。ChatGPT / Codex のアカウントを
@@ -255,13 +263,13 @@ ocx init # 対話式セットアップ: ~/.opencodex/config.json を書き
## 対応プラットフォーム
-| OS | 状態 | サービスマネージャー |
-|---|---|---|
-| macOS (arm64 / x64) | 完全対応 | launchd |
-| Linux (x64 / arm64) | 完全対応 | systemd (user unit) |
-| Windows (x64) | 完全対応 | タスクスケジューラ(非表示)/ 任意のネイティブサービス(`--native`、WinSW) |
+| OS | 状態 | サービスマネージャー | デスクトップアプリ(ベータ版) |
+|---|---|---|---|
+| macOS (arm64 / x64) | 完全対応 | launchd | ユニバーサル `.dmg` |
+| Linux (x64 / arm64) | 完全対応 | systemd (user unit) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | 完全対応 | タスクスケジューラ(非表示)/ 任意のネイティブサービス(`--native`、WinSW) | x64 `.msi` |
-[Node](https://nodejs.org) 18 以上が必要です。Bun ランタイムは `npm install` で同梱されるので、Bun を
+CLI インストールには [Node](https://nodejs.org) 18 以上が必要です。デスクトップアプリには Node も Bun も不要です。Bun ランタイムは `npm install` で同梱されるので、Bun を
別途入れる必要も、Windows で WSL を使う必要もありません。npm が同梱ランタイムのインストールスクリプト
をブロックした場合は[インストールドキュメント](https://opencodex.me/ja/getting-started/installation/)を
参照してください。
diff --git a/readme/README.ko.md b/readme/README.ko.md
index 2183165ec85..3b52191e77c 100644
--- a/readme/README.ko.md
+++ b/readme/README.ko.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
OpenAI Codex, Claude Code, Claude Desktop, Grok Build를 위한 범용 프로바이더 프록시
명령어 두 줄이면, 그 모두가 지정한 LLM으로 돌아갑니다.
+
+
+
+
+
+
+데스크톱 앱 (베타): macOS 유니버설 .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb. 터미널이 더 편하다면 CLI를 설치하세요:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -78,7 +90,29 @@ DeepSeek, Kimi, Qwen, Ollama를 비롯한 어떤 LLM이든 Codex, Claude Code, C
## 빠른 시작
-### 개인 설치
+### 데스크톱 앱 (베타)
+
+데스크톱 앱은 같은 프록시와 대시보드를 네이티브 창에 담은 것으로, 트레이와 번들된 `ocx`를 갖춥니다.
+이미 실행 중인 프록시에 붙거나 번들된 프록시를 시작하며, 대시보드는 프록시 포트에서 열립니다
+(다른 포트를 설정하지 않았다면 **http://localhost:10100**). 플랫폼에 맞는 파일을
+[최신 릴리스](https://github.com/lidge-jun/opencodex/releases/latest)에서 고르세요.
+
+| 플랫폼 | 파일 | 참고 |
+|---|---|---|
+| macOS 13+ (Apple Silicon 및 Intel) | `OpenCodex--macos.dmg` | 유니버설 빌드, Developer ID로 서명 및 공증됨 |
+| Windows (x64) | `OpenCodex--windows-x64.msi` | 아직 코드 서명되지 않음: SmartScreen이 한 번 물으면 **추가 정보 → 실행**을 선택 |
+| Linux (x86_64) | `OpenCodex--linux-x86_64.AppImage` 또는 `-linux-amd64.deb` | 트레이는 AppIndicator를 지원하는 데스크톱이 필요 |
+
+릴리스 페이지에서 모든 파일 옆에 `.sha256`이 함께 있습니다. macOS 14 이상에서는 프록시 상태,
+오늘의 사용량, 프로바이더 쿼터를 보여 주는 WidgetKit 확장도 함께 설치됩니다. 위젯이 그리는
+스냅샷 모델은 [`app/`](../app)의 `MenuBarCore`에 있습니다. 앱을 직접 빌드하려면 저장소 루트에서
+`bun install && bun run build:gui`를 실행한 다음,
+`desktop/`에서 macOS라면 `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`을, Windows와 Linux라면 `bun install && bun run prepare-sidecar && bun run build:local`을 실행하세요. 위젯 빌드 단계는 macOS에서만 돌아갑니다.
+[데스크톱 앱 가이드](https://opencodex.me/ko/guides/desktop-app/)와
+[macOS 메뉴 막대 앱 가이드](https://opencodex.me/ko/guides/macos-menu-bar/)에서 첫 실행 안내를 볼 수 있고,
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed)에는 디스크에 쓰는 모든 항목이 정리되어 있습니다.
+
+### 개인 설치 (CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+; Bun 런타임은 자동으로 번들됩니다
@@ -90,31 +124,6 @@ ocx start # 프록시 + 대시보드: localhost:10100
**http://localhost:10100**을 열고 웹 대시보드에서 전부 설정하세요. 프로바이더 추가(내장 40개 이상,
또는 OpenAI 호환 엔드포인트), 모델 선택, 계정 관리까지 모두 여기서 합니다. `ocx gui`로 대시보드를 언제든 다시 엽니다.
-
-데스크톱 앱과 macOS 위젯 — 베타
-
-같은 대시보드를 감싼 네이티브 앱과, 브라우저를 열지 않고 프록시 상태·오늘의 사용량·프로바이더
-쿼터를 보여 주는 WidgetKit 확장입니다. 프록시 자체는 그대로입니다. 앱은 실행 중인 프록시를 찾거나
-번들된 `ocx` 사이드카를 시작하며, 대시보드는 프록시의 포트에서 열립니다(다른 포트를 설정하지 않았다면
-**http://localhost:10100**).
-
-현재 베타 버전입니다. macOS 앱의 릴리스 빌드는 Developer ID로 서명되고 공증됩니다(로컬 빌드는
-ad-hoc 서명). Windows 설치 파일은 아직 코드 서명되지 않아 처음 실행할 때 SmartScreen 경고가
-표시됩니다. 위젯은 macOS 14 이상에서 쓸 수 있으며,
-위젯이 그리는 스냅샷 모델은 [`app/`](../app)의 `MenuBarCore`에 있습니다.
-
-[최신 릴리스](https://github.com/lidge-jun/opencodex/releases)에서 다운로드하거나
-직접 빌드하세요. 저장소 루트에서 `bun install && bun run build:gui`를 실행한 다음,
-`desktop/`에서 `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`을 실행합니다.
-
-설치 위치, 서비스 파일을 비롯해 디스크에 쓰는 항목은
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed)에 정리되어 있습니다.
-[데스크톱 앱 가이드](https://opencodex.me/ko/guides/desktop-app/)와
-[macOS 메뉴 막대 앱 가이드](https://opencodex.me/ko/guides/macos-menu-bar/)에서
-플랫폼별 설치 방법과 첫 실행 안내를 확인할 수 있습니다.
-
-
-
### ChatGPT 계정 풀
opencodex는 Codex 인증용 **ChatGPT 계정 풀**도 관리합니다. ChatGPT / Codex 계정을 여러 개 넣고,
@@ -246,13 +255,13 @@ ocx init # 대화형 설정: ~/.opencodex/config.json을 쓰고 Codex를
## 지원 플랫폼
-| OS | 지원 상태 | 서비스 관리자 |
-|---|---|---|
-| macOS (arm64 / x64) | 완전 지원 | launchd |
-| Linux (x64 / arm64) | 완전 지원 | systemd (user unit) |
-| Windows (x64) | 완전 지원 | Task Scheduler (숨김) / 선택적 네이티브 서비스 (`--native`, WinSW) |
+| OS | 지원 상태 | 서비스 관리자 | 데스크톱 앱 (베타) |
+|---|---|---|---|
+| macOS (arm64 / x64) | 완전 지원 | launchd | 유니버설 `.dmg` |
+| Linux (x64 / arm64) | 완전 지원 | systemd (user unit) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | 완전 지원 | Task Scheduler (숨김) / 선택적 네이티브 서비스 (`--native`, WinSW) | x64 `.msi` |
-[Node](https://nodejs.org) 18 이상이 필요합니다. Bun 런타임은 `npm install` 때 번들되므로 따로 설치할
+CLI 설치에는 [Node](https://nodejs.org) 18 이상이 필요하고, 데스크톱 앱은 Node와 Bun 모두 필요 없습니다. Bun 런타임은 `npm install` 때 번들되므로 따로 설치할
필요가 없고, Windows에서도 WSL이 필요 없습니다. npm이 번들 런타임의 설치 스크립트를 막았다면
[설치 문서](https://opencodex.me/ko/getting-started/installation/)를 보세요.
diff --git a/readme/README.ru.md b/readme/README.ru.md
index 0e9b41aa16e..294e05b192a 100644
--- a/readme/README.ru.md
+++ b/readme/README.ru.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
Универсальный прокси провайдеров для OpenAI Codex, Claude Code, Claude Desktop и Grok Build
Две команды — и каждый из них работает на любой LLM, которую вы укажете.
+
+
+
+
+
+
+Настольное приложение (бета): универсальный .dmg для macOS · .msi для Windows x64 · .AppImage / .deb для Linux x86_64. Предпочитаете терминал? Установите CLI:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -80,7 +92,33 @@ Ollama или любую другую LLM с Codex, Claude Code, Claude Desktop
## Быстрый старт
-### Личная установка
+### Настольное приложение (бета)
+
+Настольное приложение — это тот же прокси и та же панель управления в нативном окне,
+с иконкой в трее и встроенным `ocx`. Оно подключается к уже запущенному прокси либо
+запускает встроенный, а панель остаётся на порту прокси (**http://localhost:10100**,
+если вы не настроили другой). Выберите файл для своей платформы в
+[последнем релизе](https://github.com/lidge-jun/opencodex/releases/latest):
+
+| Платформа | Файл | Примечания |
+|---|---|---|
+| macOS 13+ (Apple Silicon и Intel) | `OpenCodex--macos.dmg` | Универсальная сборка, подписана Developer ID и нотариализована |
+| Windows (x64) | `OpenCodex--windows-x64.msi` | Пока без цифровой подписи: SmartScreen спросит один раз — выберите **Подробнее → Выполнить в любом случае** |
+| Linux (x86_64) | `OpenCodex--linux-x86_64.AppImage` или `-linux-amd64.deb` | Для трея нужен рабочий стол с поддержкой AppIndicator |
+
+Рядом с каждым файлом на странице релиза есть `.sha256`. На macOS 14+ приложение также
+поставляется с расширением WidgetKit, которое показывает состояние прокси, расход за
+сегодня и квоты провайдеров; модель снимков, которую оно отображает, находится в
+[`app/`](../app) (`MenuBarCore`). Чтобы собрать приложение самостоятельно, выполните
+`bun install && bun run build:gui` в корне репозитория, затем в `desktop/` выполните
+`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` на macOS
+или `bun install && bun run prepare-sidecar && bun run build:local` на Windows и Linux (шаг с виджетом
+работает только на macOS). В [руководстве по настольному приложению](https://opencodex.me/ru/guides/desktop-app/) и
+[руководстве по приложению macOS в строке меню](https://opencodex.me/ru/guides/macos-menu-bar/)
+описан первый запуск, а
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) перечисляет всё, что записывается на диск.
+
+### Личная установка (CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+; рантайм Bun подключается автоматически
@@ -93,33 +131,6 @@ ocx start # прокси + панель управлен
(40+ встроенных или любой OpenAI-совместимый endpoint), выберите модели, управляйте
аккаунтами. `ocx gui` в любой момент снова откроет панель.
-
-Настольное приложение и виджет macOS — бета-версия
-
-Это нативная оболочка вокруг той же панели управления с расширением WidgetKit, которое
-показывает состояние прокси, расход за сегодня и квоты провайдеров без открытия браузера.
-Сам прокси не меняется: приложение находит уже запущенный экземпляр либо запускает встроенный
-сайдкар `ocx`, а панель остаётся доступной на порту прокси (**http://localhost:10100**,
-если вы не настроили другой порт).
-
-Это бета-версия. Релизные сборки приложения для macOS подписаны сертификатом Developer ID и
-нотариализованы (локальные сборки подписаны ad-hoc); установщик Windows пока не подписан
-цифровой подписью, поэтому SmartScreen предупреждает при первом запуске. Для виджета нужна
-macOS 14 или новее; его модель снимков находится в [`app/`](../app) (`MenuBarCore`).
-
-Скачайте приложение из [последнего релиза](https://github.com/lidge-jun/opencodex/releases) или
-соберите локально: выполните `bun install && bun run build:gui` в корне репозитория, затем
-`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` в
-`desktop/`.
-
-Пути установки, файлы служб и всё остальное, что записывается на диск, перечислены в
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed). В
-[руководстве по настольному приложению](https://opencodex.me/ru/guides/desktop-app/) и
-[руководстве по приложению macOS в строке меню](https://opencodex.me/ru/guides/macos-menu-bar/)
-описаны установка на каждой платформе и первый запуск.
-
-
-
### Пул аккаунтов ChatGPT
opencodex также умеет управлять **пулом аккаунтов ChatGPT** для аутентификации Codex. Добавьте
@@ -262,13 +273,13 @@ ocx init # интерактивная настройка: пишет ~/.ope
## Поддерживаемые платформы
-| ОС | Статус | Менеджер служб |
-|---|---|---|
-| macOS (arm64 / x64) | Полная поддержка | launchd |
-| Linux (x64 / arm64) | Полная поддержка | systemd (пользовательский unit) |
-| Windows (x64) | Полная поддержка | Task Scheduler (скрыто) / опциональная нативная служба (`--native`, WinSW) |
+| ОС | Статус | Менеджер служб | Настольное приложение (бета) |
+|---|---|---|---|
+| macOS (arm64 / x64) | Полная поддержка | launchd | Универсальный `.dmg` |
+| Linux (x64 / arm64) | Полная поддержка | systemd (пользовательский unit) | `.AppImage` / `.deb` для x86_64 |
+| Windows (x64) | Полная поддержка | Task Scheduler (скрыто) / опциональная нативная служба (`--native`, WinSW) | `.msi` для x64 |
-Требуется [Node](https://nodejs.org) 18+. Рантайм Bun добавляется автоматически при `npm install` —
+Для установки CLI требуется [Node](https://nodejs.org) 18+; настольному приложению не нужны ни Node, ни Bun. Рантайм Bun добавляется автоматически при `npm install` —
отдельно устанавливать Bun не нужно, WSL на Windows тоже не нужен. Если npm заблокировал
скрипты установки встроенного рантайма, см. [документацию по установке](https://opencodex.me/ru/getting-started/installation/).
diff --git a/readme/README.tr.md b/readme/README.tr.md
index 3ba22ba3ade..e73663c46e5 100644
--- a/readme/README.tr.md
+++ b/readme/README.tr.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
OpenAI Codex, Claude Code, Claude Desktop ve Grok Build için evrensel sağlayıcı proxy'si
İki komut, ve hepsi işaret ettiğiniz LLM ile çalışır.
+
+
+
+
+
+
+Masaüstü uygulaması (beta): macOS evrensel .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb. Terminali mi tercih ediyorsunuz? CLI'yı kurun:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -78,7 +90,32 @@ kullanılan sağlıklı hesaba kendiliğinden gitsin; mevcut dizilerse onları b
## Hızlı başlangıç
-### Kişisel kurulum
+### Masaüstü uygulaması (beta)
+
+Masaüstü uygulaması; aynı proxy ve kontrol panelini yerel bir pencerede, menü çubuğu simgesi ve
+paketlenmiş `ocx` ile sunar. Zaten çalışan bir proxy'ye bağlanır ya da kendi paketlenmiş proxy'sini
+başlatır; kontrol paneli proxy bağlantı noktasında kalır (başka bir tane yapılandırmadıysanız
+**http://localhost:10100**). Platformunuza uygun dosyayı
+[en güncel sürümden](https://github.com/lidge-jun/opencodex/releases/latest) seçin:
+
+| Platform | Dosya | Notlar |
+|---|---|---|
+| macOS 13+ (Apple Silicon ve Intel) | `OpenCodex--macos.dmg` | Evrensel derleme, Developer ID ile imzalı ve noter onaylı |
+| Windows (x64) | `OpenCodex--windows-x64.msi` | Henüz kod imzalı değil: SmartScreen bir kez sorar, **Diğer bilgiler → Yine de çalıştır** seçin |
+| Linux (x86_64) | `OpenCodex--linux-x86_64.AppImage` veya `-linux-amd64.deb` | Menü çubuğu simgesi AppIndicator destekli bir masaüstü gerektirir |
+
+Her dosyanın yanında sürüm sayfasında bir `.sha256` bulunur. macOS 14 ve üzerinde uygulama ayrıca
+proxy durumunu, bugünkü kullanımı ve sağlayıcı kotalarını gösteren bir WidgetKit uzantısıyla gelir;
+görüntülediği anlık görüntü modeli [`app/`](../app) dizinindedir (`MenuBarCore`). Uygulamayı kendiniz
+derlemek için depo kökünde `bun install && bun run build:gui`, ardından `desktop/` içinde macOS'ta
+`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`,
+Windows ve Linux'ta ise `bun install && bun run prepare-sidecar && bun run build:local` çalıştırın (widget adımı yalnızca macOS'ta çalışır).
+[Masaüstü uygulaması kılavuzu](https://opencodex.me/tr/guides/desktop-app/) ve
+[macOS menü çubuğu uygulaması kılavuzu](https://opencodex.me/tr/guides/macos-menu-bar/) ilk açılışı
+anlatır; [`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) diske yazılan her
+şeyi listeler.
+
+### Kişisel kurulum (CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+; Bun çalışma zamanı otomatik olarak paketlenir
@@ -91,31 +128,6 @@ Arka planda çalıştırmak için `ocx service` kullanın.
ekleyin (40'tan fazla hazır sağlayıcı ya da herhangi bir OpenAI uyumlu uç nokta), model seçin, hesap
yönetin. `ocx gui` paneli istediğiniz zaman yeniden açar.
-
-Masaüstü uygulaması ve macOS widget'ı — beta
-
-Aynı kontrol panelini sarmalayan yerel uygulamaya ek olarak, tarayıcı açmadan proxy durumunu,
-bugünkü kullanımı ve sağlayıcı kotalarını gösteren bir WidgetKit uzantısı sunulur. Proxy'nin çalışma
-şekli değişmez: uygulama çalışan bir proxy bulur ya da paketlenmiş `ocx` sidecar'ını başlatır;
-kontrol paneli proxy'nin bağlantı noktasında kalır (başka bir bağlantı noktası yapılandırmadıysanız
-**http://localhost:10100**).
-
-Bu bir beta sürümüdür. macOS uygulamasının sürüm derlemeleri Developer ID ile imzalanır ve Apple
-tarafından noter onayından geçer (yerel derlemeler ad-hoc imzalanır); Windows yükleyicisi henüz kod
-imzalı değildir, bu nedenle SmartScreen ilk çalıştırmada uyarı gösterir. Widget için macOS 14 veya
-üzeri gerekir; görüntülediği anlık görüntü modeli [`app/`](../app) dizinindedir (`MenuBarCore`).
-
-Uygulamayı [en güncel sürümden](https://github.com/lidge-jun/opencodex/releases) indirin veya
-yerel olarak derleyin: depo kökünde `bun install && bun run build:gui`, ardından `desktop/` içinde
-`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local` çalıştırın.
-
-Kurulum konumları, servis dosyaları ve diske yazılan diğer her şey
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) dosyasında listelenir.
-[Masaüstü uygulaması kılavuzu](https://opencodex.me/tr/guides/desktop-app/) ve
-[macOS menü çubuğu uygulaması kılavuzu](https://opencodex.me/tr/guides/macos-menu-bar/),
-platforma göre kurulumu ve ilk açılışı açıklar.
-
-
### ChatGPT hesap havuzu
@@ -256,13 +268,13 @@ ulaşamadıklarında sıfırdan farklı bir kodla çıkar). `ocx status` / `ocx
## Desteklenen platformlar
-| İşletim sistemi | Durum | Servis yöneticisi |
-|---|---|---|
-| macOS (arm64 / x64) | Tam destekleniyor | launchd |
-| Linux (x64 / arm64) | Tam destekleniyor | systemd (kullanıcı birimi) |
-| Windows (x64) | Tam destekleniyor | Görev Zamanlayıcı (gizli) / isteğe bağlı yerel servis (`--native`, WinSW) |
+| İşletim sistemi | Durum | Servis yöneticisi | Masaüstü uygulaması (beta) |
+|---|---|---|---|
+| macOS (arm64 / x64) | Tam destekleniyor | launchd | Evrensel `.dmg` |
+| Linux (x64 / arm64) | Tam destekleniyor | systemd (kullanıcı birimi) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | Tam destekleniyor | Görev Zamanlayıcı (gizli) / isteğe bağlı yerel servis (`--native`, WinSW) | x64 `.msi` |
-[Node](https://nodejs.org) 18 veya üzeri gerekir. Bun çalışma zamanı `npm install` sırasında paketlenir —
+CLI kurulumu [Node](https://nodejs.org) 18 veya üzerini gerektirir; masaüstü uygulamasının ne Node'a ne de Bun'a ihtiyacı vardır. Bun çalışma zamanı `npm install` sırasında paketlenir —
ayrıca Bun kurmanıza gerek yok, Windows'ta WSL de gerekmez. npm, paketlenmiş çalışma zamanının kurulum
betiklerini engellediyse [kurulum belgelerine](https://opencodex.me/tr/getting-started/installation/) bakın.
diff --git a/readme/README.zh-CN.md b/readme/README.zh-CN.md
index e5790fe889b..66a5ac1a4d3 100644
--- a/readme/README.zh-CN.md
+++ b/readme/README.zh-CN.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
面向 OpenAI Codex、Claude Code、Claude Desktop 和 Grok Build 的通用提供商代理
两条命令,它们就都能跑你指定的任意 LLM。
+
+
+
+
+
+
+桌面应用(测试版):macOS 通用 .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb。更喜欢终端?安装 CLI:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -77,7 +89,29 @@ Codex 认证管理一个 **ChatGPT 账户池**:添加账户,在仪表板中
## 快速开始
-### 个人安装
+### 桌面应用(测试版)
+
+桌面应用把同一个代理和仪表板装进原生窗口,附带系统托盘和内置的 `ocx`。
+它会连接已在运行的代理,或启动自带的代理;仪表板仍使用代理端口
+(未另行配置时为 **http://localhost:10100**)。从
+[最新发布版本](https://github.com/lidge-jun/opencodex/releases/latest)中选择适合你平台的文件:
+
+| 平台 | 文件 | 说明 |
+|---|---|---|
+| macOS 13+(Apple Silicon 和 Intel) | `OpenCodex--macos.dmg` | 通用构建,使用 Developer ID 签名并完成公证 |
+| Windows (x64) | `OpenCodex--windows-x64.msi` | 尚未进行代码签名:SmartScreen 会询问一次,选择 **更多信息 → 仍要运行** |
+| Linux (x86_64) | `OpenCodex--linux-x86_64.AppImage` 或 `-linux-amd64.deb` | 托盘需要支持 AppIndicator 的桌面环境 |
+
+每个文件在发布页面上都带有对应的 `.sha256`。在 macOS 14+ 上,应用还附带一个
+WidgetKit 扩展,可显示代理状态、今日用量和提供商配额;它所呈现的快照模型位于
+[`app/`](../app)(`MenuBarCore`)。如需自行构建应用,先在仓库根目录运行
+`bun install && bun run build:gui`,然后在
+`desktop/` 中运行:macOS 上用 `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`,Windows 和 Linux 上用 `bun install && bun run prepare-sidecar && bun run build:local`(小组件步骤只能在 macOS 上执行)。
+[桌面应用指南](https://opencodex.me/zh-cn/guides/desktop-app/)和
+[macOS 菜单栏应用指南](https://opencodex.me/zh-cn/guides/macos-menu-bar/)介绍了首次启动,
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed)列出了写入磁盘的所有内容。
+
+### 个人安装(CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+;Bun 运行时会自动捆绑
@@ -90,32 +124,6 @@ ocx start # 代理 + 仪表板:localhost:10100
(40 多个内置,或任意 OpenAI 兼容端点)、选择模型、管理账户。随时运行 `ocx gui`
可重新打开仪表板。
-
-桌面应用与 macOS 小组件 —— 测试版
-
-它是同一套仪表板的原生外壳,另带 WidgetKit 扩展,无需打开浏览器即可查看代理状态、
-今日用量和提供商配额。代理本身没有变化:应用会连接已在运行的代理;若未发现,
-则启动内置的 `ocx` sidecar。仪表板仍使用代理的端口(未另行配置时为
-**http://localhost:10100**)。
-
-桌面应用目前仍处于测试阶段。macOS 应用的发布构建已使用 Developer ID 签名并完成公证
-(本地构建采用 ad-hoc 签名);Windows 安装程序尚未进行代码签名,因此首次运行时
-SmartScreen 会发出警告。
-小组件需要 macOS 14 或更高版本;它所呈现的快照模型位于 [`app/`](../app)
-(`MenuBarCore`)。
-
-请从[最新发布版本](https://github.com/lidge-jun/opencodex/releases)下载,或在本地构建:
-先在仓库根目录运行 `bun install && bun run build:gui`,再进入 `desktop/` 运行
-`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`。
-
-安装位置、服务文件以及写入磁盘的其他内容均列在
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) 中。
-[桌面应用指南](https://opencodex.me/zh-cn/guides/desktop-app/)和
-[macOS 菜单栏应用指南](https://opencodex.me/zh-cn/guides/macos-menu-bar/)
-介绍了各平台的安装方式和首次启动步骤。
-
-
-
### ChatGPT 账户池
opencodex 还能为 Codex 认证管理一个 **ChatGPT 账户池**。添加多个 ChatGPT / Codex 账户,
@@ -247,13 +255,13 @@ ocx init # 交互式设置:写入 ~/.opencodex/config.json 并接入 Code
## 支持平台
-| 操作系统 | 状态 | 服务管理器 |
-|---|---|---|
-| macOS (arm64 / x64) | 完整支持 | launchd |
-| Linux (x64 / arm64) | 完整支持 | systemd(用户单元) |
-| Windows (x64) | 完整支持 | 任务计划程序(隐藏) / 可选原生服务 (`--native`,WinSW) |
+| 操作系统 | 状态 | 服务管理器 | 桌面应用(测试版) |
+|---|---|---|---|
+| macOS (arm64 / x64) | 完整支持 | launchd | 通用 `.dmg` |
+| Linux (x64 / arm64) | 完整支持 | systemd(用户单元) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | 完整支持 | 任务计划程序(隐藏) / 可选原生服务 (`--native`,WinSW) | x64 `.msi` |
-需要 [Node](https://nodejs.org) 18+。Bun 运行时在 `npm install` 时捆绑 —— 无需单独安装
+CLI 安装需要 [Node](https://nodejs.org) 18+;桌面应用既不需要 Node 也不需要 Bun。Bun 运行时在 `npm install` 时捆绑 —— 无需单独安装
Bun,Windows 也不需要 WSL。如果 npm 拦截了捆绑运行时的安装脚本,见
[安装文档](https://opencodex.me/zh-cn/getting-started/installation/)。
diff --git a/readme/README.zh-TW.md b/readme/README.zh-TW.md
index c050a3ab2cc..11901c3ffd3 100644
--- a/readme/README.zh-TW.md
+++ b/readme/README.zh-TW.md
@@ -1,14 +1,26 @@
+
+
+
+
make codex open!
適用於 OpenAI Codex、Claude Code、Claude Desktop 與 Grok Build 的通用供應商代理
兩條命令,這四個就都能跑你指定的任何 LLM。
+
+
+
+
+
+
+桌面應用程式(Beta):macOS 通用 .dmg · Windows x64 .msi · Linux x86_64 .AppImage / .deb。偏好終端機?安裝 CLI:
+
```bash
npm install -g @bitkyc08/opencodex
ocx start
@@ -76,7 +88,29 @@ Gemini、Grok、GLM、DeepSeek、Kimi、Qwen、Ollama 或任何其他 LLM。它
## 快速開始
-### 個人安裝
+### 桌面應用程式(Beta)
+
+桌面應用程式是同一套代理與儀表板的原生視窗版本,附系統匣與內建的 `ocx`。
+它會接上已在執行的代理,或啟動內建的那一個;儀表板仍使用代理的連接埠
+(除非你設定了其他連接埠,否則為 **http://localhost:10100**)。請從
+[最新發行版](https://github.com/lidge-jun/opencodex/releases/latest)挑選適合你平台的檔案:
+
+| 平台 | 檔案 | 說明 |
+|---|---|---|
+| macOS 13+(Apple Silicon 與 Intel) | `OpenCodex--macos.dmg` | 通用建置,以 Developer ID 簽章並經過公證 |
+| Windows(x64) | `OpenCodex--windows-x64.msi` | 尚未經程式碼簽章:SmartScreen 會詢問一次,選擇 **More info → Run anyway** |
+| Linux(x86_64) | `OpenCodex--linux-x86_64.AppImage` 或 `-linux-amd64.deb` | 系統匣需要支援 AppIndicator 的桌面環境 |
+
+每個檔案在發行頁面上都附有 `.sha256`。在 macOS 14+ 上,應用程式還附帶
+WidgetKit 擴充套件,可顯示代理狀態、今日用量與供應商配額;它所呈現的快照模型位於
+[`app/`](../app)(`MenuBarCore`)。若要自行建置應用程式,先在儲存庫根目錄執行
+`bun install && bun run build:gui`,再於
+`desktop/` 執行:macOS 上用 `bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`,Windows 與 Linux 上用 `bun install && bun run prepare-sidecar && bun run build:local`(小工具步驟只能在 macOS 上執行)。
+[桌面應用程式指南](https://opencodex.me/zh-tw/guides/desktop-app/) 與
+[macOS 選單列應用程式指南](https://opencodex.me/zh-tw/guides/macos-menu-bar/) 涵蓋首次啟動,
+[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed) 列出所有寫入磁碟的內容。
+
+### 個人安裝(CLI)
```bash
npm install -g @bitkyc08/opencodex # Node 18+;Bun 執行環境會自動打包
@@ -89,29 +123,6 @@ ocx start # 代理 + 儀表板位於 localhost:10100
(40+ 內建,或任何 OpenAI 相容端點)、挑選模型、管理帳號。隨時可用 `ocx gui`
重新開啟儀表板。
-
-桌面應用程式與 macOS 小工具——Beta 版
-
-它是同一套儀表板的原生外殼,另附 WidgetKit 擴充套件,無需開啟瀏覽器就能查看代理狀態、
-今日用量與供應商配額。代理本身沒有改變:應用程式會尋找正在執行的代理,找不到便啟動隨附的
-`ocx` sidecar;儀表板仍使用代理的連接埠(除非你設定了其他連接埠,否則為 **http://localhost:10100**)。
-
-目前仍是 Beta 版。macOS 應用程式的發行版建置使用 Developer ID 簽章並經過公證(本機建置則使用 ad-hoc 簽章);
-Windows 安裝程式尚未經程式碼簽章,因此首次執行時 SmartScreen 會顯示警告。小工具需要 macOS 14 或更新版本;它所呈現的快照模型位於
-[`app/`](../app)(`MenuBarCore`)。
-
-請從[最新發行版](https://github.com/lidge-jun/opencodex/releases)下載,或在本機建置:先在儲存庫根目錄執行
-`bun install && bun run build:gui`,再於 `desktop/` 執行
-`bun install && bun run prepare-sidecar && bun run prepare-widget && bun run build:local`。
-
-安裝位置、服務檔案,以及其他寫入磁碟的內容,都列在
-[`AGENTS_INSTALL.md`](../AGENTS_INSTALL.md#where-things-are-installed)。
-[桌面應用程式指南](https://opencodex.me/zh-tw/guides/desktop-app/) 與
-[macOS 選單列應用程式指南](https://opencodex.me/zh-tw/guides/macos-menu-bar/)
-說明各平台的安裝方式與首次啟動步驟。
-
-
-
### ChatGPT 帳號池
opencodex 也能為 Codex 認證管理 **ChatGPT 帳號池**。新增多個 ChatGPT / Codex 帳號,
@@ -241,13 +252,13 @@ ocx init # 互動式設定:寫入 ~/.opencodex/config.json 並接上 Code
## 支援平台
-| 作業系統 | 狀態 | 服務管理員 |
-|---|---|---|
-| macOS (arm64 / x64) | 完整支援 | launchd |
-| Linux (x64 / arm64) | 完整支援 | systemd(使用者單元) |
-| Windows (x64) | 完整支援 | Task Scheduler(隱藏)/可選原生服務(`--native`、WinSW) |
+| 作業系統 | 狀態 | 服務管理員 | 桌面應用程式(Beta) |
+|---|---|---|---|
+| macOS (arm64 / x64) | 完整支援 | launchd | 通用 `.dmg` |
+| Linux (x64 / arm64) | 完整支援 | systemd(使用者單元) | x86_64 `.AppImage` / `.deb` |
+| Windows (x64) | 完整支援 | Task Scheduler(隱藏)/可選原生服務(`--native`、WinSW) | x64 `.msi` |
-需要 [Node](https://nodejs.org) 18+。Bun 執行環境在 `npm install` 時一併打包——不必另外安裝
+CLI 安裝需要 [Node](https://nodejs.org) 18+;桌面應用程式則不需要 Node 或 Bun。Bun 執行環境在 `npm install` 時一併打包——不必另外安裝
Bun,Windows 也不需要 WSL。若 npm 攔截了打包執行環境的安裝腳本,
見[安裝文件](https://opencodex.me/zh-tw/getting-started/installation/)。
diff --git a/readme/i18n-manifest.json b/readme/i18n-manifest.json
index 1452f9adf67..2eeb1c5380f 100644
--- a/readme/i18n-manifest.json
+++ b/readme/i18n-manifest.json
@@ -6,43 +6,43 @@
"file": "readme/README.fr.md",
"label": "Français",
"docsPath": "fr",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"ko": {
"file": "readme/README.ko.md",
"label": "한국어",
"docsPath": "ko",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"zh-CN": {
"file": "readme/README.zh-CN.md",
"label": "简体中文",
"docsPath": "zh-cn",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"zh-TW": {
"file": "readme/README.zh-TW.md",
"label": "繁體中文",
"docsPath": "zh-tw",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"ru": {
"file": "readme/README.ru.md",
"label": "Русский",
"docsPath": "ru",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"ja": {
"file": "readme/README.ja.md",
"label": "日本語",
"docsPath": "ja",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
},
"tr": {
"file": "readme/README.tr.md",
"label": "Türkçe",
"docsPath": "tr",
- "sourceSha256": "3f624c676ab8171840977bbef7223f7652fb19c1237632813b4ea4247cc82611"
+ "sourceSha256": "7a0520543cabc7c07d1f2ee9b55098c853bb1aeaab45d6c41627d3652efbd530"
}
}
}