diff --git a/NOTICE.md b/NOTICE.md index 2527dec..527a979 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -12,5 +12,13 @@ The starter themes were generated for this project as original abstract worlds. They intentionally contain no third-party characters, logos, product UI, text, or watermarks. +Screenshots under `docs/images/` are sanitized, high-fidelity previews rendered +with project-owned themes. Some showcase themes come from the wider ThemeStore +catalog and are not bundled with this Community app. The previews contain a +simulated Codex interface for demonstration only and no real account, project, +or conversation data. No third-party character fan artwork is included. OpenAI +and Codex names and interface elements remain the property of their respective +owners and are not covered by the MIT License. + This project does not redistribute Node.js. At runtime it validates and uses the signed Node.js executable bundled with the user's official Codex app. diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 0b7ddd8..0000000 --- a/README.en.md +++ /dev/null @@ -1,57 +0,0 @@ -# AI ThemeStore Community - -An open-source, offline, and recoverable macOS theme app for Codex Desktop. - -> Unofficial and not affiliated with OpenAI. It does not modify the official -> `.app`, `app.asar`, binaries, or code signature. - -## Included - -- Native SwiftUI Mac app -- Local theme browsing, apply, verification, and restore actions -- Three redistributable original starter themes -- An open local `theme.json` format -- A loopback-only CDP theme engine -- Signature validation for the official Codex app and its bundled Node.js -- Transactional switching, live verification, rollback, and native safe mode - -The Community edition has no account, telemetry, remote-device, cloud Registry, -online theme download, or automatic update code. - -## Requirements - -- macOS 13 or newer -- The official Codex Desktop app -- Xcode Command Line Tools when building from source - -## Build - -```bash -./scripts/build-app.sh -open "dist/AI ThemeStore Community.app" -``` - -The output uses a local ad-hoc signature. It does not re-sign or modify Codex. - -## Test - -```bash -./tests/run-tests.sh -``` - -See [the theme format guide](docs/theme-format.md) to create a local theme. - -## Security - -The local debugging port is sensitive while a theme is active. Do not run -untrusted local software at the same time. See [SECURITY.md](SECURITY.md). - -## Full edition - -The Community edition focuses on offline themes. The complete theme catalog is -available at [themestore.ai](https://themestore.ai). - -## License - -Source code and the three original bundled themes use the [MIT License](LICENSE). -See [NOTICE.md](NOTICE.md) for trademark and third-party exclusions. diff --git a/README.md b/README.md index e838f95..6f5e8e8 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,125 @@ +

+ English · 简体中文 +

