@jarkkojs/readseek 0.7.7 → 0.7.8

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.
Files changed (2) hide show
  1. package/README.md +46 -67
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,18 +1,18 @@
1
1
  # readseek
2
2
 
3
- `readseek` is a structural source and PDF reader for scripts, editors, and coding agents.
4
- It emits compact JSON with stable line/hash anchors, structural symbol maps, parse
5
- diagnostics, AST search matches, references, and rename plans.
3
+ `readseek` reads source files and PDFs for scripts, editors, and coding agents.
4
+ It returns compact JSON with stable line/hash anchors, symbol maps, parse diagnostics,
5
+ AST matches, references, and rename plans.
6
6
 
7
7
  ## Installation
8
8
 
9
- Install the npm wrapper and a prebuilt binary:
9
+ Install the npm wrapper with a prebuilt binary:
10
10
 
11
11
  ```sh
12
12
  npm install -g @jarkkojs/readseek
13
13
  ```
14
14
 
15
- Install the native program from crates.io:
15
+ Or install the native program from crates.io:
16
16
 
17
17
  ```sh
18
18
  cargo install readseek
@@ -27,18 +27,12 @@ To build and install from source:
27
27
  make install
28
28
  ```
29
29
 
30
- Source builds require CMake, Clang/libclang, and a C++ compiler because image
31
- inference uses `llama-cpp-2`.
32
-
33
- GPU acceleration can be enabled at build time with the `metal`, `opencl`, `rocm`,
34
- or `vulkan` Cargo feature. CPU builds can enable `openmp` for OpenMP parallelism.
35
-
36
30
  ## Plugins
37
31
 
38
32
  ### Pi extension
39
33
 
40
- The bundled [pi-readseek extension](packages/pi-readseek/README.md) exposes
41
- ReadSeek's anchored file and structural-code tools in Pi:
34
+ The bundled [pi-readseek extension](packages/pi-readseek/README.md) adds ReadSeek's
35
+ anchored file and structural-code tools to Pi:
42
36
 
43
37
  ```sh
44
38
  pi install npm:pi-readseek
@@ -46,10 +40,8 @@ pi install npm:pi-readseek
46
40
 
47
41
  ### OpenCode plugin
48
42
 
49
- The [opencode-readseek plugin](packages/opencode-readseek/README.md) provides the
50
- same anchored and structural tools in OpenCode.
51
-
52
- Add the plugin to `opencode.json`:
43
+ The [opencode-readseek plugin](packages/opencode-readseek/README.md) adds the same
44
+ tools to OpenCode. Add it to `opencode.json`:
53
45
 
54
46
  ```json
