turbollm 1.9.1 → 1.9.3
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 +25 -6
- package/dist/cli.js +961 -244
- package/dist/webdist/assets/{AgentEditPage-CL3LrppX.js → AgentEditPage-DNvZR3cu.js} +1 -1
- package/dist/webdist/assets/{ChatScreen-C1Uc3Yku.js → ChatScreen-DTUqWzkB.js} +1 -1
- package/dist/webdist/assets/{CodeComposer-DSTYQfZn.js → CodeComposer-pkcqzmvN.js} +1 -1
- package/dist/webdist/assets/{CodeHomeScreen-DuDMAhac.js → CodeHomeScreen-BGDfKjR5.js} +1 -1
- package/dist/webdist/assets/{CodeSessionScreen-BG_3mBQw.js → CodeSessionScreen-XUVJOHoy.js} +1 -1
- package/dist/webdist/assets/{CustomizeScreen-59VclUX9.js → CustomizeScreen-C-CB17f_.js} +3 -3
- package/dist/webdist/assets/{DeveloperScreen-CJ5t_W-i.js → DeveloperScreen-Cf2h3q1h.js} +1 -1
- package/dist/webdist/assets/{EnginesScreen-DDhDoBD2.js → EnginesScreen-BVr8azYB.js} +1 -1
- package/dist/webdist/assets/{FsBrowser-BPZbbFQF.js → FsBrowser-ClSut33T.js} +1 -1
- package/dist/webdist/assets/{ModelLoadMenu-g3YRMrnX.js → ModelLoadMenu-BVi-8jbR.js} +2 -2
- package/dist/webdist/assets/{ModelsScreen-BA1BBOol.js → ModelsScreen-DD-4WyKD.js} +1 -1
- package/dist/webdist/assets/SettingsScreen-C3yC3oot.js +2 -0
- package/dist/webdist/assets/{SkillEditPage-BVNWgPo7.js → SkillEditPage-DChREtc6.js} +1 -1
- package/dist/webdist/assets/{TokensScreen-Dx0tdvdc.js → TokensScreen-CelKSaRC.js} +1 -1
- package/dist/webdist/assets/{ToolApprovalBar-CEs5ZIWL.js → ToolApprovalBar-K6AKnQqc.js} +3 -3
- package/dist/webdist/assets/WorkspaceScreen-S_J_Og1H.js +1 -0
- package/dist/webdist/assets/{agent-api-DmI6MYbf.js → agent-api-CPRm67XA.js} +1 -1
- package/dist/webdist/assets/{arc-D8VgiHW6.js → arc-BWQn2h61.js} +1 -1
- package/dist/webdist/assets/{architectureDiagram-3BPJPVTR-DFCF60GK.js → architectureDiagram-3BPJPVTR-Cge0ZKH0.js} +1 -1
- package/dist/webdist/assets/{arrow-left-DHiJ-HMU.js → arrow-left-DoxsLtKs.js} +1 -1
- package/dist/webdist/assets/{badge-Dpeo8_A8.js → badge-kjHBKzhx.js} +1 -1
- package/dist/webdist/assets/{blockDiagram-GPEHLZMM-B2mr9ptS.js → blockDiagram-GPEHLZMM-BssC0Yh7.js} +1 -1
- package/dist/webdist/assets/{bot-JdsNC3xo.js → bot-DTtcsWn-.js} +1 -1
- package/dist/webdist/assets/{c4Diagram-AAUBKEIU-9WcH4zG5.js → c4Diagram-AAUBKEIU-BqvriUK6.js} +1 -1
- package/dist/webdist/assets/channel-Vz8UyuMe.js +1 -0
- package/dist/webdist/assets/{chat-api-C2cu2N3E.js → chat-api-DZ49knUn.js} +1 -1
- package/dist/webdist/assets/{chat-queries-Bk8dtRmW.js → chat-queries-VupDrbfF.js} +1 -1
- package/dist/webdist/assets/check-lvVdiPFE.js +1 -0
- package/dist/webdist/assets/{chevron-left-ffmUS1bo.js → chevron-left-DwdYJZHs.js} +1 -1
- package/dist/webdist/assets/{chevron-right-lQ08UCEN.js → chevron-right-BTbLU6GN.js} +1 -1
- package/dist/webdist/assets/{chunk-2J33WTMH-Do7hk3aY.js → chunk-2J33WTMH-B984SOW_.js} +1 -1
- package/dist/webdist/assets/{chunk-4BX2VUAB-COch2q0l.js → chunk-4BX2VUAB-C1dpPi76.js} +1 -1
- package/dist/webdist/assets/{chunk-55IACEB6-DlRNdk5b.js → chunk-55IACEB6-LDla5pGM.js} +1 -1
- package/dist/webdist/assets/{chunk-727SXJPM-_IBt-4x9.js → chunk-727SXJPM-0eWWK0EB.js} +1 -1
- package/dist/webdist/assets/{chunk-AQP2D5EJ-DkBsRXEx.js → chunk-AQP2D5EJ-D5O05AQQ.js} +1 -1
- package/dist/webdist/assets/{chunk-FMBD7UC4-jKwa055q.js → chunk-FMBD7UC4-wuTFD4_w.js} +1 -1
- package/dist/webdist/assets/{chunk-ND2GUHAM-Dy4o9e8b.js → chunk-ND2GUHAM-CyryisdR.js} +1 -1
- package/dist/webdist/assets/{chunk-QZHKN3VN-DTLVU8e_.js → chunk-QZHKN3VN-Dkg5s8Vt.js} +1 -1
- package/dist/webdist/assets/{circle-check-CJNLOdAm.js → circle-check-BMWD0nBQ.js} +1 -1
- package/dist/webdist/assets/{circle-x-CNFOnIgE.js → circle-x-L9dERUsF.js} +1 -1
- package/dist/webdist/assets/classDiagram-4FO5ZUOK-m7OsEmbJ.js +1 -0
- package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-m7OsEmbJ.js +1 -0
- package/dist/webdist/assets/{common-Br2d43RA.js → common-B-Q9ODI5.js} +1 -1
- package/dist/webdist/assets/{copy-button-BrAlefJf.js → copy-button-DKb_WA32.js} +1 -1
- package/dist/webdist/assets/{cose-bilkent-S5V4N54A-CMOi5ZRd.js → cose-bilkent-S5V4N54A-DPKlqM99.js} +1 -1
- package/dist/webdist/assets/{dagre-BM42HDAG-mkGoHAdD.js → dagre-BM42HDAG-DCXg7Kdg.js} +1 -1
- package/dist/webdist/assets/{diagram-2AECGRRQ-DLYfv3Tt.js → diagram-2AECGRRQ-CboDux1B.js} +1 -1
- package/dist/webdist/assets/{diagram-5GNKFQAL-gJ0FiE3K.js → diagram-5GNKFQAL-CGhi-mVg.js} +1 -1
- package/dist/webdist/assets/{diagram-KO2AKTUF-pHUoCM5r.js → diagram-KO2AKTUF-DVTJUAeJ.js} +1 -1
- package/dist/webdist/assets/{diagram-LMA3HP47-CqAxBy3U.js → diagram-LMA3HP47-Vnh4TKLV.js} +1 -1
- package/dist/webdist/assets/{diagram-OG6HWLK6-XzhT4DMJ.js → diagram-OG6HWLK6-BpWm07Oi.js} +1 -1
- package/dist/webdist/assets/{dialog-Fn-LQd0D.js → dialog-DdlXu__o.js} +1 -1
- package/dist/webdist/assets/{dropdown-menu-afNQJrSx.js → dropdown-menu-DDpkyyj8.js} +1 -1
- package/dist/webdist/assets/{erDiagram-TEJ5UH35-Bb7my1c-.js → erDiagram-TEJ5UH35-Bd8Ei8bx.js} +1 -1
- package/dist/webdist/assets/{flowDiagram-I6XJVG4X-CoYm4wZs.js → flowDiagram-I6XJVG4X--gnh3dk5.js} +1 -1
- package/dist/webdist/assets/{ganttDiagram-6RSMTGT7-q-pnLU0O.js → ganttDiagram-6RSMTGT7-BK29kYkV.js} +1 -1
- package/dist/webdist/assets/{git-branch-BHktl8gL.js → git-branch-nhepGrNO.js} +1 -1
- package/dist/webdist/assets/{gitGraphDiagram-PVQCEYII-COFNJi95.js → gitGraphDiagram-PVQCEYII-Qrtx7EuN.js} +1 -1
- package/dist/webdist/assets/index-C8wNg6Wi.js +10 -0
- package/dist/webdist/assets/index-R8A5k2CE.css +1 -0
- package/dist/webdist/assets/{infoDiagram-5YYISTIA-Djua9vVH.js → infoDiagram-5YYISTIA-Bj9TCuBe.js} +1 -1
- package/dist/webdist/assets/{ishikawaDiagram-YF4QCWOH-DKaU42pG.js → ishikawaDiagram-YF4QCWOH-D6vdcQx7.js} +1 -1
- package/dist/webdist/assets/{journeyDiagram-JHISSGLW-wKShS-ly.js → journeyDiagram-JHISSGLW-DjnUUitB.js} +1 -1
- package/dist/webdist/assets/{kanban-definition-UN3LZRKU-ccEhP5YP.js → kanban-definition-UN3LZRKU-B1L_a7lS.js} +1 -1
- package/dist/webdist/assets/{linear-D3ScBPAu.js → linear-o0IfwOne.js} +1 -1
- package/dist/webdist/assets/{lock-CEFYRkdR.js → lock-Agz9n58r.js} +1 -1
- package/dist/webdist/assets/{mermaid.core-B5yM_SbF.js → mermaid.core-DgaDcZ7N.js} +4 -4
- package/dist/webdist/assets/{mindmap-definition-RKZ34NQL-Px--F1jE.js → mindmap-definition-RKZ34NQL-CmH7NPeo.js} +1 -1
- package/dist/webdist/assets/{pencil-TpRj93pU.js → pencil-B6MqYBDR.js} +1 -1
- package/dist/webdist/assets/{personas-BuO6F3d4.js → personas-37gn2PeP.js} +8 -4
- package/dist/webdist/assets/{pieDiagram-4H26LBE5-B8FreD07.js → pieDiagram-4H26LBE5-C_lc9Bmi.js} +1 -1
- package/dist/webdist/assets/{plus-B58ZWo5O.js → plus-BvgdS6Vk.js} +1 -1
- package/dist/webdist/assets/{quadrantDiagram-W4KKPZXB-D3OlRIB-.js → quadrantDiagram-W4KKPZXB-6RWw_N1H.js} +1 -1
- package/dist/webdist/assets/{refresh-cw-BJYZs3Je.js → refresh-cw-ynvrvFZw.js} +1 -1
- package/dist/webdist/assets/{requirementDiagram-4Y6WPE33-Zp2Pf2Hh.js → requirementDiagram-4Y6WPE33-BX9QhEnx.js} +1 -1
- package/dist/webdist/assets/{rotate-ccw-BYQeOHaw.js → rotate-ccw-B5F4Bcwl.js} +1 -1
- package/dist/webdist/assets/{sankeyDiagram-5OEKKPKP-D3YvZRj2.js → sankeyDiagram-5OEKKPKP-C0Vy-PzM.js} +1 -1
- package/dist/webdist/assets/{sequenceDiagram-3UESZ5HK-CwCOjaOS.js → sequenceDiagram-3UESZ5HK-BniJLZOt.js} +1 -1
- package/dist/webdist/assets/{skeleton-M7Qfb5gz.js → skeleton-BWLBT8PZ.js} +1 -1
- package/dist/webdist/assets/{sliders-horizontal-BOcX1udY.js → sliders-horizontal-_Pw_fPxo.js} +1 -1
- package/dist/webdist/assets/{sparkles-Bb4uZg58.js → sparkles-CopaJ0vX.js} +1 -1
- package/dist/webdist/assets/{star-D6dguvg4.js → star-DRBODCiH.js} +1 -1
- package/dist/webdist/assets/{stateDiagram-AJRCARHV-4aIcjOUO.js → stateDiagram-AJRCARHV-BLP70Zkk.js} +1 -1
- package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-Dd5BhBJB.js +1 -0
- package/dist/webdist/assets/{switch-BYCZffjv.js → switch-DBoQ3-k9.js} +1 -1
- package/dist/webdist/assets/{terminal-DBzVaX_I.js → terminal-BDZDh7uk.js} +1 -1
- package/dist/webdist/assets/{timeline-definition-PNZ67QCA-BhfTuD64.js → timeline-definition-PNZ67QCA-gd66aHo1.js} +1 -1
- package/dist/webdist/assets/{trash-2-CTqgFdhY.js → trash-2-BMQd9RUh.js} +1 -1
- package/dist/webdist/assets/{useIsDesktop--TrjyaAR.js → useIsDesktop-C-xkBB_K.js} +1 -1
- package/dist/webdist/assets/{vennDiagram-CIIHVFJN-D0sQwTM_.js → vennDiagram-CIIHVFJN-Cqjj2Yol.js} +1 -1
- package/dist/webdist/assets/{wardley-L42UT6IY-BpAdkNng.js → wardley-L42UT6IY-BpM_o2mZ.js} +1 -1
- package/dist/webdist/assets/{wardleyDiagram-YWT4CUSO-CCTB-C_D.js → wardleyDiagram-YWT4CUSO-BXA5Tvdx.js} +1 -1
- package/dist/webdist/assets/{wrench-CDLv0ue0.js → wrench-BWX7piNS.js} +1 -1
- package/dist/webdist/assets/{xychartDiagram-2RQKCTM6-C7yHxVHX.js → xychartDiagram-2RQKCTM6-CSkEzqLU.js} +1 -1
- package/dist/webdist/index.html +2 -2
- package/package.json +1 -1
- package/dist/webdist/assets/SettingsScreen-UC-wUufq.js +0 -1
- package/dist/webdist/assets/WorkspaceScreen-CJuQPS2a.js +0 -1
- package/dist/webdist/assets/channel-C0sqITVY.js +0 -1
- package/dist/webdist/assets/check-BWcNPlGe.js +0 -1
- package/dist/webdist/assets/classDiagram-4FO5ZUOK-BwdZnjq3.js +0 -1
- package/dist/webdist/assets/classDiagram-v2-Q7XG4LA2-BwdZnjq3.js +0 -1
- package/dist/webdist/assets/index-BOZxjJ0U.js +0 -10
- package/dist/webdist/assets/index-CXwfn7-U.css +0 -1
- package/dist/webdist/assets/stateDiagram-v2-BHNVJYJU-C0nTJDkn.js +0 -1
package/README.md
CHANGED
|
@@ -99,7 +99,9 @@ TurboLLM does the opposite:
|
|
|
99
99
|
- **🔀 A gateway that loads models for you.** Name any model in your API request and TurboLLM
|
|
100
100
|
loads it on demand, keeping your favorites hot in a small pool — so an agent that hops between
|
|
101
101
|
models just works, with nothing to pre-wire.
|
|
102
|
-
- **🔒 Offline-first & private.** No account, no backend, no internet
|
|
102
|
+
- **🔒 Offline-first & private.** No account, no backend, no internet required. Telemetry is
|
|
103
|
+
**fully opt-in and off by default** — choose Off and nothing but that one-time choice is ever
|
|
104
|
+
sent, or opt in and see exactly what leaves your machine, verified in [Privacy](#privacy).
|
|
103
105
|
|
|
104
106
|
---
|
|
105
107
|
|
|
@@ -400,7 +402,8 @@ connected); **Remove** undoes it.
|
|
|
400
402
|
<br/>
|
|
401
403
|
|
|
402
404
|
- A **~7 MB npm package** on Node — no Electron, no bundled Chromium, no Python.
|
|
403
|
-
- **Offline-first** — no account, no backend, no internet
|
|
405
|
+
- **Offline-first** — no account, no backend, no internet required. Telemetry is opt-in and off
|
|
406
|
+
by default; see [Privacy](#privacy).
|
|
404
407
|
- **Windows · macOS · Linux**, with a CPU fallback when there's no GPU.
|
|
405
408
|
|
|
406
409
|
</details>
|
|
@@ -581,8 +584,23 @@ Use `--config <file>` to point at an alternate config (its directory becomes the
|
|
|
581
584
|
## Privacy
|
|
582
585
|
|
|
583
586
|
TurboLLM is **offline-first**: core local use needs no account, no backend, and no internet.
|
|
584
|
-
|
|
585
|
-
your machine
|
|
587
|
+
|
|
588
|
+
**Your prompts, chats, files, and keys never leave your machine — regardless of your telemetry
|
|
589
|
+
choice.** That's not a promise you have to take on faith: the client is source-available, so the
|
|
590
|
+
claim is checkable against the actual code that ships.
|
|
591
|
+
|
|
592
|
+
**Telemetry is opt-in, and off by default.** On first run you choose one of three levels, with no
|
|
593
|
+
pre-selected option:
|
|
594
|
+
|
|
595
|
+
- **Off** — sends only that one-time choice, nothing else, ever.
|
|
596
|
+
- **Anonymous usage + benchmarks** — which features you use, your hardware, model names, and
|
|
597
|
+
measured speed. Never prompts, files, paths, or keys.
|
|
598
|
+
- **+ Crash reports** — adds error fingerprints (never your content).
|
|
599
|
+
|
|
600
|
+
You can preview the exact payload before anything is sent, and inspect a running log of every
|
|
601
|
+
event this machine has *actually* transmitted, from **Settings → Privacy & telemetry**. For
|
|
602
|
+
scripted or unattended use, `--no-telemetry` (or `TURBOLLM_TELEMETRY=off`) is a hard, one-way kill
|
|
603
|
+
switch, independent of the saved level.
|
|
586
604
|
|
|
587
605
|
---
|
|
588
606
|
|
|
@@ -603,12 +621,13 @@ Marks reflect mid-2026; verify the moving rows against each tool's current docs.
|
|
|
603
621
|
| Speculative decoding (draft / MTP) | ✅ | ✅ | ◐ env flag | ❌ |
|
|
604
622
|
| Web UI from any LAN device | ✅ | ❌ | ❌ | ✅ |
|
|
605
623
|
| **Lightweight** (no Electron / no Python) | ✅ npm | ❌ Electron | ✅ Go | ❌ Python |
|
|
606
|
-
| Offline-first · **
|
|
624
|
+
| Offline-first · **opt-in, verifiable telemetry** | ✅ verifiable (source-available) | ◐ closed app — not verifiable | ✅ | ✅ |
|
|
607
625
|
|
|
608
626
|
LM Studio and Ollama both added Anthropic `/v1/messages` endpoints in 2026, so the API rows are
|
|
609
627
|
now parity — Claude Code works against any of them. TurboLLM's durable edges are **any engine
|
|
610
628
|
including community forks**, **benchmark-based auto-tuning with a VRAM-fit verdict + measured t/s
|
|
611
|
-
before you commit**, and **
|
|
629
|
+
before you commit**, and **telemetry you can actually verify** — opt-in, off by default, and
|
|
630
|
+
checkable against source-available code rather than taken on trust.
|
|
612
631
|
|
|
613
632
|
Prefer Open WebUI's chat breadth? It works great pointed at TurboLLM's OpenAI endpoint.
|
|
614
633
|
|