Loading...
Loading...
Enhanced launcher for Codex App that unlocks plugins, enables session deletion, exports conversations, and syncs provider sessions via CDP injection
npx skill4agent add aradotso/codex-skills codexplusplus-launcherSkill by ara.so — Codex Skills collection.
# Clone the repository
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus
# Run setup.bat and select option [1]
setup.bat# Install dependencies
python -m pip install -e .
# Create shortcuts and uninstall entry
python -m codex_session_delete setup
# Launch Codex++
python -m codex_session_delete launchCodex++.lnk# Install
python -m pip install -e .
# Create /Applications/Codex++.app bundle
python -m codex_session_delete setup
# Launch from Applications or command line
python -m codex_session_delete launch# Launch Codex++ (with CDP injection)
python -m codex_session_delete launch
# Launch with custom ports
python -m codex_session_delete launch --debug-port 9229 --helper-port 57321
# Launch with specific Codex installation
python -m codex_session_delete launch \
--app-dir "C:/Program Files/WindowsApps/OpenAI.Codex_xxx/app"
# Install shortcuts/app bundle
python -m codex_session_delete setup
# Uninstall (keeps logs and backups)
python -m codex_session_delete remove
# Uninstall and remove all data
python -m codex_session_delete remove --remove-data# Check for updates
python -m codex_session_delete check-update
# Update to latest version
python -m codex_session_delete update# Install watcher
python -m codex_session_delete watch-install
# Remove watcher
python -m codex_session_delete watch-remove
# Temporarily disable watcher
python -m codex_session_delete watch-disable
# Re-enable watcher
python -m codex_session_delete watch-enablerenderer-inject.js# Main Codex database
~/.codex/state_5.sqlite
# Deletion backups
~/.codex-session-delete/backups/Codex++.mdCodex++~/.codex/backups_state/provider-sync/Codex++# Set proxy for GitHub resource loading
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
# Launch with proxy
python -m codex_session_delete launch$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launchfrom codex_session_delete.launcher import launch_codex_with_cdp
# Launch with custom configuration
launch_codex_with_cdp(
app_dir="C:/Program Files/WindowsApps/OpenAI.Codex_1.2024.xxx/app",
debug_port=9229,
helper_port=57321,
user_data_dir=None # Uses default Codex user data
)codex_session_delete/
cli.py # CLI entry point
launcher.py # Launch Codex with CDP injection
cdp.py # CDP communication and bridge
helper_server.py # Local helper HTTP server
storage_adapter.py # SQLite deletion/undo operations
provider_sync.py # Provider metadata sync
settings_store.py # Settings persistence
windows_installer.py # Windows shortcuts and uninstaller
macos_installer.py # macOS app bundle generation
watcher.py # Windows auto-watcher (optional)
inject/
renderer-inject.js # Frontend injection script
tests/ # Test suite# When Codex is installed in non-standard location
python -m codex_session_delete launch \
--app-dir "/custom/path/to/Codex/app"# Auto-detection (tries common ports: 7890, 7897, 1080, 10809, 10908)
python -m codex_session_delete launch
# Manual proxy specification
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launchfrom codex_session_delete.storage_adapter import LocalStorageAdapter
adapter = LocalStorageAdapter()
# Delete a session (creates backup)
adapter.delete_session(session_id="abc123")
# Undo deletion (restores from backup)
adapter.undo_delete(session_id="abc123")from codex_session_delete.provider_sync import ProviderSync
sync = ProviderSync()
# Sync before launch
sync.sync_all_providers()# Clone repository
git clone https://github.com/BigPizzaV3/CodexPlusPlus.git
cd CodexPlusPlus
# Install with test dependencies
python -m pip install -e .[test]
# Run tests
python -m pytest -qimport asyncio
from codex_session_delete.cdp import CDPClient
async def test_injection():
client = CDPClient(port=9229)
await client.connect()
# Inject custom script
await client.inject_script("console.log('Test injection');")
await client.close()
asyncio.run(test_injection())# Windows
type %USERPROFILE%\.codex-session-delete\launcher.log
# macOS/Linux
cat ~/.codex-session-delete/launcher.log# Find Codex installation
# Windows: typically in %LOCALAPPDATA%\Programs or WindowsApps
# Specify path manually
python -m codex_session_delete launch --app-dir "path/to/Codex/app"Codex++--remote-debugging-port=9229# Should return JSON if CDP is active
curl http://127.0.0.1:9229/json# 1. Use system proxy (auto-detected)
python -m codex_session_delete launch
# 2. Specify proxy manually
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
python -m codex_session_delete launch
# 3. Check proxy is running
curl --proxy http://127.0.0.1:7897 https://github.comCodex++python -m codex_session_delete launch # Syncs on startup if enabled# Use different ports
python -m codex_session_delete launch \
--debug-port 9230 \
--helper-port 57322
# Find what's using port 9229
# Windows
netstat -ano | findstr :9229
# macOS/Linux
lsof -i :9229# View watcher log
type %USERPROFILE%\.codex-session-delete\watcher.log
# Reinstall watcher
python -m codex_session_delete watch-remove
python -m codex_session_delete watch-install# Close Codex completely
taskkill /F /IM Codex.exe # Windows
killall Codex # macOS
# Then retry operation
python -m codex_session_delete launch# Codex main database
~/.codex/state_5.sqlite
# Session deletion backups
~/.codex-session-delete/backups/
# Provider sync backups
~/.codex/backups_state/provider-sync/
# Launch logs
~/.codex-session-delete/launcher.log
# Watcher logs (Windows only)
%USERPROFILE%\.codex-session-delete\watcher.log
# Settings
~/.codex-session-delete/settings.jsonlocalhost