@christiandoxa/prodex 0.104.0 → 0.105.0
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 +236 -11
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -46,13 +46,17 @@ You need at least one logged-in Prodex profile.
|
|
|
46
46
|
|
|
47
47
|
## Installation
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
<details open>
|
|
50
|
+
<summary>Install from npm</summary>
|
|
50
51
|
|
|
51
52
|
```bash
|
|
52
53
|
npm install -g @christiandoxa/prodex
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
</details>
|
|
57
|
+
|
|
58
|
+
<details>
|
|
59
|
+
<summary>Install from source checkout</summary>
|
|
56
60
|
|
|
57
61
|
```bash
|
|
58
62
|
cargo install --path .
|
|
@@ -60,12 +64,17 @@ cargo install --path .
|
|
|
60
64
|
|
|
61
65
|
If you install from source, make sure the `codex` binary in your `PATH` is already installed and up to date.
|
|
62
66
|
|
|
67
|
+
</details>
|
|
68
|
+
|
|
63
69
|
## Optional tools
|
|
64
70
|
|
|
65
|
-
`prodex` can run without Claude-Mem, RTK, SQZ, token-savior, claw-compactor,
|
|
71
|
+
`prodex` can run without Claude-Mem, RTK, SQZ, token-savior, claw-compactor, llm-min docs, or Presidio.
|
|
66
72
|
|
|
67
73
|
Install them only if you want to use commands such as:
|
|
68
74
|
|
|
75
|
+
<details>
|
|
76
|
+
<summary>Optional tool commands</summary>
|
|
77
|
+
|
|
69
78
|
```bash
|
|
70
79
|
prodex caveman mem
|
|
71
80
|
prodex caveman mem rtk
|
|
@@ -74,12 +83,16 @@ prodex sqz
|
|
|
74
83
|
prodex tokensavior
|
|
75
84
|
prodex clawcompactor
|
|
76
85
|
prodex llmmin
|
|
86
|
+
prodex presidio doctor
|
|
87
|
+
prodex presidio redact --text "My phone is 212-555-1234"
|
|
77
88
|
prodex s
|
|
78
89
|
prodex super
|
|
79
90
|
prodex claude mem
|
|
80
91
|
prodex claude caveman mem
|
|
81
92
|
```
|
|
82
93
|
|
|
94
|
+
</details>
|
|
95
|
+
|
|
83
96
|
<details>
|
|
84
97
|
<summary>Install Claude-Mem</summary>
|
|
85
98
|
|
|
@@ -114,13 +127,13 @@ RTK is used by the `rtk` variants and by my daily `prodex s` / `prodex super` wo
|
|
|
114
127
|
### Homebrew
|
|
115
128
|
|
|
116
129
|
```bash
|
|
117
|
-
brew install rtk
|
|
130
|
+
brew install rtk-ai/tap/rtk
|
|
118
131
|
```
|
|
119
132
|
|
|
120
133
|
### Linux/macOS quick install
|
|
121
134
|
|
|
122
135
|
```bash
|
|
123
|
-
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/
|
|
136
|
+
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
|
|
124
137
|
```
|
|
125
138
|
|
|
126
139
|
If it installs to `~/.local/bin`, make sure that directory is in your `PATH`:
|
|
@@ -138,7 +151,7 @@ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
|
138
151
|
### Cargo
|
|
139
152
|
|
|
140
153
|
```bash
|
|
141
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
154
|
+
cargo install --git https://github.com/rtk-ai/rtk rtk
|
|
142
155
|
```
|
|
143
156
|
|
|
144
157
|
### Verify RTK
|
|
@@ -154,7 +167,7 @@ Remove it and reinstall from the Git URL:
|
|
|
154
167
|
|
|
155
168
|
```bash
|
|
156
169
|
cargo uninstall rtk
|
|
157
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
170
|
+
cargo install --git https://github.com/rtk-ai/rtk rtk
|
|
158
171
|
```
|
|
159
172
|
|
|
160
173
|
### Initialize RTK
|
|
@@ -175,9 +188,193 @@ Then restart your coding tool.
|
|
|
175
188
|
|
|
176
189
|
</details>
|
|
177
190
|
|
|
191
|
+
<details>
|
|
192
|
+
<summary>Install SQZ</summary>
|
|
193
|
+
|
|
194
|
+
SQZ is used by `prodex sqz` and by Super mode when the `sqz-mcp` binary is available on `PATH` or under a managed optimizer checkout.
|
|
195
|
+
|
|
196
|
+
Recommended Linux/macOS install:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
curl -fsSL https://raw.githubusercontent.com/ojuschugh1/sqz/main/install.sh | sh
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Windows PowerShell:
|
|
203
|
+
|
|
204
|
+
```powershell
|
|
205
|
+
irm https://raw.githubusercontent.com/ojuschugh1/sqz/main/install.ps1 | iex
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Alternative npm install:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
npm install -g sqz-cli
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Optional source install:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cargo install sqz-cli
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Initialize hooks if you also want SQZ outside Prodex:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
sqz init --global
|
|
224
|
+
# or only for the current project
|
|
225
|
+
sqz init
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Verify:
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
sqz --version
|
|
232
|
+
sqz gain
|
|
233
|
+
which sqz-mcp
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Prodex auto-registers `prodex-sqz` for Super/Caveman overlay sessions when `sqz-mcp` is discoverable.
|
|
237
|
+
|
|
238
|
+
</details>
|
|
239
|
+
|
|
240
|
+
<details>
|
|
241
|
+
<summary>Install token-savior</summary>
|
|
242
|
+
|
|
243
|
+
token-savior is used by `prodex tokensavior` and by Super mode when the `token-savior` binary is available on `PATH` or under a managed optimizer checkout.
|
|
244
|
+
|
|
245
|
+
Recommended isolated install:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
git clone https://github.com/Mibayy/token-savior ~/.local/share/token-savior
|
|
249
|
+
python3 -m venv ~/.local/token-savior-venv
|
|
250
|
+
~/.local/token-savior-venv/bin/pip install -e "$HOME/.local/share/token-savior[mcp]"
|
|
251
|
+
ln -sf ~/.local/token-savior-venv/bin/token-savior ~/.local/bin/token-savior
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Make sure `~/.local/bin` is on `PATH`:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
If you use Zsh:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Verify:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
token-savior --help
|
|
270
|
+
which token-savior
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Prodex handles MCP registration for its own overlay session when it can find the binary, so you do not need to manually edit `.mcp.json` just for `prodex super`.
|
|
274
|
+
|
|
275
|
+
</details>
|
|
276
|
+
|
|
277
|
+
<details>
|
|
278
|
+
<summary>Install claw-compactor</summary>
|
|
279
|
+
|
|
280
|
+
claw-compactor is used by `prodex clawcompactor` and by Super mode as a deterministic/local context compaction aid.
|
|
281
|
+
|
|
282
|
+
Recommended source install:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
git clone https://github.com/aeromomo/claw-compactor.git ~/.local/share/claw-compactor
|
|
286
|
+
python3 -m venv ~/.local/claw-compactor-venv
|
|
287
|
+
~/.local/claw-compactor-venv/bin/pip install -e "$HOME/.local/share/claw-compactor[accurate]"
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
If you only need exact token counting for the scripts:
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
~/.local/claw-compactor-venv/bin/pip install tiktoken
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
Expose the checkout to Prodex's managed optimizer discovery:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
mkdir -p ~/.local/share/prodex-optimizers
|
|
300
|
+
ln -sfn ~/.local/share/claw-compactor ~/.local/share/prodex-optimizers/claw-compactor
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Quick non-destructive benchmark:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
python3 ~/.local/share/claw-compactor/scripts/mem_compress.py /path/to/workspace benchmark
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
</details>
|
|
310
|
+
|
|
311
|
+
<details>
|
|
312
|
+
<summary>Install or generate llm-min docs</summary>
|
|
313
|
+
|
|
314
|
+
`prodex llmmin` and Super mode look for checked-in `llm-min.txt`-style documentation. Prodex does not require the `llm-min` generator at runtime.
|
|
315
|
+
|
|
316
|
+
Install the upstream generator only when you want to create or refresh those docs:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
python3 -m pip install llm-min
|
|
320
|
+
playwright install
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
`llm-min` uses Gemini for document compression, so set a Gemini API key before generating docs:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
export GEMINI_API_KEY=your_api_key_here
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Generate from local docs:
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
llm-min -i ./docs -o ./llm_min_docs -n project
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Then check in or reference the generated `llm-min.txt`/`llm-full.txt` artifacts as appropriate for your repo. If you do not want remote model calls, skip the generator and provide hand-written or checked-in `llm-min.txt` files.
|
|
336
|
+
|
|
337
|
+
</details>
|
|
338
|
+
|
|
339
|
+
<details>
|
|
340
|
+
<summary>Install Presidio</summary>
|
|
341
|
+
|
|
342
|
+
Presidio is used by `prodex presidio` and by the optional Super-mode privacy prompt. It runs as local Analyzer and Anonymizer HTTP services.
|
|
343
|
+
|
|
344
|
+
Fast Docker install using Microsoft's published images:
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
docker pull mcr.microsoft.com/presidio-analyzer
|
|
348
|
+
docker pull mcr.microsoft.com/presidio-anonymizer
|
|
349
|
+
|
|
350
|
+
docker run -d --name presidio-analyzer -p 5002:3000 mcr.microsoft.com/presidio-analyzer:latest
|
|
351
|
+
docker run -d --name presidio-anonymizer -p 5001:3000 mcr.microsoft.com/presidio-anonymizer:latest
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Source checkout with Compose:
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
git clone https://github.com/microsoft/presidio.git ~/.local/share/presidio
|
|
358
|
+
cd ~/.local/share/presidio
|
|
359
|
+
docker compose -f docker-compose-text.yml up -d --build
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Verify with Prodex:
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
prodex presidio doctor
|
|
366
|
+
prodex presidio redact --text "My name is John Smith and my phone is 212-555-1234."
|
|
367
|
+
prodex presidio enable
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
`prodex super` / `prodex s` asks `Use Presidio for data safety? [y/N]` before starting an interactive session. The default is `n`. Answering `y` marks the session as Presidio-enabled and is equivalent to adding the `presidio` prefix to the Super stack.
|
|
371
|
+
|
|
372
|
+
</details>
|
|
373
|
+
|
|
178
374
|
## Quick start
|
|
179
375
|
|
|
180
|
-
|
|
376
|
+
<details open>
|
|
377
|
+
<summary>Import your current Codex login</summary>
|
|
181
378
|
|
|
182
379
|
If your current Codex home is already logged in:
|
|
183
380
|
|
|
@@ -185,7 +382,10 @@ If your current Codex home is already logged in:
|
|
|
185
382
|
prodex profile import-current main
|
|
186
383
|
```
|
|
187
384
|
|
|
188
|
-
|
|
385
|
+
</details>
|
|
386
|
+
|
|
387
|
+
<details>
|
|
388
|
+
<summary>Create profiles from scratch</summary>
|
|
189
389
|
|
|
190
390
|
```bash
|
|
191
391
|
prodex login
|
|
@@ -193,7 +393,10 @@ prodex profile add second
|
|
|
193
393
|
prodex login --profile second
|
|
194
394
|
```
|
|
195
395
|
|
|
196
|
-
|
|
396
|
+
</details>
|
|
397
|
+
|
|
398
|
+
<details>
|
|
399
|
+
<summary>Check profiles and quota</summary>
|
|
197
400
|
|
|
198
401
|
```bash
|
|
199
402
|
prodex profile list
|
|
@@ -201,7 +404,10 @@ prodex quota --all
|
|
|
201
404
|
prodex session list
|
|
202
405
|
```
|
|
203
406
|
|
|
204
|
-
|
|
407
|
+
</details>
|
|
408
|
+
|
|
409
|
+
<details>
|
|
410
|
+
<summary>Start Codex through Prodex</summary>
|
|
205
411
|
|
|
206
412
|
```bash
|
|
207
413
|
prodex
|
|
@@ -213,6 +419,8 @@ Or run a one-off prompt:
|
|
|
213
419
|
prodex exec "review this repo"
|
|
214
420
|
```
|
|
215
421
|
|
|
422
|
+
</details>
|
|
423
|
+
|
|
216
424
|
<details>
|
|
217
425
|
<summary>Import a Copilot CLI account</summary>
|
|
218
426
|
|
|
@@ -227,6 +435,9 @@ When you import a Copilot profile, Prodex does not move the Copilot token into P
|
|
|
227
435
|
|
|
228
436
|
## Daily command: `prodex s`
|
|
229
437
|
|
|
438
|
+
<details open>
|
|
439
|
+
<summary>Super mode overview</summary>
|
|
440
|
+
|
|
230
441
|
For daily work, I use:
|
|
231
442
|
|
|
232
443
|
```bash
|
|
@@ -261,6 +472,18 @@ prodex s exec "review this repo"
|
|
|
261
472
|
prodex caveman mem rtk sqz tokensavior clawcompactor llmmin --full-access
|
|
262
473
|
```
|
|
263
474
|
|
|
475
|
+
Before an interactive Super session starts, Prodex asks whether to enable Presidio:
|
|
476
|
+
|
|
477
|
+
```text
|
|
478
|
+
Use Presidio for data safety? [y/N]
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
The default is `n`. Answering `y` is equivalent to adding the `presidio` prefix:
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
prodex caveman mem rtk sqz tokensavior clawcompactor llmmin presidio --full-access
|
|
485
|
+
```
|
|
486
|
+
|
|
264
487
|
Full access maps to Codex's sandbox-bypass launch flag. Use it only when you intentionally want Codex to run without the normal approval and sandbox protections.
|
|
265
488
|
|
|
266
489
|
Super's built-in optimization stack is deliberately local and deterministic. It preloads the existing Caveman, Claude-Mem, and RTK pieces, auto-registers `sqz-mcp` and `token-savior` MCP servers when those binaries are already on `PATH` or in a managed `prodex-optimizers` checkout, then uses Smart Context Autopilot plus low-token workflow accommodations for targets such as `claw-compactor` and `llm-min.txt`.
|
|
@@ -272,6 +495,8 @@ RTK and SQZ split the token work across different sides of the flow:
|
|
|
272
495
|
|
|
273
496
|
Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
|
|
274
497
|
|
|
498
|
+
</details>
|
|
499
|
+
|
|
275
500
|
## Commands
|
|
276
501
|
|
|
277
502
|
<details open>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@christiandoxa/prodex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.105.0",
|
|
4
4
|
"description": "Safe multi-account auto-rotate for Codex CLI with isolated CODEX_HOME profiles",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"bin": {
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"@openai/codex": "latest"
|
|
17
17
|
},
|
|
18
18
|
"optionalDependencies": {
|
|
19
|
-
"@christiandoxa/prodex-linux-x64": "0.
|
|
20
|
-
"@christiandoxa/prodex-linux-arm64": "0.
|
|
21
|
-
"@christiandoxa/prodex-darwin-x64": "0.
|
|
22
|
-
"@christiandoxa/prodex-darwin-arm64": "0.
|
|
23
|
-
"@christiandoxa/prodex-win32-x64": "0.
|
|
24
|
-
"@christiandoxa/prodex-win32-arm64": "0.
|
|
19
|
+
"@christiandoxa/prodex-linux-x64": "0.105.0",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.105.0",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.105.0",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.105.0",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.105.0",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.105.0"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|