CodeOtter
Self-hosted PR review platform pairing an LLM narrative with a /v1/systemone decision engine for 6 rubric scores and 8 yes/no merge gates.
Overview
CodeOtter is a free-to-self-host pull request review platform for teams who want code review without sending private code to SaaS or paying per-seat fees. It runs fully offline with open-weight models via llama.cpp and sidecars, or with your own keys for Claude, OpenAI, MiniMax or OpenRouter. A dashboard shows 0 to 100 score gauges (Quality, Blast Radius, Risk, Tests, Readability, PR Hygiene) beside a streaming Markdown review, an offline architecture diagram and ranked findings.
Its dual engine pairs the language model with a System 1 decision engine at POST /v1/systemone that evaluates six rubric scores and eight yes/no pre-merge gates (title, description, security, complexity, tests, docs, scope, guidelines) in one pass, on the argument that LLM prompts hallucinate numbers. Local decision models such as Laya typed-decisions can be downloaded and managed from settings. It is AGPL-3.0.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Score | Rate the PR on Quality, Blast Radius, Risk, Tests, Readability and PR Hygiene | 0-100 gauges |
| Yes / no | Does the PR pass each pre-merge gate (title, description, security, complexity, tests, docs, scope, guidelines)? | yes · no |
How it works
- Receive a pull request
- Decision engine scores rubrics and gates in one pass
- LLM writes the narrative review
- Dashboard shows gauges, findings and diagram; gates inform merge
Strengths
- Runs fully offline
- Numbers come from a decision engine, not LLM text
- No per-seat cost
Caveats
- AGPL-3.0
- Self-hosting local models needs capable hardware
Getting started
See the Quickstart or Docker section of the README.At a glance
- Type
- Service
- Status
- beta
- Runtime
- self-hosted web platform + local model sidecars
- Has code
- yes
- License
- AGPL-3.0
- Stars
- 3
Use cases and integrations
How curated lists describe it
Autonomous, self-hosted AI code reviews, calibrated scoring gauges, and merge gates from any open model.
wh000wh000/awesome-jev-live
Frequently asked questions
Does it use Jev?
It uses a Jev-style /v1/systemone engine, with local models like Laya; a hosted Jev endpoint is not documented in the excerpt.
Can it run offline?
Yes, with open-weight models.
What are the gates?
Eight yes/no checks: title, description, security, complexity, tests, docs, scope and guidelines.
Related projects
Self-hosted Jev server plus CLIs, agent skills and a Pi tool for typed code questions and per-file diff review triage.
Agent skillbetaPythonSemantic linter that evaluates files against plain-English JSON rule packs in one /v1/systemone pass, locally with Kev or remotely with Jev.
ModelbetaPythonMangaba AI's local, calibrated typed-decision model for Portuguese text, trained to optimize the Brier score; proprietary since v5.
ProjectproductionPython- blink★ 22
Open one-pass typed-decision model with a dependency-free C99 runtime that also builds to a 66 KB WebAssembly module.
ServicebetaC Local browser agent that picks each step's operation and element with a Jev-shaped model such as a fine-tuned Laya, no cloud needed.
MCP serverbetaPython- Foq★ 11
Local open alternative to Jev using a 1.58-bit ternary 8B model to answer booleans, choices, scores and Pydantic extraction in ~25 ms.
ProjectbetaPython