@christiandoxa/prodex 0.103.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 +254 -16
- 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,21 +64,35 @@ 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 or
|
|
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
|
|
81
|
+
prodex rtk
|
|
82
|
+
prodex sqz
|
|
83
|
+
prodex tokensavior
|
|
84
|
+
prodex clawcompactor
|
|
85
|
+
prodex llmmin
|
|
86
|
+
prodex presidio doctor
|
|
87
|
+
prodex presidio redact --text "My phone is 212-555-1234"
|
|
72
88
|
prodex s
|
|
73
89
|
prodex super
|
|
74
90
|
prodex claude mem
|
|
75
91
|
prodex claude caveman mem
|
|
76
92
|
```
|
|
77
93
|
|
|
94
|
+
</details>
|
|
95
|
+
|
|
78
96
|
<details>
|
|
79
97
|
<summary>Install Claude-Mem</summary>
|
|
80
98
|
|
|
@@ -109,13 +127,13 @@ RTK is used by the `rtk` variants and by my daily `prodex s` / `prodex super` wo
|
|
|
109
127
|
### Homebrew
|
|
110
128
|
|
|
111
129
|
```bash
|
|
112
|
-
brew install rtk
|
|
130
|
+
brew install rtk-ai/tap/rtk
|
|
113
131
|
```
|
|
114
132
|
|
|
115
133
|
### Linux/macOS quick install
|
|
116
134
|
|
|
117
135
|
```bash
|
|
118
|
-
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/
|
|
136
|
+
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
|
|
119
137
|
```
|
|
120
138
|
|
|
121
139
|
If it installs to `~/.local/bin`, make sure that directory is in your `PATH`:
|
|
@@ -133,7 +151,7 @@ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
|
|
|
133
151
|
### Cargo
|
|
134
152
|
|
|
135
153
|
```bash
|
|
136
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
154
|
+
cargo install --git https://github.com/rtk-ai/rtk rtk
|
|
137
155
|
```
|
|
138
156
|
|
|
139
157
|
### Verify RTK
|
|
@@ -149,7 +167,7 @@ Remove it and reinstall from the Git URL:
|
|
|
149
167
|
|
|
150
168
|
```bash
|
|
151
169
|
cargo uninstall rtk
|
|
152
|
-
cargo install --git https://github.com/rtk-ai/rtk
|
|
170
|
+
cargo install --git https://github.com/rtk-ai/rtk rtk
|
|
153
171
|
```
|
|
154
172
|
|
|
155
173
|
### Initialize RTK
|
|
@@ -170,9 +188,193 @@ Then restart your coding tool.
|
|
|
170
188
|
|
|
171
189
|
</details>
|
|
172
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
|
+
|
|
173
374
|
## Quick start
|
|
174
375
|
|
|
175
|
-
|
|
376
|
+
<details open>
|
|
377
|
+
<summary>Import your current Codex login</summary>
|
|
176
378
|
|
|
177
379
|
If your current Codex home is already logged in:
|
|
178
380
|
|
|
@@ -180,7 +382,10 @@ If your current Codex home is already logged in:
|
|
|
180
382
|
prodex profile import-current main
|
|
181
383
|
```
|
|
182
384
|
|
|
183
|
-
|
|
385
|
+
</details>
|
|
386
|
+
|
|
387
|
+
<details>
|
|
388
|
+
<summary>Create profiles from scratch</summary>
|
|
184
389
|
|
|
185
390
|
```bash
|
|
186
391
|
prodex login
|
|
@@ -188,7 +393,10 @@ prodex profile add second
|
|
|
188
393
|
prodex login --profile second
|
|
189
394
|
```
|
|
190
395
|
|
|
191
|
-
|
|
396
|
+
</details>
|
|
397
|
+
|
|
398
|
+
<details>
|
|
399
|
+
<summary>Check profiles and quota</summary>
|
|
192
400
|
|
|
193
401
|
```bash
|
|
194
402
|
prodex profile list
|
|
@@ -196,7 +404,10 @@ prodex quota --all
|
|
|
196
404
|
prodex session list
|
|
197
405
|
```
|
|
198
406
|
|
|
199
|
-
|
|
407
|
+
</details>
|
|
408
|
+
|
|
409
|
+
<details>
|
|
410
|
+
<summary>Start Codex through Prodex</summary>
|
|
200
411
|
|
|
201
412
|
```bash
|
|
202
413
|
prodex
|
|
@@ -208,6 +419,8 @@ Or run a one-off prompt:
|
|
|
208
419
|
prodex exec "review this repo"
|
|
209
420
|
```
|
|
210
421
|
|
|
422
|
+
</details>
|
|
423
|
+
|
|
211
424
|
<details>
|
|
212
425
|
<summary>Import a Copilot CLI account</summary>
|
|
213
426
|
|
|
@@ -222,6 +435,9 @@ When you import a Copilot profile, Prodex does not move the Copilot token into P
|
|
|
222
435
|
|
|
223
436
|
## Daily command: `prodex s`
|
|
224
437
|
|
|
438
|
+
<details open>
|
|
439
|
+
<summary>Super mode overview</summary>
|
|
440
|
+
|
|
225
441
|
For daily work, I use:
|
|
226
442
|
|
|
227
443
|
```bash
|
|
@@ -253,16 +469,33 @@ prodex s exec "review this repo"
|
|
|
253
469
|
`prodex super` expands to:
|
|
254
470
|
|
|
255
471
|
```bash
|
|
256
|
-
prodex caveman mem rtk --full-access
|
|
472
|
+
prodex caveman mem rtk sqz tokensavior clawcompactor llmmin --full-access
|
|
473
|
+
```
|
|
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
|
|
257
485
|
```
|
|
258
486
|
|
|
259
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.
|
|
260
488
|
|
|
261
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`.
|
|
262
490
|
|
|
491
|
+
RTK and SQZ split the token work across different sides of the flow:
|
|
492
|
+
|
|
493
|
+
- RTK works upstream/input-side. Use `rtk <cmd>` for noisy terminal commands before their output enters the model context, such as `git diff`, `cargo test`, `npm test`, build logs, and package-manager output.
|
|
494
|
+
- SQZ works downstream/context-side through the auto-registered `prodex-sqz` MCP server. Use it for repeated workspace reads, large text blobs, and long-session context reuse instead of emitting the same full content again.
|
|
495
|
+
|
|
263
496
|
Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
|
|
264
497
|
|
|
265
|
-
|
|
498
|
+
</details>
|
|
266
499
|
|
|
267
500
|
## Commands
|
|
268
501
|
|
|
@@ -393,6 +626,11 @@ prodex exec "review this repo"
|
|
|
393
626
|
prodex caveman
|
|
394
627
|
prodex caveman mem
|
|
395
628
|
prodex caveman mem rtk
|
|
629
|
+
prodex rtk
|
|
630
|
+
prodex sqz
|
|
631
|
+
prodex tokensavior
|
|
632
|
+
prodex clawcompactor
|
|
633
|
+
prodex llmmin
|
|
396
634
|
prodex caveman --dry-run
|
|
397
635
|
prodex caveman --profile main
|
|
398
636
|
prodex caveman exec "review this repo in caveman mode"
|
|
@@ -403,7 +641,7 @@ prodex caveman 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
|
403
641
|
|
|
404
642
|
If you use the `mem` variant, Prodex points an existing Claude-Mem Codex setup to the active Prodex session path instead of the default `~/.codex/sessions`.
|
|
405
643
|
|
|
406
|
-
Add
|
|
644
|
+
Add optimizer prefixes before Codex args when you want Prodex to inject a specific launch overlay for that session: `mem`, `rtk`, `sqz`, `tokensavior`, `clawcompactor`, or `llmmin`. Top-level shortcuts such as `prodex rtk` and `prodex sqz` map to `prodex caveman <prefix>`.
|
|
407
645
|
|
|
408
646
|
RTK is still an external binary. Install it separately if `rtk gain` is unavailable.
|
|
409
647
|
|
|
@@ -445,9 +683,9 @@ It keeps exact pass-through for continuation-sensitive requests. When safe, it u
|
|
|
445
683
|
|
|
446
684
|
The Super optimization stack is meant to stay deterministic and local by default. It auto-registers `sqz-mcp` and `token-savior` MCP servers when those binaries are already on `PATH` or in a managed `prodex-optimizers` checkout, and accommodates `claw-compactor` and `llm-min.txt`-style workflows with local compaction, stable references, and lower-token context shaping rather than hidden remote summarization.
|
|
447
685
|
|
|
448
|
-
|
|
686
|
+
RTK handles upstream/input command output before it enters the context window. SQZ handles downstream/context reuse after content is already in the session, using `prodex-sqz` when the MCP server is available.
|
|
449
687
|
|
|
450
|
-
|
|
688
|
+
Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
|
|
451
689
|
|
|
452
690
|
</details>
|
|
453
691
|
|
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"
|