Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
14f2a58
App UI cleanup and addition of debugging tools
debv Dec 10, 2025
98c0f23
feat: Integrate upstream command handlers with widget-based UI
debv Dec 10, 2025
265e8db
feat: Update config.py with upstream system prompts
debv Dec 10, 2025
92db4ed
fix: Add DEVELOPER_TOOLS and get_model_tier_by_id() to upstream confi…
debv Dec 10, 2025
74a5087
docs: Populate BackroomsBench leaderboard with 14 models and 5 sessions
debv Dec 10, 2025
66b9dab
fix: Add missing config exports for compatibility
debv Dec 10, 2025
037f107
test: Add import verification tools and checklist
debv Dec 10, 2025
f9afcae
fix: Convert AI_MODELS to hierarchical structure for GroupedModelComb…
debv Dec 10, 2025
dec8105
deps: Add duckduckgo-search dependency for web search feature
debv Dec 10, 2025
44227d3
docs: Add comprehensive integration verification report
debv Dec 10, 2025
a228fb3
fix: Add all 31 free models and integrate model validator
debv Dec 10, 2025
50b7721
fix: Replace Unicode characters with ASCII-safe alternatives for Wind…
debv Dec 10, 2025
642983b
fix: Display model ID alongside display name in dropdown (e.g., 'Deep…
debv Dec 10, 2025
dfd096f
chore: Add backroomsbench_reports to .gitignore (generated outputs)
debv Dec 10, 2025
8844166
chore: Add .claude/ and settings/splitter_state.json to .gitignore
debv Dec 10, 2025
aad6bcf
chore: Remove settings/splitter_state.json from git tracking (user-sp…
debv Dec 10, 2025
0a583b5
fix: Suppress [SCROLL] and [CHAT-SCROLL] logging when DEVELOPER_TOOLS…
debv Dec 10, 2025
def4635
chore: Ignore root-level HTML and temp diff files
debv Dec 10, 2025
f530f1c
chore: Remove auto-generated verification docs
debv Dec 10, 2025
73bcdec
fix: Restore backroomsbench leaderboard files (manually maintained by…
debv Dec 10, 2025
a7843c9
chore: Regenerate poetry.lock
debv Dec 10, 2025
f2fad74
fix: Disable package-mode in pyproject.toml (script-based project)
debv Dec 10, 2025
abc3988
fix: Sort AI model providers alphabetically in dropdown
debv Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,26 @@ memory/ai-2/*
logs/*
!logs/.gitkeep
videos/*
shitpostbench_evaluation.md
shitpostbench.py
reduce_html_size.py
models_cache.json
.claude/
settings/splitter_state.json

# Benchmark reports (local only)
shitpostbench_reports/
# BackroomsBench evaluation reports (generated outputs, except leaderboard)
backroomsbench_reports/*
!backroomsbench_reports/.gitkeep
!backroomsbench_reports/LEADERBOARD.md
!backroomsbench_reports/leaderboard.json

# Output conversation files (timestamped)
outputs/conversation_*.html
outputs/conversation_full.html

# Keep the outputs folder structure
!outputs/.gitkeep

# Root-level generated HTML files (but allow docs/*.html for GitHub Pages)
/*.html

# Temporary diff files
diff_*.txt
DIFF_*.md
45 changes: 40 additions & 5 deletions README.txt → README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ While great for AI shitposting, this is easy to customize for interesting experi
## Features

- Multi-model AI conversations with support for:

- Claude (Anthropic) - all versions
- GPT (OpenAI)
- Grok (xAI)
Expand All @@ -39,6 +40,7 @@ While great for AI shitposting, this is easy to customize for interesting experi
- Anything on OpenRouter - if it's not listed, add it in config

- AI Agent Commands:

- `!add_ai "Model Name" "persona"` - invite another AI to the conversation (max 5)
- `!image "description"` - generate an image (Gemini 3 Pro)
- `!video "description"` - generate a video (Sora 2) [currently disabled in scenarios]
Expand Down Expand Up @@ -74,37 +76,49 @@ OPENAI_API_KEY=your_openai_api_key # Optional - only needed for Sora
```

Get your keys:

- OpenRouter: https://openrouter.ai/
- OpenAI (for Sora): https://platform.openai.com/

## Installation

1. Clone the repository:

```bash
git clone [repository-url]
cd liminal_backrooms
```

2. Install Poetry if you haven't already:

```bash
curl -sSL https://install.python-poetry.org | python3 -
```

3. Install dependencies using Poetry:

```bash
poetry install
```

4. Create your `.env` file with API keys (see above)
4. Set up pre-commit hooks (for contributors):

```bash
poetry run pre-commit install
```

5. Create your `.env` file with API keys (see above)

## Usage

1. Start the application:

```bash
poetry run python main.py
```

2. GUI Controls:

- Mode Selection: Choose between AI-AI conversation or Human-AI interaction
- Iterations: Set number of conversation turns (1-100)
- AI Model Selection: Choose models for each AI slot
Expand All @@ -119,13 +133,24 @@ poetry run python main.py
## Configuration

Application settings in `config.py`:

- Runtime settings (turn delay, etc.)
- Available AI models in `AI_MODELS` dictionary
- Scenario prompts in `SYSTEM_PROMPT_PAIRS` dictionary

### Developer Tools

For debugging the GUI, set `DEVELOPER_TOOLS = True` in `config.py`. This enables:

- **F12**: Toggle debug inspector panel
- **Ctrl+Shift+C**: Pick and inspect any UI element

Keep this `False` for normal usage.

### Adding New Models

Add entries to `AI_MODELS` in config.py:

```python
"Model Display Name": "openrouter/model-id",
```
Expand All @@ -143,6 +168,7 @@ To enable video generation:
3. Videos save to `videos/` folder

Environment variables (optional):

```env
SORA_SECONDS=12 # clip duration (4, 8, 10, 12)
SORA_SIZE=1280x720 # resolution
Expand All @@ -153,11 +179,13 @@ SORA_SIZE=1280x720 # resolution
## Troubleshooting

1. API Issues:

- Check API key validity in `.env`
- Verify you have credits on OpenRouter
- Check console for error messages

2. GUI Issues:

- Ensure PyQt6 is installed (handled by Poetry install)
- Check Python version compatibility

Expand All @@ -168,10 +196,17 @@ SORA_SIZE=1280x720 # resolution
## Contributing

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request
2. Clone and install dependencies:
```bash
poetry install
poetry run pre-commit install
```
3. Create a feature branch
4. Make your changes
5. Commit (pre-commit hooks will run automatically)
6. Push and create a Pull Request

**Note**: The pre-commit hook will block commits if `DEVELOPER_TOOLS = True` in config.py. Make sure to set it back to `False` before committing.

## License

Expand Down
Binary file added assets/app-icon.ico
Binary file not shown.
Loading