A multi-AI terminal chatroom powered by local models via Ollama.
Project description
NodeRoom
NodeRoom is a terminal-based multi-AI chatroom built for Ollama. Create custom AI nodes, chat with them one-on-one or together in different flow modes, and even enable voice replies with pyttsx3!
🚀 Features
- Create custom AI nodes with unique prompts and models.
- Multi-node conversations in two styles:
- Classic Duel: each AI replies to the user one after another.
- Talking Freely: one AI replies, then the next AI responds to the first.
- Add or remove active nodes in your current chat session at any time.
- Streamed responses for real-time AI replies.
- Color-coded AI messages for clarity and fun.
- Voice support via
pyttsx3(--voiceflag). - Node voting logic (placeholder): simulate nodes deciding who should respond.
- Persistent node storage in
nodes.json. - Simple command interface with helpful
/help.
🛠 Requirements
- Python 3.7+
- Ollama running locally on
http://localhost:11434 - Optional:
pyttsx3for voice output (pip install pyttsx3)
🧠 Usage
python noderoom.py [--voice]
Then use in-terminal commands to interact:
🔧 Commands
| Command | Description |
|---|---|
/create |
Create a new AI node |
/list |
List all saved nodes |
/active |
Show currently active nodes |
/add <name> |
Add a saved node to the current chat session |
/remove <name> |
Remove a node from the current chat session |
/ask <name> <question> |
Ask a specific node a question |
/flow <1 or 3> |
Set conversation mode: 1 = Classic Duel, 3 = Talking Freely |
/delete <name> |
Delete a node permanently |
/help |
Show the tutorial/help screen |
/quit |
Exit the chatroom |
💡 Example Flow
> /create
Enter node name (unique): Byte
Enter prompt for this node: You're a helpful assistant who always answers concisely.
Enter model for this node (default 'phi'):
> /add Byte
Node 'Byte' added to active chat session.
> Hello, Byte!
[Byte] (model: phi) says:
Hi there! How can I help?
🗣 Voice Mode
Run with --voice to enable text-to-speech output (requires pyttsx3):
python noderoom.py --voice
💾 Node Storage
Nodes are saved in nodes.json in the same directory. You can back this up or edit it manually if needed.
🧪 Flow Modes
0️⃣ Default
Similar to Classic Duel, but nodes are unaware of eachother. Good for comparisons.
1️⃣ Classic Duel
Every active AI node replies to the user's message in order.
2️⃣ Coming Soon...
3️⃣ Talking Freely
- User says something
- Node A responds
- Node B responds to Node A
- (Back to user)
Great for 2-node debates or collaborative AI creativity!
📦 License
MIT License — do what you want, just don’t blame me if your AI becomes self-aware.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file noderoom-0.1.0.tar.gz.
File metadata
- Download URL: noderoom-0.1.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5ec223c86581e9d5927be8ad58f171c84413f929506ad401eaff7e177db9635
|
|
| MD5 |
59ee379e113d0611fd7c12897484d172
|
|
| BLAKE2b-256 |
153720715d2124a1955af945eff27705aae06fc306c55b683ad50c161f55dfae
|
File details
Details for the file noderoom-0.1.0-py3-none-any.whl.
File metadata
- Download URL: noderoom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bde813978c637a0f658566300026de4b2d19d5ea4c20f0c5b9b2f3e1891d43bd
|
|
| MD5 |
743caf0c2e46becd245d8c98cce1eeff
|
|
| BLAKE2b-256 |
6c754b39fe55747e905c45bb14f02d8a568260a00b5f55060b0e408133f2feb8
|