murmur-rag 1.1.0 → 1.2.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 +17 -17
- package/dist/cdn/{anthropic-dc7h9prc.js → anthropic-ynz7717b.js} +2 -2
- package/dist/cdn/{embed-acjpjh6t.js → embed-0m8xctqy.js} +1 -1
- package/dist/cdn/{embed-ssqsb38w.js → embed-7pk91zq8.js} +2 -2
- package/dist/cdn/embed-dbkjhg16.js +83 -0
- package/dist/cdn/{embed-z32y952f.js → embed-n5nzhrf2.js} +3 -3
- package/dist/cdn/{embed-6gef7ym5.js → embed-rp9gb1qq.js} +2 -2
- package/dist/cdn/{embed-fd96s8qk.js → embed-xtkxyrpe.js} +9 -9
- package/dist/cdn/{google-yywkqdph.js → google-k5kwa54v.js} +8 -8
- package/dist/cdn/{index-jt6n0d28.js → index-db4ne93m.js} +1 -1
- package/dist/cdn/{index-nesgnf2n.js → index-qc8kgsdt.js} +1 -1
- package/dist/cdn/{index-bq0x71h1.js → index-t0qn2m4r.js} +1 -1
- package/dist/cdn/index-y0faj89r.js +1 -0
- package/dist/cdn/mistral-p2qcnn42.js +3 -0
- package/dist/cdn/{murmur-j1ky5vmr.js → murmur-d6t6cjc7.js} +2 -2
- package/dist/cdn/murmur.js +6 -6
- package/dist/cdn/{openai-compatible-zhaj1r43.js → openai-compatible-psnkrpxy.js} +6 -6
- package/dist/cdn/{openai-g1685z9v.js → openai-d3q1d6cz.js} +10 -10
- package/dist/cdn/retriever-6qvn2maq.js +1 -0
- package/dist/cdn/{transformers.web-3kmbvcbt.js → transformers.web-xn16v7pz.js} +5 -5
- package/dist/lib/chunks/{index-92w507gk.js → index-y3v46yjp.js} +44 -34
- package/dist/lib/embed.js +4 -4
- package/dist/lib/widget/index.js +2 -2
- package/dist/types/widget/session.d.ts +16 -4
- package/package.json +1 -1
- package/dist/cdn/embed-jdraznwg.js +0 -83
- package/dist/cdn/index-wgzgvzaf.js +0 -1
- package/dist/cdn/mistral-0mg4kk7s.js +0 -3
- package/dist/cdn/retriever-dqxzjaqk.js +0 -1
package/README.md
CHANGED
|
@@ -10,20 +10,20 @@ An AI chat bubble for any website that answers from the site's own pages, cites
|
|
|
10
10
|
|
|
11
11
|
## The widget
|
|
12
12
|
|
|
13
|
-
Paste the line before `</body>`. Without options, the bubble answers from the page the visitor is on
|
|
14
|
-
|
|
15
|
-
| Attribute |
|
|
16
|
-
| ---------------------------------------------------------------- |
|
|
17
|
-
| `data-index` | URL of the index written by `murmur index` (`/murmur-index.json`). Without it, the current page is read
|
|
18
|
-
| `data-endpoint` | Your OpenAI-compatible proxy (https): visitors chat without a key
|
|
19
|
-
| `data-local` | `
|
|
20
|
-
| `data-provider`, `data-model` | Provider and model preselected for visitors, or the model asked of the proxy
|
|
21
|
-
| `data-instructions` | Your instructions to the assistant
|
|
22
|
-
| `data-title`, `data-greeting`, `data-placeholder`, `data-button` | Texts of the panel
|
|
23
|
-
| `data-lang` | `en` or `fr` (default: the page's `lang`, then the browser's)
|
|
24
|
-
| `data-position` | `bottom-right` (default) or `bottom-left`
|
|
25
|
-
| `data-accent`, `data-theme` | Any CSS colour; `auto`, `light` or `dark`
|
|
26
|
-
| `data-open`, `data-storage-key` | Open on load; prefix of what the widget stores
|
|
13
|
+
Paste the line before `</body>`. Without options, the bubble answers from the page the visitor is on, with a small model running in the visitor's browser (after they agree to a one-time 1.1 GB download); visitors can connect their own AI key instead from the AI settings. The [configurator](https://maxgfr.github.io/murmur/#wire) writes the line for you.
|
|
14
|
+
|
|
15
|
+
| Attribute | |
|
|
16
|
+
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
17
|
+
| `data-index` | URL of the index written by `murmur index` (`/murmur-index.json`). Without it, the current page is read |
|
|
18
|
+
| `data-endpoint` | Your OpenAI-compatible proxy (https): visitors chat without a key |
|
|
19
|
+
| `data-local` | `false` turns off the in-browser model, the default when there is no proxy: visitors then need their own key |
|
|
20
|
+
| `data-provider`, `data-model` | Provider and model preselected for visitors, or the model asked of the proxy |
|
|
21
|
+
| `data-instructions` | Your instructions to the assistant |
|
|
22
|
+
| `data-title`, `data-greeting`, `data-placeholder`, `data-button` | Texts of the panel |
|
|
23
|
+
| `data-lang` | `en` or `fr` (default: the page's `lang`, then the browser's) |
|
|
24
|
+
| `data-position` | `bottom-right` (default) or `bottom-left` |
|
|
25
|
+
| `data-accent`, `data-theme` | Any CSS colour; `auto`, `light` or `dark` |
|
|
26
|
+
| `data-open`, `data-storage-key` | Open on load; prefix of what the widget stores |
|
|
27
27
|
|
|
28
28
|
The widget lives in a Shadow DOM and is restyled through `--murmur-accent`, `--murmur-accent-ink`, `--murmur-font`, `--murmur-radius` and `--murmur-z`. It emits `murmur:state` events (`searching`, `streaming`, `done`, `error`) with the passages found and cited.
|
|
29
29
|
|
|
@@ -37,11 +37,11 @@ Reads every `.html`, `.md` and `.txt` file (or a live `sitemap.xml`), keeps the
|
|
|
37
37
|
|
|
38
38
|
## AI models and keys
|
|
39
39
|
|
|
40
|
-
A key in a web page is readable by anyone, so murmur never puts one there:
|
|
40
|
+
A key in a web page is readable by anyone, so murmur never puts one there. The widget uses your proxy if you set one, else the visitor's key if they connected one, else the model in the browser:
|
|
41
41
|
|
|
42
42
|
- **Your proxy holds the key.** Deploy [`examples/cloudflare-worker`](examples/cloudflare-worker) (about 40 lines): it keeps the key as a secret, allows only your origin, fixes the model and caps answers. Then `data-endpoint="https://murmur-proxy.you.workers.dev/v1"`.
|
|
43
|
-
- **No key at all.**
|
|
44
|
-
- **
|
|
43
|
+
- **No key at all, by default.** Without a proxy, the widget runs [LFM3 1.7B](https://huggingface.co/LiquidAI/LFM3-1.7B) (Liquid AI, October 2026) in the visitor's browser on WebGPU through Transformers.js. The widget asks before downloading about 1.1 GB, then the weights stay in the browser's cache and questions never leave the device. Slower and less precise than a hosted model; `data-local="false"` turns it off.
|
|
44
|
+
- **Or each visitor brings theirs.** The AI settings, built on llm-connect's store, let a visitor use their own key instead of the in-browser model: provider and model from the [llm-models](https://github.com/maxgfr/llm-models) catalog, the key encrypted with AES-GCM under a non-extractable browser key and sent only to that provider, or a local Ollama / LM Studio.
|
|
45
45
|
|
|
46
46
|
## npm package
|
|
47
47
|
|