+ # AI ThemeStore Community -一套开源、离线、可恢复的 Codex Desktop macOS 主题 App。 +An open-source, offline theme app for **Codex Desktop on macOS**. It gives the +Codex workspace a visual identity while keeping the official app intact and +making every change reversible. + +[![macOS 13+](https://img.shields.io/badge/macOS-13%2B-111827?logo=apple)](https://github.com/hackergene/AI-ThemeStore-Community/releases/latest) +[![MIT License](https://img.shields.io/badge/license-MIT-25D9FF.svg)](./LICENSE) +[![Offline](https://img.shields.io/badge/runtime-offline-8A6CFF.svg)](#privacy-and-safety) + +> AI ThemeStore Community is an independent, unofficial project. It is not +> affiliated with, endorsed by, or sponsored by OpenAI. + +## Codex, themed + +This sanitized, high-fidelity showcase brings together four visual worlds from +the wider ThemeStore catalog: **Golden Buddha Dawn**, **Azure Lotus Dharma**, +**Ember Ninja Legacy**, and **Silver Nocturne Rose**. It demonstrates both New +Chat and active task surfaces without using real account, project, or +conversation data. + +![Golden Buddha Dawn, Azure Lotus Dharma, Ember Ninja Legacy, and Silver Nocturne Rose themes for Codex](./docs/images/codex-theme-showcase.png) -> 非 OpenAI 官方产品。不修改官方 `.app`、`app.asar`、二进制文件或代码签名。 +The ninja panel uses the original, non-franchise `Ember Ninja Legacy` artwork. +No third-party character fan art is included in this repository. -## Community 版包含什么 +## What this project provides -- 原生 SwiftUI Mac App -- 本地主题浏览、应用、验证与恢复 -- 三套可再分发的原创主题:极简玻璃、赛博霓虹、粉色未来城 -- 自定义主题目录与开放的 `theme.json` 格式 -- 仅绑定 `127.0.0.1` 的 CDP 主题引擎 -- 官方 Codex App 与其内置 Node.js 的签名校验 -- 事务式主题切换、实时验证、失败回滚与安全模式 +- A native SwiftUI app for browsing, applying, verifying, and restoring themes +- Three bundled redistributable themes: Minimal Glass, Cyber Neon, and Pink Future City +- An open, local `theme.json` format for creating your own Codex themes +- A loopback-only theme runtime with transactional switching and rollback +- Signature checks for the official Codex app and its bundled Node.js runtime +- No accounts, analytics, cloud registry, remote devices, or automatic updates -Community 版没有账号、遥测、远程设备、云端 Registry、在线主题下载或自动更新。 +## What we learned from theming Codex -## 系统要求 +Codex is a living product, so a durable theme cannot be just a wallpaper or a +collection of fragile selectors. The Community engine is built around a few +practical lessons: -- macOS 13 或更高版本 -- 官方 Codex Desktop App -- Xcode Command Line Tools(仅从源码构建时需要) +1. **Theme the complete workflow.** New Chat and active tasks must share the + same visual language, including cards, editors, sidebars, and layered panels. +2. **Adapt to the visible surface.** Modern app shells may contain hidden or + transitional layers. The runtime targets the visible main surface instead + of assuming the first matching element is the one users see. +3. **Preserve interaction and readability.** Glass, opacity, blur, text + contrast, focus states, and responsive layouts are treated as one system. +4. **Verify after applying.** A theme switch is only complete after the runtime + confirms the expected New Chat and task surfaces; otherwise it rolls back. +5. **Keep customization reversible.** The engine does not patch Codex binaries, + `app.asar`, application signatures, API keys, or service URLs. -## 从源码构建 +These constraints make themes feel integrated with Codex while keeping the +customization boundary understandable and recoverable. + +## Get started + +### Download + +Download the latest build from [GitHub Releases](https://github.com/hackergene/AI-ThemeStore-Community/releases/latest). + +### Build from source + +Requirements: macOS 13 or newer, the official Codex Desktop app, and Xcode +Command Line Tools. ```bash +git clone https://github.com/hackergene/AI-ThemeStore-Community.git +cd AI-ThemeStore-Community ./scripts/build-app.sh open "dist/AI ThemeStore Community.app" ``` -构建脚本会生成本地 ad-hoc 签名 App,不需要修改或重新签名官方 Codex App。 +The build script creates the Community app locally. It does not modify or +re-sign the official Codex app. -## 使用 +### Use the app -1. 打开 AI ThemeStore Community。 -2. 选择一套本地主题并点击“应用主题”。 -3. App 会安全重启 Codex,并验证 New Chat 与任务页主题运行状态。 -4. 点击“恢复官方外观”即可停止主题运行时并回到原生界面。 +1. Open AI ThemeStore Community. +2. Select a local theme and choose **Apply Theme**. +3. The app restarts Codex and verifies the themed New Chat and task surfaces. +4. Choose **Restore Codex Appearance** whenever you want the native look back. -“打开主题目录”会打开: +Custom themes live in: ```text ~/Library/Application Support/AIThemeStore/themes ``` -每套主题是一个独立目录,至少包含 `theme.json` 以及该文件引用的背景图。字段、安全限制和最小示例见 [主题格式文档](docs/theme-format.md)。 +Each theme is a folder containing a `theme.json` file and its referenced local +assets. See the [theme format guide](./docs/theme-format.md) for the schema and +a minimal example. -## 测试 +## Test ```bash ./tests/run-tests.sh ``` -## 安全说明 +## Privacy and safety + +The Community edition works offline and contains no telemetry or account code. +Its debugging connection is bound to `127.0.0.1` only. Because a local debugging +port is sensitive while a theme is active, avoid running untrusted local +software at the same time. Read the full boundary in [SECURITY.md](./SECURITY.md). -主题运行期间,本地调试端口属于敏感能力。不要同时运行不受信任的本机软件。完整边界见 [SECURITY.md](SECURITY.md)。 +## Community and full edition -## 完整版 +This repository is intentionally focused on a small, auditable, offline Codex +theme experience. The broader theme catalog and hosted browsing experience are +available at [themestore.ai](https://themestore.ai). -Community 版专注离线本地主题。完整主题商店与更多经过适配的主题可访问 [themestore.ai](https://themestore.ai)。 +Contributions are welcome. Please read [CONTRIBUTING.md](./CONTRIBUTING.md) +before opening an issue or pull request. -## 许可证 +## License -代码与仓库内三套原创主题采用 [MIT License](LICENSE)。商标和第三方内容不在授权范围内,详见 [NOTICE.md](NOTICE.md)。 +The source code and the three original bundled themes are licensed under the +[MIT License](./LICENSE). OpenAI and Codex names, official application UI, and +other third-party marks are excluded; see [NOTICE.md](./NOTICE.md). diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..81126b4 --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,114 @@ +

