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 +221 -32
- package/dist/agent.js +330 -42
- package/dist/agent.test.js +66 -0
- package/dist/cli.js +147 -11
- package/dist/config.js +18 -4
- package/dist/endpoint.js +174 -0
- package/dist/endpoint.test.js +146 -0
- package/dist/explain/index.js +1 -7
- package/dist/git/index.js +154 -0
- package/dist/git/index.test.js +178 -0
- package/dist/graph/html.js +2 -8
- package/dist/i18n/index.js +44 -12
- package/dist/mcp/client.js +12 -2
- package/dist/mcp/server.js +4 -3
- package/dist/memory/compress.test.js +52 -0
- package/dist/memory/index.js +10 -5
- package/dist/onboarding.js +105 -0
- package/dist/onboarding.test.js +76 -0
- package/dist/providers/anthropic.js +174 -35
- package/dist/providers/detect.js +18 -3
- package/dist/providers/index.js +60 -7
- package/dist/providers/manifest.js +96 -0
- package/dist/providers/manifest.test.js +71 -0
- package/dist/providers/openai-compat.js +202 -31
- package/dist/providers/openai-compat.test.js +66 -0
- package/dist/providers/types.js +12 -3
- package/dist/replay/export.js +1 -7
- package/dist/skills/index.js +12 -4
- package/dist/snapshots/index.js +278 -0
- package/dist/snapshots/index.test.js +105 -0
- package/dist/tools/index.js +280 -0
- package/dist/tools/index.test.js +131 -0
- package/dist/update/index.js +190 -0
- package/dist/usage/index.js +95 -0
- package/dist/usage/index.test.js +51 -0
- package/dist/utils/html.js +8 -0
- package/dist/version.js +4 -0
- package/package.json +11 -2
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@ Bring your own key · Zero config · Multilingual · 100% local
|
|
|
15
15
|
[](https://www.npmjs.com/package/vexi-cli)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](package.json)
|
|
18
|
+
[](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
|
|
39
|
-
|
|
|
40
|
-
| `sk-ant-...`
|
|
41
|
-
| `sk-or-...`
|
|
42
|
-
| `gsk_...`
|
|
43
|
-
| `AIza...`
|
|
44
|
-
| `
|
|
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
|
-
|
|
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
|
|
87
|
-
/model
|
|
88
|
-
/memory
|
|
89
|
-
/clear
|
|
90
|
-
/
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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) | ✅
|
|
260
|
-
|
|
|
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
|
-
├──
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
|
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
|
|