Releases: danielnc/jev-browse
Releases · danielnc/jev-browse
Release list
jev-browse v0.2.0 — first PyPI release
The first release published to PyPI. The v0.1.0 tag predates the packaging and was never uploaded, so this is
the first version that uv tool install jev-browse or pipx install jev-browse can install.
Added
- CI on pull requests and
main: pytest on Python 3.11–3.14 (with themcpextra), ruff, a wheel build and
clean-venv smoke test, and a full-history gitleaks scan, summarised by onecicheck. Plus CodeQL, Dependabot
(uv and GitHub Actions), OpenSSF Scorecard, and a CodeRabbit review config. - PyPI packaging:
uv tool install jev-browse(orpipx install jev-browse) gives ajev-browsecommand
(install,uninstall,doctor,config,mcp). The wheel bundles the skill, andjev-browse installlinks it
from the package. - A Claude Code plugin and marketplace:
/plugin marketplace add danielnc/jev-browse, then
/plugin install jev-browse@jev-browse. It ships the skill plus/jev-browse:setup. - A GitHub Actions workflow that publishes to PyPI on
v*tags with Trusted Publishing (docs/releasing.md). jev-browse mcp: an MCP server on stdio for Cursor, Claude Desktop, Codex, and other MCP clients (install with
uv tool install "jev-browse[mcp]"). Tools:fast_run,fast_run_status,jev_open,jev_find,jev_click,
jev_check,jev_close,doctor. Each call runs through thebrowser-harnessCLI with harness telemetry off.
Results are concise text with anext:instruction. Afast_runlonger thanmcp.wait_sreturns a resumable
run_id. The MCP SDK is the optionalmcpextra; the harness runtime stays stdlib-only. Seedocs/mcp.md.- Settings
mcp.harness_commandandmcp.wait_s. - A demo GIF at the top of the README: a real benchmark pair on Google Flights, the agent alone against the
agent callingfast_run, with each run's time and list-price cost.scripts/make_demo_gif.pyre-creates it
(record,review,render; see docs/benchmarking.md). - Codecov coverage upload from CI (one Python version), and README badges for PyPI, Python versions,
Codecov, CodeRabbit reviews, and the license. - Docstrings on the public API (
fast_run, thejev_*helpers, the CLI,config,doctor,harness_api) and on
scripts/make_demo_gif.py; a CodeRabbit pre-merge check for docstrings on publicjev_browse/functions. - Offline tests for the
jev-browsecommand dispatch and the browser-harness adapter (harness_api).
Changed
- The checkout launcher moved from
bin/jev-browsetoscripts/jev-browse. Claude Code puts a plugin'sbin/
on the Bash PATH, where the launcher would have shadowed a missing package install. doctorand the installer printjev-browse <command>hints in a package install.
Install: uv tool install jev-browse (add [mcp] for the MCP server) · https://pypi.org/project/jev-browse/0.2.0/
jev-browse v0.1.0
Added
fast_run(url, goal, ...): a browser sub-task on an owned background tab, one TypeSafe Jev request per decision,
with typed hand-backs (Reason), resume on the same tab, a commit gate, evidence, a trace, and a verify-ready
JEV_BROWSE_RESULTline.- Interactive helpers:
jev_open,jev_adopt,jev_find,jev_click,jev_check,jev_close. - Values from the caller, from goal-derived candidates chosen by Jev, or from a text backend after a miss, with a
grounding gate. Personal fields are never sent to a text backend. Sensitive fields are never typed, read, or
sent. - Text backends:
claude(subscription CLI, pre-started process),codex(subscription CLI, unmeasured),
ollama,openai(any OpenAI-compatible endpoint), andnone. Local and OpenAI-compatible backends run a
known-answer canary, cached across processes, and a configurable fallback. - One configuration surface: environment variables (including the browser-harness
.env) over
~/.config/jev-browse/config.tomlover defaults (docs/configuration.md). python3 -m jev_browse install | uninstall | doctor | config, andbin/jev-browse. The installer links the
skill for Claude Code and Codex.- The
jev-browseagent skill, an agent-followableinstall.md, and a global-pointer snippet. - A benchmark (
bench/run_bench.py) with code-only verification and list-price cost, and a text-backend eval
(bench/text_eval.py).
Ports code from browser-use/jev-ultrafast (MIT).