@jarkkojs/readseek 0.7.9 → 0.8.1
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 +24 -22
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
# readseek
|
|
2
2
|
|
|
3
|
+
<img alt="Screencast of readseek captioning an image" src="screencast.gif" width="1024">
|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
`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
|
|
5
|
-
AST matches, references, and rename plans.
|
|
7
|
+
It returns compact JSON with stable line/hash anchors, symbol maps, parse
|
|
8
|
+
diagnostics, AST matches, references, and rename plans.
|
|
9
|
+
|
|
10
|
+
The screencast above was recorded with a very modest AMD Ryzen 5 PRO 4650 laptop
|
|
11
|
+
CPU, and demonstrates the tailored inference engine for Qwen3-VL-2B.
|
|
6
12
|
|
|
7
13
|
## Installation
|
|
8
14
|
|
|
@@ -53,7 +59,7 @@ tools to OpenCode. Add it to `opencode.json`:
|
|
|
53
59
|
|
|
54
60
|
The bundled `readseek.vim` plugin provides anchored reads, structural navigation,
|
|
55
61
|
parse diagnostics, search, references, and renames. It requires Vim9 with `+job`,
|
|
56
|
-
`+channel`, `+popupwin`, and `+textprop`; Neovim is not supported.
|
|
62
|
+
`+channel`, `+timers`, `+popupwin`, and `+textprop`; Neovim is not supported.
|
|
57
63
|
|
|
58
64
|
Install it with a Vim plugin manager, such as `Plug 'jarkkojs/readseek'`, then run
|
|
59
65
|
`:ReadSeekInstall` to install the matching prebuilt binary. Downloads are explicit
|
|
@@ -93,38 +99,34 @@ printf '%s\n' 'fn main() {}' | readseek identify stdin:scratch.rs:1 --column 4
|
|
|
93
99
|
## Images and PDFs
|
|
94
100
|
|
|
95
101
|
`detect` reports image metadata and PDF page counts. `read` returns bounded base64
|
|
96
|
-
images by default; select local analysis with `--
|
|
102
|
+
images by default; select local analysis with `--vision-mode`:
|
|
97
103
|
|
|
98
104
|
```sh
|
|
99
|
-
readseek read photo.jpg
|
|
100
|
-
readseek read photo.jpg --
|
|
101
|
-
readseek read photo.jpg --
|
|
102
|
-
readseek read photo.jpg --
|
|
103
|
-
readseek read photo.jpg --
|
|
105
|
+
readseek read photo.jpg # default: bounded base64 image
|
|
106
|
+
readseek read photo.jpg --vision-mode caption # detailed natural-language caption
|
|
107
|
+
readseek read photo.jpg --vision-mode objects # object labels + bounding boxes
|
|
108
|
+
readseek read photo.jpg --vision-mode ocr # extracted text
|
|
109
|
+
readseek read photo.jpg --vision-mode all # caption, objects, and OCR in one pass
|
|
104
110
|
```
|
|
105
111
|
|
|
106
|
-
Vision analysis uses the `
|
|
107
|
-
|
|
112
|
+
Vision analysis uses the `low` level by default. Start at `low`, then increase to
|
|
113
|
+
`medium` or `high` only when additional detail is needed:
|
|
108
114
|
|
|
109
115
|
```sh
|
|
110
|
-
readseek read photo.jpg --
|
|
111
|
-
readseek read scan.png --
|
|
116
|
+
readseek read photo.jpg --vision-mode caption --vision-level low
|
|
117
|
+
readseek read scan.png --vision-mode ocr --vision-level high
|
|
112
118
|
```
|
|
113
119
|
|
|
114
|
-
|
|
115
|
-
throughput, and peak RSS as JSON to stderr. `--vision-benchmark N` runs one warmup
|
|
116
|
-
and `N` measured iterations for an image file:
|
|
120
|
+
Set `RUST_LOG=tracing` to emit vision cache and inference traces on standard error.
|
|
117
121
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
>result.json 2>benchmark.json
|
|
121
|
-
```
|
|
122
|
+
Run `cargo bench --features vision-bench --bench vision` for data-driven comparisons
|
|
123
|
+
defined in `benches/vision.txt`.
|
|
122
124
|
|
|
123
125
|
Set `READSEEK_VISION_THREADS` to a positive integer to override Rayon's worker
|
|
124
126
|
count. More workers may improve throughput at the cost of CPU and memory.
|
|
125
127
|
|
|
126
128
|
PDF reads return page-tagged Markdown and embedded images. Use `--page` to select a
|
|
127
|
-
page; `--
|
|
129
|
+
page; `--vision-mode` applies to each embedded image. After `readseek init`, `view` creates
|
|
128
130
|
or reuses a structural PDF index that can be narrowed by page, node, kind, or depth.
|
|
129
131
|
Line/hash suffixes, `--end`, `--limit`, and `--language` do not apply to visual files.
|
|
130
132
|
|
|
@@ -138,7 +140,7 @@ can be slow.
|
|
|
138
140
|
Map-dependent commands update them on demand and find `.readseek/` by walking up
|
|
139
141
|
from the target; `--readseek-dir` selects one explicitly. PDF indexes and extracted
|
|
140
142
|
assets live in `.readseek/documents/`, while image analysis results are cached under
|
|
141
|
-
`.readseek/vision/`. Image cache entries are
|
|
143
|
+
`.readseek/vision/`. Image cache entries are level-specific.
|
|
142
144
|
|
|
143
145
|
## Documentation
|
|
144
146
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jarkkojs/readseek",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
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.
|
|
25
|
-
"@jarkkojs/readseek-linux-arm64": "0.
|
|
26
|
-
"@jarkkojs/readseek-linux-x64": "0.
|
|
27
|
-
"@jarkkojs/readseek-win32-x64": "0.
|
|
24
|
+
"@jarkkojs/readseek-darwin-arm64": "0.8.1",
|
|
25
|
+
"@jarkkojs/readseek-linux-arm64": "0.8.1",
|
|
26
|
+
"@jarkkojs/readseek-linux-x64": "0.8.1",
|
|
27
|
+
"@jarkkojs/readseek-win32-x64": "0.8.1"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|