+ English · 简体中文 +

+ +# AI ThemeStore Community + +一套面向 **macOS Codex Desktop** 的开源离线主题 App。它可以为 Codex +工作区加入完整的视觉主题,同时保持官方 App 完整,所有改动均可恢复。 + +[![macOS 13+](https://img.shields.io/badge/macOS-13%2B-111827?logo=apple)](https://github.com/hackergene/AI-ThemeStore-Community/releases/latest) +[![MIT License](https://img.shields.io/badge/license-MIT-25D9FF.svg)](./LICENSE) +[![Offline](https://img.shields.io/badge/runtime-offline-8A6CFF.svg)](#隐私与安全) + +> AI ThemeStore Community 是独立的非官方项目,与 OpenAI 无隶属、背书或赞助关系。 + +## Codex 主题效果 + +这张经过信息清理的高保真组合图展示了完整主题库中的四种视觉世界: +**佛陀 · 万山朝光**、**佛陀 · 青莲法界**、**Ember Ninja Legacy** 与 +**银夜蔷薇**,同时覆盖 New Chat 和运行中任务,不包含任何真实账号、项目或对话数据。 + +![Codex 的金色佛陀、蓝色佛陀、Ember Ninja Legacy 与银夜蔷薇主题组合效果](./docs/images/codex-theme-showcase.png) + +忍者画面使用原创、无第三方角色的 `Ember Ninja Legacy` 素材。本仓库未包含任何 +第三方角色同人图片。 + +## 项目包含什么 + +- 原生 SwiftUI App,用于浏览、应用、验证和恢复主题 +- 三套内置可再分发主题:极简玻璃、赛博霓虹、粉色未来城市 +- 开放的本地 `theme.json` 格式,可制作自己的 Codex 主题 +- 仅绑定回环地址的主题运行时,支持事务式切换和失败回滚 +- 校验官方 Codex App 及其内置 Node.js 运行时的签名 +- 不包含账号、遥测、云端 Registry、远程设备或自动更新 + +## 适配 Codex 的实践经验 + +Codex 是持续演进的产品,因此稳定主题不能只是一张壁纸,也不能依赖一组脆弱的 +选择器。Community 引擎基于以下实践构建: + +1. **覆盖完整工作流。** New Chat 与运行中任务应使用统一视觉语言,包括任务卡、 + 输入区、侧边栏和分层面板。 +2. **识别真正可见的界面。** 现代 App Shell 可能同时存在隐藏层和过渡层,运行时 + 应定位用户实际看到的主区域,而不是默认使用第一个匹配元素。 +3. **同时保证交互和可读性。** 玻璃透明度、模糊、文字对比度、焦点状态和响应式 + 布局需要作为一套系统处理。 +4. **应用后必须验证。** 只有确认 New Chat 与任务页出现预期主题效果后才算切换 + 成功,否则自动回滚。 +5. **保持可恢复边界。** 引擎不会修改 Codex 二进制文件、`app.asar`、应用签名、 + API Key 或服务地址。 + +这些约束让主题与 Codex 更自然地融为一体,同时让自定义边界保持清晰、可审计、 +可恢复。 + +## 开始使用 + +### 下载 + +从 [GitHub Releases](https://github.com/hackergene/AI-ThemeStore-Community/releases/latest) +下载最新版本。 + +### 从源码构建 + +需要 macOS 13 或更高版本、官方 Codex Desktop App,以及 Xcode Command Line Tools。 + +```bash +git clone https://github.com/hackergene/AI-ThemeStore-Community.git +cd AI-ThemeStore-Community +./scripts/build-app.sh +open "dist/AI ThemeStore Community.app" +``` + +构建脚本只生成本地 Community App,不会修改或重新签名官方 Codex App。 + +### 使用 App + +1. 打开 AI ThemeStore Community。 +2. 选择本地主题并点击“应用主题”。 +3. App 会重启 Codex,并验证 New Chat 与任务页的主题状态。 +4. 随时点击“恢复 Codex 外观”即可回到原生界面。 + +自定义主题目录: + +```text +~/Library/Application Support/AIThemeStore/themes +``` + +每套主题是一个独立目录,包含 `theme.json` 及其引用的本地资源。字段、安全限制与 +最小示例见[主题格式文档](./docs/theme-format.md)。 + +## 测试 + +```bash +./tests/run-tests.sh +``` + +## 隐私与安全 + +Community 版离线运行,不包含遥测或账号代码。调试连接仅绑定 `127.0.0.1`。 +主题启用期间,本地调试端口属于敏感能力,请勿同时运行不可信的本机软件。完整边界 +见 [SECURITY.md](./SECURITY.md)。 + +## Community 与完整版 + +本仓库有意保持为一套小型、可审计、离线的 Codex 主题体验。更多主题及在线浏览 +体验请访问 [themestore.ai](https://themestore.ai)。 + +欢迎参与贡献。提交 Issue 或 Pull Request 前请阅读 +[CONTRIBUTING.md](./CONTRIBUTING.md)。 + +## 许可证 + +源代码和仓库内三套原创主题采用 [MIT License](./LICENSE)。OpenAI、Codex 名称、 +官方应用界面及其他第三方商标不在授权范围内,详见 [NOTICE.md](./NOTICE.md)。 diff --git a/docs/images/README.md b/docs/images/README.md new file mode 100644 index 0000000..1e8e77d --- /dev/null +++ b/docs/images/README.md @@ -0,0 +1,21 @@ +# README image provenance + +The PNG files in this directory are sanitized, high-fidelity Codex interface +previews. The README showcase uses these project-owned source themes from the +wider ThemeStore catalog: + +- `golden-buddha-dawn/hero.png` — original Buddha and Zen collection +- `azure-lotus-dharma/hero.png` — original blue Buddha and Zen collection +- `ember-ninja-legacy/hero.png` — original, non-franchise ninja world +- `silver-nocturne-rose/hero.png` — ThemeStore Community theme + +The original ninja asset is used deliberately instead of the personal-use +`hero-ip.png` fan asset. No third-party character fan artwork is included. +The showcase themes are examples of the engine's range and are not part of the +three starter theme packages bundled with this repository. + +The images contain no real account, project, file path, server, or conversation +data. + +The screenshots demonstrate theme behavior only. OpenAI and Codex names and +interface elements are not licensed under this repository's MIT License. diff --git a/docs/images/codex-theme-showcase.png b/docs/images/codex-theme-showcase.png new file mode 100644 index 0000000..7af0d56 Binary files /dev/null and b/docs/images/codex-theme-showcase.png differ