@christiandoxa/prodex 0.2.107 → 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 -65
- 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,120 +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
|
-
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
prodex
|
|
87
|
-
prodex run
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Running `prodex` without a subcommand is shorthand for `prodex run`.
|
|
85
|
+
## Use `prodex` for Codex CLI
|
|
91
86
|
|
|
92
|
-
|
|
87
|
+
`prodex` without a subcommand is shorthand for `prodex run`.
|
|
93
88
|
|
|
94
89
|
```bash
|
|
90
|
+
prodex
|
|
91
|
+
prodex run --profile second
|
|
95
92
|
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
93
|
+
printf 'context from stdin' | prodex run exec "summarize this"
|
|
96
94
|
```
|
|
97
95
|
|
|
98
|
-
|
|
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.
|
|
97
|
+
|
|
98
|
+
## Use `prodex claude` for Claude Code
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
|
-
prodex
|
|
101
|
+
prodex claude -- -p "summarize this repo"
|
|
102
|
+
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
102
103
|
```
|
|
103
104
|
|
|
104
|
-
|
|
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.
|
|
105
106
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
|
109
113
|
|
|
110
|
-
|
|
114
|
+
Example:
|
|
111
115
|
|
|
112
116
|
```bash
|
|
113
|
-
prodex claude -- -p "
|
|
117
|
+
PRODEX_CLAUDE_MODEL=gpt-5.2 PRODEX_CLAUDE_REASONING_EFFORT=xhigh prodex claude -- -p "hello"
|
|
114
118
|
```
|
|
115
119
|
|
|
116
|
-
##
|
|
120
|
+
## Common Commands
|
|
117
121
|
|
|
118
122
|
```bash
|
|
119
|
-
prodex
|
|
120
|
-
prodex exec "review this repo"
|
|
121
123
|
prodex profile list
|
|
122
124
|
prodex use --profile main
|
|
123
|
-
prodex
|
|
125
|
+
prodex current
|
|
124
126
|
prodex quota --all
|
|
125
127
|
prodex quota --all --once
|
|
128
|
+
prodex info
|
|
126
129
|
prodex doctor
|
|
127
130
|
prodex doctor --runtime
|
|
128
|
-
prodex run
|
|
129
|
-
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
130
|
-
prodex claude -- -p "summarize this repo"
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
##
|
|
134
|
-
|
|
135
|
-
- one `prodex` profile = one isolated `CODEX_HOME`
|
|
136
|
-
- `prodex login` still uses the real `codex login` flow, including `--device-auth`
|
|
137
|
-
- `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
|
|
138
|
-
- `prodex` without a subcommand behaves like `prodex run`
|
|
139
|
-
- `prodex run <session-id>` forwards to `codex resume <session-id>`
|
|
140
|
-
- `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
|
|
141
|
-
- `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
|
|
142
|
-
- Prodex-owned screens adapt to terminal width, and live views can also adapt to terminal height
|
|
143
|
-
- `prodex claude` injects a local Anthropic-compatible proxy for Claude Code and still uses Prodex profile selection and runtime rotation
|
|
144
|
-
- `prodex claude` also keeps Claude Code state in an isolated per-profile `CLAUDE_CONFIG_DIR`, so theme/login onboarding does not reappear every launch and the current workspace can open directly in chat mode
|
|
145
|
-
- use `PRODEX_CLAUDE_BIN` if `claude` is not on `PATH`
|
|
146
|
-
- use `PRODEX_CLAUDE_MODEL` to override the upstream Responses model used for Anthropic-compatible requests
|
|
133
|
+
## More
|
|
147
134
|
|
|
148
|
-
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"
|