@christiandoxa/prodex 0.2.126 → 0.2.128
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 +97 -31
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -2,32 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Run multiple isolated Codex profiles on the same OpenAI account pool, with smart quota checks, clean profile separation, and continuation-aware routing.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`prodex` helps you manage multiple Codex identities without turning your workflow into a mess.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
9
|
+
It is designed around a simple model:
|
|
10
|
+
|
|
11
|
+
- **One account = one profile**
|
|
12
|
+
- **Quota is checked before launch**
|
|
13
|
+
- **Fresh work can move to another ready profile**
|
|
14
|
+
- **Existing continuations stay with the profile that already owns them**
|
|
15
|
+
|
|
16
|
+
That means you can keep working smoothly across multiple accounts while preserving session continuity where it matters.
|
|
17
|
+
|
|
18
|
+
## Why `prodex`?
|
|
19
|
+
|
|
20
|
+
Not everyone wants to pay $200 for a single account.
|
|
21
|
+
|
|
22
|
+
Sometimes it makes more sense to run 2 or 3 separate $20 accounts you already have. The problem is that doing it manually is annoying fast. You have to log in, log out, switch homes, check quota, and keep track of which session belongs to which account.
|
|
23
|
+
|
|
24
|
+
`prodex` exists to remove that pain.
|
|
25
|
+
|
|
26
|
+
It manages isolated profiles for each account, checks quota before launch, routes fresh work to an available profile, and keeps ongoing continuations attached to the right one.
|
|
27
|
+
|
|
28
|
+
Less account juggling, less friction, more actual work.
|
|
13
29
|
|
|
14
30
|
## Requirements
|
|
15
31
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
32
|
+
Before using `prodex`, make sure you have:
|
|
33
|
+
|
|
34
|
+
- **An OpenAI account**, plus at least one logged-in Prodex profile
|
|
35
|
+
- **Codex CLI**, if you want to use `prodex`
|
|
36
|
+
- **Claude Code (`claude`)**, if you want to use `prodex claude`
|
|
19
37
|
|
|
20
|
-
|
|
38
|
+
> Installing `@christiandoxa/prodex` from npm also installs the Codex runtime dependency for you.
|
|
39
|
+
> Claude Code is still a separate CLI and must already be available on your `PATH` if you want to use `prodex claude`.
|
|
21
40
|
|
|
22
41
|
## Install
|
|
23
42
|
|
|
24
|
-
|
|
43
|
+
### npm
|
|
25
44
|
|
|
26
45
|
```bash
|
|
27
46
|
npm install -g @christiandoxa/prodex
|
|
28
47
|
```
|
|
29
48
|
|
|
30
|
-
|
|
49
|
+
### Cargo
|
|
31
50
|
|
|
32
51
|
```bash
|
|
33
52
|
cargo install prodex
|
|
@@ -43,14 +62,20 @@ Check your installed version:
|
|
|
43
62
|
prodex --version
|
|
44
63
|
```
|
|
45
64
|
|
|
46
|
-
The current local version in this repo is `0.2.
|
|
65
|
+
The current local version in this repo is `0.2.128`:
|
|
47
66
|
|
|
48
67
|
```bash
|
|
49
|
-
npm install -g @christiandoxa/prodex@0.2.
|
|
50
|
-
cargo install prodex --force --version 0.2.
|
|
68
|
+
npm install -g @christiandoxa/prodex@0.2.128
|
|
69
|
+
cargo install prodex --force --version 0.2.128
|
|
51
70
|
```
|
|
52
71
|
|
|
53
|
-
|
|
72
|
+
Dependency status in this repo:
|
|
73
|
+
|
|
74
|
+
- The npm runtime dependency is already at the latest published `@openai/codex` release: `0.118.0`
|
|
75
|
+
- `cargo update` currently produces no Rust lockfile changes on the Rust `1.94.1` compatible graph used by this project
|
|
76
|
+
- `generic-array` remains pinned transitively by `crypto-common`, and `sha2 0.11` would require a wider RustCrypto compatibility jump than this release
|
|
77
|
+
|
|
78
|
+
Switching from a Cargo-installed binary to npm?
|
|
54
79
|
|
|
55
80
|
```bash
|
|
56
81
|
cargo uninstall prodex
|
|
@@ -65,21 +90,21 @@ If your shared Codex home already contains a login:
|
|
|
65
90
|
prodex profile import-current main
|
|
66
91
|
```
|
|
67
92
|
|
|
68
|
-
Or create a profile through the
|
|
93
|
+
Or create a profile through the usual login flow:
|
|
69
94
|
|
|
70
95
|
```bash
|
|
71
96
|
prodex login
|
|
72
97
|
prodex login --device-auth
|
|
73
98
|
```
|
|
74
99
|
|
|
75
|
-
|
|
100
|
+
Want to name the profile first?
|
|
76
101
|
|
|
77
102
|
```bash
|
|
78
103
|
prodex profile add second
|
|
79
104
|
prodex login --profile second
|
|
80
105
|
```
|
|
81
106
|
|
|
82
|
-
Check
|
|
107
|
+
Check your profile pool and quota status:
|
|
83
108
|
|
|
84
109
|
```bash
|
|
85
110
|
prodex profile list
|
|
@@ -95,11 +120,50 @@ prodex exec "review this repo"
|
|
|
95
120
|
prodex claude -- -p "summarize this repo"
|
|
96
121
|
```
|
|
97
122
|
|
|
98
|
-
`prodex` without a subcommand is shorthand for `prodex run`.
|
|
123
|
+
> `prodex` without a subcommand is shorthand for `prodex run`.
|
|
124
|
+
|
|
125
|
+
## Common Workflows
|
|
126
|
+
|
|
127
|
+
### 1. Create or import profiles
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
prodex profile import-current main
|
|
131
|
+
prodex profile add second
|
|
132
|
+
prodex login --profile second
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 2. Inspect your pool
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
prodex profile list
|
|
139
|
+
prodex quota --all
|
|
140
|
+
prodex info
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 3. Run Codex with automatic profile selection
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
prodex
|
|
147
|
+
prodex run
|
|
148
|
+
prodex exec "review this repo"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 4. Resume an existing session on the correct profile
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### 5. Run Claude Code through the same profile pool
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
prodex claude -- -p "summarize this repo"
|
|
161
|
+
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
162
|
+
```
|
|
99
163
|
|
|
100
|
-
##
|
|
164
|
+
## Command Reference
|
|
101
165
|
|
|
102
|
-
### Profile
|
|
166
|
+
### Profile & Login
|
|
103
167
|
|
|
104
168
|
```bash
|
|
105
169
|
prodex profile list
|
|
@@ -114,7 +178,7 @@ prodex logout --profile main
|
|
|
114
178
|
prodex profile remove second
|
|
115
179
|
```
|
|
116
180
|
|
|
117
|
-
### Run
|
|
181
|
+
### Run with Codex CLI
|
|
118
182
|
|
|
119
183
|
```bash
|
|
120
184
|
prodex
|
|
@@ -125,14 +189,14 @@ prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
|
125
189
|
printf 'context from stdin' | prodex run exec "summarize this"
|
|
126
190
|
```
|
|
127
191
|
|
|
128
|
-
### Run
|
|
192
|
+
### Run with Claude Code
|
|
129
193
|
|
|
130
194
|
```bash
|
|
131
195
|
prodex claude -- -p "summarize this repo"
|
|
132
196
|
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
133
197
|
```
|
|
134
198
|
|
|
135
|
-
### Export
|
|
199
|
+
### Export & Import Profiles
|
|
136
200
|
|
|
137
201
|
```bash
|
|
138
202
|
prodex profile export
|
|
@@ -141,9 +205,10 @@ prodex profile export --profile main --profile second backup.json
|
|
|
141
205
|
prodex profile import backup.json
|
|
142
206
|
```
|
|
143
207
|
|
|
144
|
-
`prodex profile export` includes each exported profile
|
|
208
|
+
`prodex profile export` includes each exported profile’s `auth.json`.
|
|
209
|
+
By default, it exports every configured profile and asks whether the bundle should be password-protected.
|
|
145
210
|
|
|
146
|
-
### Quota, Status
|
|
211
|
+
### Quota, Status & Debugging
|
|
147
212
|
|
|
148
213
|
```bash
|
|
149
214
|
prodex quota --all
|
|
@@ -163,13 +228,14 @@ prodex doctor --runtime
|
|
|
163
228
|
tail -n 200 "$(cat /tmp/prodex-runtime-latest.path)"
|
|
164
229
|
```
|
|
165
230
|
|
|
166
|
-
Use `prodex cleanup` to remove stale local runtime logs,
|
|
231
|
+
Use `prodex cleanup` to remove stale local runtime logs, temporary login homes, dead broker leases and registries, plus old orphaned managed profile homes that are no longer tracked in state.
|
|
167
232
|
|
|
168
233
|
## Notes
|
|
169
234
|
|
|
170
|
-
|
|
171
|
-
|
|
235
|
+
* Managed profiles share persisted Codex state through Prodex-owned shared storage.
|
|
236
|
+
* `prodex quota --all` refreshes live by default.
|
|
237
|
+
* Use `--once` if you only want a one-shot snapshot.
|
|
172
238
|
|
|
173
|
-
## More
|
|
239
|
+
## Learn More
|
|
174
240
|
|
|
175
241
|
For a longer walkthrough, 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.128",
|
|
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.128",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.2.128",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.2.128",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.2.128",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.2.128",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.2.128"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|