[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93603":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":31,"readmeContent":32,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},93603,"codex-autoskin","Finderchangchang\u002Fcodex-autoskin","Finderchangchang","发一张图给你的 Codex，它自己给自己换肤 | Send one image to your Codex and it reskins itself. Agent-native skin engine for the Codex desktop app.",null,"JavaScript",106,20,101,1,0,5,15,56.84,"MIT License",false,"master",true,[24,25,26,27,28,29,30],"agent","cdp","codex","electron","openai","skin","theme","2026-07-22 04:02:09","\u003Cdiv align=\"center\">\n\n# Codex AutoSkin\n\n**Send one image — your Codex reskins itself.**\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue)\n![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20%7C%20macOS-0078d4)\n![Node](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%E2%89%A5%2020-339933)\n![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FFinderchangchang\u002Fcodex-autoskin)\n![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen)\n\nTwo minutes to first light · No official files touched · One-command restore · Windows & macOS\n\n**English** · [简体中文](README.zh-CN.md) · [日本語](README.ja.md)\n\n[Quick start](#-quick-start) · [Features](#-features) · [Roadmap](#-roadmap) · [FAQ](#-faq)\n\n\u003C\u002Fdiv>\n\n---\n\n## 🎬 Live demo\n\nHand your Codex the repo link and one image, and say **\"install this skin\"**:\n\n![① one sentence](docs\u002Fdemo-step1-command.png)\n\nCodex clones, installs, and generates a theme from your image on its own:\n\n![② Codex runs it](docs\u002Fdemo-step2-agent.png)\n\nDone — from a single image to a custom skin, hands-free:\n\n![③ the result](docs\u002Fdemo-step3-result.png)\n\n> The demo theme was generated from a piece of fan art purely to show the flow; sample art belongs to its respective rights holders. Do not use another person's likeness or copyrighted material to build and **publicly distribute** a theme (keep personal ones in `themes-private\u002F`).\n\n> 📌 **This project only does step one.** Everyone already has Codex — what's missing is turning one image into a usable skin base (background + palette, both layouts). That step we make dead simple. Frames, stickers, card details — those are yours to invent; hand [THEME-SPEC.md](THEME-SPEC.md) to your agent. Tutorials to follow.\n\n### ⚡ Fastest path: copy one sentence\n\nSend this line to your Codex, with an image you like attached (landscape, subject on the right, no text\u002Fwatermark):\n\n```text\nInstall this Codex skin engine: https:\u002F\u002Fgithub.com\u002FFinderchangchang\u002Fcodex-autoskin , then use the attached image to generate a theme and apply it\n```\n\nThe rest is automatic. No image? It still lights up with a bundled theme first — add yours anytime. Don't want to use AI? See the manual per-platform steps below.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📖 Table of contents\u003C\u002Fb>\u003C\u002Fsummary>\n\n- [Features](#-features)\n- [Quick start](#-quick-start)\n- [Daily use](#-daily-use)\n- [Make your own theme](#-make-your-own-theme)\n- [How it works & safety](#-how-it-works--safety)\n- [Roadmap](#-roadmap)\n- [FAQ](#-faq)\n- [Contributing](#-contributing)\n- [About](#-about)\n- [Disclaimer](#%EF%B8%8F-disclaimer)\n- [License](#-license)\n\n\u003C\u002Fdetails>\n\n## ✨ Features\n\n- 🖼 **One image → a theme** — one command on Windows \u002F double-click-pick on macOS: auto palette extraction, light\u002Fdark route detection, generated and applied instantly\n- ⚡ **Minimal setup** — Windows: two commands; macOS: double-click, reusing the Node.js bundled with Codex, zero dependencies for regular users\n- 📁 **A theme is a folder** — one `theme.json` + one image is a theme; add or remove themes with zero code changes\n- 🤖 **Optional AI refinement** — hand the repo to your Codex \u002F Claude and deeply customize crop, copy, and stickers via [THEME-SPEC.md](THEME-SPEC.md)\n- 🔒 **Safe & reversible** — CDP injection on loopback only; never touches `WindowsApps`, the app bundle, or `app.asar`; login\u002Fsession preserved; one command to restore\n- 🛡 **Battle-tested guard** — dual-stack port probing, crash debounce + circuit breaker, decoration hit-testing; a Startup watcher on Windows \u002F a LaunchAgent on macOS re-applies the skin after Codex restarts\n\n## 🚀 Quick start\n\n### Windows: two commands\n\nRequires Windows 10\u002F11, Microsoft Store Codex (opened and signed in once), and [Node.js ≥ 20](https:\u002F\u002Fnodejs.org\u002F).\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002FFinderchangchang\u002Fcodex-autoskin.git   # or Download ZIP and extract\ncd codex-autoskin\n\n.\\quickstart.ps1                              # ① install & launch — Codex lights up with a bundled theme\n.\\quick-theme.ps1 -Image C:\\path\\your.png     # ② your image becomes a live theme\n```\n\nDon't like the palette? Swap the image and rerun. `-Name yourname` names the theme. \"Running scripts is disabled\"? See [FAQ](#-faq).\n\n### macOS: three steps, double-click only\n\nRequires the official Codex Mac app (opened and signed in once). **No Node.js install needed** — the scripts reuse the runtime bundled with Codex.\n\n1. **Download & extract** — GitHub → Code → Download ZIP, then open the `codex-autoskin` folder in Finder;\n2. **Double-click to install** — open `Install AutoSkin on macOS.command` (it asks before restarting a running Codex);\n3. **Pick an image** — open `Create AutoSkin Theme on macOS.command`, choose a PNG\u002FJPG (or drag one onto the file); it auto-extracts colors, generates, and applies.\n\nA normal install uses your existing Codex profile — **it does not wipe projects, tasks, chats, or login**. Gatekeeper blocking a script? See [FAQ](#-faq). Terminal equivalents:\n\n```bash\nscripts\u002Fautoskin-macos.sh install\nscripts\u002Fautoskin-macos.sh quick-theme \"\u002Fpath\u002Fto\u002Fyour.png\" --name my-theme\n```\n\n**Image requirements (both platforms)**: PNG \u002F JPG, landscape ≥ 1600 px wide, subject toward the right (the left carries the title), no text \u002F watermark \u002F UI in the art, and you own the rights to it.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🖼 Bundled theme previews (Aurora Veil \u002F Ember Bloom)\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Aurora Veil (dark-image route) | Ember Bloom (light-image route) |\n|---|---|\n| ![aurora fullscreen](docs\u002Fscreenshot-aurora-veil-fullscreen.png) | ![ember fullscreen](docs\u002Fscreenshot-ember-bloom-fullscreen.png) |\n| ![aurora banner](docs\u002Fscreenshot-aurora-veil-banner.png) | ![ember banner](docs\u002Fscreenshot-ember-bloom-banner.png) |\n\n> Bundled theme art is 100% procedurally generated; no photos of real people in this repo. Screenshot sidebars are blurred and project names are placeholders.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>🍎 macOS advanced usage (stable entry points \u002F common commands)\u003C\u002Fb>\u003C\u002Fsummary>\n\nInstallation atomically syncs a self-contained runtime to `~\u002FLibrary\u002FApplication Support\u002FCodexDreamSkin\u002Fruntime`; personal themes live next to it in `themes-private` (runtime updates never overwrite them). After deleting the downloaded repo you can still use the stable entry point:\n\n```bash\n\"$HOME\u002FLibrary\u002FApplication Support\u002FCodexDreamSkin\u002Fruntime\u002Fscripts\u002Fautoskin-macos.sh\" start\n\"$HOME\u002FLibrary\u002FApplication Support\u002FCodexDreamSkin\u002Fruntime\u002Fscripts\u002Fautoskin-macos.sh\" quick-theme \"\u002Fpath\u002Fto\u002Fimage.jpg\" --name my-theme\n```\n\nCommon commands (a custom port \u002F app path chosen at install time is remembered):\n\n```bash\nscripts\u002Fautoskin-macos.sh doctor                                  # health check: app, bundled Node, state dir, CDP port\nscripts\u002Fautoskin-macos.sh theme ember-bloom fullscreen            # switch theme\nscripts\u002Fautoskin-macos.sh verify --screenshot \"$PWD\u002Fshot.png\"     # verify + screenshot by native window id\nscripts\u002Fautoskin-macos.sh uninstall                               # full uninstall (safe to repeat)\nscripts\u002Finstall-dream-skin.sh --app \"$HOME\u002FApps\u002FChatGPT.app\"      # non-standard install location\nscripts\u002Fautoskin-macos.sh install --port 19335                    # if the port is taken, set it once\n```\n\nTroubleshooting logs live in `~\u002FLibrary\u002FApplication Support\u002FCodexDreamSkin\u002F`: `injector-error.log` (theme scan\u002Finjection), `watcher.log` (auto-recovery \u002F breaker), `launch-agent-error.log` (LaunchAgent).\n\n\u003C\u002Fdetails>\n\n## 🎨 Daily use\n\n```powershell\nnode scripts\\set-theme.mjs --list                  # list all themes (both platforms)\nnode scripts\\set-theme.mjs aurora-veil fullscreen  # switch theme + layout (banner \u002F fullscreen)\nscripts\\restore-dream-skin.ps1                     # Windows: restore the official look\n```\n\n```bash\nscripts\u002Fautoskin-macos.sh theme aurora-veil fullscreen   # macOS: switch theme\nscripts\u002Frestore-dream-skin.sh                            # macOS: restore the official look\n```\n\nThe choice persists automatically; or just tell your Codex \"switch to the aurora theme.\"\n\n## 🛠 Make your own theme\n\n**Quick**: `quick-theme.ps1` (Windows) \u002F the `quick-theme` command (macOS) — background swap + base palette, both layouts.\n\n**Advanced**: hand the repo and your image to your Codex \u002F Claude and say **\"refine theme &lt;name&gt; following THEME-SPEC.md\"**. [THEME-SPEC.md](THEME-SPEC.md) is a full spec written for AI agents — 28 color tokens, crop workflows for four art roles, a light\u002Fdark decision tree, an acceptance checklist — and an agent can produce a theme and self-verify from it. The bundled [aurora-veil](themes\u002Faurora-veil\u002Ftheme.json) (dark route) and [ember-bloom](themes\u002Fember-bloom\u002Ftheme.json) (light route) are two worked examples.\n\n## 🔍 How it works & safety\n\nStack: PowerShell \u002F POSIX shell + Node.js + Chrome DevTools Protocol, no third-party dependencies.\n\nIt launches the official Codex (`ChatGPT.exe` on Windows \u002F `ChatGPT.app` on macOS, via LaunchServices) with `--remote-debugging-port=9335` bound to loopback only, then injects a CSS + JS layer into the main renderer over CDP:\n\n- Never replaces, patches, or re-signs any official file or app bundle; login \u002F session \u002F plugins stay untouched\n- The platform `restore-dream-skin` script removes all injected content live; for a full uninstall add `-Uninstall -RestoreBaseTheme` (Windows) or `--uninstall --restore-base-theme` (macOS, safe to repeat)\n- All runtime state lives under `%LOCALAPPDATA%\\CodexDreamSkin` \u002F `~\u002FLibrary\u002FApplication Support\u002FCodexDreamSkin`; delete it and no trace remains\n- A hidden watcher re-applies the skin after a normal Codex restart (debounce + rate limit + failure cooldown, never fighting the app); the macOS LaunchAgent never interrupts a Codex that was already open\n- Auxiliary renderers (desktop pets, etc.) are never injected and stay transparent\n\n> The scripts and internal identifiers keep the `dream` prefix — that's the default style-pack name, and a nod to the original.\n\n## 🗺 Roadmap\n\n- [x] Two-command cold start (quickstart \u002F quick-theme)\n- [x] One-image auto palette theme generation (light \u002F dark routes)\n- [x] AI refinement spec THEME-SPEC.md\n- [x] macOS support — ✅ community-contributed, thanks [@keyuchen21](https:\u002F\u002Fgithub.com\u002Fkeyuchen21)\n- [ ] Demo GIF \u002F video tutorial series\n- [ ] Community theme gallery\n- [ ] More style packs (currently the built-in `dream` style)\n\n## ❓ FAQ\n\n**Windows says \"running scripts is disabled\"?**\nRun `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`; for a ZIP download also run `Get-ChildItem -Recurse | Unblock-File`.\n\n**macOS says \"developer cannot be verified\"?**\nRight-click the `.command` file → **Open**, then confirm once. No execute permission? Run `chmod +x .\u002F*.command .\u002Fscripts\u002F*.sh` in the repo folder. Still blocked by download quarantine and sure it's from this repo? `xattr -dr com.apple.quarantine \"\u002Fpath\u002Fto\u002Fcodex-autoskin\"`.\n\n**macOS screenshot verification fails?**\nGrant Screen Recording permission to the terminal (or agent) running the command, then retry — macOS captures by native window id, so it's correct even when another window overlaps.\n\n**The skin vanished after a Codex update?**\nWindows: rerun `.\\quickstart.ps1`. macOS: rerun `scripts\u002Fautoskin-macos.sh install`. Both rediscover the current app dynamically and store no versioned path.\n\n**Port 9335 is taken?**\nWindows: `.\\quickstart.ps1 -Port 9345`, keep the same port for later scripts. macOS: `scripts\u002Fautoskin-macos.sh install --port 19335`, later unified commands remember it.\n\n**Will it affect my Codex account or data?**\nNo. It never modifies official files, never touches login or sessions, and injection happens on loopback only. It is a decorative community project — see [Disclaimer](#%EF%B8%8F-disclaimer).\n\n**Any performance impact?**\nIt's a pure CSS\u002FJS decoration layer plus a lightweight guard process — imperceptible in normal use.\n\n**How do I fully uninstall?**\nWindows: `scripts\\restore-dream-skin.ps1 -Uninstall -RestoreBaseTheme`. macOS: `scripts\u002Fautoskin-macos.sh uninstall`. Then launch Codex normally for the pure official state.\n\n**Which platforms are supported?**\nWindows (Store Codex) and macOS (official desktop app). Linux is not supported yet — PRs welcome.\n\n## 🤝 Contributing\n\nThree kinds of contributions are most welcome: **new themes** (PR a `themes\u002F` folder + screenshots), **platform support \u002F engine fixes**, and **docs & tutorials**. See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## 💬 About\n\nThe original idea of skinning Codex through CDP injection — then called **Dream Skin** — is mine, and it's been a joy to watch it spread through the community. AutoSkin is a full rewrite: v1 answered \"can Codex be skinned?\"; this one answers \"how does anyone get their own skin from a single image?\"\n\nThe whole 2.0 was pair-programmed with AI — the full decision log, including every faceplant, is public in [DEVLOG.md](DEVLOG.md), a transparent cyber-development experiment that keeps updating. macOS support was contributed by [@keyuchen21](https:\u002F\u002Fgithub.com\u002Fkeyuchen21), landing the day after launch — open source working as intended.\n\n## ⚠️ Disclaimer\n\n- A decorative community project, **not affiliated with OpenAI**; Codex and related marks belong to their respective owners.\n- Codex desktop updates may change internal structure and require re-adaptation (the engine targets semantic selectors, so minor updates are usually seamless).\n- You are responsible for the copyright and likeness rights of art in your own themes; never use another person's likeness to build and publicly distribute a theme — keep private themes in the git-ignored `themes-private\u002F`.\n\n## 📄 License\n\n[MIT](LICENSE) © Vikicc\n",2,"2026-07-21 02:30:09","CREATED_QUERY"]