Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
57 changes: 0 additions & 57 deletions README.en.md

This file was deleted.

122 changes: 91 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,125 @@
<p align="right">
<strong>English</strong> · <a href="./README.zh-CN.md">简体中文</a>
</p>

# 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).
114 changes: 114 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<p align="right">
<a href="./README.md">English</a> · <strong>简体中文</strong>
</p>

# 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)。
21 changes: 21 additions & 0 deletions docs/images/README.md
Original file line number Diff line number Diff line change
@@ -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.
Binary file added docs/images/codex-theme-showcase.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading