Skip to content

theerud/gemini-llm-council

Repository files navigation

Gemini LLM Council Extension

Consult multiple top-tier LLMs simultaneously with automated peer review and synthesis. Leverage the "Wisdom of the Crowd" to get high-confidence answers for complex architectural and debugging tasks.

Inspired by Andrej Karpathy's llm-council.

✨ Advanced Features

  • Autonomous Investigator: New /council:investigate command that uses a specialized subagent to autonomously explore your codebase and gather evidence before deliberating.
  • Hierarchical Config: Save your council settings Globally (for all projects) or Project-specifically (checked into your repo).
  • Specialized Personas: Run targeted reviews using built-in audit personas (e.g., security, performance).
  • Automatic IQ: The council automatically detects if your query requires a specific persona and applies it to guide the review phase.
  • Customizable: Define your own personas in ~/.gemini/extensions/gemini-llm-council/personas.json.
  • Ambient Grounding: System hooks automatically inject core project metadata (README, package.json) into council consultations.
  • Deep Audit Trail: Offload massive raw deliberations to MCP Resources. Accessible via council:// URIs provided in the summary report.

Prerequisites

Setup

  1. Link the extension:

    gemini extensions link .
  2. Configure API Key: Use the Gemini CLI to set your OpenRouter API key securely.

    gemini extensions config gemini-llm-council "OpenRouter API Key"
  3. Build the extension:

    npm install
    npm run build
  4. Configure Council Members:

    /council:setup

    Choose between Global (All Projects) or Project (Current Folder) scope.

Commands

Command Description
/council:setup Select models, reasoning depth, and configuration scope.
/council:ask <query> One-shot consultation with automated project grounding and persona detection.
/council:investigate <issue> Autonomous: Subagent handles the file-reading and deliberation loop.
/council:persona <name> <query> Consult using a specific persona (e.g., security, performance, or your custom ones).
/council:status Show active members, reasoning effort, and active configuration scope.

Usage Examples

Autonomous Debugging

/council:investigate "The database connection keeps timing out in production environments."

The council investigator will autonomously find your config files, logs, and connection logic to provide a verified fix.

Security Audit (Automatic or Explicit)

/council:ask "Audit the new user registration flow for potential injection flaws."

The Chairman will automatically detect the "Security" domain and load the appropriate persona.

Global vs Project Config

  • Global: Stored in ~/.gemini/extensions/gemini-llm-council/config.json.
  • Project: Stored in .gemini/llm-council.json. (Project config overrides global).

Architecture

  • Autonomous Orchestration: Uses Gemini CLI Subagents to isolate the heavy lifting of multi-file investigations.
  • Intelligent Grounding: Uses BeforeTool Hooks to automatically provide context about your tech stack.
  • Clean UI: Moves raw multi-model critiques to MCP Resources, keeping your main chat readable.

Inspiration

This project was inspired by Andrej Karpathy's LLM council project, as shared in his Twitter (X) post.

License

MIT

About

Multi-LLM consensus extension for Gemini CLI. Inspired by Andrej Karpathy's llm-council.

Topics

Resources

License

Stars

13 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors