mirror of
https://github.com/yynxxxxx/Codex-X.git
synced 2026-10-18 05:59:23 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
257a4385b7 | ||
|
|
c0f3c9240c | ||
|
|
67ad656b45 | ||
|
|
5dbd6e2359 |
@@ -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 安装器回退为默认简洁样式,移除上一版过重的自定义安装界面图。
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "codex-x",
|
||||
"version": "0.2.12",
|
||||
"version": "0.2.13",
|
||||
"private": true,
|
||||
"description": "Codex Switch & Instruct desktop manager",
|
||||
"type": "module",
|
||||
|
||||
Generated
+1
-1
@@ -337,7 +337,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codex-x"
|
||||
version = "0.2.12"
|
||||
version = "0.2.13"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"dirs 5.0.1",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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" />
|
||||
|
||||
|
||||
@@ -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
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user