@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 CHANGED
@@ -1,6 +1,8 @@
1
1
  # GNO
2
2
 
3
- **Local search, retrieval, and synthesis for the files you actually work in.**
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
  [![npm](./assets/badges/npm.svg)](https://www.npmjs.com/package/@gmickel/gno)
6
8
  [![MIT License](./assets/badges/license.svg)](./LICENSE)
@@ -8,103 +10,90 @@
8
10
  [![Twitter](./assets/badges/twitter.svg)](https://twitter.com/gmickel)
9
11
  [![Discord](./assets/badges/discord.svg)](https://discord.gg/nHEmyJB5tg)
10
12
 
11
- > [!TIP]
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
+ ![GNO](./assets/og-image.png)
13
14
 
14
- > **ClawdHub**: GNO skills bundled for Clawdbot — [clawdhub.com/gmickel/gno](https://clawdhub.com/gmickel/gno)
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
- ![GNO](./assets/og-image.png)
21
+ ## Why not just another local RAG tool
17
22
 
18
- GNO is a local knowledge engine for notes, code, PDFs, Office docs, meeting transcripts, and reference material. It gives you fast keyword search, semantic retrieval, grounded answers with citations, wiki-style linking, and a real workspace UI, while keeping the whole stack local by default.
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
- CLI retrieval also uses the current repository/workspace as a transparent soft
21
- ranking signal. A trusted explicit `--project-root`, nearest valid
22
- `.gno/index.yml`, or local cwd can add at most `+0.03` to matching collection
23
- results, in that precedence order; `--no-project-affinity` disables it. Profile
24
- defaults stay project-local and never overwrite the user default. It never overrides collection,
25
- tag, date, exclude, or egress filters. SDK, REST, and MCP `projectHints` are
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
- Use it when:
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
- - your notes live in more than one folder
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
- ### What GNO Gives You
36
+ ## Use it when
40
37
 
41
- - **Fast local search**: BM25 for exact hits, vectors for concepts, hybrid for best quality
42
- - **Real retrieval surfaces**: CLI, Web UI, REST API, MCP, SDK
43
- - **Local-first answers**: grounded synthesis with citations when you want answers, raw retrieval when you do not
44
- - **Connected knowledge**: backlinks, related notes, graph view, cross-collection navigation
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
- ### One-Minute Tour
43
+ ## Two minutes, end to end
49
44
 
50
45
  ```bash
51
46
  # Install
52
47
  bun install -g @gmickel/gno
53
48
 
54
- # Prove the first folder immediately; semantic work continues independently
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
- # In a repository with .gno/index.yml: preview, apply, and prove its collection
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
- # Add context so retrieval results come back with the right framing
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
- # Sync the additional collections, then embed when you want semantic retrieval
71
- gno update --yes
72
- gno embed
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
- # Search in the way that fits the question
75
- gno search "DEC-0054" # exact keyword / identifier
76
- gno vsearch "retry failed jobs with backoff" # natural-language semantic lookup
77
- gno query "JWT refresh token rotation" --explain # hybrid retrieval with score traces
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
- # Retrieve documents or export context for an agent
80
- gno get "gno://work-docs/architecture/auth.md"
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 — don't run both against the same index concurrently)
85
- gno serve # browser/desktop session with the Web UI
86
- gno daemon --detach # headless continuous indexing (background; --status / --stop to manage)
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
- - [Quick Start](#quick-start)
94
- - [Installation](#installation)
95
- - [Daemon Mode](#daemon-mode)
96
- - [Search Modes](#search-modes)
97
- - [Agent Integration](#agent-integration)
98
- - [Web UI](#web-ui)
99
- - [Publish to gno.sh](#publish-to-gnosh)
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.2** — see [CHANGELOG.md](./CHANGELOG.md)
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/FINE-TUNED-MODELS/) · [Feature page](https://gno.sh/features/fine-tuned-models/)
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/MCP/) · [CLI Reference](https://gno.sh/docs/CLI/)
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/docs/DAEMON/)
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/SDK/)
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/integrations/skills/)
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/MCP/)
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/WEB-UI/)
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/API/)
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/HOW-SEARCH-WORKS/)
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/FINE-TUNED-MODELS/)
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/CONFIGURATION/)
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/ARCHITECTURE/)
1027
+ > **Details**: [Architecture](https://gno.sh/docs/architecture)
1039
1028
 
1040
1029
  ---
1041
1030
 
@@ -0,0 +1 @@
1
+ b639ecf7ff5ebd7aeacf1bad0fe3fe2f471a60c96bdf047d873b6bf932995161 gno-browser-clipper-v1.29.4.zip
@@ -21,5 +21,5 @@
21
21
  "content_security_policy": {
22
22
  "extension_pages": "script-src 'self'; object-src 'none'; connect-src http://127.0.0.1:*"
23
23
  },
24
- "version": "1.29.3"
24
+ "version": "1.29.4"
25
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gmickel/gno",
3
- "version": "1.29.3",
3
+ "version": "1.29.4",
4
4
  "description": "Local semantic search for your documents. Index Markdown, PDF, and Office files with hybrid BM25 + vector search.",
5
5
  "keywords": [
6
6
  "embeddings",
@@ -1 +0,0 @@
1
- 82fd879ec5de4a00710dc4dc60a358947b4b19444f2a4780b5f502d1f5652d25 gno-browser-clipper-v1.29.3.zip