[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11168":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},11168,"CodexPlusPlus","BigPizzaV3\u002FCodexPlusPlus","BigPizzaV3","An enhanced tool for CodexApp, striving to make Codex better to use and more comfortable 一个CodexApp的增强工具，努力让Codex变得更好用更舒服","",null,"Rust",14650,909,32,353,0,580,5489,14548,3435,115.88,false,"main",true,[],"2026-06-07 04:03:55","# Codex++\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fcodex-plus-plus.png\" alt=\"Codex++ 图标\" width=\"160\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  中文 | \u003Ca href=\"README_EN.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg alt=\"Release\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FBigPizzaV3\u002FCodexPlusPlus\">\n  \u003Cimg alt=\"Stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FBigPizzaV3\u002FCodexPlusPlus\">\n  \u003Cimg alt=\"License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FBigPizzaV3\u002FCodexPlusPlus\">\n  \u003Cimg alt=\"Python\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11%2B-blue\">\n\u003C\u002Fp>\n\nCodex++ 是面向 Codex App 的外部增强启动器：不修改原始安装文件，通过 Chromium DevTools Protocol 注入增强脚本。\n\n## 快速使用\n\nWindows 用户双击项目根目录的 `setup.bat`，选择：\n\n```text\n[1] Install Codex++\n```\n\n安装后双击桌面 `Codex++.lnk` 启动。\n\n命令行安装\u002F启动：\n\n```bash\npython -m pip install -e .\npython -m codex_session_delete setup\npython -m codex_session_delete launch\n```\n\nmacOS：\n\n```bash\npython -m codex_session_delete setup\n```\n\n安装后会生成 `\u002FApplications\u002FCodex++.app`。\n\n## 交流与支持\n\n欢迎扫码加入 Codex++ 交流群，反馈问题、交流使用体验或提出新功能建议：\n\n\u003Cimg src=\"docs\u002Fimages\u002Fdiscussion-group-qr.jpg\" alt=\"Codex++ 交流群二维码\" width=\"260\">\n\n如果 Codex++ 帮到了你，可以请我喝杯咖啡，或者随手赞赏支持一下继续维护。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fsponsor-alipay.jpg\" alt=\"支付宝赞赏码\" width=\"220\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fsponsor-wechat.jpg\" alt=\"微信赞赏码\" width=\"220\">\n\u003C\u002Fp>\n\n## 赞助商\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>🏆 赞助商 🏆\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>👉 \u003Ca href=\"https:\u002F\u002Frawchat.cn\">RawChat｜Codex 中转站\u003C\u002Fa> 老牌中转站，支持包月套餐。低倍率调用，高缓存命中，Pro\u002FPlus 号池，全天专人维护。\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 功能亮点\n\n- 顶部 `Codex++` 菜单：集中管理增强功能。\n- 插件入口解锁：API Key 模式下显示并启用插件入口。\n- 特殊插件强制安装：解除 App unavailable \u002F 应用不可用导致的前端安装禁用。\n- 会话删除：悬停显示删除按钮，删除前确认并支持撤销。\n- Markdown 导出：按本地 rollout 导出带时间戳的会话 Markdown。\n- 会话项目移动：把会话移动到普通对话或其他本地项目。\n- 对话 Timeline：右侧显示用户提问时间线，悬停摘要，点击跳转。\n- Provider 同步：切换 model_provider 或供应商时不丢历史会话。\n- Windows 快捷方式、卸载项、可选 watcher 自动接管、GitHub Release 更新。\n- macOS `\u002FApplications\u002FCodex++.app` 生成。\n\n## 痛点与解决\n\nAPI Key 登录模式下，Codex 原生插件入口会提示需要登录 ChatGPT，导致插件功能无法正常使用：\n\n![API Key 模式下插件入口不可用](docs\u002Fimages\u002Fpain-plugin-disabled.png)\n\nCodex 原生会话列表只有归档入口，没有真正的删除按钮：\n\n![原生会话列表缺少删除能力](docs\u002Fimages\u002Fpain-no-delete-button.png)\n\nCodex++ 启动后会解锁插件入口，并在会话列表悬停时显示删除按钮：\n\n![Codex++ 解锁插件入口并添加删除按钮](docs\u002Fimages\u002Fsolution-plugin-and-delete.png)\n\n顶部菜单栏会出现 `Codex++`，可以查看后端状态并打开设置面板：\n\n![Codex++ 后端状态指示灯](docs\u002Fimages\u002Fbackend-status-indicator.png)\n![Codex++ 设置面板](docs\u002Fimages\u002Fsettings-panel.png)\n\n## 工作方式\n\n1. 外部启动 Codex App，并附加 CDP 参数：\n   - `--remote-debugging-port=9229`\n   - `--remote-allow-origins=http:\u002F\u002F127.0.0.1:9229`\n2. 启动本地 helper 服务，用于健康检查、设置、导出、移动、删除等操作。\n3. 通过 CDP 注入 `renderer-inject.js`。\n4. 渲染端通过 CDP bridge 调用本地服务；默认不开放 HTTP 删除\u002F撤销入口，避免本机其他页面误触发。\n5. 启动时继承现有代理环境变量；若未设置，会自动探测常见本地代理端口帮助加载 GitHub 资源。\n\n这种方式不会修改 Codex 的 `app.asar`，也不需要往 Codex 安装目录写 DLL。\n\n## Provider 同步\n\n启用 `Provider 同步` 后，Codex++ 会在启动前同步本地会话 metadata，让切换供应商后历史会话仍能在 Desktop 和 `\u002Fresume` 中显示。\n\n同步范围包括 rollout 文件、SQLite 线程记录和项目路径缓存；只修复会话可见性 metadata，不改写消息内容。遇到文件锁或 SQLite 忙碌时会跳过并继续启动。\n\n## 常用命令\n\n```bash\n# 安装依赖\npython -m pip install -e .\n\n# 启动\npython -m codex_session_delete launch\n\n# 安装快捷方式 \u002F app bundle\npython -m codex_session_delete setup\n\n# 卸载\npython -m codex_session_delete remove\n\n# 同时删除日志和备份\npython -m codex_session_delete remove --remove-data\n\n# 检查更新 \u002F 更新\npython -m codex_session_delete check-update\npython -m codex_session_delete update\n\n# Windows watcher 自动接管\npython -m codex_session_delete watch-install\npython -m codex_session_delete watch-remove\npython -m codex_session_delete watch-disable\npython -m codex_session_delete watch-enable\n```\n\n直接指定 Codex 安装目录：\n\n```bash\npython -m codex_session_delete launch \\\n  --app-dir \"C:\u002FProgram Files\u002FWindowsApps\u002FOpenAI.Codex_xxx\u002Fapp\" \\\n  --debug-port 9229 \\\n  --helper-port 57321\n```\n\n## 数据位置\n\n- Codex 本地数据库：`~\u002F.codex\u002Fstate_5.sqlite`\n- 删除备份：`~\u002F.codex-session-delete\u002Fbackups`\n- Provider 同步备份：`~\u002F.codex\u002Fbackups_state\u002Fprovider-sync`\n- 启动失败日志：`~\u002F.codex-session-delete\u002Flauncher.log`\n- watcher 日志：`%USERPROFILE%\\.codex-session-delete\\watcher.log`\n\n## 常见问题\n\n### 双击 Codex++ 没反应\n\n查看日志：`%USERPROFILE%\\.codex-session-delete\\launcher.log`\n\n常见原因：Codex App 未安装或路径变化、9229 端口被占用、Python 环境不可用。\n\n### Codex++ 菜单没出现\n\n确认是从 `Codex++` 快捷方式启动，而不是原版 Codex。也可以检查 Codex 是否带有 `--remote-debugging-port=9229`。\n\n### 技能推荐加载失败\n\n如果提示 `git fetch failed` 或无法连接 GitHub，通常是网络无法直连 GitHub。Codex++ 会继承代理环境变量，也会自动探测常见本地代理端口。也可以手动指定：\n\n```powershell\n$env:HTTP_PROXY=\"http:\u002F\u002F127.0.0.1:7897\"\n$env:HTTPS_PROXY=\"http:\u002F\u002F127.0.0.1:7897\"\npython -m codex_session_delete launch\n```\n\n### 切换供应商后旧会话不见了\n\n打开 `Codex++` 设置面板，启用 `Provider 同步` 后重启 Codex++。\n\n## 开发\n\n```bash\npython -m pip install -e .[test]\npython -m pytest -q\n```\n\n主要结构：\n\n```text\ncodex_session_delete\u002F\n  cli.py                 CLI 入口\n  launcher.py            启动 Codex 并注入脚本\n  cdp.py                 CDP 通信与 bridge\n  helper_server.py       本地 helper 服务\n  storage_adapter.py     本地 SQLite 删除\u002F撤销\n  provider_sync.py       Provider 同步\n  settings_store.py      Codex++ 后端设置\n  windows_installer.py   Windows 快捷方式与卸载项\n  macos_installer.py     macOS app bundle 安装\n  watcher.py             Windows watcher（可选）\n  inject\u002Frenderer-inject.js\n\ntests\u002F                   自动化测试\n```\n\n## 友情链接\n\n- [LINUX DO](https:\u002F\u002Flinux.do)\n\n## 贡献者与 Star\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBigPizzaV3\u002FCodexPlusPlus\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=BigPizzaV3\u002FCodexPlusPlus\" alt=\"Codex++ contributors\">\n\u003C\u002Fa>\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=BigPizzaV3\u002FCodexPlusPlus&type=Date&theme=dark\">\n  \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=BigPizzaV3\u002FCodexPlusPlus&type=Date\">\n  \u003Cimg alt=\"Codex++ Star History\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=BigPizzaV3\u002FCodexPlusPlus&type=Date\">\n\u003C\u002Fpicture>\n\n## 说明\n\nCodex++ 是外部增强工具，不修改 Codex App 原始文件。Codex App 更新后，如果页面结构变化，可能需要更新注入脚本。\n","Codex++ 是一个面向 Codex App 的外部增强工具，通过 Chromium DevTools Protocol 注入增强脚本，不修改原始安装文件。其核心功能包括解锁插件入口、会话删除与管理、Markdown 导出、对话时间线显示等，并支持在不同供应商间同步历史会话。该工具使用 Python 语言开发，适合需要扩展 Codex App 功能的用户，尤其适用于 API Key 登录模式下希望解锁更多功能或更高效地管理会话的场景。",2,"2026-06-06 03:32:14","CREATED_QUERY"]