55
47
  {
@@ -59,13 +51,13 @@ Add the plugin to `opencode.json`:
59
51
 
60
52
  ### Vim plugin
61
53
 
62
- The bundled `readseek.vim` plugin is a Vim9-only frontend with anchored range and
63
- symbol reads, file detection, structural navigation, parser diagnostics, search,
64
- references, and rename operations. It requires Vim9 with `+job`, `+channel`,
65
- `+popupwin`, and `+textprop`; Neovim is not supported. Install it directly with a
66
- Vim plugin manager, for example `Plug 'jarkkojs/readseek'`. Run
67
- `:ReadSeekInstall` to install the matching prebuilt ReadSeek release binary;
68
- installation is explicit by default.
54
+ The bundled `readseek.vim` plugin provides anchored reads, structural navigation,
55
+ parse diagnostics, search, references, and renames. It requires Vim9 with `+job`,
56
+ `+channel`, `+popupwin`, and `+textprop`; Neovim is not supported.
57
+
58
+ Install it with a Vim plugin manager, such as `Plug 'jarkkojs/readseek'`, then run
59
+ `:ReadSeekInstall` to install the matching prebuilt binary. Downloads are explicit
60
+ by default.
69
61
 
70
62
  ## Common commands
71
63
 
@@ -84,16 +76,15 @@ readseek search src 'fn $NAME() { $$$BODY }' --language rust
84
76
  readseek rename src/main.rs --line 42 --column 8 --to renamed
85
77
  ```
86
78
 
87
- To write JSON output to a file instead of stdout, place the global option before
88
- the command:
79
+ Global options must precede the command. For example, write JSON to a file with:
89
80
 
90
81
  ```sh
91
82
  readseek --output result.json detect src/main.rs
92
83
  ```
93
84
 
94
- Use a `stdin:` target prefix with `detect`, `read`, `map`, `check`, `symbol`,
95
- and `identify` to analyze unsaved editor buffers while still providing a path
96
- for language detection and a cursor address:
85
+ Prefix a target with `stdin:` to analyze an unsaved buffer while retaining a path
86
+ for language detection and cursor addressing. This works with `detect`, `read`,
87
+ `map`, `check`, `symbol`, and `identify`:
97
88
 
98
89
  ```sh
99
90
  printf '%s\n' 'fn main() {}' | readseek identify stdin:scratch.rs:1 --column 4
@@ -101,8 +92,8 @@ printf '%s\n' 'fn main() {}' | readseek identify stdin:scratch.rs:1 --column 4
101
92
 
102
93
  ## Images and PDFs
103
94
 
104
- `detect` reports image metadata and PDF page counts. `read` returns bounded
105
- base64 images by default; use `--image` for a local analysis mode:
95
+ `detect` reports image metadata and PDF page counts. `read` returns bounded base64
96
+ images by default; select local analysis with `--image`:
106
97
 
107
98
  ```sh
108
99
  readseek read photo.jpg # default: bounded base64 image
@@ -112,55 +103,46 @@ readseek read photo.jpg --image ocr # extracted text
112
103
  readseek read photo.jpg --image all # caption, objects, and OCR in one pass
113
104
  ```
114
105
 
115
- Inference defaults to the `balanced` profile. `fast` uses fewer visual tokens for
116
- lower latency, while `accurate` retains more visual detail for dense OCR and small
117
- objects:
106
+ Vision analysis uses the `balanced` profile by default. Choose `fast` for lower
107
+ latency or `accurate` for dense OCR and small objects:
118
108
 
119
109
  ```sh
120
110
  readseek read photo.jpg --image caption --vision-profile fast
121
111
  readseek read scan.png --image ocr --vision-profile accurate
122
112
  ```
123
113
 
124
- Use `--vision-diagnostics` to emit cache status, backend devices, token counts,
125
- per-stage timings, throughput, and peak RSS as JSON on stderr. For repeatable warm
126
- measurements, `--vision-benchmark N` runs one warmup followed by `N` measured
127
- iterations (currently image files only):
114
+ `--vision-diagnostics` writes cache status, devices, token counts, timings,
115
+ throughput, and peak RSS as JSON to stderr. `--vision-benchmark N` runs one warmup
116
+ and `N` measured iterations for an image file:
128
117
 
129
118
  ```sh
130
119
  readseek read fixture.png --image all --vision-benchmark 5 \
131
120
  >result.json 2>benchmark.json
132
121
  ```
133
122
 
134
- CPU tuning overrides are available through `READSEEK_VISION_THREADS`,
135
- `READSEEK_VISION_BATCH`, and `READSEEK_VISION_UBATCH`. Values must be positive,
136
- and the micro-batch cannot exceed the logical batch. Compare overrides on a fixed
137
- representative image corpus; larger batches can improve prefill while increasing
138
- peak memory.
123
+ Set `READSEEK_VISION_THREADS` to a positive integer to override Rayon's worker
124
+ count. More workers may improve throughput at the cost of CPU and memory.
139
125
 
140
- PDF reads return page-tagged Markdown and page-associated embedded images. Use
141
- `--page` to select one page; the same image mode applies to each embedded image.
142
- After initializing `.readseek/`, `view` creates or reuses a persistent structural
143
- PDF index and returns an overview that can be narrowed by page, node, kind, or
144
- depth. Line/hash suffixes, `--end`, `--limit`, and `--language` do not apply to
145
- visual files.
126
+ PDF reads return page-tagged Markdown and embedded images. Use `--page` to select a
127
+ page; `--image` applies to each embedded image. After `readseek init`, `view` creates
128
+ or reuses a structural PDF index that can be narrowed by page, node, kind, or depth.
129
+ Line/hash suffixes, `--end`, `--limit`, and `--language` do not apply to visual files.
146
130
 
147
- The Qwen3-VL GGUF language model and Q8_0 multimodal projector download lazily
148
- into the user cache, are checksum-verified once, and then use a metadata-bound
149
- verification marker on later starts. Inference uses the backends enabled in the
150
- build; CPU-only captioning can still take substantial time.
131
+ The Qwen3-VL-2B Q8_0 model and multimodal projector download lazily to the user
132
+ cache and are checksum-verified. Inference uses ReadSeek's built-in CPU engine and
133
+ can be slow.
151
134
 
152
135
  ## Cache
153
136
 
154
- `readseek init [path]` creates and populates `.readseek/maps/` and
155
- `.readseek/def-index/`. Map-dependent commands update entries on demand and
156
- discover `.readseek/` by walking up from the target path, or use the directory
157
- passed by `--readseek-dir`. `view` creates PDF structure indexes and extracted
158
- assets under `.readseek/documents/` on demand. Image analysis caches results
159
- under the `.readseek/` found from the current working directory. Cache entries are profile-specific.
137
+ `readseek init [path]` creates `.readseek/maps/` and `.readseek/def-index/`.
138
+ Map-dependent commands update them on demand and find `.readseek/` by walking up
139
+ from the target; `--readseek-dir` selects one explicitly. PDF indexes and extracted
140
+ assets live in `.readseek/documents/`, while image analysis results are cached under
141
+ `.readseek/vision/`. Image cache entries are profile-specific.
160
142
 
161
143
  ## Documentation
162
144
 
163
- The manual page provides the full CLI reference:
145
+ For the complete CLI reference:
164
146
 
165
147
  ```sh
166
148
  man ./man/man1/readseek.1
@@ -170,10 +152,7 @@ Pass `--help` to any command for command-specific usage.
170
152
 
171
153
  ## Licensing
172
154
 
173
- The native `readseek` crate is licensed under `LGPL-2.1-or-later`. The
174
- `@jarkkojs/readseek` wrapper and platform packages declare
175
- `Apache-2.0 AND LGPL-2.1-or-later`; the bundled plugins use Apache-2.0 or MIT as
176
- noted in their package directories.
177
-
178
- The downloaded `Qwen/Qwen3-VL-2B-Instruct-GGUF` model is licensed under
179
- `Apache-2.0`.
155
+ The native `readseek` crate is licensed under `LGPL-2.1-or-later`. The npm wrapper
156
+ and platform packages declare `Apache-2.0 AND LGPL-2.1-or-later`; plugin licenses
157
+ are listed in their package directories. The downloaded Qwen model is licensed
158
+ under `Apache-2.0`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jarkkojs/readseek",
3
- "version": "0.7.7",
3
+ "version": "0.7.8",
4
4
  "description": "A structural read command",
5
5
  "license": "Apache-2.0 AND LGPL-2.1-or-later",
6
6
  "homepage": "https://github.com/jarkkojs/readseek#readme",
@@ -21,10 +21,10 @@
21
21
  "LICENSE-LGPL-2.1"
22
22
  ],
23
23
  "optionalDependencies": {
24
- "@jarkkojs/readseek-darwin-arm64": "0.7.7",
25
- "@jarkkojs/readseek-linux-arm64": "0.7.7",
26
- "@jarkkojs/readseek-linux-x64": "0.7.7",
27
- "@jarkkojs/readseek-win32-x64": "0.7.7"
24
+ "@jarkkojs/readseek-darwin-arm64": "0.7.8",
25
+ "@jarkkojs/readseek-linux-arm64": "0.7.8",
26
+ "@jarkkojs/readseek-linux-x64": "0.7.8",
27
+ "@jarkkojs/readseek-win32-x64": "0.7.8"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"