swixter 0.1.1 → 0.1.2

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.
Files changed (3) hide show
  1. package/README.md +55 -1
  2. package/dist/cli/index.js +1258 -162
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -14,9 +14,10 @@ A lightweight CLI tool that makes it easy to switch between AI providers for Cla
14
14
  - **Switch providers instantly** - Change between Anthropic, Ollama, or custom APIs with one command
15
15
  - **Automatic failover** - Group profiles by priority, auto-retry on provider failure
16
16
  - **Local proxy** - Transparent proxy with circuit breaker, your tools won't even notice a provider goes down
17
+ - **Cloud sync** - Encrypt and sync your profiles across devices with end-to-end encryption
17
18
  - **Multiple coders** - Works with Claude Code, Codex, Continue
18
19
  - **Web UI** - Browser-based interface for visual management
19
- - **All local** - No cloud dependencies, your keys stay on your machine
20
+ - **All local** - Your keys stay on your machine; cloud sync uses client-side encryption
20
21
 
21
22
  ## Installation
22
23
 
@@ -252,6 +253,56 @@ swixter ui --port 8080 # Custom port
252
253
  - **Providers** - Manage custom providers
253
254
  - **Settings** - Import/export configurations
254
255
 
256
+ ## Cloud Sync
257
+
258
+ Sync your profiles and provider configs across devices with end-to-end encryption. API keys and other sensitive fields are encrypted client-side before uploading — the server never sees plaintext secrets.
259
+
260
+ ### Quick Start
261
+
262
+ ```bash
263
+ swixter auth register # Create account
264
+ swixter auth login # Sign in (password)
265
+ swixter auth login --magic-link # Sign in via magic link email
266
+ swixter sync push # Upload encrypted config to cloud
267
+ swixter sync pull # Download and merge from cloud
268
+ swixter sync status # Check sync state
269
+ ```
270
+
271
+ ### Auth Commands
272
+
273
+ ```bash
274
+ swixter auth register # Create a new account
275
+ swixter auth login # Sign in with email + password
276
+ swixter auth login --magic-link # Sign in via magic link
277
+ swixter auth logout # Sign out
278
+ swixter auth status # Check login status
279
+ swixter auth delete-account # Delete your account and cloud data
280
+ ```
281
+
282
+ ### Sync Commands
283
+
284
+ ```bash
285
+ swixter sync push # Push local config to cloud
286
+ swixter sync push --force-local # Force push (overwrite remote)
287
+ swixter sync pull # Pull remote config to local
288
+ swixter sync pull --force-remote # Force pull (overwrite local)
289
+ swixter sync status # Show sync status and versions
290
+ swixter sync enable # Enable auto sync
291
+ swixter sync disable # Disable auto sync
292
+ ```
293
+
294
+ ### How It Works
295
+
296
+ ```
297
+ Local Config → Derive Encryption Key → Encrypt Sensitive Fields → Upload to Cloud
298
+
299
+ Cloud → Download → Decrypt → Merge with Local Config → Apply
300
+ ```
301
+
302
+ - **End-to-end encryption**: Sensitive fields (API keys, auth tokens) are encrypted using a key derived from your master password before leaving your machine
303
+ - **Version-based conflict detection**: Local and remote versions are tracked to detect and handle conflicts
304
+ - **Selective push/pull**: Only config and providers data are synced; local-only settings stay untouched
305
+
255
306
  ## Other Commands
256
307
 
257
308
  ```bash
@@ -316,6 +367,9 @@ swixter/
316
367
  │ ├── providers/ # Provider presets + user-defined providers
317
368
  │ ├── groups/ # Group management (failover profiles)
318
369
  │ ├── proxy/ # Local proxy server (failover, circuit breaker)
370
+ │ ├── auth/ # Cloud auth (register, login, token management)
371
+ │ ├── sync/ # Cloud sync (push, pull, merge, auto-sync)
372
+ │ ├── crypto/ # End-to-end encryption (key derivation, field encryption)
319
373
  │ ├── server/ # Web UI API server
320
374
  │ └── utils/ # Shared utilities
321
375
  ├── ui/ # Web UI (React + Vite + Tailwind)