Skip to content

Psearch

A Python search command for terminals and agents: Parallel Search seeds queries, a local Chromium fetches pages concurrently, and Jev scores the evidence to expand a breadth-first link queue. Ships readable output, JSON and an MCP server.

Stars
1
Language
Python
License
MIT
Published by
Community
Author
komikat
Last verified
Oct 2026

komikat/psearch

User repository on GitHub

View on GitHub

Parallel web search for terminals and agents, with local Chromium and Jev-guided exploration.

Forks
0
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

Web search for terminals and agents. Parallel Search finds initial pages. Local Chromium fetches pages concurrently. Jev scores the evidence and selects links for a breadth-first queue. One command provides readable results, JSON output, and an MCP server. The distribution name is jev-psearch. The installed command is psearch. For the Wikipedia game, use jev-bfs. Use Python 3.11 or later and uv. Install from GitHub:

Quoted from the project's README. Read the full README.

Highlights

  • One command covers three surfaces: human-readable results, --json for page text and errors, and an MCP stdio server exposing a single search tool.
  • Defaults are depth 1, 12 pages and a batch size of 6, and the queue finishes each depth before starting the next; raising depth does not raise the page budget.
  • Scores come from one shared Jev call per batch with separate questions per page and link, and a failed fetch never discards the rest of the batch.
  • Install is uv-based and needs Python 3.11+; the key resolves from the environment, ./.env, or ~/.config/psearch/.env, with JEVON_KEY taking precedence.

Watch out

Several limits are documented rather than worked around. A relevance score does not establish factual accuracy — the tool returns evidence, never an answer — and the default probability threshold is 0.5. The extractor reads the first 8,000 text characters and at most 24 links per page, Markdown pages supply text but their links are not extracted, and login pages, browser challenges or delayed rendering can defeat retrieval. jev_ms is shared by every page in one batch, so summing per-page values does not measure total Jev time; larger batches cut HTTP requests without guaranteeing lower latency or token use, and two redirects in one batch can fetch the same destination. Your query goes to Parallel unless you pass seeds, and page text, the query and link metadata go to TypeSafe for classification, so private URLs do not belong in seeds. The page budget counts failed attempts, so raising depth buys no extra pages. Exit codes are 1 for error and 2 for bad arguments, so check status and errors in JSON and MCP output. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

19GitHub stars
MCP server where one browser_goal call hands a URL, a goal, and code-checked assertions to a server-side loop driven by a decision model over live page elements.
Jev Demos & Experiments#community#jevbest#catalog-import
22GitHub stars
Independent open-source local decision model inspired by Jev, with a spark-s1 family plus smaller control models for agent gates, served locally with probabilities and policy actions.
Jev Demos & Experiments#community#jevbest#catalog-import
4GitHub stars
Browser-use layer for CLI coding agents: Jev picks the operation and target element in one round trip per step, exposed over MCP with a CLI, a Python API and an HTTP server.
Jev Demos & Experiments#community#jevbest#catalog-import
0GitHub stars
A Python pipeline that captures the PCSX2 window, injects virtual DualShock 2 input and draws a broadcast-style telemetry HUD, with TypeSafe Jev System One as one of three swappable decision engines behind a BaseAgent interface.
Jev Demos & Experiments#community#jevbest#catalog-import
Open 150M encoder that reproduces the typed noul, choice, and score interface in one forward pass, trainable on a free GPU and runnable locally for nothing.
Jev Demos & Experiments#community#jevbest#catalog-import
941GitHub stars
Library that adds schema-guaranteed typed outputs to existing autoregressive LLMs without changing weights, served through SGLang or a hosted API.
Jev Demos & Experiments#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

A game tick is a state plus a legal action list. How Clash Royale, Minecraft, and the earlier Mario, Pokémon, StarCraft, and drone loops ask Jev one step at a time.
Jev Demos & Experiments#gaming#agents#control
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai