vexi-cli 0.5.5 → 0.9.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 CHANGED
@@ -15,6 +15,7 @@ Bring your own key · Zero config · Multilingual · 100% local
15
15
  [![npm](https://img.shields.io/npm/v/vexi-cli?color=2979FF)](https://www.npmjs.com/package/vexi-cli)
16
16
  [![license](https://img.shields.io/badge/license-MIT-2979FF)](LICENSE)
17
17
  [![node](https://img.shields.io/badge/node-%E2%89%A518-2979FF)](package.json)
18
+ [![website](https://img.shields.io/badge/website-vexi.pro-2979FF)](https://vexi.pro)
18
19
 
19
20
  **English** · [العربية](#-العربية) · [Español](#-español) · [Português](#-português) · [Français](#-français)
20
21
 
@@ -31,19 +32,89 @@ vexi
31
32
 
32
33
  That's it. No login, no signup, no server, no database. Everything runs locally.
33
34
 
35
+ ## Update
36
+
37
+ ```bash
38
+ vexi update
39
+ # or directly:
40
+ npm install -g vexi-cli@latest
41
+ ```
42
+
43
+ Vexi checks once a day whether a newer version is published on npm and prints a
44
+ one-line notice at startup if one is available. To disable the check:
45
+
46
+ ```bash
47
+ vexi --no-update-check # skip for this run
48
+ VEXI_NO_UPDATE_CHECK=1 vexi # skip via environment variable
49
+ ```
50
+
51
+ ## Uninstall
52
+
53
+ ```bash
54
+ vexi uninstall # removes Vexi, keeps your ~/.vexi config
55
+ vexi uninstall --purge # also deletes ~/.vexi (config, keys, memory)
56
+ ```
57
+
58
+ Or directly, without running Vexi:
59
+
60
+ ```bash
61
+ npm uninstall -g vexi-cli
62
+ rm -rf ~/.vexi # optional -- removes config, keys, and memory
63
+ ```
64
+
65
+ On Windows:
66
+
67
+ ```cmd
68
+ npm uninstall -g vexi-cli
69
+ rmdir /s /q %USERPROFILE%\.vexi
70
+ ```
71
+
34
72
  ## BYOK — Bring Your Own Key
35
73
 
36
74
  On first run, paste any API key. Vexi **auto-detects the provider** from the key format:
37
75
 
38
- | Key prefix | Provider |
39
- | ------------------- | ----------------- |
40
- | `sk-ant-...` | Anthropic (Claude)|
41
- | `sk-or-...` | OpenRouter |
42
- | `gsk_...` | Groq |
43
- | `AIza...` | Google Gemini |
44
- | `sk-...` / `sk-proj-...` | OpenAI |
76
+ | Key prefix | Provider | Auto-detect? | Free tier? |
77
+ | ---------- | -------- | ------------ | ---------- |
78
+ | `sk-ant-...` | Anthropic (Claude) | ✅ | — |
79
+ | `sk-or-...` | OpenRouter | ✅ | ✅ free models |
80
+ | `gsk_...` | Groq | ✅ | ✅ free |
81
+ | `AIza...` | Google Gemini | ✅ | ✅ free |
82
+ | `csk-...` | Cerebras | | ✅ free |
83
+ | `<32-hex>.<secret>` | Zhipu AI — GLM | ✅ | ✅ free |
84
+ | `sk-proj-...` | OpenAI | ✅ | — |
85
+ | `sk-...` *(classic)* | OpenAI / DeepSeek / Kimi — pick manually | manual select | DeepSeek ✅ / Kimi ✅ |
86
+ | *(any)* | Qwen · Mistral · MiniMax | manual select | ✅ free |
87
+
88
+ > **Tip:** If Vexi guesses the wrong provider, run `vexi config reset`, paste your key again, and pick from the list.
89
+
90
+ Your key is stored **locally** in `~/.vexi/config.json` with owner-only file permissions (`chmod 600`).
91
+
92
+ ### <img src="assets/icons/gift.svg" width="20" height="20" alt=""/> Start for free — no credit card needed
93
+
94
+ **International:**
95
+
96
+ | Provider | Sign-up | Free model | Speed |
97
+ | -------- | ------- | ---------- | ----- |
98
+ | **Groq** | [console.groq.com](https://console.groq.com) | Llama 3.3 70B | ⚡⚡ very fast |
99
+ | **Google Gemini** | [aistudio.google.com](https://aistudio.google.com) | Gemini 2.5 Flash | ⚡ fast |
100
+ | **Cerebras** | [cloud.cerebras.ai](https://cloud.cerebras.ai) | Llama 3.3 70B | ⚡⚡⚡ fastest |
101
+ | **OpenRouter** | [openrouter.ai](https://openrouter.ai) | many free models | varies |
45
102
 
46
- If detection is ambiguous, Vexi simply asks you to pick the provider. Your key is stored **locally** in `~/.vexi/config.json` with owner-only file permissions (`chmod 600`).
103
+ **Chinese AI (all free tier, great quality):**
104
+
105
+ | Provider | Sign-up | Free model | Notes |
106
+ | -------- | ------- | ---------- | ----- |
107
+ | **DeepSeek** | [platform.deepseek.com](https://platform.deepseek.com) | deepseek-chat (V3) | excellent coder |
108
+ | **Zhipu AI — GLM** | [bigmodel.cn](https://bigmodel.cn) | glm-4-flash | auto-detected |
109
+ | **Alibaba Qwen** | [dashscope.console.aliyun.com](https://dashscope.console.aliyun.com) | qwen-turbo | manual select |
110
+ | **Kimi (Moonshot)** | [platform.moonshot.cn](https://platform.moonshot.cn) | moonshot-v1-8k | manual select |
111
+ | **MiniMax** | [platform.minimaxi.com](https://platform.minimaxi.com) | MiniMax-Text-01 | manual select |
112
+
113
+ To switch provider at any time:
114
+ ```bash
115
+ vexi config reset # wipe the stored key
116
+ vexi # restart — prompts for a new key
117
+ ```
47
118
 
48
119
  ## Multilingual
49
120
 
@@ -64,6 +135,8 @@ Vexi auto-detects your system language on first run.
64
135
  ```bash
65
136
  vexi # start a chat session in the current project
66
137
  vexi --lang es # start in Spanish
138
+ vexi -p "explain the auth flow" # one-shot, non-interactive (scripts/CI)
139
+ vexi -p "add a health endpoint" --yes # same, but auto-run any shell commands proposed
67
140
  vexi config # show config location + provider + model
68
141
  vexi config reset # delete the stored API key
69
142
  vexi skill list # show active skills
@@ -78,19 +151,32 @@ vexi mcp list # manage external MCP servers
78
151
  vexi --mcp-server # expose Vexi as an MCP server (stdio)
79
152
  vexi learn # learn your coding style from past sessions
80
153
  vexi learn --apply # save it as a skill (injected in every session)
154
+ vexi undo # revert the last AI file edit
155
+ vexi redo # re-apply a reverted edit
156
+ vexi history # list recent AI file edits with timestamps
157
+ vexi clean # clear old snapshots (.vexi/snapshots/)
158
+ vexi setup # configure any OpenAI-compatible endpoint by URL
159
+ vexi update # update Vexi to the latest version
160
+ vexi uninstall # uninstall Vexi (keeps ~/.vexi config)
161
+ vexi uninstall --purge # uninstall + delete ~/.vexi
81
162
  ```
82
163
 
83
164
  Inside the chat:
84
165
 
85
166
  ```
86
- /help show available commands
87
- /model switch model (e.g. /model gpt-4o)
88
- /memory show compressed project memory
89
- /clear clear conversation history
90
- /exit quit
167
+ /help show available commands
168
+ /model switch model (e.g. /model gpt-4o)
169
+ /memory show compressed project memory
170
+ /clear clear conversation history
171
+ /undo revert last AI file edit
172
+ /redo re-apply last undone edit
173
+ /history list recent AI file edits
174
+ /push stage, commit and push to git
175
+ /usage token & cost estimate for this session
176
+ /exit quit
91
177
  ```
92
178
 
93
- ## ⚙️ Multi-language build support
179
+ ## <img src="assets/icons/settings.svg" width="22" height="22" alt=""/> Multi-language build support
94
180
 
95
181
  Vexi can build and run projects in **any language** — not just JavaScript. When the AI suggests commands, it wraps them in a shell block, Vexi asks for confirmation, then executes them automatically and feeds the output back to the AI.
96
182
 
@@ -106,7 +192,7 @@ Vexi can build and run projects in **any language** — not just JavaScript. Whe
106
192
 
107
193
  The project scanner automatically detects `.py`, `.java`, `.c`, `.cpp`, `.rs`, `.go` files and tells the AI what language your project uses before the first message.
108
194
 
109
- ## 🧠 Project memory — Context Compression Engine
195
+ ## <img src="assets/icons/brain-circuit.svg" width="22" height="22" alt=""/> Project memory — Context Compression Engine
110
196
 
111
197
  Most AI coding tools forget earlier decisions once the conversation gets long.
112
198
  Vexi doesn't delete old messages — it **compresses** them:
@@ -118,7 +204,7 @@ Vexi doesn't delete old messages — it **compresses** them:
118
204
  your decisions **across sessions**, even in large projects.
119
205
  - Inspect it anytime with `/memory`.
120
206
 
121
- ## 🗺️ Full project understanding
207
+ ## <img src="assets/icons/map.svg" width="22" height="22" alt=""/> Full project understanding
122
208
 
123
209
  On startup Vexi scans your whole project (not just the open file) and injects
124
210
  a compact map into every prompt: languages, frameworks, and architecture
@@ -128,7 +214,7 @@ Scanner safeguards: respects `.gitignore`, always skips `node_modules`,
128
214
  `.git`, `dist`, `build`, `coverage`, and ignores files larger than 500KB —
129
215
  so it never floods the context window.
130
216
 
131
- ## 🎯 Custom Skills
217
+ ## <img src="assets/icons/target.svg" width="22" height="22" alt=""/> Custom Skills
132
218
 
133
219
  Teach Vexi *your* conventions with plain markdown files in `.vexi/skills/`:
134
220
 
@@ -147,7 +233,7 @@ vexi skill add https://github.com/user/react-best-practices
147
233
  vexi skill add ./docs/conventions.md
148
234
  ```
149
235
 
150
- ## 🎬 Vexi Replay
236
+ ## <img src="assets/icons/clapperboard.svg" width="22" height="22" alt=""/> Vexi Replay
151
237
 
152
238
  Every chat session is automatically recorded to `.vexi/sessions/` (locally,
153
239
  nothing leaves your machine). Export any session as a **single standalone
@@ -164,7 +250,7 @@ and it ends with a session summary (duration, messages, model). An
164
250
  **Export video** button records the replay right in the browser
165
251
  (MediaRecorder — no ffmpeg, the CLI stays lightweight). Share it anywhere.
166
252
 
167
- ## 🌍 Explain code in your native language
253
+ ## <img src="assets/icons/languages.svg" width="22" height="22" alt=""/> Explain code in your native language
168
254
 
169
255
  > The first AI tool that explains any code in your native language.
170
256
 
@@ -179,7 +265,7 @@ numbers → how the pieces fit together. Latin-script languages stream
179
265
  directly in the terminal; Arabic is written to `.md` + `.html` (dir="rtl")
180
266
  and opened in your browser, where it renders perfectly.
181
267
 
182
- ## 🗺️ Visual code graph
268
+ ## <img src="assets/icons/network.svg" width="22" height="22" alt=""/> Visual code graph
183
269
 
184
270
  ```bash
185
271
  vexi graph --visual
@@ -191,7 +277,7 @@ search. Node heat shows how many files depend on each module, and clicking
191
277
  a node runs **impact analysis** — highlighting every file that breaks if
192
278
  you change it.
193
279
 
194
- ## 🔌 MCP support
280
+ ## <img src="assets/icons/plug.svg" width="22" height="22" alt=""/> MCP support
195
281
 
196
282
  **Vexi as MCP client** — connect external tools and the AI can call them
197
283
  mid-conversation (works with every provider, no function-calling API needed):
@@ -223,7 +309,7 @@ official `@modelcontextprotocol/sdk`:
223
309
  Vexi **complements** Claude Code instead of competing: its project memory
224
310
  becomes a shared memory layer usable by any agent.
225
311
 
226
- ## 🧠 Vexi Learn
312
+ ## <img src="assets/icons/graduation-cap.svg" width="22" height="22" alt=""/> Vexi Learn
227
313
 
228
314
  > The agent gets more *you* over time.
229
315
 
@@ -241,6 +327,90 @@ session, so you stop repeating yourself. Everything stays local — the only
241
327
  network call is to your own model provider, and you always preview before
242
328
  saving.
243
329
 
330
+ ## <img src="assets/icons/link.svg" width="22" height="22" alt=""/> URL-based setup — any OpenAI-compatible endpoint
331
+
332
+ ```bash
333
+ vexi setup
334
+ ```
335
+
336
+ Paste any API endpoint URL and Vexi auto-detects the provider, fetches available models, and lets you pick one — no manual config editing required. Works with:
337
+
338
+ - **Local models** — Ollama (`http://localhost:11434`), LM Studio, etc.
339
+ - **Custom proxies** — your own OpenAI-compatible gateway
340
+ - **Specialist providers** — Z.ai Coding Plan, Cloudflare Workers AI, and any `/v1/chat/completions`-compatible API
341
+
342
+ ```
343
+ ? Paste your endpoint URL › https://openrouter.ai/api/v1
344
+ Detected: OpenRouter
345
+ ? Paste your API key › sk-or-...
346
+ Fetching available models…
347
+ ? Choose a model › meta-llama/llama-3.3-70b-instruct:free
348
+ ✓ Saved — run `vexi` to start
349
+ ```
350
+
351
+ ## <img src="assets/icons/rocket.svg" width="22" height="22" alt=""/> Git push from chat — `/push`
352
+
353
+ Stage, commit and push without leaving the session. The AI drafts the commit message from your staged diff:
354
+
355
+ ```
356
+ /push # AI writes commit message, confirms, then pushes
357
+ /push --only # push current branch without a new commit
358
+ ```
359
+
360
+ Auth pre-flight runs before the real push so you get a clear error if credentials are missing, not a mid-push failure.
361
+
362
+ ## <img src="assets/icons/undo-2.svg" width="22" height="22" alt=""/> Undo / Redo — instant rescue from any AI edit
363
+
364
+ > Approve a change, see it break things, type `vexi undo`. Done.
365
+
366
+ ```bash
367
+ vexi undo # revert the last AI-applied file change
368
+ vexi redo # re-apply a reverted change
369
+ vexi history # list every file edit this session, with timestamps
370
+ vexi clean # remove old snapshot sessions to free disk space
371
+ ```
372
+
373
+ Or use the in-chat shortcuts without leaving the session: `/undo`, `/redo`, `/history`.
374
+
375
+ **How it works (lightweight snapshot design):**
376
+
377
+ - Before executing any confirmed shell command, Vexi inspects it for file-write patterns (`cat >`, `sed -i`, `mv`, `cp`, `tee`, `writeFileSync`, PowerShell `Set-Content`, and bare source-file tokens) and saves a copy of **only the affected files** into `.vexi/snapshots/<session>/`.
378
+ - `undo` restores the pre-command copy and saves the current state as a redo point — so you can bounce back and forth freely.
379
+ - Each session keeps a maximum of 50 snapshots; the oldest are pruned automatically.
380
+ - Snapshots are **per-file, not per-project** — no full-tree indexing, no slow startup, no huge disk usage (the approach OpenCode's whole-tree snapshot system suffers from).
381
+ - `vexi clean` wipes all previous sessions' snapshots while keeping the current one active.
382
+
383
+ This pairs naturally with the confirmation prompt: even if you approve a change that turns out to be wrong, one command gets you back.
384
+
385
+ ## <img src="assets/icons/file-check.svg" width="22" height="22" alt=""/> Reliable file edits
386
+
387
+ Vexi edits files through structured tools — `read_file`, `write_file`, and
388
+ `edit_file` (exact `old` → `new` substring replacement) — instead of fragile
389
+ shell patching (`cat >`, `sed -i`). `edit_file` refuses a non-existent or
390
+ ambiguous match rather than corrupting the file, and every write is snapshotted
391
+ on the **exact** file about to change, so `/undo` is precise rather than
392
+ regex-guessed.
393
+
394
+ On providers that reliably support it (Anthropic, OpenAI, Groq, Gemini,
395
+ Mistral, Cerebras, DeepSeek, Qwen, Kimi, GLM, OpenRouter), the tools run over
396
+ **native function-calling**; everywhere else Vexi falls back to a
397
+ provider-agnostic text protocol, so the same capabilities work with every
398
+ provider.
399
+
400
+ ## <img src="assets/icons/coins.svg" width="22" height="22" alt=""/> Token & cost tracking
401
+
402
+ Vexi accumulates the real token usage reported by your provider and estimates
403
+ the dollar cost from a built-in price table:
404
+
405
+ ```
406
+ /usage → 12,340 tokens (8.1k in / 4.2k out) · ~$0.0187
407
+ ```
408
+
409
+ Check it anytime with `/usage`, and a one-line summary prints when you exit
410
+ (and to stderr in `-p` mode). Known free-tier models read as **$0**, and
411
+ unpriced models still show token counts. Since you bring your own key, the
412
+ `~` marks it as an estimate.
413
+
244
414
  ## Roadmap
245
415
 
246
416
  | Phase | Feature | Status |
@@ -250,19 +420,32 @@ saving.
250
420
  | 3 | **Vexi Replay** (export sessions as animated HTML) · multilingual code explanation | ✅ done |
251
421
  | 4 | Visual code graph · MCP support (client **and** server mode) | ✅ done |
252
422
  | 5 | **Vexi Learn** — adapts to your personal coding style | ✅ done |
423
+ | 6 | **Multi-language builds** — auto-executes pip, gcc, javac, cargo, gradle from chat | ✅ done |
424
+ | 7 | **Undo / Redo** — instant one-command revert of any AI file edit, without touching git | ✅ done |
425
+ | 8 | **`/push`** — stage, AI-draft commit message, and push to git from chat | ✅ done |
426
+ | 9 | **`vexi setup`** — configure any OpenAI-compatible endpoint by pasting a URL | ✅ done |
427
+ | 10 | **Self-maintaining** — `vexi update`, `vexi uninstall`, daily update-check notice | ✅ done |
428
+ | 11 | **Reliable file edits** — structured read/write/edit tools with exact undo snapshots, native function-calling where the provider supports it | ✅ done |
429
+ | 12 | **Token & cost tracking** (`/usage`) · remote model-default manifest (defaults refresh without a release) | ✅ done |
253
430
 
254
431
  ## Why Vexi?
255
432
 
256
433
  | | Vexi | OpenCode | Claude Code | Cursor |
257
434
  | --- | --- | --- | --- | --- |
258
435
  | Install | `npm i -g vexi-cli` | binary/script | `npm i -g` | desktop app |
259
- | BYOK (any provider) | ✅ 5 providers, auto-detect | ✅ | Anthropic only | partial |
260
- | Works fully offline/local | ✅ no server, no account | ✅ | ❌ account | ❌ account |
261
- | Native-language code explanations | ✅ ar/es/pt/fr | | | |
436
+ | BYOK (any provider) | ✅ 13 providers incl. Chinese AI + URL endpoints | ✅ | limited (defaults to Anthropic; Bedrock/Vertex/gateways possible) | partial |
437
+ | No server, no account | ✅ no server, no account | ✅ | ❌ account | ❌ account |
438
+ | Native-language code explanations (built-in) | ✅ ar/es/pt/fr | via model | via model | via model |
262
439
  | Session replay export | ✅ | ❌ | ❌ | ❌ |
263
440
  | Persistent project memory | ✅ | partial | partial | ✅ |
264
441
  | Learns your personal coding style | ✅ from your own sessions | ❌ | ❌ | partial |
265
- | MCP server mode (be a tool for other agents) | ✅ | ❌ | | ❌ |
442
+ | MCP server mode (be a tool for other agents) | ✅ | ❌ | `claude mcp serve` | ❌ |
443
+ | Builds any language (Python, Java, C, Rust, Go) | ✅ | ✅ | ✅ | ✅ |
444
+ | Instant undo/redo of AI edits (no git required) | ✅ per-file snapshots | ❌ | ❌ | ❌ |
445
+ | Git push from chat (AI commit message) | ✅ `/push` | ❌ | ✅ | partial |
446
+ | URL endpoint setup (Ollama, custom proxies) | ✅ `vexi setup` | ✅ | ❌ | ❌ |
447
+ | Structured file-edit tools + exact undo | ✅ read/write/edit + per-file snapshots | partial | ✅ | ✅ |
448
+ | Token & cost tracking (`/usage`) | ✅ per-session estimate | ❌ | ✅ | partial |
266
449
  | License | MIT | MIT | proprietary | proprietary |
267
450
 
268
451
  Vexi **complements** tools like Claude Code instead of competing: its project memory and multilingual explanations will be exposed over MCP so any agent can use them.
@@ -283,7 +466,10 @@ src/
283
466
  ├── cli.ts CLI definition (commander)
284
467
  ├── agent.ts chat loop + first-run onboarding
285
468
  ├── config.ts ~/.vexi/config.json (atomic, chmod 600)
286
- ├── providers/ key detection + streaming API clients
469
+ ├── version.ts dynamic VERSION from package.json
470
+ ├── endpoint.ts URL provider detection + model discovery (vexi setup)
471
+ ├── onboarding.ts interactive URL-based setup wizard
472
+ ├── providers/ key detection + streaming API clients (13 providers)
287
473
  ├── scanner/ project mapper (.gitignore-aware, size-capped)
288
474
  ├── memory/ Context Compression Engine (.vexi/memory.json)
289
475
  ├── skills/ custom skills loader (.vexi/skills/*.md)
@@ -292,6 +478,9 @@ src/
292
478
  ├── graph/ dependency graph + interactive d3 visualization
293
479
  ├── mcp/ MCP client (tools in chat) + server mode
294
480
  ├── learn/ Vexi Learn — style mining from your own sessions
481
+ ├── snapshots/ undo/redo engine — per-file backups before AI edits
482
+ ├── git/ /push command — stage, AI commit message, push
483
+ ├── update/ vexi update / uninstall + daily update-check
295
484
  ├── i18n/ 5-language UI strings + RTL strategy
296
485
  ├── ui/ terminal branding (chalk, ora)
297
486
  └── utils/ atomic JSON writes, cross-platform open
@@ -306,19 +495,19 @@ To add support for a new key format, edit a single file: `src/providers/detect.t
306
495
 
307
496
  ---
308
497
 
309
- ## 🌍 العربية
498
+ ## <img src="assets/icons/globe.svg" width="22" height="22" alt=""/> العربية
310
499
 
311
500
  **Vexi** — وكيل برمجة بالذكاء الاصطناعي مفتوح المصدر يعمل في الطرفية. ثبّته بأمر واحد (`npm install -g vexi-cli`)، الصق مفتاح API الخاص بك مرة واحدة، وابدأ فورًا. لا تسجيل، لا خادم، كل شيء يعمل محليًا على جهازك. يشرح Vexi أي كود بالعربية الفصحى (`vexi explain auth.ts --ar`) في ملفات HTML تدعم الاتجاه من اليمين لليسار بشكل مثالي، ويتعلّم أسلوبك البرمجي الشخصي من جلساتك السابقة (`vexi learn`).
312
501
 
313
- ## 🌍 Español
502
+ ## <img src="assets/icons/globe.svg" width="22" height="22" alt=""/> Español
314
503
 
315
504
  **Vexi** es un agente de programación con IA, de código abierto, que vive en tu terminal. Instálalo con un solo comando (`npm install -g vexi-cli`), pega tu clave API una vez y empieza al instante. Sin registro, sin servidor: todo se ejecuta localmente. Vexi detecta tu proveedor automáticamente y habla tu idioma.
316
505
 
317
- ## 🌍 Português
506
+ ## <img src="assets/icons/globe.svg" width="22" height="22" alt=""/> Português
318
507
 
319
508
  **Vexi** é um agente de programação com IA, de código aberto, que vive no seu terminal. Instale com um único comando (`npm install -g vexi-cli`), cole sua chave de API uma vez e comece imediatamente. Sem cadastro, sem servidor: tudo roda localmente. O Vexi detecta seu provedor automaticamente e fala o seu idioma.
320
509
 
321
- ## 🌍 Français
510
+ ## <img src="assets/icons/globe.svg" width="22" height="22" alt=""/> Français
322
511
 
323
512
  **Vexi** est un agent de codage IA open source qui vit dans votre terminal. Installez-le en une seule commande (`npm install -g vexi-cli`), collez votre clé API une fois et commencez immédiatement. Pas de compte, pas de serveur : tout s'exécute localement. Vexi détecte automatiquement votre fournisseur et parle votre langue.
324
513
 
@@ -326,7 +515,7 @@ To add support for a new key format, edit a single file: `src/providers/detect.t
326
515
 
327
516
  <div align="center">
328
517
 
329
- **MIT License** · Made with by the Vexi community
518
+ **MIT License** · Made with <img src="assets/icons/zap.svg" width="16" height="16" alt="" style="vertical-align:text-bottom"/> by the Vexi community
330
519
 
331
520
  `npm install -g vexi-cli`
332
521