Jev directory
CommunityJev Tools & CLIs
Aiscript
Python CLI that turns a plain-English request into a cached shell or Python script and reviews each generated script before it is saved. Risky scripts need explicit approval, with an optional decision-model reviewer that can be Jev, OpenAI Decisions, or a local Ollaya model.
- Stars
- 0
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
Highlights
- Installs with uv tool install, pipx install, or pip install; requires Python 3.10 or newer.
- Generated scripts are cached, so later runs need no network and no configuration.
- A built-in static regex scan flags privilege escalation, recursive file changes, and curl | sh.
- The safety review fails closed: an unreachable or erroring reviewer treats the script as risky.
- Non-interactive stdin refuses risky scripts, and stdout plus the exit code belong to the script.
Questions about this entry
Short answers drawn from the linked project or page.
Install with uv tool install aiscript, pipx install aiscript, or pip install aiscript. Python 3.10 or newer is required. Upgrade with the same tool you installed with; config, prompts, and cached scripts in ~/.config/aiscript/ are kept.
An OpenAI key for the provider that writes the scripts and TYPESAFE_API_KEY for Jev review, placed in ~/.config/aiscript/config.yaml or exported as OPENAI_API_KEY and TYPESAFE_API_KEY. Placeholder keys such as "..." are ignored, so environment variables still work.
Yes. Set reviewer_provider to ollaya for a local, keyless decision model, with jevk5:4b as the default model on localhost:11435. Comment out reviewer_provider to rely only on the built-in static scan.
The review fails closed: the script is treated as risky. You see the reasons and the code and must answer [y/N]; declining saves nothing. With a non-interactive stdin, risky scripts are refused outright.
No. The static scan plus decision model are described as a best-effort safety net, not a sandbox, so you should read what you approve before it is saved or executed.
Everything lives in ~/.config/aiscript/, including config.yaml, which is written in mode 600 because it can hold API keys. The documentation advises keeping that file out of git.
Everything after the command name is passed untouched to the script, including --help. aiscript messages go to stderr, stdout belongs to the script, and the exit code is the script's own.
Reactions & coverage
Posts, threads, and videos about this entry from around the web.
YouTube: Kubernetes admission control with a decision model, fail-closed.
Hacker News: SafeDep Gryph plus Jev checks for compromised coding-agent behavior.
2 pointsDetecting Compromised AI Coding Agents with Jev and GryphRead the thread on Hacker NewsX: Jev and Laya on security queries
X: Testing Jev for prompt injection
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.