turbollm 1.6.5 → 1.7.1
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 +31 -9
- package/dist/cli.js +967 -222
- package/dist/webdist/assets/{AgentsScreen-D0J8ZEtf.js → AgentsScreen-BToQ_CZg.js} +1 -1
- package/dist/webdist/assets/ChatScreen-B4T7fIcx.js +65 -0
- package/dist/webdist/assets/{CustomizeScreen-z5568762.js → CustomizeScreen-IL-QlVq2.js} +1 -1
- package/dist/webdist/assets/DeveloperScreen-DN-FWjXV.js +1 -0
- package/dist/webdist/assets/EnginesScreen-GZYaJJNx.js +7 -0
- package/dist/webdist/assets/MessageBubble-DG7ZWPCw.js +21 -0
- package/dist/webdist/assets/ModelDetailDialog-DhCCmMnp.js +1 -0
- package/dist/webdist/assets/{ModelDirs-C-riHLWK.js → ModelDirs-D0d7xetP.js} +1 -1
- package/dist/webdist/assets/{ModelsScreen-DnASH2bF.js → ModelsScreen-Bl0OP-BY.js} +2 -2
- package/dist/webdist/assets/SettingsScreen-DXy_TCXo.js +1 -0
- package/dist/webdist/assets/{arc-OPogq9vx.js → arc-DVrcAJc9.js} +1 -1
- package/dist/webdist/assets/{architectureDiagram-3BPJPVTR-DI3zlQZC.js → architectureDiagram-3BPJPVTR-BaL05OA8.js} +1 -1
- package/dist/webdist/assets/{arrow-left-DWtpbvUs.js → arrow-left-nmoUPZoB.js} +1 -1
- package/dist/webdist/assets/{blockDiagram-GPEHLZMM-bbqbctKR.js → blockDiagram-GPEHLZMM-D8aCVMG0.js} +1 -1
- package/dist/webdist/assets/{c4Diagram-AAUBKEIU-CGj5BFj-.js → c4Diagram-AAUBKEIU-Bpj96pxf.js} +1 -1
- package/dist/webdist/assets/channel-M9YFYffr.js +1 -0
- package/dist/webdist/assets/check-CD6cKVwJ.js +1 -0
- package/dist/webdist/assets/chevron-down-DgTSOyZG.js +1 -0
- package/dist/webdist/assets/{chevron-right-CIKvJUaG.js → chevron-right-BshRZEvM.js} +1 -1
- package/dist/webdist/assets/{chunk-2J33WTMH-CZKSYaHn.js → chunk-2J33WTMH-DA6mFoN-.js} +1 -1
- package/dist/webdist/assets/{chunk-4BX2VUAB-D3SQCGwz.js → chunk-4BX2VUAB-B_fmKUNu.js} +1 -1
- package/dist/webdist/assets/{chunk-55IACEB6-DDmZTA0L.js → chunk-55IACEB6-3cWMWgYr.js} +1 -1
- package/dist/webdist/assets/{chunk-727SXJPM-DRutYNQM.js → chunk-727SXJPM-Cwb5Sv7F.js} +1 -1
- package/dist/webdist/assets/{chunk-AQP2D5EJ-B_u0ow9I.js → chunk-AQP2D5EJ-7QIg1x7-.js} +1 -1
- package/dist/webdist/assets/{chunk-FMBD7UC4-Cu73-Koh.js → chunk-FMBD7UC4-D_Qfl5Jc.js} +1 -1
- package/dist/webdist/assets/{chunk-ND2GUHAM-Z71l0U4D.js → chunk-ND2GUHAM-pgqeq7NP.js} +1 -1
- package/dist/webdist/assets/{chunk-QZHKN3VN-D2PeraEx.js → chunk-QZHKN3VN-EUqDaxxx.js} +1 -1
- package/dist/webdist/assets/{circle-check-DXOwCXEz.js → circle-check-Dey3SdiG.js} +1 -1
- package/dist/webdist/assets/{circle-x-caNFmCHm.js → circle-x-M54_eiYo.js} +1 -1
- package/dist/webdist/assets/classDiagram-4FO5ZUOK-BtQ5UIn2.js +1 -0
- package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-BtQ5UIn2.js +1 -0
- package/dist/webdist/assets/collapsible-CwqYFc9v.js +1 -0
- package/dist/webdist/assets/{common-CQQGhjlM.js → common-Dn21s6g5.js} +1 -1
- package/dist/webdist/assets/{copy-button-Dt4Afcgb.js → copy-button-D6JkFOO9.js} +1 -1
- package/dist/webdist/assets/{cose-bilkent-S5V4N54A-D3rxBv0J.js → cose-bilkent-S5V4N54A-BzxdTTj-.js} +1 -1
- package/dist/webdist/assets/{dagre-BM42HDAG--G2XvGhI.js → dagre-BM42HDAG-YQn0mFsV.js} +1 -1
- package/dist/webdist/assets/{diagram-2AECGRRQ-Te1rwFql.js → diagram-2AECGRRQ-DtSRGaVH.js} +1 -1
- package/dist/webdist/assets/{diagram-5GNKFQAL-B5vALx3-.js → diagram-5GNKFQAL-Dko3hF44.js} +1 -1
- package/dist/webdist/assets/{diagram-KO2AKTUF-CBxjZi0b.js → diagram-KO2AKTUF-CQAm-tYF.js} +1 -1
- package/dist/webdist/assets/{diagram-LMA3HP47-BGiirNkw.js → diagram-LMA3HP47-gz5BqFhM.js} +1 -1
- package/dist/webdist/assets/{diagram-OG6HWLK6-BVgMIJkt.js → diagram-OG6HWLK6-BqsSoNIn.js} +1 -1
- package/dist/webdist/assets/dialog-B_Yd5di3.js +1 -0
- package/dist/webdist/assets/{erDiagram-TEJ5UH35-DowgN2O9.js → erDiagram-TEJ5UH35-D8rPsHw-.js} +1 -1
- package/dist/webdist/assets/{flowDiagram-I6XJVG4X-BD0xs8q_.js → flowDiagram-I6XJVG4X-DhGWyp50.js} +1 -1
- package/dist/webdist/assets/{ganttDiagram-6RSMTGT7-BHHhhU_7.js → ganttDiagram-6RSMTGT7-WEinw7mP.js} +1 -1
- package/dist/webdist/assets/{gitGraphDiagram-PVQCEYII-Brchy1Vz.js → gitGraphDiagram-PVQCEYII-BJ-BzBFO.js} +1 -1
- package/dist/webdist/assets/index-B_WtFoLC.css +1 -0
- package/dist/webdist/assets/{index-oSSYX1Lk.js → index-C-xjjrht.js} +2 -2
- package/dist/webdist/assets/index-DHmOrvk5.js +29 -0
- package/dist/webdist/assets/{infoDiagram-5YYISTIA-D4HdfOcs.js → infoDiagram-5YYISTIA-BA9oHMe2.js} +1 -1
- package/dist/webdist/assets/{ishikawaDiagram-YF4QCWOH-wmMjgjbp.js → ishikawaDiagram-YF4QCWOH-BJ5McdEJ.js} +1 -1
- package/dist/webdist/assets/{journeyDiagram-JHISSGLW-CaF09KKI.js → journeyDiagram-JHISSGLW-Bu6WJyQy.js} +1 -1
- package/dist/webdist/assets/{kanban-definition-UN3LZRKU-BuBI9QG2.js → kanban-definition-UN3LZRKU-C_Y8cJ9D.js} +1 -1
- package/dist/webdist/assets/{linear-DHVGKuTX.js → linear-BssoHTW-.js} +1 -1
- package/dist/webdist/assets/{mermaid.core-CrU-xSQY.js → mermaid.core-C331Qhyf.js} +4 -4
- package/dist/webdist/assets/{mindmap-definition-RKZ34NQL-cBLMFEJ9.js → mindmap-definition-RKZ34NQL-B6NCYWu3.js} +1 -1
- package/dist/webdist/assets/{pencil-BBioAa4x.js → pencil-bwNY7waZ.js} +1 -1
- package/dist/webdist/assets/personas-C_q63e_2.js +75 -0
- package/dist/webdist/assets/{pieDiagram-4H26LBE5-BJnfOXlL.js → pieDiagram-4H26LBE5-CV23vNlv.js} +1 -1
- package/dist/webdist/assets/{plus-C8MMVqVA.js → plus-12BmUfjg.js} +1 -1
- package/dist/webdist/assets/{quadrantDiagram-W4KKPZXB-Cm-qlQtE.js → quadrantDiagram-W4KKPZXB-DxWTWFL7.js} +1 -1
- package/dist/webdist/assets/{refresh-cw-DTqN58WZ.js → refresh-cw-Cl7RshCH.js} +1 -1
- package/dist/webdist/assets/{requirementDiagram-4Y6WPE33-DHY3RUt1.js → requirementDiagram-4Y6WPE33-DRRulwpq.js} +1 -1
- package/dist/webdist/assets/{sankeyDiagram-5OEKKPKP-DQkDAi3z.js → sankeyDiagram-5OEKKPKP-BTBSg_uE.js} +1 -1
- package/dist/webdist/assets/{save-PN9--sf1.js → save-YXge1rTt.js} +1 -1
- package/dist/webdist/assets/{sequenceDiagram-3UESZ5HK-OJf-ZzIm.js → sequenceDiagram-3UESZ5HK-HiTl9dyH.js} +1 -1
- package/dist/webdist/assets/{skeleton-Dpg8YusE.js → skeleton-BMhnZFjx.js} +1 -1
- package/dist/webdist/assets/{stateDiagram-AJRCARHV-QupYS2FV.js → stateDiagram-AJRCARHV-SGw6a8ke.js} +1 -1
- package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-C7Pv9LnA.js +1 -0
- package/dist/webdist/assets/{timeline-definition-PNZ67QCA-B7kdKKeO.js → timeline-definition-PNZ67QCA-B_X3zBz0.js} +1 -1
- package/dist/webdist/assets/{trash-2-C5mszq8p.js → trash-2-BNQkpp4n.js} +1 -1
- package/dist/webdist/assets/{vennDiagram-CIIHVFJN-DCckmGsZ.js → vennDiagram-CIIHVFJN-C8ibsbKD.js} +1 -1
- package/dist/webdist/assets/vram-D4ttIJVy.js +1 -0
- package/dist/webdist/assets/{wardley-L42UT6IY-C66hVI6t.js → wardley-L42UT6IY-ClFBGt2Y.js} +1 -1
- package/dist/webdist/assets/{wardleyDiagram-YWT4CUSO-0WD2JYDy.js → wardleyDiagram-YWT4CUSO-1iaMKpVQ.js} +1 -1
- package/dist/webdist/assets/{wrench-BotIMKYs.js → wrench-Chhk_zTw.js} +1 -1
- package/dist/webdist/assets/{xychartDiagram-2RQKCTM6-Dc0w49oN.js → xychartDiagram-2RQKCTM6-FIIVikoF.js} +1 -1
- package/dist/webdist/index.html +2 -2
- package/package.json +1 -1
- package/dist/webdist/assets/ChatScreen-7bIHB35Z.js +0 -85
- package/dist/webdist/assets/DeveloperScreen-C5opqGrE.js +0 -1
- package/dist/webdist/assets/EnginesScreen-NqAMc4rS.js +0 -7
- package/dist/webdist/assets/ModelDetailDialog-CtjNu2Qc.js +0 -29
- package/dist/webdist/assets/SettingsScreen-v-LAgJFH.js +0 -1
- package/dist/webdist/assets/channel-aq4Rip4D.js +0 -1
- package/dist/webdist/assets/check-CMGnr_Ph.js +0 -1
- package/dist/webdist/assets/classDiagram-4FO5ZUOK-C5KHEB9t.js +0 -1
- package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-C5KHEB9t.js +0 -1
- package/dist/webdist/assets/dialog-coezioYj.js +0 -1
- package/dist/webdist/assets/dropdown-menu-Ce842M-W.js +0 -1
- package/dist/webdist/assets/index-CVyS_zSS.css +0 -1
- package/dist/webdist/assets/personas-DaUrwq7m.js +0 -290
- package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-DPP0kwbC.js +0 -1
package/README.md
CHANGED
|
@@ -79,7 +79,7 @@ TurboLLM does the opposite:
|
|
|
79
79
|
a **VRAM-fit verdict before you load** — no more flag guessing.
|
|
80
80
|
- **📊 Real tokens/sec, never faked.** Speed in the model list is *measured on your machine*
|
|
81
81
|
from actual generation — live while you chat, and remembered per model.
|
|
82
|
-
- **🪶 Lightweight.** A ~
|
|
82
|
+
- **🪶 Lightweight.** A ~2 MB npm package on Node — **no Electron, no bundled Chromium, no
|
|
83
83
|
Python**. It downloads only the engine your GPU actually needs (Vulkan ≈ 38 MB).
|
|
84
84
|
- **🔌 Drop-in APIs.** OpenAI **and** Anthropic-compatible — so Claude Code and every existing
|
|
85
85
|
tool work unchanged.
|
|
@@ -177,6 +177,8 @@ the detail:
|
|
|
177
177
|
- **Saved per-model profiles, per engine** — tune once per (model, engine) pair, so
|
|
178
178
|
switching engines (or between two installs of the same engine, e.g. a fork) never
|
|
179
179
|
overwrites another engine's tuning for the same model.
|
|
180
|
+
- **Configurable VRAM headroom** (Settings → Engine, 300 MB–2 GB, default 1 GB) — tell auto-tune
|
|
181
|
+
how much VRAM to keep free for other GPU workloads instead of a fixed margin.
|
|
180
182
|
|
|
181
183
|
</details>
|
|
182
184
|
|
|
@@ -210,6 +212,9 @@ the detail:
|
|
|
210
212
|
Atlassian, Neon, Supabase, Cloudflare, Zapier, Apify, Mixpanel) and open-source local MCPs
|
|
211
213
|
(filesystem, git, postgres, playwright, …), plus your own custom servers. Connected tools appear
|
|
212
214
|
in every chat with no restart. A **Research** persona forces multi-step web search and cites sources inline.
|
|
215
|
+
- **Tool-call approval gate** — every tool call asks for your approval by default before it runs,
|
|
216
|
+
with **Deny**, **Allow**, **Allow for this chat**, or **Always Allow** on an inline bar above the
|
|
217
|
+
composer. Set per-tool defaults globally from Developer → Tool permissions.
|
|
213
218
|
|
|
214
219
|
</details>
|
|
215
220
|
|
|
@@ -256,6 +261,12 @@ library, and loads it on the fly** if it isn't already running — then keeps up
|
|
|
256
261
|
hot** in an LRU pool so the next switch is instant. An agent (or Claude Code) that hops between a
|
|
257
262
|
coding model, a vision model, and an embedder just names each one and it works — no pre-wiring.
|
|
258
263
|
|
|
264
|
+
**One command wires up more than just Claude Code.** `turbollm launch <cli>` also supports
|
|
265
|
+
`opencode`, `kilo`, `openclaw`, and `hermes` — each gets pointed at TurboLLM the way that tool
|
|
266
|
+
expects (config file merge, or its own CLI command) instead of a manual copy-paste setup. Inside
|
|
267
|
+
Claude Code, `/model` lists your local models directly (with **Auto Model Swap** on in Settings →
|
|
268
|
+
Gateway) so you can switch mid-session instead of only at launch.
|
|
269
|
+
|
|
259
270
|
</details>
|
|
260
271
|
|
|
261
272
|
<details>
|
|
@@ -284,7 +295,7 @@ connected); **Remove** undoes it.
|
|
|
284
295
|
|
|
285
296
|
<br/>
|
|
286
297
|
|
|
287
|
-
- A **~
|
|
298
|
+
- A **~2 MB npm package** on Node — no Electron, no bundled Chromium, no Python.
|
|
288
299
|
- **Offline-first** — no account, no backend, no internet, no telemetry.
|
|
289
300
|
- **Windows · macOS · Linux**, with a CPU fallback when there's no GPU.
|
|
290
301
|
|
|
@@ -365,12 +376,20 @@ turbollm launch claude # auto-loads a model if none is running, th
|
|
|
365
376
|
turbollm launch claude --model qwen3-8b # load a specific model first, then launch
|
|
366
377
|
```
|
|
367
378
|
|
|
368
|
-
It sets Claude Code's `ANTHROPIC_BASE_URL`
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
379
|
+
It sets Claude Code's `ANTHROPIC_BASE_URL` and pins `ANTHROPIC_MODEL` to whatever model is
|
|
380
|
+
loaded (so the status line, `/status`, and context-window sizing all reflect the real model),
|
|
381
|
+
then execs `claude`; extra args are forwarded. If no model is loaded it auto-loads your
|
|
382
|
+
last-used one (or the first in your library); `--model` picks a specific one by key or name.
|
|
383
|
+
If `claude` isn't installed, it tells you how.
|
|
384
|
+
|
|
385
|
+
Other coding CLIs work too — `turbollm launch opencode`, `turbollm launch kilo`, and
|
|
386
|
+
`turbollm launch openclaw` write a `turbollm` provider into that tool's own config file
|
|
387
|
+
(preserving anything you already configured) and then launch it. If an existing config can't
|
|
388
|
+
be parsed, TurboLLM refuses to overwrite it and prints how to add the provider by hand.
|
|
389
|
+
`turbollm launch hermes` does the equivalent for [Hermes Agent](https://github.com/NousResearch/hermes-agent)
|
|
390
|
+
via its own `hermes config set` command (its config is YAML, so we drive its CLI instead of
|
|
391
|
+
hand-editing that file). The in-app **Developer** screen also shows copy-paste snippets for
|
|
392
|
+
any OpenAI- or Anthropic-compatible tool (Open WebUI, Kilo Code, opencode, …).
|
|
374
393
|
|
|
375
394
|
---
|
|
376
395
|
|
|
@@ -397,6 +416,7 @@ turbollm --addr 0.0.0.0:6996 # bind all interfaces (LAN sharing)
|
|
|
397
416
|
turbollm --stop # stop a running daemon (any terminal)
|
|
398
417
|
turbollm launch claude # start Claude Code (auto-loads a model if none is running)
|
|
399
418
|
turbollm launch claude --model qwen3-8b # load a specific model, then launch
|
|
419
|
+
turbollm launch opencode # wire opencode (or kilo / openclaw) to TurboLLM, then launch
|
|
400
420
|
```
|
|
401
421
|
|
|
402
422
|
| Flag | Description |
|
|
@@ -410,7 +430,9 @@ turbollm launch claude --model qwen3-8b # load a specific model, then launch
|
|
|
410
430
|
|
|
411
431
|
`turbollm launch claude` also accepts `--model <key|name>` to load a specific model before
|
|
412
432
|
launching; without it, an already-loaded model is used, or the last-used / first model is
|
|
413
|
-
auto-loaded.
|
|
433
|
+
auto-loaded. The same command works with `opencode`, `kilo`, and `openclaw` — each gets a
|
|
434
|
+
`turbollm` provider merged into its own config file before it starts — and with `hermes`,
|
|
435
|
+
which gets configured via its own `hermes config set` command instead.
|
|
414
436
|
|
|
415
437
|
---
|
|
416
438
|
|