@christiandoxa/prodex 0.2.106 → 0.2.108
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 +52 -54
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
# prodex
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
One OpenAI profile pool for Codex CLI and Claude Code.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`prodex` gives you two entry points backed by the same OpenAI account pool:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
| Use case | Command |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Run Codex CLI through Prodex | `prodex` or `prodex run` |
|
|
12
|
+
| Run Claude Code through Prodex | `prodex claude` |
|
|
13
|
+
|
|
14
|
+
It keeps each profile isolated, checks quota before launch, and rotates to another ready account before a request or stream is committed.
|
|
15
|
+
|
|
16
|
+
## Requirements
|
|
17
|
+
|
|
18
|
+
- An OpenAI account, plus at least one logged-in Prodex profile
|
|
19
|
+
- Codex CLI if you want to use `prodex`
|
|
20
|
+
- Claude Code (`claude`) if you want to use `prodex claude`
|
|
21
|
+
|
|
22
|
+
If you install `@christiandoxa/prodex` from npm, the Codex runtime dependency is installed for you. Claude Code is still a separate CLI and should already be available on your `PATH` when you use `prodex claude`.
|
|
13
23
|
|
|
14
24
|
## Install
|
|
15
25
|
|
|
@@ -19,8 +29,6 @@ Install from npm:
|
|
|
19
29
|
npm install -g @christiandoxa/prodex
|
|
20
30
|
```
|
|
21
31
|
|
|
22
|
-
This is usually the lightest option because it does not need a local Rust build.
|
|
23
|
-
|
|
24
32
|
Or install from [crates.io](https://crates.io/crates/prodex):
|
|
25
33
|
|
|
26
34
|
```bash
|
|
@@ -29,109 +37,99 @@ cargo install prodex
|
|
|
29
37
|
|
|
30
38
|
The npm package version is kept in lockstep with the published crate version.
|
|
31
39
|
|
|
32
|
-
## Update
|
|
40
|
+
## Update
|
|
33
41
|
|
|
34
|
-
Check your installed version
|
|
42
|
+
Check your installed version:
|
|
35
43
|
|
|
36
44
|
```bash
|
|
37
45
|
prodex --version
|
|
38
46
|
```
|
|
39
47
|
|
|
40
|
-
The current local
|
|
48
|
+
The current local version in this repo is `0.2.108`:
|
|
41
49
|
|
|
42
50
|
```bash
|
|
43
|
-
npm install -g @christiandoxa/prodex@0.2.
|
|
44
|
-
cargo install prodex --force --version 0.2.
|
|
51
|
+
npm install -g @christiandoxa/prodex@0.2.108
|
|
52
|
+
cargo install prodex --force --version 0.2.108
|
|
45
53
|
```
|
|
46
54
|
|
|
47
|
-
If you
|
|
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:
|
|
55
|
+
If you want to switch from a Cargo-installed binary to npm:
|
|
50
56
|
|
|
51
57
|
```bash
|
|
52
58
|
cargo uninstall prodex
|
|
53
59
|
npm install -g @christiandoxa/prodex
|
|
54
60
|
```
|
|
55
61
|
|
|
56
|
-
##
|
|
62
|
+
## Start
|
|
57
63
|
|
|
58
|
-
Import your current
|
|
64
|
+
Import your current login:
|
|
59
65
|
|
|
60
66
|
```bash
|
|
61
67
|
prodex profile import-current main
|
|
62
68
|
```
|
|
63
69
|
|
|
64
|
-
Or create a profile through
|
|
70
|
+
Or create a profile through the normal Codex login flow:
|
|
65
71
|
|
|
66
72
|
```bash
|
|
67
73
|
prodex login
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
If you need device-code auth, pass it through unchanged:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
74
|
prodex login --device-auth
|
|
74
75
|
```
|
|
75
76
|
|
|
76
|
-
Check
|
|
77
|
+
Check the pool:
|
|
77
78
|
|
|
78
79
|
```bash
|
|
80
|
+
prodex profile list
|
|
79
81
|
prodex quota --all
|
|
80
82
|
prodex info
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
## Use `prodex` for Codex CLI
|
|
86
|
+
|
|
87
|
+
`prodex` without a subcommand is shorthand for `prodex run`.
|
|
84
88
|
|
|
85
89
|
```bash
|
|
86
90
|
prodex
|
|
87
|
-
prodex run
|
|
91
|
+
prodex run --profile second
|
|
92
|
+
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
93
|
+
printf 'context from stdin' | prodex run exec "summarize this"
|
|
88
94
|
```
|
|
89
95
|
|
|
90
|
-
|
|
96
|
+
Use this path when you want Codex CLI itself to be the front end. Prodex handles profile selection, quota preflight, continuation affinity, and safe pre-commit rotation.
|
|
91
97
|
|
|
92
|
-
|
|
98
|
+
## Use `prodex claude` for Claude Code
|
|
93
99
|
|
|
94
100
|
```bash
|
|
95
|
-
prodex
|
|
101
|
+
prodex claude -- -p "summarize this repo"
|
|
102
|
+
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
96
103
|
```
|
|
97
104
|
|
|
98
|
-
|
|
105
|
+
Use this path when you want Claude Code to be the front end while Prodex still routes requests through your OpenAI-backed profile pool.
|
|
99
106
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
107
|
+
- `prodex claude` runs Claude Code through a local Anthropic-compatible proxy
|
|
108
|
+
- Claude Code state is isolated per profile in `CLAUDE_CONFIG_DIR`
|
|
109
|
+
- the default Claude custom model follows the shared Codex `config.toml` model when available
|
|
110
|
+
- use `PRODEX_CLAUDE_BIN` if `claude` is not on `PATH`
|
|
111
|
+
- use `PRODEX_CLAUDE_MODEL` to force a specific upstream Responses model
|
|
112
|
+
- use `PRODEX_CLAUDE_REASONING_EFFORT` to force the upstream reasoning tier
|
|
103
113
|
|
|
104
|
-
|
|
114
|
+
Example:
|
|
105
115
|
|
|
106
116
|
```bash
|
|
107
|
-
|
|
117
|
+
PRODEX_CLAUDE_MODEL=gpt-5.2 PRODEX_CLAUDE_REASONING_EFFORT=xhigh prodex claude -- -p "hello"
|
|
108
118
|
```
|
|
109
119
|
|
|
110
|
-
##
|
|
120
|
+
## Common Commands
|
|
111
121
|
|
|
112
122
|
```bash
|
|
113
|
-
prodex
|
|
114
|
-
prodex exec "review this repo"
|
|
115
123
|
prodex profile list
|
|
116
124
|
prodex use --profile main
|
|
117
|
-
prodex
|
|
125
|
+
prodex current
|
|
118
126
|
prodex quota --all
|
|
119
127
|
prodex quota --all --once
|
|
128
|
+
prodex info
|
|
120
129
|
prodex doctor
|
|
121
130
|
prodex doctor --runtime
|
|
122
|
-
prodex run
|
|
123
|
-
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
124
131
|
```
|
|
125
132
|
|
|
126
|
-
##
|
|
127
|
-
|
|
128
|
-
- one `prodex` profile = one isolated `CODEX_HOME`
|
|
129
|
-
- `prodex login` still uses the real `codex login` flow, including `--device-auth`
|
|
130
|
-
- `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
|
|
131
|
-
- `prodex` without a subcommand behaves like `prodex run`
|
|
132
|
-
- `prodex run <session-id>` forwards to `codex resume <session-id>`
|
|
133
|
-
- `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
|
|
134
|
-
- `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
|
|
135
|
-
- Prodex-owned screens adapt to terminal width, and live views can also adapt to terminal height
|
|
133
|
+
## More
|
|
136
134
|
|
|
137
|
-
For a slightly longer
|
|
135
|
+
For a slightly longer walkthrough, see [QUICKSTART.md](https://github.com/christiandoxa/prodex/blob/main/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.108",
|
|
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.108",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.2.108",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.2.108",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.2.108",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.2.108",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.2.108"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|