@gmickel/gno 1.29.3 → 1.29.5
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 +77 -82
- package/browser-extension/artifacts/{gno-browser-clipper-v1.29.3.zip → gno-browser-clipper-v1.29.5.zip} +0 -0
- package/browser-extension/artifacts/gno-browser-clipper-v1.29.5.zip.sha256 +1 -0
- package/browser-extension/dist/manifest.json +1 -1
- package/package.json +1 -1
- package/browser-extension/artifacts/gno-browser-clipper-v1.29.3.zip.sha256 +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# GNO
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Search finds. GNO proves.**
|
|
4
|
+
|
|
5
|
+
A local knowledge engine for your notes, code, PDFs, and Office docs. Hybrid search, a browsable workspace with graph and editor, CLI, SDK, REST API, and MCP for ten AI clients — plus retrieval that can show its work.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@gmickel/gno)
|
|
6
8
|
[](./LICENSE)
|
|
@@ -8,103 +10,96 @@
|
|
|
8
10
|
[](https://twitter.com/gmickel)
|
|
9
11
|
[](https://discord.gg/nHEmyJB5tg)
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
> **[gno.sh/publish](https://gno.sh/publish) is live.** Turn any GNO note or collection into a polished, reader-first URL — editorial typography, scoped search, and four visibility modes from public to encrypted-before-upload. **[See the reader →](#publish-to-gnosh)**
|
|
13
|
+

|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
```bash
|
|
16
|
+
bun install -g @gmickel/gno
|
|
17
|
+
gno setup ~/notes --name notes # returns only after retrieval actually works
|
|
18
|
+
gno mcp install --target cursor # or claude-code, claude-desktop, zed, ...
|
|
19
|
+
```
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
## What you get
|
|
22
|
+
|
|
23
|
+
BM25 and vector retrieval fused and reranked over Markdown, code, PDFs, Office files, and exported mail, calendar and transcripts. A web workspace with cross-collection browse, a knowledge graph, a markdown editor and provenance-carrying capture. A fast CLI, a TypeScript SDK, a REST API, a headless daemon, and one-command install into ten agent clients. Optional hosted publishing when a slice needs a URL.
|
|
24
|
+
|
|
25
|
+
That is the table stakes. Here is the part that is harder to find elsewhere.
|
|
26
|
+
|
|
27
|
+
## Why not just another local RAG tool
|
|
17
28
|
|
|
18
|
-
|
|
29
|
+
Most retrieval tools return a ranked list and leave the rest to optimism. Four things here are different, and each one is measurable rather than adjectival:
|
|
19
30
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
opaque, untrusted, limited to 16, and intentionally have zero ranking effect:
|
|
27
|
-
those surfaces never probe caller or server filesystem paths. Trusted local
|
|
28
|
-
diagnose output uses closed `schemaVersion: "1.1"` redacted affinity metadata;
|
|
29
|
-
absent, disabled, and remote/untrusted diagnose requests preserve exact legacy
|
|
30
|
-
v1.0 bytes and omit `affinity`.
|
|
31
|
+
| | What it does | Why it matters |
|
|
32
|
+
| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| **[Context Capsules](https://gno.sh/docs/context-capsules)** | Compiles one bounded evidence bundle per goal: exact line spans, content hashes, one global token budget, collapsed duplicates, and a written list of what it could _not_ find | Your agent reads once instead of searching five times. **48.94% fewer retrieval calls, 44.12% less model-visible context, 100% task accuracy retained** across 48 paired benchmark tasks |
|
|
34
|
+
| **[Verified answers](https://gno.sh/docs/cli)** | `gno ask --verify` generates against one closed Capsule, classifies every substantive claim, and withholds the draft below 100% support | An abstention naming the failing claim beats a confident paragraph you have to fact-check by hand |
|
|
35
|
+
| **[Verified setup](https://gno.sh/docs/project-profiles)** | `gno setup` returns only after lexical search finds a real hit derived from _your_ corpus | No green checkmark over a folder that indexed but cannot be searched |
|
|
36
|
+
| **[Egress policy](https://gno.sh/docs/collection-egress)** | Per-collection fail-closed `local_only` / `lan` / `remote`, inherited by every derived Capsule, trace, and export | Mixed setups are normal. Pin the client work local while your notes use the LAN GPU box |
|
|
31
37
|
|
|
32
|
-
|
|
38
|
+
Everything runs on your machine. Zero telemetry. The three network boundaries are explicit: downloading a model, configuring an HTTP inference endpoint, and uploading an artifact you exported for publishing.
|
|
33
39
|
|
|
34
|
-
|
|
35
|
-
- your important knowledge is split across Markdown, code, PDFs, and Office files
|
|
36
|
-
- you want one retrieval layer that works from the CLI, browser, MCP, and a Bun/TypeScript SDK
|
|
37
|
-
- you want better local context for agents without shipping your docs to a cloud API
|
|
40
|
+
**And when it fails, that ships too.** The CJK lexical benchmark missed its own promotion gates, so the analyzer was not shipped and [the failing numbers were published](#general-multilingual-embedding-benchmark) instead.
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
## Use it when
|
|
40
43
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
- **Shareable, not synced**: export a note or collection to [gno.sh](https://gno.sh/publish) as a polished reader page — public, secret, invite-only, or locally encrypted before upload
|
|
46
|
-
- **Operational fit**: daemon mode, model presets, remote GPU backends, safe config/state on disk
|
|
44
|
+
- your knowledge is split across Markdown, code, PDFs, Office files, and exported mail or transcripts
|
|
45
|
+
- you want one retrieval layer for the CLI, the browser, MCP, and a Bun/TypeScript SDK
|
|
46
|
+
- you want your coding agent to have a real memory without shipping your docs to a cloud API
|
|
47
|
+
- you need to prove, later, which bytes supported a conclusion
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
## Two minutes, end to end
|
|
49
50
|
|
|
50
51
|
```bash
|
|
51
52
|
# Install
|
|
52
53
|
bun install -g @gmickel/gno
|
|
53
54
|
|
|
54
|
-
#
|
|
55
|
+
# Activate a folder. Returns only after BM25 proves an exact corpus-derived hit;
|
|
56
|
+
# semantic embedding continues independently in the background.
|
|
55
57
|
gno setup ~/notes --name notes
|
|
56
58
|
|
|
57
|
-
#
|
|
58
|
-
gno profile diff
|
|
59
|
-
gno setup . --apply-profile
|
|
60
|
-
|
|
61
|
-
# Add more collections with the granular commands
|
|
59
|
+
# Add more sources
|
|
62
60
|
gno collection add ~/work/docs --name work-docs --pattern "**/*.{md,pdf,docx}"
|
|
63
61
|
gno collection add ~/work/gno/src --name gno-code --pattern "**/*.{ts,tsx,js,jsx}"
|
|
64
62
|
|
|
65
|
-
#
|
|
66
|
-
gno context add "notes:" "Personal notes, journal entries, and long-form ideas"
|
|
63
|
+
# Tell retrieval what each collection is for
|
|
67
64
|
gno context add "work-docs:" "Architecture docs, runbooks, RFCs, meeting notes"
|
|
68
|
-
gno context add "gno-code:" "Source code for the GNO application"
|
|
69
65
|
|
|
70
|
-
|
|
71
|
-
gno
|
|
72
|
-
|
|
66
|
+
gno update --yes # sync
|
|
67
|
+
gno embed # embed when you want semantic retrieval
|
|
68
|
+
|
|
69
|
+
# Pick the search that fits the question
|
|
70
|
+
gno search "DEC-0054" # exact identifier
|
|
71
|
+
gno vsearch "retry failed jobs with backoff" # natural language
|
|
72
|
+
gno query "JWT refresh token rotation" --explain # hybrid, with score traces
|
|
73
73
|
|
|
74
|
-
#
|
|
75
|
-
gno
|
|
76
|
-
|
|
77
|
-
gno
|
|
74
|
+
# Compile checkable evidence for a goal, then re-check it later
|
|
75
|
+
gno context build "why we dropped the queue rewrite" \
|
|
76
|
+
--collection work-docs --budget 12000 --json --output capsule.json
|
|
77
|
+
gno context verify capsule.json
|
|
78
78
|
|
|
79
|
-
#
|
|
80
|
-
gno
|
|
81
|
-
gno multi-get "gno-code/**/*.ts" --max-bytes 30000 --md
|
|
82
|
-
gno query "deployment process" --all --files --min-score 0.35
|
|
79
|
+
# Generate only what that evidence supports
|
|
80
|
+
gno ask "why did we drop the queue rewrite" --verify --show-sources
|
|
83
81
|
|
|
84
|
-
# Run the workspace (pick one —
|
|
85
|
-
gno serve # browser/desktop
|
|
86
|
-
gno daemon --detach # headless
|
|
82
|
+
# Run the workspace (pick one — not both against the same index)
|
|
83
|
+
gno serve # browser/desktop Web UI
|
|
84
|
+
gno daemon --detach # headless indexing + resident MCP gateway
|
|
87
85
|
```
|
|
88
86
|
|
|
87
|
+
> [!TIP]
|
|
88
|
+
> **[gno.sh/publish](https://gno.sh/publish) is live.** Turn any GNO note or collection into a reader-first URL — editorial typography, scoped search, and four visibility modes from public to encrypted-before-upload. **[See the reader →](#publish-to-gnosh)**
|
|
89
|
+
|
|
90
|
+
> **ClawdHub**: GNO skills bundled for Clawdbot — [clawdhub.com/gmickel/gno](https://clawdhub.com/gmickel/gno)
|
|
91
|
+
|
|
89
92
|
---
|
|
90
93
|
|
|
91
94
|
## Contents
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- [Daemon Mode](#daemon-mode)
|
|
96
|
-
|
|
97
|
-
- [
|
|
98
|
-
|
|
99
|
-
- [
|
|
100
|
-
- [REST API](#rest-api)
|
|
101
|
-
- [SDK](#sdk)
|
|
102
|
-
- [How It Works](#how-it-works)
|
|
103
|
-
- [Features](#features)
|
|
104
|
-
- [Local Models](#local-models)
|
|
105
|
-
- [Fine-Tuned Models](#fine-tuned-models)
|
|
106
|
-
- [Architecture](#architecture)
|
|
107
|
-
- [Development](#development)
|
|
96
|
+
**Start here** · [Quick Start](#quick-start) · [Installation](#installation) · [Agent Integration](#agent-integration) · [Search Modes](#search-modes)
|
|
97
|
+
|
|
98
|
+
**Surfaces** · [Web UI](#web-ui) · [REST API](#rest-api) · [SDK](#sdk) · [Daemon Mode](#daemon-mode) · [Publish to gno.sh](#publish-to-gnosh)
|
|
99
|
+
|
|
100
|
+
**Under the hood** · [How It Works](#how-it-works) · [Features](#features) · [Local Models](#local-models) · [Fine-Tuned Models](#fine-tuned-models) · [Architecture](#architecture) · [Development](#development)
|
|
101
|
+
|
|
102
|
+
**Deep dives on gno.sh** · [Context Capsules](https://gno.sh/docs/context-capsules) · [Knowledge Delta](https://gno.sh/docs/knowledge-delta) · [Retrieval learning](https://gno.sh/docs/retrieval-learning) · [Project profiles](https://gno.sh/docs/project-profiles) · [Egress policies](https://gno.sh/docs/collection-egress) · [Export adapters](https://gno.sh/docs/file-export-adapters)
|
|
108
103
|
|
|
109
104
|
---
|
|
110
105
|
|
|
@@ -112,7 +107,7 @@ gno daemon --detach # headless continuous indexing (background; --status / --st
|
|
|
112
107
|
|
|
113
108
|
<!-- public-truth:current-version -->
|
|
114
109
|
|
|
115
|
-
> Current release: **v1.29.
|
|
110
|
+
> Current release: **v1.29.5** — see [CHANGELOG.md](./CHANGELOG.md)
|
|
116
111
|
|
|
117
112
|
<!-- /public-truth -->
|
|
118
113
|
|
|
@@ -247,7 +242,7 @@ gno models pull --gen
|
|
|
247
242
|
gno query "ECONNREFUSED 127.0.0.1:5432" --thorough
|
|
248
243
|
```
|
|
249
244
|
|
|
250
|
-
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/
|
|
245
|
+
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/fine-tuned-models) · [Feature page](https://gno.sh/features/fine-tuned-models)
|
|
251
246
|
|
|
252
247
|
---
|
|
253
248
|
|
|
@@ -365,7 +360,7 @@ gno skill install --target openclaw # OpenClaw
|
|
|
365
360
|
gno skill install --target all # All targets
|
|
366
361
|
```
|
|
367
362
|
|
|
368
|
-
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/
|
|
363
|
+
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/mcp) · [CLI Reference](https://gno.sh/docs/cli)
|
|
369
364
|
|
|
370
365
|
---
|
|
371
366
|
|
|
@@ -387,7 +382,7 @@ headless. `--detach` / `--status` / `--stop` give you symmetric lifecycle
|
|
|
387
382
|
controls so you don't need `nohup`, `launchd`, or `systemd` units. The same
|
|
388
383
|
flag set is available on `gno serve`.
|
|
389
384
|
|
|
390
|
-
[Daemon guide →](https://gno.sh/
|
|
385
|
+
[Daemon guide →](https://gno.sh/features/daemon-mode)
|
|
391
386
|
|
|
392
387
|
---
|
|
393
388
|
|
|
@@ -479,7 +474,7 @@ Core SDK surface:
|
|
|
479
474
|
- `update`, `embed`, `index`
|
|
480
475
|
- `close`
|
|
481
476
|
|
|
482
|
-
Full guide: [SDK docs](https://gno.sh/docs/
|
|
477
|
+
Full guide: [SDK docs](https://gno.sh/docs/sdk)
|
|
483
478
|
|
|
484
479
|
---
|
|
485
480
|
|
|
@@ -607,7 +602,7 @@ gno get "gno://work-docs/api-reference.md" --full
|
|
|
607
602
|
gno multi-get "work-docs/**/*.md" --md --max-bytes 30000
|
|
608
603
|
```
|
|
609
604
|
|
|
610
|
-
[Skill setup guide →](https://gno.sh/docs/
|
|
605
|
+
[Skill setup guide →](https://gno.sh/docs/skills)
|
|
611
606
|
|
|
612
607
|
### MCP Server
|
|
613
608
|
|
|
@@ -655,7 +650,7 @@ requires an explicit restrictive bearer-token file plus exact Host and Origin
|
|
|
655
650
|
allowlists; `gno serve` remains loopback-only. Authentication alone never
|
|
656
651
|
enables mutation tools.
|
|
657
652
|
|
|
658
|
-
[MCP setup guide →](https://gno.sh/docs/
|
|
653
|
+
[MCP setup guide →](https://gno.sh/docs/mcp)
|
|
659
654
|
|
|
660
655
|
---
|
|
661
656
|
|
|
@@ -758,7 +753,7 @@ telemetry. Network access occurs when GNO downloads models, when you configure
|
|
|
758
753
|
an HTTP model backend, or when you explicitly upload an exported artifact to
|
|
759
754
|
gno.sh.
|
|
760
755
|
|
|
761
|
-
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/
|
|
756
|
+
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/web-ui)
|
|
762
757
|
|
|
763
758
|
---
|
|
764
759
|
|
|
@@ -879,7 +874,7 @@ curl http://localhost:3000/api/health
|
|
|
879
874
|
|
|
880
875
|
No authentication. No rate limits. Build custom tools, automate workflows, integrate with any language.
|
|
881
876
|
|
|
882
|
-
> **Full reference**: [API Documentation](https://gno.sh/docs/
|
|
877
|
+
> **Full reference**: [API Documentation](https://gno.sh/docs/api)
|
|
883
878
|
|
|
884
879
|
---
|
|
885
880
|
|
|
@@ -914,7 +909,7 @@ graph TD
|
|
|
914
909
|
3. **Fusion**: RRF with 2× weight for original query, tiered bonus for top ranks
|
|
915
910
|
4. **Reranking**: Qwen3-Reranker scores best chunk per document (4K), blended with fusion
|
|
916
911
|
|
|
917
|
-
> **Deep dive**: [How Search Works](https://gno.sh/docs/
|
|
912
|
+
> **Deep dive**: [How Search Works](https://gno.sh/docs/how-search-works)
|
|
918
913
|
|
|
919
914
|
---
|
|
920
915
|
|
|
@@ -987,8 +982,8 @@ Hugging Face. The `gen:` role remains the standalone answer model.
|
|
|
987
982
|
|
|
988
983
|
See:
|
|
989
984
|
|
|
990
|
-
- [Fine-Tuned Models docs](https://gno.sh/docs/
|
|
991
|
-
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models
|
|
985
|
+
- [Fine-Tuned Models docs](https://gno.sh/docs/fine-tuned-models)
|
|
986
|
+
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models)
|
|
992
987
|
|
|
993
988
|
### HTTP Backends (Remote GPU)
|
|
994
989
|
|
|
@@ -1012,7 +1007,7 @@ The HTTP adapter expects the OpenAI-compatible endpoint shapes documented in
|
|
|
1012
1007
|
chunk, or answer context sent to their configured model role; they are outside
|
|
1013
1008
|
GNO's local trust boundary.
|
|
1014
1009
|
|
|
1015
|
-
> **Configuration**: [Model Setup](https://gno.sh/docs/
|
|
1010
|
+
> **Configuration**: [Model Setup](https://gno.sh/docs/configuration)
|
|
1016
1011
|
|
|
1017
1012
|
Remote/BYOM guides:
|
|
1018
1013
|
|
|
@@ -1035,7 +1030,7 @@ Remote/BYOM guides:
|
|
|
1035
1030
|
└─────────────────────────────────────────────────┘
|
|
1036
1031
|
```
|
|
1037
1032
|
|
|
1038
|
-
> **Details**: [Architecture](https://gno.sh/docs/
|
|
1033
|
+
> **Details**: [Architecture](https://gno.sh/docs/architecture)
|
|
1039
1034
|
|
|
1040
1035
|
---
|
|
1041
1036
|
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b9d3edf131bffe0b3c43cfb23173a3fb7d08254dcfa3a7a0ca66a753306a831d gno-browser-clipper-v1.29.5.zip
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
82fd879ec5de4a00710dc4dc60a358947b4b19444f2a4780b5f502d1f5652d25 gno-browser-clipper-v1.29.3.zip
|