@christiandoxa/prodex 0.2.96 → 0.2.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -9
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,12 +1,131 @@
|
|
|
1
|
-
#
|
|
1
|
+
# prodex
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Safe multi-account auto-rotate for `codex`.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
native-binary pattern as `@openai/codex`: npm resolves the right platform
|
|
7
|
-
package, launches the native `prodex` binary, and injects a `codex` shim so the
|
|
8
|
-
Rust binary can delegate to `@openai/codex` without requiring a separate global
|
|
9
|
-
install.
|
|
5
|
+
`prodex` wraps `codex` with isolated profiles, built-in quota checks, and seamless account rotation.
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
## Why prodex
|
|
8
|
+
|
|
9
|
+
- auto-rotate to another ready account when the current one is quota-blocked or temporarily unhealthy
|
|
10
|
+
- keep each account isolated in its own `CODEX_HOME`
|
|
11
|
+
- preserve continuation affinity so ongoing chains stay on the right account
|
|
12
|
+
- keep transport behavior close to direct `codex`
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
Install from npm:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g @christiandoxa/prodex
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This is usually the lightest option because it does not need a local Rust build.
|
|
23
|
+
|
|
24
|
+
Or install from [crates.io](https://crates.io/crates/prodex):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cargo install prodex
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The npm package version is kept in lockstep with the published crate version.
|
|
31
|
+
|
|
32
|
+
## Update Tips
|
|
33
|
+
|
|
34
|
+
Check your installed version first:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
prodex --version
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The current local binary version in this repo is `0.2.97`, so matching update commands look like this:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm install -g @christiandoxa/prodex@0.2.97
|
|
44
|
+
cargo install prodex --force --version 0.2.97
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If you just want the lighter install path, prefer npm over `cargo install` because npm does not need to compile `prodex` locally.
|
|
48
|
+
|
|
49
|
+
If you want to move from a Cargo-installed binary to npm, uninstall the Cargo binary first and then install the npm package:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
cargo uninstall prodex
|
|
53
|
+
npm install -g @christiandoxa/prodex
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
Import your current `codex` login:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
prodex profile import-current main
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Or create a profile through `codex login`:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
prodex login
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If you need device-code auth, pass it through unchanged:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
prodex login --device-auth
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Check quotas:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
prodex quota --all
|
|
80
|
+
prodex info
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Run `codex` with safe auto-rotate:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
prodex run
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Resume a saved Codex session directly:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Pin a specific profile when needed:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
prodex run --profile second
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`prodex run exec` also preserves stdin passthrough, so prompt and piped input stay together:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
printf 'context from stdin' | prodex run exec "summarize this"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Core Commands
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
prodex profile list
|
|
111
|
+
prodex use --profile main
|
|
112
|
+
prodex info
|
|
113
|
+
prodex quota --all
|
|
114
|
+
prodex quota --all --once
|
|
115
|
+
prodex doctor
|
|
116
|
+
prodex doctor --runtime
|
|
117
|
+
prodex run
|
|
118
|
+
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Notes
|
|
122
|
+
|
|
123
|
+
- one `prodex` profile = one isolated `CODEX_HOME`
|
|
124
|
+
- `prodex login` still uses the real `codex login` flow, including `--device-auth`
|
|
125
|
+
- `prodex login` without `--profile` first tries to read the ChatGPT account email from `tokens.id_token` in `auth.json`, then falls back to the usage endpoint email when needed
|
|
126
|
+
- `prodex run <session-id>` forwards to `codex resume <session-id>`
|
|
127
|
+
- `prodex info` summarizes profile count, the installed prodex version and update status, running Prodex processes, aggregated quota pool, and a no-reset runway estimate from active runtime logs
|
|
128
|
+
- `prodex quota` live-refreshes every 5 seconds by default, and `prodex quota --all` also shows aggregated `5h` and `weekly` pool remaining before the per-profile table
|
|
129
|
+
- Prodex-owned screens adapt to terminal width, and live views can also adapt to terminal height
|
|
130
|
+
|
|
131
|
+
For a slightly longer setup guide, see [QUICKSTART.md](./QUICKSTART.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@christiandoxa/prodex",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.97",
|
|
4
4
|
"description": "Safe multi-account auto-rotate for Codex CLI with isolated CODEX_HOME profiles",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"@openai/codex": "^0.118.0"
|
|
17
17
|
},
|
|
18
18
|
"optionalDependencies": {
|
|
19
|
-
"@christiandoxa/prodex-linux-x64": "0.2.
|
|
20
|
-
"@christiandoxa/prodex-linux-arm64": "0.2.
|
|
21
|
-
"@christiandoxa/prodex-darwin-x64": "0.2.
|
|
22
|
-
"@christiandoxa/prodex-darwin-arm64": "0.2.
|
|
23
|
-
"@christiandoxa/prodex-win32-x64": "0.2.
|
|
24
|
-
"@christiandoxa/prodex-win32-arm64": "0.2.
|
|
19
|
+
"@christiandoxa/prodex-linux-x64": "0.2.97",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.2.97",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.2.97",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.2.97",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.2.97",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.2.97"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|