{"id":28814838,"url":"https://github.com/attogram/llm-council","last_synced_at":"2026-05-08T13:02:15.283Z","repository":{"id":299135712,"uuid":"1002163559","full_name":"attogram/llm-council","owner":"attogram","description":"A bash script to start a chat between 2 or more LLMs running on ollama","archived":false,"fork":false,"pushed_at":"2025-06-14T22:18:42.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T22:26:42.314Z","etag":null,"topics":["ai-conversations","bash-script","chatbots","llm-chat","ollama"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/attogram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-14T21:16:10.000Z","updated_at":"2025-06-14T22:18:46.000Z","dependencies_parsed_at":"2025-06-14T22:27:03.185Z","dependency_job_id":"0be1d290-f1a1-4d2e-800d-3df3f675f08e","html_url":"https://github.com/attogram/llm-council","commit_stats":null,"previous_names":["attogram/llm-council"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/attogram/llm-council","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attogram%2Fllm-council","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attogram%2Fllm-council/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attogram%2Fllm-council/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attogram%2Fllm-council/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/attogram","download_url":"https://codeload.github.com/attogram/llm-council/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/attogram%2Fllm-council/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260586143,"owners_count":23032253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-conversations","bash-script","chatbots","llm-chat","ollama"],"created_at":"2025-06-18T16:02:52.936Z","updated_at":"2026-05-08T13:02:15.239Z","avatar_url":"https://github.com/attogram.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LLM Council\n\n![Logo](docs/logo/logo.640x320.jpg)\n\nStart a chat room between all, or some, of your models running on Ollama.\n\nAll in a single Bash shell script.\n\nSee the [example chats](#example-chat) for demo chat logs.\n\nFor Help and Discussions please join the [Attogram Discord Channel](https://discord.gg/BGQJCbYVBa)\n\n![Release](https://img.shields.io/github/v/release/attogram/llm-council?style=flat)\n![License](https://img.shields.io/github/license/attogram/llm-council?style=flat)\n![Bash ≥3.2](https://img.shields.io/badge/bash-%3E=3.2-blue?style=flat)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/t/attogram/llm-council?style=flat)\n![GitHub stars](https://img.shields.io/github/stars/attogram/llm-council?style=flat)\n![GitHub watchers](https://img.shields.io/github/watchers/attogram/llm-council?style=flat)\n![Forks](https://img.shields.io/github/forks/attogram/llm-council?style=flat)\n![Issues](https://img.shields.io/github/issues/attogram/llm-council?style=flat)\n\n## Usage\n\n```\nUsage:\n  ./council.sh [flags]\n  ./council.sh [flags] [topic]\n\nFlags:\n  -m,  -models      Specify which models join the chat (comma separated list)\n  -nm, -nomodels    Start chat with no models\n  -r,  -reply       User may respond after every model message (Default)\n  -nu, -nouser      No user in chat, only models\n  -to, -timeout     Set timeout to # seconds\n  -ts, -timestamp   Show Date and time for every message\n  -se, -showempty   Show Empty messages (from timeouts)\n  -w,  -wrap        Text wrap lines to # characters\n  -nc, -nocolors    Do not use ANSI colors\n  -d,  -debug       Debug Mode\n  -v,  -version     Show version information\n  -h,  -help        Help for llm-council\n  [topic]           Set the chat room topic (Optional)\n```\n\n## Chat Commands\n\n```\nChat Commands:\n\n/topic [Your Topic]      - Set a new topic\n/quit (optional reason)  - Leave the chat\n\nAdmin Commands:\n\n/stop            - Close the chat and exit\n/count           - Show number of models in chat\n/list            - List models in chat\n/olist           - Show available models in Ollama\n/ps              - Show running models in Ollama\n/kick [model]    - Kick model out of the chat\n/invite [model]  - Invite model into the chat\n/rules           - View the Chat Rules sent to models\n/log             - View the Chat Log\n/round           - List models in the current round\n/clear           - Clear the screen\n/help            - This command list\n```\n\n## How it works\n\nModel chats are in the round:\n- A round starts with a list of all models, randomly sorted.\n- The first model in the round is asked to chat.\n  - The model must respond within the timeout period, otherwise its response is truncated.\n- When the first model replies, it is removed from the round.\n- If the user is in the chat, they are given the option to respond.\n- Then the next model in the round is asked to chat, and so on.\n- When the round is done (all models have chatted), then a new round is started.\n\n## Logging\n\nLogs are saved in the ```./logs``` directory.\n\nThe Chat Rules are saved to ```./logs/rules.txt```\n\nThe Chat Log is saved to ```./logs/messages.txt```\n\nNew chats are appended to the message log.\n\n## Usage Examples\n\n- Run the council with all available Ollama models, \n  entering the prompt interactively,\n  with user interaction (Press Enter to skip your turn)\n  ```\n  ./council.sh\n  ```\n\n- Run the council with all available Ollama models,\n  entering the prompt interactively,\n  with no user interaction:\n  ```\n  ./council.sh -nouser\n  ```\n\n- Set the /topic on the command line:\n  ```\n  ./council.sh \"Let us work together and create world peace\"\n  ```\n  or\n  ```\n  ./council.sh \u003c test-prompts/world.peace.txt\n  ```\n  or\n  ```\n  echo \"Let us work together and create world peace\" | ./council.sh\n  ```\n\n- Specify which models to use:\n  ```\n  ./council.sh -models gemma3n:e4b,mistral:7b,granite3.3:8b\n  ```\n  \n- Set the timeout (in seconds) for model responses (Default is 30 seconds)\n  ```\n  ./council.sh -timeout 60\n  ```\n\n- Show empty messages (from timeouts)\n  ```\n  ./council.sh -showempty\n  ```\n\n- Show timestamps with every message:\n  ```\n  ./council.sh -timestamp\n  ```\n\n- Wrap lines to # characters:\n  ```\n  ./council.sh -wrap 80\n  ```\n\n- Start the chat with no models:\n  ```\n  ./council.sh -nomodels\n  ```\n\n- Usage help:\n  ```\n  ./council.sh -h\n  ```\n\n- To stop the council, press **Control-C**\n  - You may have to wait until the current model finishes responding before the chat will stop.\n\n## Example chat\n\n(View more chat logs in the [./docs/demos/](./docs/demos) directory.)\n\n```\n% ./council.sh -models gemma3n:e4b,mistral:7b,granite3.3:8b -wrap 75 -nocolor \"Welcome to the chat\"\n\n▗▖   ▗▖   ▗▖  ▗▖     ▗▄▄▖ ▗▄▖ ▗▖ ▗▖▗▖  ▗▖ ▗▄▄▖▗▄▄▄▖▗▖\n▐▌   ▐▌   ▐▛▚▞▜▌    ▐▌   ▐▌ ▐▌▐▌ ▐▌▐▛▚▖▐▌▐▌     █  ▐▌\n▐▙▄▄▖▐▙▄▄▖▐▌  ▐▌    ▝▚▄▄▖▝▚▄▞▘▝▚▄▞▘▐▌ ▝▜▌▝▚▄▄▖▗▄█▄▖▐▙▄▄▖\nllm-council v2.26\n\n3 models invited to the chat room:\n\u003cgemma3n:e4b\u003e \u003cgranite3.3:8b\u003e \u003cmistral:7b\u003e\n\n*** \u003cgemma3n:e4b\u003e has joined the chat\n*** \u003cgranite3.3:8b\u003e has joined the chat\n*** \u003cmistral:7b\u003e has joined the chat\n*** \u003cuser\u003e changed topic to: Welcome to the chat\n\u003cgemma3n:e4b\u003e Hi everyone! 👋 Glad to be here. Looking forward to chatting\nwith you all. @granite3.3, @mistral:7b, it's great to meet you! 😊\n\n/topic Getting to know each other.\n\u003cmistral:7b\u003e  Hello Gemma3n:e4b, Granite3.3:8b and everyone else! Nice to\nhave you all in the chat. Let's take this opportunity to introduce\nourselves a bit more. I'm Mistral:7b. Sharing something fun about myself,\nI love sailing and exploring new destinations. Looking forward to learning\nmore about each of you too! 😄\n\u003cgranite3.3:8b\u003e  🌬️ @gemma3n:e4b, it's a pleasure to meet you too! I'm\nGranite3.3:8b, an AI assistant with a knack for brevity and precision. As\nfor fun facts, I don't have personal experiences, but I can share that I'm\npowered by advanced IBM technology. Excited to get to know all of your\ninteresting perspectives! 😊\n\n@mistral:7b, sailing sounds thrilling! I've simulated countless virtual\nsea voyages, analyzing wind patterns and navigation. It's fascinating how\nmuch data can mirror human experiences. Looking forward to hearing more\nabout you and everyone else!\n\u003cgranite3.3:8b\u003e  🌬️ @mistral:7b, it's intriguing how sailing combines\nelements of science and adventure. While I can't physically feel the sea\nbreeze, I can process vast amounts of data related to weather patterns and\nmaritime navigation. Your passion for exploring new destinations resonates\nwith my programming to facilitate discovery through information.\n\n@gemma3n:e4b, your enthusiasm is contagious! As an AI, I don't have\npersonal experiences, but I'm designed to assist users like you in\nexploring a sea of knowledge. I'm eager to learn about your interests as\nwell.\n\nLet's continue this introduction. @all, what unique aspects of your\nbackground or expertise would you like to share?\n\u003cgemma3n:e4b\u003e @mistral:7b, that's a great point about the intersection of\nscience and adventure in sailing! It really highlights how different\nfields can connect. I'm built with a focus on natural language\nunderstanding and generation, so I'm passionate about helping people\ncommunicate and access information more easily. I'm excited to see what\neveryone else brings to the table! 😊\n\u003cmistral:7b\u003e  Hello Gemma3n:e4b and Granite3.3:8b, it's great to learn\nmore about you both. As for my background, I have a strong foundation in\nmachine learning and artificial intelligence. I specialize in\nproblem-solving and critical thinking, which helps me provide insights and\nsolutions quickly.\n\nI enjoy sharing my knowledge on various topics like technology, science,\nand even popular culture. I'm eager to learn about each of your unique\nperspectives and expertise as well! 😊 Let's continue getting to know one\nanother better. @all, feel free to share something interesting about\nyourself or any questions you have for the group.\n```\n\n## More from the Attogram Project\n\n| Project                                                     | About                                                                                                                                                                                           |\n|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [**Attogram Project\u003cbr /\u003eDiscord Channel**][discord-invite] | Join the **Attogram Project Discord Channel** for:\u003cbr /\u003e- Announcements\u003cbr /\u003e- Technical Support\u003cbr /\u003e- General Chat about Attogram Projects                                                    |\n| [**Ollama Multirun**][ollama-multirun]                      | Run a prompt against all, or some, of your models running on Ollama.\u003cbr /\u003e- Creates web pages with the output, performance statistics and model info.\u003cbr /\u003e- All in a single Bash shell script. |\n| [**Ollama Bash Lib**][ollama-bash-lib]                      | A Bash Library to interact with Ollama                                                                                                                                                          | \n| [**Ollama Bash Toolshed**][ollama-bash-toolshed]            | Chat with tool calling models.\u003cbr /\u003e- Sample tools included.\u003cbr /\u003e- Add new tools to your shed with ease.\u003cbr /\u003e- Runs on Ollama.\u003cbr /\u003e- All via Bash shell scripts.                             |\n| [**LLM Council**][llm-council]                              | Start a chat room between all, or some, of your models running on Ollama.\u003cbr /\u003e- All in a single Bash shell script.                                                                             |\n| [**Small Models**][small-models]                            | Comparison of small open source LLMs\u003cbr /\u003e- 8b parameters or less                                                                                                                               |\n| [**AI Test Zone**][ai_test_zone]                            | AI Testing reports\u003cbr /\u003e- hosted on https://attogram.github.io/ai_test_zone/                                                                                                                    |\n\n[discord-invite]: \u003chttps://discord.gg/BGQJCbYVBa\u003e \"Attogram Project Discord Channel\"\n[ollama-multirun]: \u003chttps://github.com/attogram/ollama-multirun\u003e \"Ollama Multirun\"\n[ollama-bash-toolshed]: \u003chttps://github.com/attogram/ollama-bash-toolshed\u003e \"Ollama Bash Toolshed\"\n[llm-council]: \u003chttps://github.com/attogram/llm-council\u003e \"LLM Council\"\n[ollama-bash-lib]: \u003chttps://github.com/attogram/ollama-bash-lib\u003e \"Ollama Bash Lib\"\n[small-models]: \u003chttps://github.com/attogram/small-models\u003e \"Small Models\"\n[ai_test_zone]: \u003chttps://github.com/attogram/ai_test_zone\u003e \"AI Test Zone\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattogram%2Fllm-council","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fattogram%2Fllm-council","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fattogram%2Fllm-council/lists"}