@youdie006/swapdex 0.152.0 → 0.153.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 +30 -5
- package/man/swapdex.1 +3 -3
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/cli-banner.png" alt="swapdex - switch Claude Code and
|
|
3
|
+
<img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/cli-banner.png" alt="swapdex - switch Claude Code, Codex, Gemini CLI and Antigravity login accounts, one command, all local" width="760" />
|
|
4
4
|
|
|
5
5
|
[](https://github.com/youdie006/swapdex/actions/workflows/ci.yml)
|
|
6
|
+
[](https://crates.io/crates/swapdex)
|
|
7
|
+
[](https://www.npmjs.com/package/@youdie006/swapdex)
|
|
6
8
|
[](LICENSE)
|
|
7
9
|
[](#what-it-will-not-do)
|
|
8
10
|
|
|
@@ -15,9 +17,18 @@ command, `swapdex quota`, reads your remaining balance from Anthropic; nothing
|
|
|
15
17
|
else does.)
|
|
16
18
|
|
|
17
19
|
<div align="center">
|
|
18
|
-
<img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/demo.gif" alt="swapdex demo: ls, use personal, status, restore
|
|
20
|
+
<img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/demo.gif" alt="swapdex demo: ls lists two saved accounts, use personal switches Claude Code and Codex together, status confirms both, restore puts the previous login back" width="760" />
|
|
19
21
|
</div>
|
|
20
22
|
|
|
23
|
+
```sh
|
|
24
|
+
brew install youdie006/tap/swapdex # macOS / Linux
|
|
25
|
+
npm i -g @youdie006/swapdex # or, if you have node
|
|
26
|
+
cargo install swapdex # or, if you have rust
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then `swapdex add work`, `swapdex add personal`, and `swapdex use personal`.
|
|
30
|
+
[Full install notes](#install) · [what it will not do](#what-it-will-not-do).
|
|
31
|
+
|
|
21
32
|
---
|
|
22
33
|
|
|
23
34
|
## Why
|
|
@@ -58,7 +69,8 @@ no proxy, no client spoofing.
|
|
|
58
69
|
<sub>swapdex still keeps the classic snapshot commands (`add` copies a live login
|
|
59
70
|
into a profile, `use` on that profile swaps it back, guarded against the
|
|
60
71
|
running-session logout) for the shared-slot workflow; `swapdex migrate` moves
|
|
61
|
-
|
|
72
|
+
Claude and Codex profiles whose accounts are not already slotted onto their own
|
|
73
|
+
slots.</sub>
|
|
62
74
|
|
|
63
75
|
## Install
|
|
64
76
|
|
|
@@ -133,7 +145,8 @@ The classic snapshot commands still work for the shared-slot workflow: `swapdex
|
|
|
133
145
|
add <name>` snapshots the current login, `swapdex use <name>` swaps it back
|
|
134
146
|
(backed up first, and refused while a `claude` session is running on that login
|
|
135
147
|
so it can't be logged out), `swapdex restore` undoes the last swap, and `swapdex
|
|
136
|
-
ui` is the full-screen picker. `swapdex migrate`
|
|
148
|
+
ui` is the full-screen picker. `swapdex migrate` matches Claude and Codex
|
|
149
|
+
profiles to slots by account and creates spaces only for accounts without one.
|
|
137
150
|
|
|
138
151
|
`status` shows the live account per tool, matched back to a saved profile:
|
|
139
152
|
|
|
@@ -204,6 +217,17 @@ has expired reports so rather than showing a stale number (swapdex never
|
|
|
204
217
|
refreshes tokens -- that is the line between a switcher and a rotator). It is
|
|
205
218
|
also in `swapdex ui` under the `%` key.
|
|
206
219
|
|
|
220
|
+
### The dashboard
|
|
221
|
+
|
|
222
|
+
`swapdex ui` is the same thing without the commands: your accounts, which one is
|
|
223
|
+
active, and how much each has left. On a machine with no profiles yet it opens on
|
|
224
|
+
what you are *already* signed into and offers to save that as your first one, so
|
|
225
|
+
setup is one keystroke and a name.
|
|
226
|
+
|
|
227
|
+
<div align="center">
|
|
228
|
+
<img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/ui-demo.gif" alt="swapdex ui on a fresh machine: it finds the Claude Code and Codex logins already present, saves them as a profile named main, and shows the account with its 5h and 7d usage bars" width="760" />
|
|
229
|
+
</div>
|
|
230
|
+
|
|
207
231
|
## How it works
|
|
208
232
|
|
|
209
233
|
**Slots (the model swapdex uses now).** Each account gets its own
|
|
@@ -234,7 +258,8 @@ your projects, MCP servers, and settings are untouched. That switch is refused
|
|
|
234
258
|
while a `claude` session is running on the same login slot, since the session's
|
|
235
259
|
next token refresh would otherwise revoke the saved copy. On macOS the Claude
|
|
236
260
|
token lives in the login Keychain, one item per `CLAUDE_CONFIG_DIR`. `swapdex
|
|
237
|
-
migrate` moves
|
|
261
|
+
migrate [--tool claude|codex]` moves unslotted Claude and Codex profiles onto
|
|
262
|
+
their own slots, retiring the shared homes.
|
|
238
263
|
|
|
239
264
|
## Safety
|
|
240
265
|
|
package/man/swapdex.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH swapdex 1 "swapdex 0.
|
|
3
|
+
.TH swapdex 1 "swapdex 0.153.0"
|
|
4
4
|
.SH NAME
|
|
5
5
|
swapdex \- Switch Claude Code / Codex / Gemini / Antigravity login accounts, locally and safely.
|
|
6
6
|
.SH SYNOPSIS
|
|
@@ -47,7 +47,7 @@ swapdex\-adopt(1)
|
|
|
47
47
|
Register an existing CLAUDE_CONFIG_DIR directory as a slot (in place)
|
|
48
48
|
.TP
|
|
49
49
|
swapdex\-migrate(1)
|
|
50
|
-
Give each legacy Claude profile its own permanent slot
|
|
50
|
+
Give each legacy Claude/Codex profile account its own permanent slot
|
|
51
51
|
.TP
|
|
52
52
|
swapdex\-onboard(1)
|
|
53
53
|
Guided setup: register/migrate your accounts into permanent slots
|
|
@@ -130,4 +130,4 @@ Print the man page (roff) to stdout
|
|
|
130
130
|
swapdex\-help(1)
|
|
131
131
|
Print this message or the help of the given subcommand(s)
|
|
132
132
|
.SH VERSION
|
|
133
|
-
v0.
|
|
133
|
+
v0.153.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@youdie006/swapdex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.153.0",
|
|
4
4
|
"description": "Switch between multiple Claude Code, Codex, Gemini, and Antigravity login accounts, locally and safely.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"swapdex": "bin/swapdex.js"
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"man/swapdex.1"
|
|
13
13
|
],
|
|
14
14
|
"optionalDependencies": {
|
|
15
|
-
"@youdie006/swapdex-darwin-arm64": "0.
|
|
16
|
-
"@youdie006/swapdex-darwin-x64": "0.
|
|
17
|
-
"@youdie006/swapdex-linux-x64": "0.
|
|
18
|
-
"@youdie006/swapdex-linux-arm64": "0.
|
|
15
|
+
"@youdie006/swapdex-darwin-arm64": "0.153.0",
|
|
16
|
+
"@youdie006/swapdex-darwin-x64": "0.153.0",
|
|
17
|
+
"@youdie006/swapdex-linux-x64": "0.153.0",
|
|
18
|
+
"@youdie006/swapdex-linux-arm64": "0.153.0"
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
21
21
|
"cli",
|