DSH | dsh-codex-review | /review on your ChatGPT subscription, one reviewer session per chat #8596
vitas
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Repository: https://github.com/vitas/dsh-codex-review | npm: dsh-codex-review@0.4.0 | License: MIT | DSH: tested on
0.2.0-rc.2/review— and the reviewer is not the model that wrote the codeOne line: a slash command that hands the current change set to a reviewer subagent pinned to the model you choose — on a ChatGPT subscription it runs through the Codex CLI login instead of an API key, it keeps one session per chat so it remembers the last review, and
/review resetmakes it forget.The problem it solves
Router-style plugins inject a recommendation that the main agent may ignore, and the model that wrote the change is the worst judge of it. This is the opposite: a human asks, the
subagentsservice is called directly, and the child is pinned to a route you picked — so the review cannot accidentally be run by the same model that wrote the code, and it does not have to go through your chat route or your OpenRouter balance.What it does
/reviewis a complete request. The reviewer arrives with a standing brief — the stance (report, never edit a file, never run a command that changes the repository), the order to hunt in (correctness, failure handling, contracts, security and data, concurrency and state), and an evidence bar (an unverified claim is a question, not a finding) — and works out for itself what to judge: the change set as it stands, untracked files included; the newest commit when the tree is clean; and, when the workspace is not a repository at all, the repositories inside it that actually report changes./review focus on the cache invalidation./reviewcontinues the same reviewer, which opens with what moved since its last review — fixed, still open, newly introduced — instead of repeating itself. The session survives a host restart./review resetretires that session and stops a review that is still running, because that answer is the one nobody is waiting for. The next/reviewstarts with no memory of the earlier ones.conversation: shared(one reviewer per chat) orfresh(a one-shot reviewer per call, rendered as the command result).Install
Restart, then type
/review.About the route. The plugin owns no LLM client and no credentials: it calls the host
subagentsservice, so the pinned route is whatever authenticates it. The shipped default is theopenai-codexroute, which needs its own sign-in — on a ChatGPT subscription that is the Codex CLI login (~/.codex/auth.json), registered by the third-partydsh-codex-authplugin, which reads that file. Nothing in the review plugin touches a credential. Point the route at any other provider you already have and it behaves the same.Limits, honestly
/review resetwrites the old reviewer off instead of erasing it. A reset followed by a host restart before the next review re-adopts the earlier session.What I checked
35 tests and
tsc --noEmitclean. End to end: I planted an off-by-one in a scratch repository and ran a bare/reviewwith no focus — the reviewer read the change set, reproduced the wrong result in Node, and reported it as a blocker withfile:lineand a concrete failure case. Also verified live on DSH0.2.0-rc.2that a second/reviewin the same chat continues the same child session rather than opening a new one.Issues and PRs are welcome in the repository.
All reactions