[package]
name = "codex-helper"
version = "0.12.1"
edition = "2024"
license = "MIT OR Apache-2.0"
authors = ["Mingzhen Zhuang <superfrankie621@gmail.com>"]
description = "A Rust-based local helper / proxy for Codex CLI traffic with multi-provider routing, usage-aware switching, filtering, and session helpers."
readme = "README_EN.md"
keywords = ["codex", "proxy", "cli", "ai"]
categories = ["command-line-utilities", "development-tools", "asynchronous"]
repository = "https://github.com/Latias94/codex-helper"
homepage = "https://github.com/Latias94/codex-helper"
[workspace]
members = ["crates/core", "crates/tui", "crates/gui"]
[[bin]]
name = "codex-helper"
path = "src/main.rs"
[[bin]]
name = "ch"
path = "src/main.rs"
[features]
gui = ["dep:codex-helper-gui"]
[[bin]]
name = "codex-helper-gui"
path = "src/bin/codex-helper-gui.rs"
required-features = ["gui"]
[dependencies]
codex-helper-core = { path = "crates/core", version = "0.12.1" }
codex-helper-tui = { path = "crates/tui", version = "0.12.1" }
codex-helper-gui = { path = "crates/gui", version = "0.12.1", optional = true }
anyhow = "1.0.100"
base64 = "0.22.1"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
toml = "0.8"
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread", "signal", "fs"] }
axum = { version = "0.8.7", features = ["http2", "macros", "ws"] }
hyper = { version = "1.8.1", features = ["full"] }
reqwest = { version = "0.13.1", features = ["json", "stream"] }
tracing = "0.1.41"
tracing-appender = "0.2.3"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
thiserror = "2.0.17"
dirs = "6.0.0"
uuid = { version = "1.18.1", features = ["v4"] }
rand = "0.8.5"
futures-util = "0.3.31"
clap = { version = "4.5.53", features = ["derive"] }
regex = "1.12.2"
atty = "0.2.14"
owo-colors = "4.2.3"
humantime = "2.1.0"
[target.'cfg(windows)'.dependencies]
winreg = "0.52.0"
windows-sys = { version = "0.59.0", features = ["Win32_Foundation", "Win32_System_Threading", "Win32_Security"] }
[dev-dependencies]
pretty_assertions = "1.4.1"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.xz"
pkg-fmt = "txz"
bin-dir = "{ name }-{ target }/{ bin }{ binary-ext }"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.zip"
pkg-fmt = "zip"
bin-dir = "{ bin }{ binary-ext }"
[profile.dist]
inherits = "release"
lto = "thin"