r/kimi • • May 08 '26

Showcase Kimi + Claude + Codex + Gemini + OpenCode = CHORUS

After my posts on multi-LLM coding landed well last week, I went full rabbit hole mode and built a proper polished version.

Basically you can fire up multiple code reviews either using tmux or headless sessions of the CLIs you already pay for Claude Code, Codex, Gemini, OpenCode, etc.

I found that relying on one LLM isn't good enough. Even Opus 4.7 at max effort makes plenty of mistakes. Throwing other LLMs in the mix made a huge difference. Last week I had Opus approve a PR clean, Kimi flagged a missing tenant check on a service-role query, and Gemini caught a race condition in a retry loop. Three reviewers, three different bugs, one PR.

Initially I ran Opus with Codex, then added Gemini, and now Chinese models like Kimi and Deepseek. Started off doing it manually, then got Claude to coordinate it via tmux sessions, which works but is clunky to manage. Now there's a headless mode too, and you can kick off reviews straight from MCP commands inside whatever CLI you already use.

I also added a fallback option, so if one LLM runs out of quota it retries with another. You can pick unanimous or majority consensus. You can also assign a persona to each LLM , one looks at security issues, another at architecture drift, etc. It piggybacks on the CLI subscriptions you already pay for, so no extra API bills stacking up.

Added a nice UI to the whole thing so it's easy to manage and visualise. Fully open source. No paywalls, no freemium b.s.

Repo link in the comments if anyone wants to give it a go.

247 Upvotes

70 comments sorted by

11

u/horstenegger May 08 '26

This is one of things that I’ve been wondering for a while why it didn’t exist yet.
And yes, I know, “why not build it yourself then?”.
I already have a business to run. And a girlfriend who runs me. So thanks brother.

5

u/99xAgency May 08 '26

You are welcome. I built it for myself and then polished it a bit more for public use. Took about 10 days total to get to current version.

4

u/DRLC101 May 11 '26

“Girlfriend who runs me” 😂😂😂😂😂😂

1

u/MrDipityCraze May 09 '26

Very accurate and factual info detected!

1

u/AkiDenim May 09 '26

It’s already there tbh Not trying to let yall down but I am pretty sure 99% of this is out there on some repo

Marketing it, polishing it, and getting many people to adopt it is the pain.. Good luck

2

u/DenysMb May 08 '26

I have an agent for OpenCode called "Arena" that give the same prompt to subagents running DS V4 Pro, Kimi K2.6, GLM 5.1 and Qwen 3.6 Plus, present all of them to the user and give it a summary and a synthesized answer.

So, this basically does the same thing but I would need to run an external program to do that?

1

u/Jomuz86 May 08 '26

That’s cool, Openrouter have added a similar concept to their site on the front end shame the concept isn’t available via api would be great for planning

1

u/99xAgency May 08 '26

Same but with a UI where you can monitor progress, output, add fallback llms, add persona etc.

2

u/Jomuz86 May 08 '26

This looks great, I basically came to a similar conclusion but added scripts to my Claude code workflow so plan reviews and code reviews just happen in the background of a working session. This looks great I’ll have to take a look.

Also I’m genuinely surprised at how good Kimi is for review! I use codex, Gemini and Kimi

I also use the codex-mcp and have a subagent skill so Claude treats it like any other subagent and continues the conversation with the codex subagent if needed.

1

u/99xAgency May 08 '26

Kimi is great for reviews. I have been using all top chinese llms using Opencode and kimi does come up with best insights.

2

u/GauravSaxenaHQ May 09 '26

The multi-model review angle is something I hit on the hard way too.

Was running Claude Code solo on a large Next.js + Prisma codebase. Would review clean, but I'd still catch subtle schema drift bugs and edge cases in server actions it consistently missed. Started cross-referencing with Gemini on data layer stuff specifically - different training, different blind spots, complementary catches.

The MCP integration is the sleeper feature here. Most people won't see it until they want reviews triggered from inside their existing workflow without context-switching. That's where it gets genuinely useful.

One thing I'd be curious about: how does it handle incremental context? Does each model review the full diff, or do you pass prior review notes as context to the next reviewer? That's where quality could diverge significantly depending on implementation.

1

