Search Agent Sky
← Back to search Memory Lane Recent answers
Cited source trail
review https://github.com/protostatis/openrouter-agent-cli
Sources checkedgithub.com
Next step

Research any question with live sources, then publish the cited answer as a free shareable link.

## Review: `protostatis/openrouter-agent-cli` **What it is:** A standalone terminal agent (CLI) for [OpenRouter](https://openrouter.ai) models that gives an LLM tool actions (shell, file ops, web discovery) with interactive permission gating, session persistence, and context management. It's a Python package installable from PyPI (`pip install openrouter-agent-cli`), currently at version **0.1.6** ([pyproject.toml](https://github.com/protostatis/openrouter-agent-cli/blob/main/pyproject.toml)). ### Strengths - **Security-conscious design** — This is the standout feature. The project takes untrusted model output seriously: - `run_bash` runs in a separate process group, bounds output, kills descendants on timeout, and scrubs OpenRouter/Brave API keys from the child environment ([SECURITY.md](https://github.com/protostatis/openrouter-agent-cli/blob/main/SECURITY.md)). - File tools (`list_dir`/`read_file`/`write_file`/`edit_file`) enforce a workdir jail via `relative_to(workdir)`, with 2 MiB caps, atomic writes, optional SHA-256 preconditions, and one-shot `/undo`. - `discover` (web) is HTTPS-only, blocks private/loopback/link-local/metadata hosts after DNS resolution, and explicitly warns that web content is untrusted and may prompt-inject the model. - Terminal rendering strips ANSI/control characters to prevent escape-sequence injection ([cli.py](https://github.com/protostatis/openrouter-agent-cli/blob/main/openrouter_agent_cli/cli.py)). - **Granular permission model** — allow/deny/ask with once/batch/turn/session/persistent scopes, plus persistent `/allow`/`/deny` rules cached in `~/.openrouter-agent-cli/policy.json`. Tools are risk-rated (LOW→CRITICAL). - **Good feature set** — session persistence, automatic context compaction (~12k tokens), `/undo`, `/inspect`, concurrent web-discovery batching (`max_concurrency`), non-interactive `--prompt` mode for scripting, and a free-tier default model so first runs don't cost money. - **Documentation quality** — README, SECURITY.md, and a thoughtful [BASH_TOOL_COMPARISON.md](https://github.com/protostatis/openrouter-agent-cli/blob/main/BASH_TOOL_COMPARISON.md) comparing its shell design against Claude Code and GitHub Copilot CLI. - **Tests present** — `tests/` includes `test_cli.py`, `test_discovery.py`, `test_output.py`, and `test_tool_safety.py` (pytest-asyncio, strict mode). - **MIT licensed** ([LICENSE](https://github.com/protostatis/openrouter-agent-cli/blob/main/LICENSE)). ### Weaknesses / concerns - **Early-stage, single-maintainer project** — 0 stars, 0 forks, 0 issues, 0 PRs. The [commit history](https://github.com/protostatis/openrouter-agent-cli/commits/main/) shows active development (35 commits, heavy activity Aug 22–30, 2026) but it's essentially one person's project with no community validation yet. The SECURITY.md itself states "This project is early-stage." - **No CI test workflow** — the only GitHub Action is `release.yml` (PyPI publishing); there's no automated test/CI pipeline running the test suite on push. - **`run_bash` is not jailed** — the README and SECURITY.md are honest that shell execution is cwd-only, *not* sandboxed, unlike the file tools. Combined with the default `ask` policy, this is safe-by-default, but it's the highest-risk surface. - **Platform limitation** — real web discovery depends on `pyunbrowser`, which only ships Linux/macOS wheels; on Windows the CLI works but `discover` is unavailable. - **Dependency footprint** — pulls in `pyunbrowser` (a browser automation library) as a default dependency even for users who only want the shell/file tools. ### Bottom line A well-engineered, security-minded terminal agent for OpenRouter with a thoughtful permission-gating and sandboxing story — arguably more careful about untrusted model output than many comparable tools. It's genuinely early-stage (no community traction, no CI test gate), so treat it as a promising personal project rather than battle-tested software. The honest security documentation and risk-rated tool design are its biggest assets. **Sources:** [README](https://github.com/protostatis/openrouter-agent-cli), [SECURITY.md](https://github.com/protostatis/openrouter-agent-cli/blob/main/SECURITY.md), [pyproject.toml](https://github.com/protostatis/openrouter-agent-cli/blob/main/pyproject.toml), [cli.py](https://github.com/protostatis/openrouter-agent-cli/blob/main/openrouter_agent_cli/cli.py), [BASH_TOOL_COMPARISON.md](https://github.com/protostatis/openrouter-agent-cli/blob/main/BASH_TOOL_COMPARISON.md), [commit history](https://github.com/protostatis/openrouter-agent-cli/commits/main/)

Sources visited

1navigatehttps://github.com/protostatis/openrouter-agent-cli
2get_text
3navigatehttps://github.com/protostatis/openrouter-agent-cli/blob/main/SECURITY.md
4navigatehttps://github.com/protostatis/openrouter-agent-cli/blob/main/pyproject.toml
5navigatehttps://github.com/protostatis/openrouter-agent-cli/tree/main/openrouter_agent_cli
6navigatehttps://github.com/protostatis/openrouter-agent-cli/tree/main/docs
7navigatehttps://raw.githubusercontent.com/protostatis/openrouter-agent-cli/main/openrouter_agent_cli/cli.py
8navigatehttps://raw.githubusercontent.com/protostatis/openrouter-agent-cli/main/LICENSE
9navigatehttps://github.com/protostatis/openrouter-agent-cli/tree/main/tests
10navigatehttps://raw.githubusercontent.com/protostatis/openrouter-agent-cli/main/BASH_TOOL_COMPARISON.md
11navigatehttps://github.com/protostatis/openrouter-agent-cli/commits/main/
12navigatehttps://github.com/protostatis/openrouter-agent-cli/tree/main/.github/workflows
Shared by Proto Státis · Aug 30, 2026

Ask your own question

Search live sources for a question you choose. You can publish the cited answer as a free link.