- 修复 Codex Desktop 26.727 设置页改用新版导航标记后,被注入器误判为非 ChatGPT 页面并报
No page matched the expected ChatGPT shell markers的问题。双端共享契约现识别data-settings-panel-slug="general-settings",同时保留旧版外观设置锚点和严格的app:来源校验;首页与任务页的 L1 校验边界不变。 - 修复 Codex Desktop 26.727 更新后主区域、顶栏和顶部渐隐仍保持原生白底,或注入被错误报告为成功的问题(#320、#322、#326、#330)。共享选择器现同时识别旧结构与新版 app-shell 标记,首页和普通任务页必须达到完整 L1 可见性后才会提交成功。
- 同 ID 社区主题再次导入时原地升级,不再生成重复的
id-2/id-3目录;仅在身份与完整语义指纹都匹配时清理旧后缀副本,缺失或非法 ID 使用双端一致的稳定映射(#318)。 - 主题目录替换增加持久化 journal 与 commit marker。进程被强制终止或系统重启后,菜单栏 App 会在启动时恢复未提交的旧主题;只有已持久提交且指纹匹配的新主题会被保留,损坏或冲突证据 fail-closed。
- 社区 Safe CSS 与网站合同对齐:保留注册壁纸、支持有界组合玻璃滤镜,并修复搜索框出现在输入框前时漏标真实 composer 的问题。
- 修复 Codex Desktop 26.721.x 首页在
home-icon延迟渲染时被误判为注入校验失败的问题(#306)。校验现在复用已由首页内容信号解析出的[role="main"]容器;严格的home-icon路径仍优先,旧版行为不变。 - 修复显式浅色、宽幅 artwork 的
taskMode: "full"任务页 Markdown 继承原生深色壳白色前景的问题(#309)。完整模式现与 ambient/banner 一样强制使用主题文本色,并保留浅色壳对比阴影。 - 修复社区主题 ZIP 导入拒绝
backdrop-filter: blur(var(--ds-theme-surface-blur))的问题(#312)。Safe CSS 仍只允许none、0-20px blur 或注册的主题 blur 变量,不放宽到任意 filter 函数。
- 同步 v1.5.11 版本号,发布 Codex 26.727 设置页识别修复。
- 同步 v1.5.10 版本号,发布社区主题升级、Codex 26.727 渲染兼容和中断恢复修复。
- 同步 v1.5.9 版本号以发布 Windows 一键换肤补丁;macOS 运行时代码相对 v1.5.8 无行为变化。
- 同步 v1.5.8 版本号以发布 Windows 安装器补丁;macOS 运行时代码相对 v1.5.7 无行为变化。
- 修复主题展示文案里的
$破坏注入载荷的问题:String.prototype.replace即使替换值是字符串也会解释$$、$&、$`、$',而主题名等字段完全来自导入的theme.json,normalizeThemeText只拒绝控制字符和超长值、原样放行$。实测名为$`的主题会把整份 38 KB 渲染器源码拼回载荷并产生语法错误;$&和$$则生成能正常解析、但主题名已被悄悄篡改的载荷。影响是持久的——切换脚本先把theme.json作为提交标记落盘、之后才应用,所以损坏的主题此时已是活动主题,之后每次启动都会重新读取它。六处占位符替换改为函数形式;载荷构建新增未解析占位符扫描和只解析不执行的编译断言作为纵深防御(注意这两道守卫拦不住$$,函数替换本身才是修复)。未在normalizeThemeText里拒绝$——它在主题名里是合法字符,已发布的社区主题在用。
- 注入器日志与
--check结果不再记录页面标题和 URL。这些字段经launchctl submit -o落进~/Library/Application Support/下的长期日志文件,而 Codex 的窗口标题包含会话名与项目名。Windows 侧早已修正(见其 1.3.0 条目),macOS 未同步。渲染器探针也不再把document.title和location.href回传给宿主,仅保留结构标记。新增仓库级静态检查防止回归。
runtime-css-nested-has与shell-braced-vars-before-cjk两个回归测试此前未被run-tests.sh引用,只靠 CI 的通配符命中——贡献者在本地跑不到,发布流水线也完全不执行。它们分别是 #221(嵌套:has()使整条规则被丢弃、首页背景静默失效)和 #251(裸$var紧邻全角标点在set -u下崩溃并掩盖真实错误)的唯一防线。现已接入。- 发布流水线新增可移植回归作业,并作为创建 tag 的前置依赖:回归失败会在 tag 产生之前中止发布,而不是等到构建阶段才失败。未采用
workflow_run串接 CI——发布闸门依赖github.event.before读取上一次macos/VERSION来判断版本是否真的变化,而该事件不提供此字段,挂接会使"版本未变不得重复发布"失效。 - DMG 挂载验收新增图标断言。此前验收覆盖版本、URL scheme、引擎版本、许可证与预设白名单,唯独不含图标,而 #220 的根因正是缺图标的 DMG 照常出包。
bounded-community-http测试中的swiftc与xcrun调用加上超时上限。此前无上限,在繁忙的构建机上会挂起整个测试套件而非快速失败;由于回归作业现在会阻断 tag 创建,一次工具链卡顿足以拖住一次合法发布。
- 修复一键换肤(
dreamskin://apply?version=...)每次都在切换前被回滚校验取消的问题:DreamSkin 是LSUIElement(仅菜单栏、无 Dock 图标、无常规窗口),自身的确认弹窗关闭后 macOS 不会自动把焦点还给 Codex,导致 Codex 渲染进程里的document.visibilityState一直卡在hidden,captureActiveThemeThenApplyImported的回滚快照校验(12 秒超时、约 24 次重试)在整个窗口期内持续判定"当前可见状态未能确认"而安全取消,主题内容其实完全正确。已在生产环境用真实上传/审核/dreamskin://深链/真实 v1.5.4 客户端复现 5 次,且用同一份被保留下来的回滚快照直接手动重跑injector.mjs --verify——一旦手动把 Codex 切回前台,同一份快照立即校验通过,证明问题从不在快照内容本身。现在事务脚本启动前会显式重新激活 Codex(NSRunningApplication.activate),与已有的activateForUserInteraction()模式对称。
- 修复 Codex 26.721.x(Chrome/150)上应用/校验主题永远报
Injection verification failed/Initial theme verification failed的问题(#256):原生窗口就绪检查调用的 CDPBrowser.getWindowForTarget在这个 build 上对真实、聚焦、可见的窗口也返回-32000 Browser window not found。旧代码只把-32601(方法不存在)当作"该信号不可用"降级信任documentVisible,其余错误一律判定 not-ready,导致这个版本永远验证失败。已在真实 Codex 26.721.41059 会话上用 CDP 直连复现并验证:切换窗口前后台时documentVisibility正确地在 hidden/visible 间变化,但Browser.getWindowForTarget两次返回一模一样的-32000,证明该调用在此 build 上本身失效。现在-32000与-32601同样降级为不可用信号,继续以本就是硬性要求的documentVisible作为真实可见性依据。
- 修复菜单栏「应用」失败时弹出
unbound variable而非真实错误信息的问题(#251):失败提示里裸$code紧邻全角括号),在 UTF-8 locale 下set -u会把它误解析成一个从未赋值过的变量名并直接崩溃,掩盖了应用失败的真实原因。改为${code}消除歧义;新增仓库级静态检查,禁止任何 shell 脚本里出现裸$var紧邻全角标点的写法。
- 修复 Codex 26.721+ 首页/新建任务页只剩壁纸、内容完全不可见的问题(#244):新版官方客户端把首页内容列从 home-route 首个子节点的后代改成了它的兄弟节点,首个子节点现在只包着通常为空的原生
.home-banners插槽。旧版min-height: 100%/flex: 0 0 440px规则仍按旧嵌套把该插槽撑满整列,把真实内容挤出视口。新增仅在.home-banners存在时生效的覆盖规则(不影响旧版 DOM),并把注入器的 hero 校验探针改为优先检查该插槽的兄弟节点,修复后verifySession不再因此报 "Initial theme verification failed"。
- 修复外层引擎安装器在定位官方 ChatGPT 应用前检查运行进程,导致
CODEX_EXE未定义、复制前关闭检查失效的问题。安装器现在先绑定精确应用可执行路径,再判断是否运行;隔离回归覆盖复制前拒绝和内层失败后的完整目录回滚。 - 修复新版 ChatGPT 已暴露 CDP renderer 却没有主窗口时仍重复启动新实例的问题。启动器现在等调试端点就绪后激活精确 App,并在最终重试前再次激活;显示验证同时要求非最小化原生窗口或严格的可见 DOM 回退,隐藏、零尺寸和无结构的
L0renderer 不再可能提交 active 状态。
- 支持从 DreamSkin.cc 的兼容主题页面一键唤起客户端换肤。App 注册严格的
dreamskin://apply?version=ver_...协议,只连接固定官方 API、拒绝重定向,并在原生确认后核对审核与兼容状态、版本、包大小、实际下载字节数和 SHA-256,再复用 ZIP、manifest、图片与 Safe CSS 校验导入。事务只从已验证、已显示且没有待应用差异的活动皮肤开始;保存活动主题快照后、首次切换前还会用该快照对当前 renderer 做精确主题 ID/revision 校验,失败时不执行任何切换。只有真实 renderer 报告目标主题已渲染才成功;启动或渲染失败会尝试恢复原主题,只有可见验证通过才报告已恢复。自动恢复也失败时会明确报告状态未确认,并优先把唯一旧主题快照提升到持久私有恢复目录;若提升失败但原位快照仍能确认,则保留事务目录并从陈旧目录清理中排除,若无法确认任何快照则不承诺可恢复。链接不能携带任意 URL、文件路径或命令,也不存在静默应用参数。
-
发布流程改为由
main上的版本变更自动创建对应 tag、构建并公开 DMG/Setup 资产;版本未变化的普通合并只做幂等跳过,workflow_dispatch可安全重试未完成的同一版本。 -
原生菜单栏新增普通
.zip主题包导入与主题目录快捷入口;正式 Studio 包和仅供可信本地内容使用的简化包均须包含非空theme.json、不超过 10 MiB 的背景图及非空theme.css。导入只写入已保存主题,不自动改变活动主题。安全展开限制 32 MiB 压缩文件、32 个条目和 64 MiB 解压总量,并拒绝.dreamskin、路径穿越、链接、嵌套压缩包及未通过负载校验的内容。正式包会校验平台、最低客户端版本、逐文件大小与 SHA-256,并要求theme.css与safe-csscapability 一致;Safe CSS 在导入及每次应用时按本地白名单重新校验后执行,预留签名不验证。重复内容不再写入,同 ID 冲突自动保存为新标识;现有已保存的无 CSS 旧主题仍可切换但不会注入附加 CSS,同时保留手动移动完整主题目录的工作流。
- 对齐正式 Studio 主题合同:注入器完整保留
#rgb、#rgba、#rrggbbaa与 RGB/A 颜色,文案统一按 Unicode code point 执行名称 80、其余受支持字段 120 的限制;浅色自动外观不再覆盖显式十色,并补齐taskMode=full的完整画面与基础可读性遮罩。 - 修复
config.toml含多行数组时 macOS 引擎无法安装或升级的问题(#241):配置编辑器现在会安全跨过数组内容并继续保留无关 TOML、严格 UTF-8、备份和原子写入边界;菜单栏也不再把所有安装错误误报成 ChatGPT 尚未退出。
- 引擎安装的「关闭 Codex」前置检查提前到任何引擎字节拷贝之前:过去先部署再检查,失败强迫回滚一个本来完好的旧引擎(#223)。
- 部署回滚改为纯 rename 交换:先把故障树整体摘除、恢复旧引擎、最后才删除已摘除的故障树。此前对活目录直接
rm -rf再恢复,删除中断会留下 1.3.1/1.3.2 混合版本引擎(版本文件与脚本不一致且 mtime 难以察觉)。新增回归断言锁定检查顺序与 rename 回滚。
- 修复 1.3.1 全窗口首页与任务页氛围背景全部失效的回归:统一 runtime 的路由门控把 home-route 选择器(自身含
:has())嵌进了:has()/:not(:has()),而 CSS 禁止:has()嵌套,浏览器会把整条规则静默丢弃——宽幅画作退化为首页横幅卡、任务页背景纯黑,且属性(data-dream-art-wide="true"等)与实际渲染不一致。契约新增无:has()的home-route-css别名(依据同一份实测:[role=main]仅存在于首页),41 处规则等价改写为单层:has(),已在 Codex 26.715.72359 实机验证全窗口首页与选择器解析全部恢复。 - 新增编译产物「嵌套
:has()」回归测试与双端 CSS 断言更新(此前断言恰恰锁定了坏形态),防止同类失效再次带着绿色 CI 出货。
- Gothic Void Crusade 预设的
appearance从auto固定为dark(#134 引入时误用了 auto):这张暗色专属背景在浅色外壳下会与 Codex 原生浅色组件(差异卡片、任务条等)互相打架。已在用该预设的用户需重新切换一次该主题才会拿到修复。 - Pull Requests 等新版工具路由的右侧详情面板不再保留原生整块底色:新版 Codex 用
bg-token-main-surface-primary的section/div面板取代了[role="main"],旧透明化规则匹配不到,导致整窗背景图被右侧面板盖死。聊天与首页可通过「Toggle side panel」让 Review·Terminal·Browser·Files 侧面板与可见首页同屏共存,因此该透明化不再以dream-skin-home-shell做路由门控。 - 首页建议卡圆形图标居中(接手 #181 核心修复,感谢 @wayne-kk 分析与实现;fixes #176):原生 span 的
justify-start使 grid +place-items无法居中图标;改为 flex 强制居中并增补回归测试。原 PR 另外两条width:100%外层规则会打碎输入框聚焦后的建议列表(图标撑满整行、文字被挤成 0 宽),未采纳。 - 输入框聚焦后的建议下拉列表恢复原生紧凑行:不再被建议卡样式撑成 118px 的空框加居中文字,回到原生 40px 左对齐布局,仅叠加半透明底、描边与主题强调色图标,保证压在背景画上仍可读。
- 恢复 0437e18(adaptive full-window skins)误删的首页口号与主题名:右下角
.dream-skin-quote(读取主题quote字段,可自定义)重新在首页显示,标题上方恢复--dream-skin-name主题名眉标;配色从旧版写死的荧光绿改为跟随当前主题强调色,窄屏(≤1120px)自动隐藏口号,浅色外壳下去除辉光。 - 修复注入器 home 检测兜底选择器
.group\/home-suggestions被双重转义、永远匹配不到的问题(此前仅靠home-icon检测兜底才未出错)。 - 已保存主题列表在部分 Mac 上显示为空(#215):用户主目录路径的大小写与磁盘实际不一致时,主题目录会被整批误拒;现按磁盘实际路径解析,并为读目录失败与分层拒收补充仅异常时输出的诊断日志。
- 修复 Release DMG 缺失应用图标的问题(v1.3.0 安装后 Dock 与 Finder 显示通用图标):
generate-app-icon.sh在 bash 3.2 下因空数组加set -u直接崩溃,而 EXIT 清理 trap 把失败状态覆盖成成功,DMG 构建照常出包。现改为显式 SDK 分支调用、trap 保留真实退出码,并在组包与图标生成两处强制校验DreamSkin.icns确实存在。
- 菜单栏在
paused状态显示「继续显示皮肤」(调用现有应用入口),与 Windows 托盘暂停/继续文案和语义对齐;运行中仍为「重新应用皮肤」+「暂停皮肤」。 - 应用图标与菜单栏图标启用 DreamSkin 品牌 mark,与 dreamskin.cc 网站 favicon 同源:纸白圆角方、发丝描边、墨色对角半区与青色圆点;菜单栏为纯黑模板剪影,自动适配深浅色菜单栏(#217)。
- 皮肤 runtime 双端统一(#216):选择器契约收敛为
tools/selectors.json单一来源(L1/L2 分级,取自双端 DOM 快照实测),渲染器与样式经tools/sync-runtime-assets.mjs编译进双端 assets 并强制字节一致;运行时只写data-dream-*属性与 CSS 变量,锚点缺失场景降级 L0。
- 新增面向普通用户的 macOS 菜单栏应用与 DMG 发行包;从 GitHub Release 下载后拖入 Applications 即可安装,不再要求源码目录或全局 Node.js。
- 新增未签名发行包的图形界面放行说明。首次运行按系统设置中的“隐私与安全性 → 仍要打开”确认,不要求执行
xattr或关闭 Gatekeeper。 - 新增手动覆盖更新流程与状态保留说明;主题、图片和用户状态继续保存在用户目录,更新不会覆盖它们。
- 新增 Release workflow:校验 tag 与版本文件,构建 DMG、生成 SHA-256 校验和并创建待审核的 Draft Release。
- 原生 App 完整提供状态、应用、暂停、换图、主题切换、图片目录、网站、点击检查更新、登录启动、旧 SwiftBar 迁移、恢复卸载与退出入口。
- App 首启或版本升级会从只读 Bundle Resources 原子部署引擎并保留用户主题;通用二进制在组包后执行 ad-hoc 签名,不修改 Gatekeeper 或 quarantine 属性。
- 新增版本解析、状态 JSON、中文主题、更新响应、Info.plist、图标、App/DMG 发行布局和签名回归。
- 公开 DMG 只携带由贡献者提交、可随 MIT 项目分发的 Gothic Void Crusade;权利未确认的人物参考预设继续留在源码树,但会被发行构建和挂载验收明确排除。
- 自适应图像主题引擎:通过本地 Canvas 分析亮度、主色、视觉焦点、左右安全区和图像比例,为任意背景图生成协调的浅色/深色外观;图片不会上传到外部服务。
- 主题新增
appearance: auto | light | dark与art.focusX/focusY(0..1)、art.safeArea: auto | left | right | center | none、art.taskMode: auto | ambient | banner | off配置;显式值优先于自动分析。 - 首页与任务页按图像比例采用不同呈现:超宽图在任务页使用横幅和纵向渐隐,普通比例图使用低噪环境背景,也可用
taskMode=off关闭任务页图像。 - 内置 Gothic Void Crusade 与「桥本有菜」两套实测预设;安装后幂等播种到主题库,菜单栏或
switch-theme-macos.sh可直接切换,且绝不覆盖custom-*用户主题。 - 新增中英文参考图生图指南:明确
2560 × 1440、Image 1/2/3 职责、裁切安全区、原创/已授权成年身份两套流程,以及“文案和小照片不烘焙进背景”的约束。
- watcher 在文档壳层出现后立即注入,按 CSS/主题/图片内容哈希热刷新并复用静态 payload;同一主题切换不再重复启动守护进程,减少原生界面闪现和后台轮询。
- 主题切换先完整暂存图片,最后原子发布
theme.json;全新安装在没有活动主题时先启用 Gothic Void Crusade,已有活动主题保持不变。 load-image-theme-macos.sh可通过--appearance、--focus-x、--focus-y、--safe-area、--task-mode精确调节构图;旧主题缺省时使用安全自适应值。- 客户端发行包的说明版本改为读取
VERSION,避免发布文案与实际版本漂移。
- 首页建议卡片的文字节点显式跟随主题正文色,避免 Codex 浅色模式的原生文字 token 覆盖深色主题并显示成近黑色;实时验证器会在卡片可见时核对实际文字颜色。
- 保留 Codex 原生固定顶栏的定位与层级,避免打开任务侧边面板后开关被推出主区、导致面板无法关闭。
- 修复亮色背景图在 ChatGPT/Codex 暗色模式下错误生成浅色皮肤壳的问题。
appearance=auto现在跟随原生/系统外观,避免白字叠在浅色面板上导致界面不可读。 - 修复从“设置 > 外观”返回“已安排的任务”等无输入框路由后,验证器因找不到 composer 而拒绝合法 Codex 主界面的问题。
- 首页不再在原生标题栏注入主题名称和圆形伪按钮;watcher 为后续完整导航注册更早的注入并缩短目标探测间隔,以减少原生界面先闪现再换肤的时间。
- 超宽任务横幅不再让背景伪元素在固定高度直接结束;图片仍按原比例置顶,遮罩与渐隐延续到整页,减少明显的底部截断感。
- 修复普通宽屏图片被
contain与cover双层重复绘制的问题;标准 16:9 现在始终使用一张cover整窗背景,并按安全区和焦点保留主体。 - 修复沉浸任务页侧栏原生缩放热区继承背景后向主区延伸 20px、形成明显竖向分割的问题;同时统一顶栏、侧栏与输入框的半透明材质,并为输入框补上不受原生边框宽度影响的内描边。
- 16:9 宽图现在在首页也使用单张整窗背景,不再把同一图片重复绘制成 hero 卡片;插件、已安排和 Pull Requests 等工具路由会清除原生整块黑底,并将搜索框和撰写器统一为单层表面。任务页同时移除独立顶栏底色和撰写器后的原生底部渐变,避免顶部、底部出现重叠面板。
- SwiftBar 菜单栏标题恢复调色板图标,并加入静态回归检查,避免升级后只剩
Skin ON文本。 - 修复 SwiftBar 从“暂停”再次应用时,在 ChatGPT 自带 Node 初始化前读取状态而静默退出、既不弹确认框也不应用的问题;注入 watcher 改由
launchctl独立托管,菜单动作结束后不再从Skin ON跳回问号。 - SwiftBar 现在明确区分“已选主题”和“已验证应用”,显示应用中、暂停中、取消与失败结果;ChatGPT 主内容区会在开启、关闭和切换主题时展示非阻塞进度,只有 DOM、主题 ID 与 payload 版本均通过验证后才提示成功。
- 浅色模式撰写器改为更通透的珍珠白表面,并修复占位文字被原生双重透明度削弱的问题;暗色模式继续使用单层实色表面。
- 兼容 Codex Desktop 更名:官方桌面端在 26.707 从
Codex.app更名为ChatGPT.app(bundle id 仍是 com.openai.codex)。发现 / 启动流程现在两种名字都识别,且state.json缓存的旧 app 路径若已不存在则不再劫持启动——此前更新后会因指向旧Codex.app而启动失败 - 菜单栏与
status-dream-skin-macos.sh不再依赖/usr/bin/python3(macOS 12.3+ 默认不预装)读取主题名与运行状态,改用纯 shell 解析;此前在未装 Xcode 命令行工具的机器上,主题名会退化成 id、--json状态直接失效 - 截图验证不再向 ChatGPT 派发 Escape、鼠标移动或额外等待 300ms,避免验证过程改变用户当前界面。
- CDP 端点必须由已验证的官方 Codex 可执行文件或其子进程监听;WebSocket 还会校验 loopback、page ID、路径、无重定向,并安全处理畸形消息和发送异常。
- App 与 bundled Node 必须满足固定的 OpenAI Team ID 和 Apple signing requirement;热应用不再信任外部
NODE或state.json中缓存的运行时身份,CDP 祖先还会核对进程的真实 executable path。 - 运行状态读取会在执行 Node 前自行确认已验证的 bundled runtime,避免调用顺序变化重新引入未验证执行;感谢 @guiguili520 报告 #12,以及 @rwang23 提供原始修复实现。
- 主题配置与图片使用真实路径 containment,拒绝 symlink 越界、空文件、超过 16 MB、单边超过 16384 px 或超过 50 MP 的图片;主题展示文本拒绝换行和控制字符。
- AppleScript 动态内容全部通过 argv 传递;SwiftBar 过滤主题 ID、文件名和菜单文本,避免主题元数据改变菜单属性或命令参数。
config.toml只按严格 UTF-8 读取,拒绝 NUL、歧义多行 TOML、重复[desktop],通过用户级锁、原始字节核验和同目录原子替换保护中文配置与并发写入。- 暂停和恢复会在 TERM/KILL 前后核验 watcher 的 PID、启动时间、Node 和 injector 路径;不匹配的进程绝不结束,已确认 watcher 若无法停止则保留 state 并中止,不再报告假成功。
- 覆盖每套预设的可注入性与播种幂等、首页/任务 renderer、早期注入、主题原子切换、中文与 CRLF/BOM 配置往返、非法 UTF-8/NUL/TOML 拒绝、路径穿越、symlink 越界、控制字符和像素炸弹。
- 增加固定签名要求、可信 bundled Node、真实 executable ancestry 和非交互截图的回归检查。
- 「桥本有菜」源图、标准化背景和浅/暗实机截图分别归档;截图只作预览,不能当背景导入。用户提供的图像不自动获得 MIT 素材许可,公开再分发前仍需确认相应权利。
- 修正内置主题引用了未随仓库发布的背景文件,恢复使用 bundled abstract demo 素材
- 更新主题配置往返测试:安装只备份外观键,不再错误断言强制切换深色模式
- 恢复原本没有
[desktop]配置段的用户设置时,不再额外写入空段 - 热切换读取运行状态时复用 Codex 内置 Node.js,不再依赖系统
python3或执行eval - 显式传入的
--theme-dir缺少theme.json时立即报错,不再静默回退到内置 demo 主题
- 不再用
launchctl submit托管带调试口的 Codex:退出 SwiftBar / 关掉 Codex 后不应再被 launchd 自动拉起 - 暂停与完全恢复时清理
com.openai.codex-dream-skin-studio.app作业
- SwiftBar 菜单栏入口(
Install Menu Bar.command):应用 / 暂停 / 换图 / 切换已保存主题 / 从图片文件夹加载 / 完全恢复 - 主题库(
themes/)与图片投放目录(images/)动态加载,不再把 README 图库合成图当背景素材 - 按 Codex 应用浅色 / 深色自动切换皮肤壳(
data-dream-shell)
- CDP 已就绪时热切换主题(重启 injector + 短时注入),换图更快
- 注入校验放宽(项目选择器等可选),避免误杀已生效皮肤
- 注入守护优先
nohup;暂停状态与路径大小写下停止逻辑更稳 - 安装时不再强制
appearanceTheme=dark,只备份桌面外观相关键,便于恢复与自动适配
- 以原版暗色 portal CSS 为结构底,叠加 light 壳与更薄横幅遮罩,减轻「换图看不清」
- 示例纯横幅:
docs/images/banner-arina-hashimoto-pure-no-ui.png(无人机 UI 合成)
docs/images/gallery/仅为效果预览,不要当theme背景导入
- 发布 macOS 通用主题制作器,而不是固定角色皮肤。
- 加入 Finder 选图、自动 JPEG 转换、主题命名和高级配色参数。
- 主页使用独立横幅,任务页使用背景与磨砂层,完整保留原生交互。
- 改为复用并验证 Codex 官方签名 Node.js,不再附带大型运行时或依赖全局 Node。
- 增加独立安装目录、桌面启动/定制/验证/恢复入口。
- 增加官方签名、CDP 端口归属、PID 身份、刷新重注入和真实 DOM 自检。
- 增加原子配置备份、精确恢复、静态测试、安装恢复循环和发布打包脚本。
- 清理固定角色内部命名;传送门主题仅作为可替换示例素材。
- 开源树:示例横幅改为无角色抽象几何图;验收截图不入库;补充 NOTICE / README 商标与安全边界说明。