pi-readseek
Pi extension for LINE:HASH-anchored file operations and structural code navigation
Package details
Install pi-readseek from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-readseek- Package
pi-readseek- Version
0.9.5- Published
- Aug 4, 2026
- Downloads
- 14.6K/mo · 3,756/wk
- Author
- jarkkojs
- License
- Apache-2.0
- Types
- extension
- Size
- 286.8 KB
- Dependencies
- 3 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./dist/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-readseek
pi-readseek adds ReadSeek's anchored file operations, structural search,
symbol navigation, and document tools to Pi. Built-ins remain available unless
overrideTools maps read, edit, write, or grep to a ReadSeek-backed
implementation.
Install
pi install npm:pi-readseek
The package depends on @jarkkojs/readseek, which supplies the native binary on
supported platforms.
Tools
| Tool | Purpose |
|---|---|
readSeek_read |
Read anchored text by range or symbol; read standalone images |
readSeek_edit |
Apply hash-verified edits to an existing text file |
readSeek_write |
Create or replace a complete text file and return anchors |
readSeek_grep |
Search text or regex and return edit-ready anchors |
readSeek_search |
Search AST patterns |
readSeek_def |
Find symbol definitions |
readSeek_refs |
Find identifier usages, optionally scoped to a cursor binding |
readSeek_rename |
Rename a cursor symbol; set apply: false to preview the plan |
readSeek_digest |
Native digest envelope: map, diagnostics, identity, content, metadata |
readSeek_view |
View or narrow a structural document index (PDF first); optional asset vision |
The extension also tells Pi to get fresh anchors before editing and to run
readSeek_digest with diagnostics after source edits.
Settings
Add a readseek object to ~/.pi/agent/settings.json (global) or
.pi/settings.json (project). Project settings override matching global values.
Defaults:
{
"readseek": {
"overrideTools": [],
"imageMode": "auto",
"syntaxValidation": "warn",
"timeoutMs": 120000,
"grep": {
"maxLines": 2000,
"maxBytes": 51200
},
"display": {
"read": "compact",
"grep": "compact",
"edit": "expanded",
"write": "expanded"
}
}
}
overrideTools: any of"read","edit","write", and"grep".imageMode:"auto"uses Pi's native image input when available,"on"always runs local analysis, and"off"skips standalone images. Image modes areall,ocr,caption, andobjects; in"auto",nonereturns a prepared image without local analysis. Documents usereadSeek_viewwith optionalvisionModeandvisionLevel. Local analysis uses Qwen3-VL-2B-Instruct.syntaxValidation:"warn"(write and warn),"block"(abort), or"off". Validation triggers only when an edit increases parser error or missing-node counts.timeoutMs: native command timeout in milliseconds.grep.maxLinesandgrep.maxBytes: output limits; larger values are clamped to the defaults.display: initial"compact"or"expanded"state forread,grep,edit, andwriteresults.
Development
npm install
npm test
npm run typecheck
License
pi-readseek is Apache-2.0; see LICENSE.
@jarkkojs/readseek is licensed separately under
Apache-2.0 AND LGPL-2.1-or-later.