@christiandoxa/prodex 0.2.114 → 0.2.116
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 +72 -43
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -2,19 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`prodex` manages multiple isolated Codex profiles and lets Codex CLI or Claude Code run on top of the same OpenAI account pool.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It is built for a simple setup:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
Use `prodex` when Codex CLI is your front end. Use `prodex claude` when Claude Code is your front end. The account pool, profile isolation, quota checks, and continuation routing stay in Prodex either way.
|
|
17
|
-
Managed profiles also share persisted Codex state such as prompt history and session resumes, so cross-profile CLI state stays aligned.
|
|
9
|
+
- each account gets its own profile
|
|
10
|
+
- quota is checked before launch
|
|
11
|
+
- fresh work can move to another ready profile
|
|
12
|
+
- existing continuations stay on the profile that already owns them
|
|
18
13
|
|
|
19
14
|
## Requirements
|
|
20
15
|
|
|
@@ -48,11 +43,11 @@ Check your installed version:
|
|
|
48
43
|
prodex --version
|
|
49
44
|
```
|
|
50
45
|
|
|
51
|
-
The current local version in this repo is `0.2.
|
|
46
|
+
The current local version in this repo is `0.2.116`:
|
|
52
47
|
|
|
53
48
|
```bash
|
|
54
|
-
npm install -g @christiandoxa/prodex@0.2.
|
|
55
|
-
cargo install prodex --force --version 0.2.
|
|
49
|
+
npm install -g @christiandoxa/prodex@0.2.116
|
|
50
|
+
cargo install prodex --force --version 0.2.116
|
|
56
51
|
```
|
|
57
52
|
|
|
58
53
|
If you want to switch from a Cargo-installed binary to npm:
|
|
@@ -62,21 +57,28 @@ cargo uninstall prodex
|
|
|
62
57
|
npm install -g @christiandoxa/prodex
|
|
63
58
|
```
|
|
64
59
|
|
|
65
|
-
##
|
|
60
|
+
## Quick Setup
|
|
66
61
|
|
|
67
|
-
|
|
62
|
+
If your shared Codex home already contains a login:
|
|
68
63
|
|
|
69
64
|
```bash
|
|
70
65
|
prodex profile import-current main
|
|
71
66
|
```
|
|
72
67
|
|
|
73
|
-
Or create a profile through the normal
|
|
68
|
+
Or create a profile through the normal login flow:
|
|
74
69
|
|
|
75
70
|
```bash
|
|
76
71
|
prodex login
|
|
77
72
|
prodex login --device-auth
|
|
78
73
|
```
|
|
79
74
|
|
|
75
|
+
If you want to name the profile first:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
prodex profile add second
|
|
79
|
+
prodex login --profile second
|
|
80
|
+
```
|
|
81
|
+
|
|
80
82
|
Check the pool:
|
|
81
83
|
|
|
82
84
|
```bash
|
|
@@ -85,59 +87,86 @@ prodex quota --all
|
|
|
85
87
|
prodex info
|
|
86
88
|
```
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
Run Codex CLI or Claude Code through Prodex:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
prodex
|
|
94
|
+
prodex exec "review this repo"
|
|
95
|
+
prodex claude -- -p "summarize this repo"
|
|
96
|
+
```
|
|
89
97
|
|
|
90
98
|
`prodex` without a subcommand is shorthand for `prodex run`.
|
|
91
99
|
|
|
100
|
+
## Important Commands
|
|
101
|
+
|
|
102
|
+
### Profile And Login
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
prodex profile list
|
|
106
|
+
prodex profile add second
|
|
107
|
+
prodex profile import-current main
|
|
108
|
+
prodex login
|
|
109
|
+
prodex login --profile second
|
|
110
|
+
prodex login --device-auth
|
|
111
|
+
prodex use --profile main
|
|
112
|
+
prodex current
|
|
113
|
+
prodex logout --profile main
|
|
114
|
+
prodex profile remove second
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Run With Codex CLI
|
|
118
|
+
|
|
92
119
|
```bash
|
|
93
120
|
prodex
|
|
94
|
-
prodex run
|
|
121
|
+
prodex run
|
|
122
|
+
prodex run --profile main
|
|
123
|
+
prodex exec "review this repo"
|
|
95
124
|
prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
96
125
|
printf 'context from stdin' | prodex run exec "summarize this"
|
|
97
126
|
```
|
|
98
127
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
## Use `prodex claude` for Claude Code
|
|
128
|
+
### Run With Claude Code
|
|
102
129
|
|
|
103
130
|
```bash
|
|
104
131
|
prodex claude -- -p "summarize this repo"
|
|
105
132
|
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
106
133
|
```
|
|
107
134
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- `prodex claude` runs Claude Code through a local Anthropic-compatible proxy
|
|
111
|
-
- Claude Code state is isolated per profile in `CLAUDE_CONFIG_DIR`
|
|
112
|
-
- the initial Claude model follows the shared Codex `config.toml` model when available
|
|
113
|
-
- Claude's native `opus`, `sonnet`, and `haiku` picker entries are pinned to representative GPT models
|
|
114
|
-
- Prodex also seeds Claude's picker with the full Prodex GPT catalog
|
|
115
|
-
- Claude `max` effort maps to OpenAI `xhigh` when the selected GPT model supports it
|
|
116
|
-
- alias-backed GPT entries reuse Claude's native alias picker values so the picker and confirmation text stay aligned
|
|
117
|
-
- additional GPT entries stay on GPT model ids so the selected model banner keeps GPT naming while Claude can still expose effort controls
|
|
118
|
-
- use `PRODEX_CLAUDE_BIN` if `claude` is not on `PATH`
|
|
119
|
-
- use `PRODEX_CLAUDE_MODEL` to force a specific upstream Responses model
|
|
120
|
-
- use `PRODEX_CLAUDE_REASONING_EFFORT` to force the upstream reasoning tier
|
|
121
|
-
|
|
122
|
-
Example:
|
|
135
|
+
### Export And Import Profiles
|
|
123
136
|
|
|
124
137
|
```bash
|
|
125
|
-
|
|
138
|
+
prodex profile export
|
|
139
|
+
prodex profile export backup.json
|
|
140
|
+
prodex profile export --profile main --profile second backup.json
|
|
141
|
+
prodex profile import backup.json
|
|
126
142
|
```
|
|
127
143
|
|
|
128
|
-
|
|
144
|
+
`prodex profile export` includes each exported profile's `auth.json`. By default it exports every configured profile and asks whether the bundle should be password-protected.
|
|
145
|
+
|
|
146
|
+
### Quota, Status, And Debugging
|
|
129
147
|
|
|
130
148
|
```bash
|
|
131
|
-
prodex profile list
|
|
132
|
-
prodex use --profile main
|
|
133
|
-
prodex current
|
|
134
149
|
prodex quota --all
|
|
135
150
|
prodex quota --all --once
|
|
151
|
+
prodex quota --profile main --detail
|
|
136
152
|
prodex info
|
|
137
153
|
prodex doctor
|
|
154
|
+
prodex doctor --quota
|
|
138
155
|
prodex doctor --runtime
|
|
139
156
|
```
|
|
140
157
|
|
|
158
|
+
If a runtime session looks stalled, inspect the latest runtime log:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
prodex doctor --runtime
|
|
162
|
+
tail -n 200 "$(cat /tmp/prodex-runtime-latest.path)"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Notes
|
|
166
|
+
|
|
167
|
+
- Managed profiles share persisted Codex state through Prodex-owned shared storage.
|
|
168
|
+
- `prodex quota --all` refreshes live by default. Use `--once` for a one-shot snapshot.
|
|
169
|
+
|
|
141
170
|
## More
|
|
142
171
|
|
|
143
|
-
For a
|
|
172
|
+
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.116",
|
|
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.116",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.2.116",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.2.116",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.2.116",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.2.116",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.2.116"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|