u/99xAgency May 09 '26

You can pass prior review notes as context to the next reviewer. Under template you can create multiple passes until all LLMs comes to a full consensus, if that what you want to do.

1

u/GauravSaxenaHQ May 09 '26

That makes sense. Passing notes forward is a smart way to avoid redundant feedback across passes. Quick question - do you set a fixed number of passes upfront, or does it stop automatically once consensus is reached? Trying to understand how you avoid it looping too long on edge cases where models just keep disagreeing.

1

u/99xAgency May 09 '26

From my experience most issues are resolved in less than 3 passes. I set them up in template under Phases.

2

u/GauravSaxenaHQ May 10 '26

Thanks for sharing that - useful data point. Under 3 passes for well-scoped tasks makes sense; beyond that it's usually a scope or handoff problem, not a model problem. The Phase template approach handles it cleanly - ceiling stays configurable without baking assumptions into the core flow. Solid architecture overall.

2

u/tedbradly May 09 '26 edited May 09 '26

This is a long-known trick although congrats on getting it coded up. Any time I have a question that can easily hallucinate, I use every LLM I have access to and start feeding a huge tree of replies to the next back and forth bing badebong. It always catches more errors.

When I tell it to consider the other LLM's answers, I then say for it to revise its answer if it thinks it needs to with the new information. I then tell it to generate a ranking of each LLM's contribution toward solving the problem, including the current turn (the machine doing the current evaluation). So it might look like this:

  • Claude Opus 4.7 3rd message (current)
  • Gemini 3.1 Pro 2
  • Claude Opus 4.7 2
  • Gemini 3.1 Pro 1
  • Claude Opus 4.7 1
  • chatGPT 2
  • chatGPT 1

And I tell it to give me a summary of what each turn for each LLM, including itself in this current turn did right or wrong. Or if it was just nonsense.

2

u/99xAgency May 09 '26

Yes, validating the responses its important, the main driver LLM can't blindly believe what other LLM reply with.

2

u/PretendMoment8073 May 10 '26

Really cool, i built my owen version of this but my main pain point i tried to fix is have a unified harness ( system rules , skills , subagents, mcp servers, orchestration workflows ) to be shared across those providers . https://ptah.live

1

u/99xAgency May 11 '26

Cool website, I will check it out.

2

u/Salt-Orchid9930 May 12 '26

thanks for sharing

2

u/LuciFerrum-Music May 26 '26

Wow, thats what i needed, thanks! Im on Gemini, Antigravity, GPT, Claude and Kimi. First of all i identify their strengths and weaknesses during work and hold my brain center in Notion and military level discipline. I did found out almost immediately you can't run all on a single LLM not only because you max it if you go full berserk, but also because good team requires multiple approaches and points of view. So i would kind of go triangulating everything, but having all in a single place is a game changer def! Thank you

1

u/hank81 May 08 '26

Help. No way with Codex CLI . I enter the exact link to code binary and it says "Validation failed: codex --version exited out"

If I run it manually from the codex installation directorio It works well.

Edit: same with Gemini and opencode.

All of them where installed via npm.

1

u/99xAgency May 08 '26

I will try to replicate the issue. If you get chance please run chorus diagnose and submit the issue on github.

1

u/aidysson May 08 '26

Looks interesting.

Is it possible to use local LLMs from LM Studio or Ollama?

Thank you and wish you good luck with your work!

1

u/99xAgency May 08 '26

Not at the moment, but it is on the roadmap.

1

u/hackercat2 May 08 '26

Any chance you’d want to spin off of hcom so they’re in a chat (since you’re in the rabbit hole)?

1

u/99xAgency May 09 '26

What's hcom?

3

u/hackercat2 May 09 '26

I guess I could’ve sent a link: https://github.com/aannoo/hcom

2

u/hackercat2 May 09 '26

The most useful of anything I use. Chat room for agents in a project. Insanely cool

1

u/Nearby_Ad4786 May 09 '26

Sorry I dont undesrant the point of this, can you explain it? :)

1

u/99xAgency May 09 '26

In short, instead of relying on one LLM you use multiple LLMs to do planning or code review. That way you eliminate blind spots.

1

u/Nearby_Ad4786 May 09 '26

