Parallel agents
Review and security scanning share one superstep. Roughly half the wall-clock of a sequential chain.
Two AI agents read your diff at the same time: one for bugs and code quality, one hunting vulnerabilities and leaked secrets. Then one clear comment lands on the PR, updated in place on every push.
β³ dry run Β· nothing is posted to GitHub Β· any public repo
Built as a stateful LangGraph. The review and security agents run in the same superstep, so you wait for the slower one, not both added together.
Review and security scanning share one superstep. Roughly half the wall-clock of a sequential chain.
A deterministic secret scanner runs alongside the LLM. An obvious leaked key is caught even if the model misses it.
The model reports findings; code decides approve vs. request changes. No verdicts by vibes.
Lose a node and you still get a review, flagged partial with the error disclosed. Never a silent crash.
Ten commits, one comment, edited in place. Your PR timeline stays readable.
Lockfiles, bundles and binaries are stripped, and what's omitted is named, so the model knows what it didn't see.
HMAC-SHA256 signatures, draft filtering and background execution. GitHub never waits on an LLM.
GitHub webhook, REST API or CLI. Same graph behind all of them.
Self-hosted, your keys, your infrastructure. Runs anywhere a container runs.
One click on Render, or run the container yourself.
Deploy to Render βdocker run -p 8000:8000 \
-e GROQ_API_KEY=gsk_β¦ \
-e GITHUB_TOKEN=ghp_β¦ \
codeinspector-aiRepo β Settings β Webhooks. Send Pull requests events.
Payload URL https://<host>/webhook
Content type application/json
Secret $GITHUB_WEBHOOK_SECRET
Events Pull requestsA review lands in about a minute, and every push updates the same comment.
git checkout -b feature/thing
git push -u origin HEAD
# π CodeInspectorAI is on iteval() twice.Paste a PR and watch the agents work.