@gmickel/gno 1.29.3 → 1.29.4
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 +71 -82
- package/browser-extension/artifacts/{gno-browser-clipper-v1.29.3.zip → gno-browser-clipper-v1.29.4.zip} +0 -0
- package/browser-extension/artifacts/gno-browser-clipper-v1.29.4.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 — that hands agents evidence with exact line spans and content hashes, and stops when the evidence stops.
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@gmickel/gno)
|
|
6
8
|
[](./LICENSE)
|
|
@@ -8,103 +10,90 @@
|
|
|
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
|
+
## Why not just another local RAG tool
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
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
24
|
|
|
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`.
|
|
25
|
+
| | What it does | Why it matters |
|
|
26
|
+
| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
27
|
+
| **[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 |
|
|
28
|
+
| **[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 |
|
|
29
|
+
| **[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 |
|
|
30
|
+
| **[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
31
|
|
|
32
|
-
|
|
32
|
+
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
33
|
|
|
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
|
|
34
|
+
**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
35
|
|
|
39
|
-
|
|
36
|
+
## Use it when
|
|
40
37
|
|
|
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
|
|
38
|
+
- your knowledge is split across Markdown, code, PDFs, Office files, and exported mail or transcripts
|
|
39
|
+
- you want one retrieval layer for the CLI, the browser, MCP, and a Bun/TypeScript SDK
|
|
40
|
+
- you want your coding agent to have a real memory without shipping your docs to a cloud API
|
|
41
|
+
- you need to prove, later, which bytes supported a conclusion
|
|
47
42
|
|
|
48
|
-
|
|
43
|
+
## Two minutes, end to end
|
|
49
44
|
|
|
50
45
|
```bash
|
|
51
46
|
# Install
|
|
52
47
|
bun install -g @gmickel/gno
|
|
53
48
|
|
|
54
|
-
#
|
|
49
|
+
# Activate a folder. Returns only after BM25 proves an exact corpus-derived hit;
|
|
50
|
+
# semantic embedding continues independently in the background.
|
|
55
51
|
gno setup ~/notes --name notes
|
|
56
52
|
|
|
57
|
-
#
|
|
58
|
-
gno profile diff
|
|
59
|
-
gno setup . --apply-profile
|
|
60
|
-
|
|
61
|
-
# Add more collections with the granular commands
|
|
53
|
+
# Add more sources
|
|
62
54
|
gno collection add ~/work/docs --name work-docs --pattern "**/*.{md,pdf,docx}"
|
|
63
55
|
gno collection add ~/work/gno/src --name gno-code --pattern "**/*.{ts,tsx,js,jsx}"
|
|
64
56
|
|
|
65
|
-
#
|
|
66
|
-
gno context add "notes:" "Personal notes, journal entries, and long-form ideas"
|
|
57
|
+
# Tell retrieval what each collection is for
|
|
67
58
|
gno context add "work-docs:" "Architecture docs, runbooks, RFCs, meeting notes"
|
|
68
|
-
gno context add "gno-code:" "Source code for the GNO application"
|
|
69
59
|
|
|
70
|
-
|
|
71
|
-
gno
|
|
72
|
-
|
|
60
|
+
gno update --yes # sync
|
|
61
|
+
gno embed # embed when you want semantic retrieval
|
|
62
|
+
|
|
63
|
+
# Pick the search that fits the question
|
|
64
|
+
gno search "DEC-0054" # exact identifier
|
|
65
|
+
gno vsearch "retry failed jobs with backoff" # natural language
|
|
66
|
+
gno query "JWT refresh token rotation" --explain # hybrid, with score traces
|
|
73
67
|
|
|
74
|
-
#
|
|
75
|
-
gno
|
|
76
|
-
|
|
77
|
-
gno
|
|
68
|
+
# Compile checkable evidence for a goal, then re-check it later
|
|
69
|
+
gno context build "why we dropped the queue rewrite" \
|
|
70
|
+
--collection work-docs --budget 12000 --json --output capsule.json
|
|
71
|
+
gno context verify capsule.json
|
|
78
72
|
|
|
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
|
|
73
|
+
# Generate only what that evidence supports
|
|
74
|
+
gno ask "why did we drop the queue rewrite" --verify --show-sources
|
|
83
75
|
|
|
84
|
-
# Run the workspace (pick one —
|
|
85
|
-
gno serve # browser/desktop
|
|
86
|
-
gno daemon --detach # headless
|
|
76
|
+
# Run the workspace (pick one — not both against the same index)
|
|
77
|
+
gno serve # browser/desktop Web UI
|
|
78
|
+
gno daemon --detach # headless indexing + resident MCP gateway
|
|
87
79
|
```
|
|
88
80
|
|
|
81
|
+
> [!TIP]
|
|
82
|
+
> **[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)**
|
|
83
|
+
|
|
84
|
+
> **ClawdHub**: GNO skills bundled for Clawdbot — [clawdhub.com/gmickel/gno](https://clawdhub.com/gmickel/gno)
|
|
85
|
+
|
|
89
86
|
---
|
|
90
87
|
|
|
91
88
|
## Contents
|
|
92
89
|
|
|
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)
|
|
90
|
+
**Start here** · [Quick Start](#quick-start) · [Installation](#installation) · [Agent Integration](#agent-integration) · [Search Modes](#search-modes)
|
|
91
|
+
|
|
92
|
+
**Surfaces** · [Web UI](#web-ui) · [REST API](#rest-api) · [SDK](#sdk) · [Daemon Mode](#daemon-mode) · [Publish to gno.sh](#publish-to-gnosh)
|
|
93
|
+
|
|
94
|
+
**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)
|
|
95
|
+
|
|
96
|
+
**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
97
|
|
|
109
98
|
---
|
|
110
99
|
|
|
@@ -112,7 +101,7 @@ gno daemon --detach # headless continuous indexing (background; --status / --st
|
|
|
112
101
|
|
|
113
102
|
<!-- public-truth:current-version -->
|
|
114
103
|
|
|
115
|
-
> Current release: **v1.29.
|
|
104
|
+
> Current release: **v1.29.4** — see [CHANGELOG.md](./CHANGELOG.md)
|
|
116
105
|
|
|
117
106
|
<!-- /public-truth -->
|
|
118
107
|
|
|
@@ -247,7 +236,7 @@ gno models pull --gen
|
|
|
247
236
|
gno query "ECONNREFUSED 127.0.0.1:5432" --thorough
|
|
248
237
|
```
|
|
249
238
|
|
|
250
|
-
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/
|
|
239
|
+
> Full guide: [Fine-Tuned Models](https://gno.sh/docs/fine-tuned-models) · [Feature page](https://gno.sh/features/fine-tuned-models)
|
|
251
240
|
|
|
252
241
|
---
|
|
253
242
|
|
|
@@ -365,7 +354,7 @@ gno skill install --target openclaw # OpenClaw
|
|
|
365
354
|
gno skill install --target all # All targets
|
|
366
355
|
```
|
|
367
356
|
|
|
368
|
-
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/
|
|
357
|
+
> **Full setup guide**: [MCP Integration](https://gno.sh/docs/mcp) · [CLI Reference](https://gno.sh/docs/cli)
|
|
369
358
|
|
|
370
359
|
---
|
|
371
360
|
|
|
@@ -387,7 +376,7 @@ headless. `--detach` / `--status` / `--stop` give you symmetric lifecycle
|
|
|
387
376
|
controls so you don't need `nohup`, `launchd`, or `systemd` units. The same
|
|
388
377
|
flag set is available on `gno serve`.
|
|
389
378
|
|
|
390
|
-
[Daemon guide →](https://gno.sh/
|
|
379
|
+
[Daemon guide →](https://gno.sh/features/daemon-mode)
|
|
391
380
|
|
|
392
381
|
---
|
|
393
382
|
|
|
@@ -479,7 +468,7 @@ Core SDK surface:
|
|
|
479
468
|
- `update`, `embed`, `index`
|
|
480
469
|
- `close`
|
|
481
470
|
|
|
482
|
-
Full guide: [SDK docs](https://gno.sh/docs/
|
|
471
|
+
Full guide: [SDK docs](https://gno.sh/docs/sdk)
|
|
483
472
|
|
|
484
473
|
---
|
|
485
474
|
|
|
@@ -607,7 +596,7 @@ gno get "gno://work-docs/api-reference.md" --full
|
|
|
607
596
|
gno multi-get "work-docs/**/*.md" --md --max-bytes 30000
|
|
608
597
|
```
|
|
609
598
|
|
|
610
|
-
[Skill setup guide →](https://gno.sh/docs/
|
|
599
|
+
[Skill setup guide →](https://gno.sh/docs/skills)
|
|
611
600
|
|
|
612
601
|
### MCP Server
|
|
613
602
|
|
|
@@ -655,7 +644,7 @@ requires an explicit restrictive bearer-token file plus exact Host and Origin
|
|
|
655
644
|
allowlists; `gno serve` remains loopback-only. Authentication alone never
|
|
656
645
|
enables mutation tools.
|
|
657
646
|
|
|
658
|
-
[MCP setup guide →](https://gno.sh/docs/
|
|
647
|
+
[MCP setup guide →](https://gno.sh/docs/mcp)
|
|
659
648
|
|
|
660
649
|
---
|
|
661
650
|
|
|
@@ -758,7 +747,7 @@ telemetry. Network access occurs when GNO downloads models, when you configure
|
|
|
758
747
|
an HTTP model backend, or when you explicitly upload an exported artifact to
|
|
759
748
|
gno.sh.
|
|
760
749
|
|
|
761
|
-
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/
|
|
750
|
+
> **Detailed docs**: [Web UI Guide](https://gno.sh/docs/web-ui)
|
|
762
751
|
|
|
763
752
|
---
|
|
764
753
|
|
|
@@ -879,7 +868,7 @@ curl http://localhost:3000/api/health
|
|
|
879
868
|
|
|
880
869
|
No authentication. No rate limits. Build custom tools, automate workflows, integrate with any language.
|
|
881
870
|
|
|
882
|
-
> **Full reference**: [API Documentation](https://gno.sh/docs/
|
|
871
|
+
> **Full reference**: [API Documentation](https://gno.sh/docs/api)
|
|
883
872
|
|
|
884
873
|
---
|
|
885
874
|
|
|
@@ -914,7 +903,7 @@ graph TD
|
|
|
914
903
|
3. **Fusion**: RRF with 2× weight for original query, tiered bonus for top ranks
|
|
915
904
|
4. **Reranking**: Qwen3-Reranker scores best chunk per document (4K), blended with fusion
|
|
916
905
|
|
|
917
|
-
> **Deep dive**: [How Search Works](https://gno.sh/docs/
|
|
906
|
+
> **Deep dive**: [How Search Works](https://gno.sh/docs/how-search-works)
|
|
918
907
|
|
|
919
908
|
---
|
|
920
909
|
|
|
@@ -987,8 +976,8 @@ Hugging Face. The `gen:` role remains the standalone answer model.
|
|
|
987
976
|
|
|
988
977
|
See:
|
|
989
978
|
|
|
990
|
-
- [Fine-Tuned Models docs](https://gno.sh/docs/
|
|
991
|
-
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models
|
|
979
|
+
- [Fine-Tuned Models docs](https://gno.sh/docs/fine-tuned-models)
|
|
980
|
+
- [Fine-Tuned Models feature page](https://gno.sh/features/fine-tuned-models)
|
|
992
981
|
|
|
993
982
|
### HTTP Backends (Remote GPU)
|
|
994
983
|
|
|
@@ -1012,7 +1001,7 @@ The HTTP adapter expects the OpenAI-compatible endpoint shapes documented in
|
|
|
1012
1001
|
chunk, or answer context sent to their configured model role; they are outside
|
|
1013
1002
|
GNO's local trust boundary.
|
|
1014
1003
|
|
|
1015
|
-
> **Configuration**: [Model Setup](https://gno.sh/docs/
|
|
1004
|
+
> **Configuration**: [Model Setup](https://gno.sh/docs/configuration)
|
|
1016
1005
|
|
|
1017
1006
|
Remote/BYOM guides:
|
|
1018
1007
|
|
|
@@ -1035,7 +1024,7 @@ Remote/BYOM guides:
|
|
|
1035
1024
|
└─────────────────────────────────────────────────┘
|
|
1036
1025
|
```
|
|
1037
1026
|
|
|
1038
|
-
> **Details**: [Architecture](https://gno.sh/docs/
|
|
1027
|
+
> **Details**: [Architecture](https://gno.sh/docs/architecture)
|
|
1039
1028
|
|
|
1040
1029
|
---
|
|
1041
1030
|
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b639ecf7ff5ebd7aeacf1bad0fe3fe2f471a60c96bdf047d873b6bf932995161 gno-browser-clipper-v1.29.4.zip
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
82fd879ec5de4a00710dc4dc60a358947b4b19444f2a4780b5f502d1f5652d25 gno-browser-clipper-v1.29.3.zip
|