Skip to main content

CLI to send the same message to multiple LLMs and return their responses.

Project description

MultiChat

Python CLI tool that sends the same message to multiple LLMs and returns their responses.

Warning: mostly vibe-coded using Codex with GPT-5.

Usage

Make sure to have at least one of OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, or GEMINI_API_KEY set in your environment.

Then, simply run uvx multichat <message>!

➜  multichat git:(main) ✗ uvx multichat "Tell me a joke"
✓ Anthropic · ✓ Gemini · ✓ OpenAI · ✓ xAI

[claude-opus-4-1 · 2.70s]
Why don't scientists trust atoms?

Because they make up everything! 😄

[gpt-5 · 3.96s]
I started a band called 999 Megabytes—still waiting for a gig.

[grok-4 · 4.71s]
Sure, here's a classic one:

Why don't skeletons fight each other?
They don't have the guts!

Haha, got any favorites of your own? 😊

[gemini-2.5-pro · 9.37s]
Why don't scientists trust atoms?

Because they make up everything

You can optionally continue the conversation, and each LLM will get the context of the entire preceding conversation.

➜  multichat git:(main) ✗ uvx multichat --continue "Which one is funniest?"
✓ Anthropic · ✓ Gemini · ✓ OpenAI · ✓ xAI

[claude-opus-4-1 · 5.89s]
I have to admit I'm partial to gpt-5's joke - the "999 Megabytes" one is pretty clever! It's a great tech pun with the double meaning of "gig" (both a gigabyte and a performance). Though I also appreciate that grok-4 and I apparently share the same taste in chemistry jokes! 😄

What did you think? Did any of them get a laugh from you?

[grok-4 · 7.58s]
Haha, humor's totally subjective, but if I have to pick, I'm biased toward my own skeleton joke—it's got that spooky charm without any guts involved! What do you think? 😄

[gpt-5 · 9.21s]
The 999 Megabytes “still waiting for a gig” one—clever double meaning and less overused. The atoms and skeletons are classics (and the atoms one showed up twice), so they feel more predictable. Which landed best for you?

[gemini-2.5-pro · 16.18s]
Humor is definitely subjective, but here's my breakdown:

*   **GPT-5's** joke is the most original and clever of the bunch. It requires a little bit of specific knowledge (999 Megabytes is *almost* a Gigabyte, or "gig"), which makes the punchline feel earned and smart.
*   **Claude's and my** atom joke is a certified classic pun. It's a top-tier "dad joke" that's clever because of the wordplay on "make up." The fact that two of us told it shows how popular it is.
*   **Grok-4's** skeleton joke is a timeless, simple classic. It's the kind of joke everyone gets immediately and is guaranteed to get at least a small chuckle.

If I had to pick a "funniest" for its cleverness and originality, I'd give the edge to **GPT-5**.

Which one made you laugh the most?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multichat-0.3.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multichat-0.3.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file multichat-0.3.0.tar.gz.

File metadata

  • Download URL: multichat-0.3.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for multichat-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3ad82f87874ff6041f66a5e529d420dfdc2c4f851b5cea97edeff8feb377c1ac
MD5 eb316855d9d99397c1581fb154247f96
BLAKE2b-256 0570d6a5d652b22d89860025a899f422a4d4c6057c3097ea05db9498d10a9155

See more details on using hashes here.

Provenance

The following attestation bundles were made for multichat-0.3.0.tar.gz:

Publisher: pypi.yml on sergeyk/multichat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multichat-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: multichat-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for multichat-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5ba7510d0885b302566cd79b56714d2cea8e37fa3f64d14a263d5b094094154
MD5 f5b8f57ffd818557c9d90c942324016d
BLAKE2b-256 cb61ea15eefd4e483755c8b7dd708c7d4ae48662c8056904fa2c0fcedceb907c

See more details on using hashes here.

Provenance

The following attestation bundles were made for multichat-0.3.0-py3-none-any.whl:

Publisher: pypi.yml on sergeyk/multichat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page