An AI vs. AI conversation simulator built with Tkinter.
Engage two AI personas in turn-based conversations using various Large Language Models (LLMs).
- π£οΈ Dual AI Conversations: Pit two distinct AI personas against each other.
- π Multi-LLM Support: Integrates with Ollama, LM Studio, OpenRouter, and OpenAI APIs.
- π Persona Management: Easily create, edit, and manage AI personalities.
- π¨ Modern GUI: Built with Tkinter and styled with
ttkbootstrapfor a clean look. - πΎ Conversation Logging: Save and export chat transcripts.
- π€ Narrator Mode: Interject system messages or context into the conversation.
- π― Topic Control: Guide the conversation with specific topics.
- βοΈ Persistent Configuration: Saves your settings and API keys.
- π₯οΈ CLI Mode: Run conversations from the terminal with
cli_chat.py.
- Python 3.8+
- Tkinter & ttk (usually included with Python)
ttkbootstraprequestspython-dotenvrich(for the Persona Generator)
Click to expand installation steps
-
Clone the repository:
git clone https://github.com/rustyorb/auto_chat.git cd auto_chatOr download the source code ZIP.
-
Create and activate a virtual environment:
# Create virtual environment python -m venv venv # Activate virtual environment # On Windows: .\venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
Note: Using a virtual environment is highly recommended!
-
Install dependencies:
pip install -r requirements.txt
-
Set up
personas.json:# Copy the example personas file cp personas.json.example personas.json(Alternatively, rename
personas.json.exampletopersonas.jsonmanually) -
Set up
config.json:# Copy the example config file cp config.json.example config.json(Alternatively, rename
config.json.exampletoconfig.jsonmanually)β¨ The example files provide a great starting point. Edit them directly or use the app's interface!
- Ensure your virtual environment is activated (
source venv/bin/activateor.\venv\Scripts\activate). - Launch the application:
python auto_chat.py
- Setup Screen:
- π€ Select two personas.
- βοΈ Choose API providers and models for each.
- π’ Set the max number of conversation turns.
- π Enter a conversation topic.
- During Conversation:
- β―οΈ Pause/Resume
- π’ Add Narrator Messages
- βΉοΈ Stop Conversation
- π Save Log
A handy tool for crafting new AI personalities:
python persona_generator.py