← all repositories
emcf/engshell

Your shell now takes requests in plain English, for better and worse

A Python REPL that turns natural language into executed code via OpenAI, with iterative debugging and automatic package installation.

2.2k stars Python Coding Assistants
engshell
Velocity · 7d
+1.8
★ / day
Trend
steady
star history

What it does

Engshell is an interactive shell that translates English commands into Python code, executes them, and shows you the results. Ask it to “record my screen for 10 seconds” or “check the weather in Toronto” and it generates the code, runs it, and keeps a conversational memory across commands. It supports OpenAI or OpenRouter as backends.

The interesting bit

The shell doesn’t just generate code—it iteratively debugs itself. When generated code fails, it feeds the error back to the LLM for another attempt, and can auto-install missing packages. There’s also a --debug flag for more verbose reasoning and --llm for tasks that need extended text generation rather than code execution.

Key highlights

  • Natural language interface to system-level tasks (file organization, screen recording, web scraping, data plotting)
  • Automatic error recovery: failed code gets re-prompted with traceback context
  • Missing dependency resolution without manual pip install
  • clear command wipes both console and LLM conversation memory
  • Supports OpenRouter as an alternative to direct OpenAI API access

Caveats

  • The README explicitly warns: this executes LLM-generated code with full system access. The authors strongly recommend sandboxed environments only.
  • Requires valid API keys and incurs per-request LLM costs; no local model support is mentioned.
  • Some examples need additional keys (e.g., UNSPLASH_API_KEY for wallpaper fetching).

Verdict

Worth a look if you want to experiment with LLM-driven automation and accept the security trade-offs. Skip it if you need reproducible, auditable system administration—or if paying per shell command sounds like a budgetary nightmare.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.