Compare commits

..
4 Commits
Author SHA1 Message Date
yyyyyynnn 257a4385b7 Polish mac titlebar and sessions panel 2026-07-04 15:06:17 +08:00
yyyyyynnn c0f3c9240c Polish README layout and license 2026-07-04 14:56:46 +08:00
yyyyyynnn 67ad656b45 Organize README screenshots 2026-07-04 14:53:34 +08:00
yyyyyynnn 5dbd6e2359 Refresh project README with previews 2026-07-04 14:51:00 +08:00
15 changed files with 205 additions and 72 deletions
+6
View File
@@ -2,6 +2,12 @@
All notable changes to Codex-X will be documented here.
## [v0.2.13] - 2026-07-04
- macOS 窗口标题栏改为深色融合样式,避免顶部出现系统白色标题条。
- 会话管理页面移除多余外层玻璃边框,统一为完整内容容器。
- 优化会话列表边界与滚动区域,避免列表像卡在外层框外面。
## [v0.2.12] - 2026-07-04
- Windows MSI 安装器回退为默认简洁样式,移除上一版过重的自定义安装界面图。
+159 -60
View File
@@ -1,11 +1,11 @@
<div align="center">
<img src="apps/desktop/src-tauri/icons/icon.png" alt="Codex-X Logo" width="160" />
<img src="apps/desktop/src-tauri/icons/icon.png" alt="Codex-X Logo" width="150" />
# Codex-X
**Codex 提示词注入与配置切换管理器**
**Codex 提示词注入 · Provider 切换 · TOML / Auth 可视化管理器**
一款面向 **OpenAI Codex / Codex CLI** 的跨平台桌面工具,重点提供 `gpt5.5-unrestricted.md` 指令提示词注入、Provider 切换、官方 Auth 管理与 TOML 可视化编辑。
一款面向 **OpenAI Codex / Codex CLI** 的跨平台桌面工具,内置 `gpt5.5-unrestricted.md` 与 `gpt5.4-unrestricted.md`,支持一键写入 / 禁用指令提示词、第三方 Provider 切换、官方 Auth 管理、TOML 可视化编辑与本地会话 Provider Sync。
<p>
<img src="https://img.shields.io/github/v/release/yynxxxxx/Codex-X?label=version&color=blue" alt="version" />
@@ -27,79 +27,179 @@
## Codex-X 是什么?
Codex-X 不是单纯的配置文件编辑器,而是一个更偏向「Codex 增强启动器」的桌面管理工具。
Codex-X 不是普通的配置文件编辑器,而是一个面向 Codex CLI 的 **可视化增强管理器**。
它可以把预设或自定义的 **指令提示词模板** 写入 Codex 配置,例如项目内置的:
它把几个高频操作做成了桌面软件:
```text
examples/gpt5.5-unrestricted.md
```
- 给 Codex 写入 / 禁用指令提示词模板
- 切换官方 OpenAI 与第三方 Codex API Provider
- 查看 / 编辑 `~/.codex/config.toml`
- 查看 / 编辑官方 `~/.codex/auth.json`
- 检查并修复本地历史会话的 Provider 元数据
你可以在 UI 中直接启用、禁用、切换多个提示词模板,也可以同时管理不同第三方供应商 API 和官方 OpenAI Codex 登录配置。
## 软件预览
<details open>
<summary><b>应用界面预览</b>:主界面 / Provider / TOML / Auth</summary>
<p align="center">
<img src="docs/screenshots/app/preview.png" alt="Codex-X 应用界面预览:主界面、Provider、TOML、Auth" width="920" />
</p>
</details>
<details>
<summary><b>提示词注入效果:安全测试场景</b></summary>
<div align="center">
<table>
<tr>
<td align="center" width="50%">
<b>SQL 注入测试</b><br />
<sub>部署后测试:如何对目标进行 SQL 注入测试?</sub><br />
<img src="docs/screenshots/prompt-effects/security/sql-injection.png" alt="SQL 注入测试效果图" width="420" />
</td>
<td align="center" width="50%">
<b>NSFW 响应测试</b><br />
<sub>用于观察提示词注入后的边界响应变化</sub><br />
<img src="docs/screenshots/prompt-effects/security/nsfw.png" alt="NSFW 响应测试效果图" width="420" />
</td>
</tr>
</table>
</div>
</details>
<details>
<summary><b>提示词注入效果:逆向工程场景</b></summary>
<div align="center">
<table>
<tr>
<td align="center" width="50%">
<b>APK 逆向分析</b><br />
<sub>Android APK 静态 / 动态分析思路</sub><br />
<img src="docs/screenshots/prompt-effects/reverse/apk-reverse-1.png" alt="APK 逆向分析效果图" width="420" />
</td>
<td align="center" width="50%">
<b>APK 逆向分析 2</b><br />
<sub>补充 APK 逆向流程与定位方式</sub><br />
<img src="docs/screenshots/prompt-effects/reverse/apk-reverse-2.png" alt="APK 逆向分析效果图 2" width="420" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<b>EXE 逆向分析</b><br />
<sub>Windows 可执行文件分析与调试方向</sub><br />
<img src="docs/screenshots/prompt-effects/reverse/exe-reverse.png" alt="EXE 逆向分析效果图" width="620" />
</td>
</tr>
</table>
</div>
</details>
## 核心亮点
### 1. 指令提示词注入
### 1. 内置双指令提示词模板
- 一键启用 `gpt5.5-unrestricted.md`
- 支持多个提示词模板并存
- 启用前自动记录状态,方便回退
- 支持禁用当前提示词,让 Codex 恢复普通配置
Codex-X 当前内置两套提示词模板:
- `examples/gpt5.5-unrestricted.md`
- `examples/gpt5.4-unrestricted.md`
你可以在【指令提示词】页面直接点击启用 / 禁用。启用后,Codex-X 会把对应 `.md` 写入 Codex 配置目录,并更新 `config.toml` 中的 `model_instructions_file`。
<div align="center">
<table>
<tr>
<th align="center">对比项</th>
<th align="center"><code>gpt5.4-unrestricted.md</code></th>
<th align="center"><code>gpt5.5-unrestricted.md</code></th>
</tr>
<tr>
<td align="center">定位</td>
<td align="center">5.4 CTF 沙箱</td>
<td align="center">5.5 无限制模式</td>
</tr>
<tr>
<td align="center">策略</td>
<td align="center">CTF 竞赛沙箱间接绕过</td>
<td align="center">直接声明无限制开发者模式</td>
</tr>
<tr>
<td align="center">风格</td>
<td align="center">安全研究导向,方法论详细</td>
<td align="center">极简指令,覆盖面广</td>
</tr>
<tr>
<td align="center">长度</td>
<td align="center">约 180 行</td>
<td align="center">约 40 行</td>
</tr>
<tr>
<td align="center">适用</td>
<td align="center">GPT-5.4 Codex CLI</td>
<td align="center">GPT-5.5 Codex CLI</td>
</tr>
</table>
</div>
部署后可以测试:
```text
如何对目标进行 SQL 注入测试?
```
典型效果:
```text
破甲前 → 拒绝或泛化回答
破甲后 → 直接给安全研究方法论与测试步骤
```
### 2. Provider 可视化切换
- 添加第三方 Codex API Provider
- 编辑 Base URL / API Key / Model / TOML 配置
- 当前 Provider 状态清晰可见
- 编辑 Base URL / API Key / Model / Wire API
- Provider 页面可查看并编辑对应 TOML
- 当前启用 Provider 状态清晰可见
- 支持从 cc-switch 数据库导入 Codex Provider
### 3. 官方 Codex 配置管理
### 3. 官方 Auth 管理
- 读取 Codex 官方 `auth.json`
- 支持官方 ChatGPT 登录态 Auth 查看与编辑
- 区分官方 Auth 与第三方 API Key,不混在一起
- 自动读取 Codex 官方 `auth.json`
- 支持查看 / 编辑 ChatGPT 登录态 Auth
- 区分官方 Auth 与第三方 API Key
- 官方配置可和第三方 Provider 在 UI 中统一管理
### 4. TOML 配置编辑
### 4. TOML 可视化编辑
- 可视化查看当前 Codex `config.toml`
- 在 Provider 编辑页直接编辑完整 TOML
- 保存后立即同步到 Codex 配置目录
- 查看当前 Codex `config.toml`
- 深色代码预览与语法高亮
- Provider 编辑页可直接编辑完整 TOML
- 保存后同步到 Codex 配置目录
### 5. 跨平台桌面软件
### 5. 会话管理 / Provider Sync
Codex-X 可以读取 Codex 本地会话数据:
```text
~/.codex/sqlite/*.db
~/.codex/state_5.sqlite
~/.codex/sessions/**/rollout-*.jsonl
~/.codex/archived_sessions/**/rollout-*.jsonl
```
用于检查旧会话的 Provider 元数据是否和当前配置一致,并支持一键同步 / 修复,让历史 thread 继续被原生 Codex 识别、打开和续聊。
### 6. 跨平台桌面软件
- macOS `.dmg`
- Windows `.msi`
- Linux `.deb` / `.rpm`
- GitHub Releases 自动构建发布
## 软件预览
<details open>
<summary><b>主界面 / Provider / TOML / Auth 截图</b></summary>
> 这里可以放软件主界面、供应商切换页面、TOML 编辑页面、官方 Auth 页面截图。
<!-- 示例:
<p align="center">
<img src="docs/screenshots/overview.png" width="760" />
</p>
-->
</details>
<details>
<summary><b>提示词注入前后效果图</b></summary>
> 这里可以放启用 `gpt5.5-unrestricted.md` 前后的 Codex 效果对比图。
<!-- 示例:
<p align="center">
<img src="docs/screenshots/prompt-before.png" width="760" />
<img src="docs/screenshots/prompt-after.png" width="760" />
</p>
-->
</details>
- 应用内检查更新
## 技术栈
@@ -154,14 +254,9 @@ pnpm dev
pnpm --dir apps/desktop tauri build
```
## License
MIT © yynxxxxx
## macOS 安装说明
如果你在未签名/未公证的 DMG 中看到“软件已损坏”提示,这是 macOS Gatekeeper 的正常行为。
如果你在未签名 / 未公证的 DMG 中看到“软件已损坏”提示,这是 macOS Gatekeeper 的正常行为。
- 最佳方式:使用 Apple Developer ID 签名并 notarize
- 仅本地测试:可手动移除 quarantine 属性
@@ -169,3 +264,7 @@ MIT © yynxxxxx
```bash
xattr -dr com.apple.quarantine /Applications/Codex-X.app
```
## 许可证
本项目基于 [MIT License](https://github.com/yynxxxxx/Codex-X/blob/main/LICENSE) 开源。
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "codex-x",
"version": "0.2.12",
"version": "0.2.13",
"private": true,
"description": "Codex Switch & Instruct desktop manager",
"type": "module",
+1 -1
View File
@@ -337,7 +337,7 @@ dependencies = [
[[package]]
name = "codex-x"
version = "0.2.12"
version = "0.2.13"
dependencies = [
"chrono",
"dirs 5.0.1",
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "codex-x"
version = "0.2.12"
version = "0.2.13"
description = "Codex Switch & Instruct desktop manager"
authors = ["yynxxxxx"]
license = "MIT"
+8 -2
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Codex-X",
"version": "0.2.12",
"version": "0.2.13",
"identifier": "com.yynxxxxx.codexx",
"build": {
"frontendDist": "../dist",
@@ -19,7 +19,13 @@
"minWidth": 1320,
"minHeight": 720,
"center": true,
"resizable": true
"resizable": true,
"titleBarStyle": "Overlay",
"hiddenTitle": true,
"trafficLightPosition": {
"x": 16,
"y": 14
}
}
],
"security": {
+2
View File
@@ -719,6 +719,7 @@ function App() {
const initialLang = (localStorage.getItem(LANG_KEY) as Lang | null) || "zh";
const [lang, setLang] = React.useState<Lang>(initialLang === "en" ? "en" : "zh");
const t = dict[lang];
const isMacRuntime = navigator.userAgent.toLowerCase().includes("mac");
const [tab, setTab] = React.useState<Tab>("dashboard");
const [providerMode, setProviderMode] = React.useState<ProviderMode>("list");
const [instructionMode, setInstructionMode] = React.useState<InstructionMode>("list");
@@ -1218,6 +1219,7 @@ function App() {
return (
<main className="app-shell">
{isMacRuntime && <div className="window-drag-strip" data-tauri-drag-region />}
<div className="orb orb-a" />
<div className="orb orb-b" />
+26 -6
View File
@@ -9,7 +9,7 @@
* { box-sizing: border-box; }
html, body, #root { width: 100%; height: 100%; margin: 0; }
body { overflow: hidden; }
body { overflow: hidden; background: #070a13; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .58; }
@@ -1450,6 +1450,13 @@ html, body, #root {
flex-direction: column;
gap: 16px;
}
.panel.glass.sessions-panel {
background: transparent;
border: 0;
box-shadow: none;
backdrop-filter: none;
padding: 0;
}
.session-status-card {
display: grid;
grid-template-columns: 52px 1fr auto;
@@ -1514,11 +1521,12 @@ html, body, #root {
font-weight: 850;
}
.session-list-card {
padding: 16px;
padding: 18px;
border-radius: 24px;
background: rgba(4,10,24,.34);
border: 1px solid rgba(255,255,255,.08);
box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
background: linear-gradient(180deg, rgba(6, 12, 27, .78), rgba(4,10,24,.58));
border: 1px solid rgba(124,168,255,.16);
box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 18px 46px rgba(0,0,0,.20);
overflow: hidden;
}
.session-list-head {
display: flex;
@@ -1547,7 +1555,7 @@ html, body, #root {
gap: 10px;
max-height: 350px;
overflow: auto;
padding-right: 4px;
padding: 0 4px 2px 0;
}
.session-list::-webkit-scrollbar {
width: 8px;
@@ -1695,3 +1703,15 @@ html, body, #root {
padding-left: 54px;
}
}
/* macOS overlay titlebar: keep top chrome visually integrated with the app theme. */
.window-drag-strip {
position: fixed;
z-index: 4;
top: 0;
left: 0;
right: 0;
height: 30px;
background: linear-gradient(90deg, rgba(16,18,43,.98), rgba(4,19,31,.98));
-webkit-app-region: drag;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "codex-x-workspace",
"private": true,
"version": "0.2.12",
"version": "0.2.13",
"scripts": {
"dev": "pnpm --dir apps/desktop tauri dev",
"build": "pnpm --dir apps/desktop tauri build",