@jarkkojs/readseek 0.7.7 → 0.7.9
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 +47 -68
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
# readseek
|
|
2
2
|
|
|
3
|
-
`readseek`
|
|
4
|
-
It
|
|
5
|
-
|
|
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
|
|
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
|
-
|
|
15
|
+
Or install the native program from crates.io:
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
18
|
cargo install readseek
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Prebuilt binaries are available for macOS ARM64; Linux ARM64 and x64; and Windows
|
|
22
|
-
x64. The Linux binaries are
|
|
22
|
+
x64. The Linux binaries are statically linked with musl.
|
|
23
23
|
|
|
24
24
|
To build and install from source:
|
|
25
25
|
|
|
@@ -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)
|
|
41
|
-
|
|
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)
|
|
50
|
-
|
|
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
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Vim plugin manager,
|
|
67
|
-
`:ReadSeekInstall` to install the matching prebuilt
|
|
68
|
-
|
|
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
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
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
|
-
|
|
116
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
135
|
-
|
|
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
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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
|
|
148
|
-
|
|
149
|
-
|
|
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
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
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
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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.
|
|
3
|
+
"version": "0.7.9",
|
|
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.
|
|
25
|
-
"@jarkkojs/readseek-linux-arm64": "0.7.
|
|
26
|
-
"@jarkkojs/readseek-linux-x64": "0.7.
|
|
27
|
-
"@jarkkojs/readseek-win32-x64": "0.7.
|
|
24
|
+
"@jarkkojs/readseek-darwin-arm64": "0.7.9",
|
|
25
|
+
"@jarkkojs/readseek-linux-arm64": "0.7.9",
|
|
26
|
+
"@jarkkojs/readseek-linux-x64": "0.7.9",
|
|
27
|
+
"@jarkkojs/readseek-win32-x64": "0.7.9"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|