Show HN: SelenAI – Terminal AI pair-programmer with sandboxed Lua tools (github.com)

🤖 AI Summary
SelenAI is a terminal-first pair-programming assistant that pairs a Ratatui TUI with a pluggable LLM client and a sandboxed Lua helper VM so you can watch and approve every tool action before it touches your repo. The UI is split into Conversation, Tool activity, and Input panes; the agent loop streams model output (when supported), logs tool invocations, shows the exact Lua script and rationale, and—if allow_tool_writes is enabled—queues any filesystem writes for explicit /tool run approval. Sessions are persisted as JSONL transcripts and tool logs (default .selenai/logs), and the LLM layer is provider-agnostic (openai or an offline stub configured via selenai.toml or SELENAI_CONFIG/.env). Technically, SelenAI is written in Rust (Ratatui frontend, mlua sandbox, reqwest for HTTP) and exposes a deliberately small, auditable Lua API: idiomatic helpers (io.*, fs.*) plus rust.* host functions (read_file, write_file with path-traversal protections, list_dir, http_request, log, eprint, and MCP exploration helpers). The design enforces “plan → run tools → inspect → edit,” favors read-only-by-default workflows, blocks global/os/require escapes, and records stdout/stderr/logs for reproducibility. For developers this means a lightweight, auditable in-terminal agent ideal for reproducible code reads, vaildation, and human-in-the-loop edits without implicit repository mutation.
Loading comments...
loading comments...