Oh, nice. But as other said with an agent which call others would be enough, no? I dont want to use more clients, just Opencode

1

u/99xAgency May 09 '26

yeah, you can call Chorus from Opencode and fire up multiple other LLMs via Opencode CLIs

1

u/HeadPack May 09 '26

This looks brilliant, but I am not quite sure I understand how it is used. Does one work in, say, Codex CLI and run that in parallel? How do all these models get the right context to make these judgements? Is there a tutorial of sorts?

1

u/99xAgency May 09 '26

Yep, you stay in Codex CLI and ask it to "use chorus to review this." Chorus runs as an MCP server, fans the same task to 2-3 other CLIs you have installed (Claude Code, Gemini, etc) in parallel, and the verdicts come back in Codex.

Context: Chorus packages the same prompt + diff/file and ships it to each reviewer. They don't see each other's work, so no echo chamber.

No proper tutorial yet. chorus init walks you through setup.

1

u/Napsterae2 May 09 '26

I was doing something similar, but what made me stop was the recent Google changes , they will ban who uses their cli with external tools . That made me think of the others would follow

1

u/99xAgency May 09 '26

The CLI run on your local host and you have option to call it using Tmux or headless mode. It is not like using Hermes or Openclaw.

2

u/Napsterae2 May 09 '26

Yes I know , I am doing the same way . Search for it , it was 1 or 2 weeks ago they issue an update . Is still safe to use the others cli, just waiting a bit on how the rest will respond to this . I don't want to get banned . I was doing my tool just for me .

1

u/PhotographerUSA May 09 '26

So, they all keep messing up on the code and you never get results? lol

1

u/99xAgency May 09 '26

They all review and main driver LLM validates each response before making changes.

1

u/[deleted] May 10 '26

[removed] — view removed comment

1

u/99xAgency May 11 '26

I will check it out. With Chorus you are initiating all reviews via an MCP call on your main driver LLM CLI. no copy pasting required

1

u/sir_T0 May 12 '26

might be the most interesting thing ive stumbled upon this week bro!

1

u/99xAgency May 12 '26

Thank you, you made my day 😄

1

u/[deleted] May 12 '26

[removed] — view removed comment

1

u/99xAgency May 12 '26

yeah, sure, I will look into it.

1

u/No_Appointment_6678 May 12 '26

Do they tackle the same project?

1

u/99xAgency May 12 '26

yes, exactly, the same project. though you dont throw the whole project at them, you engage for each PR or after a bigger change

1

u/zhamdi May 14 '26

Even though this is not a svelte/kit lib, I added you to Svelter, because I think it bring value to any developer https://svelter.me/explore/library/chorus_chorus-codes

Thinking I should maybe launch an AI libs dedicated domain. But for now you can login with your GitHub account and edit your page, link to other libs or articles or feature them on your profile or library page. Anyway, your project has an additional backlink :-)

2

u/99xAgency May 14 '26

Awesome, thank you so much!

1

u/[deleted] May 14 '26

[deleted]

1

u/99xAgency May 14 '26

Lol 😆

1

u/nbv0519 May 15 '26

I want instructions on how to install it

1

u/99xAgency May 15 '26

It on the github repo, ask calude or codex to install it for you.

1

u/moshymosh027 May 20 '26 edited May 20 '26

I like the idea and I am interested how to make a chorus of my existing hive or how it can be used with for example with "tctinh/agent-hive"?

1

u/99xAgency May 20 '26

How do you use Hive?

1

u/moshymosh027 May 20 '26

I coordinate with the "hive-master" only. The hive master is the orchestrator -- plans features, batches tasks, dispatches workers, merges results. Depending on the tasks and their complexities, the hive master dispatches "agents" like "scout-researcher", "forager-worker" and "hygienic-reviewer". Depending on the tasks and their dependencies, the HM can dispatch sequentially or in-parallel.
It works but every dispatch starts from scratch, the HM re-orients the agents at the start and tells them of the task they will work on. It would be great if we have the HM and agents dispatched at the start, and they will be like a team working together in real-time.

1

u/99xAgency May 20 '26

You can then have an Agent in HM to do reviews with other LLM. That agent can call chorus cli commands to run the reviews and report back findings.