I've been working on cluster-chat. You can find it here.
A Need for Hands-free
Now that I have a team of capable agents living on my cluster, I needed a better way to interact with them. They were only being used by various services on the cluster, like Openclaw or Claude code (or my custom agent), and interacting with them was always through cli or some text only chat front end that felt like it had been slapped on. The apps I could find either expected all models and services from a single host, didn't support voice calling, weren't a web app, or usually all three. I wanted something like the modern chat apps but open and customizable, and now I have it:
Someone I can talk to
When I set out, these were my goals:
-
A main chat page (index) where one can:
- select agent
- start new chat
- resume or delete old chats (stored on db, visible in collapsible left menu)
And in the chat window:
- send text
- upload files/photos
- record and send a voice memo
- have a full blown voice chat/call (where you don't have to touch the screen, it listens and sends when you're done speaking, using webrtc)
-
A models/hosts page, where one should be able to add, edit, and delete models and host info. Each model should have at least:
- host (https://ollama.cluster.home:11434/)
- (model) name (on host, ie: qwen2.5:7B)
- display name (Qwen 2.5 7B)
- type (chat|tts|whisper|vl/vision learning)
-
An agent page, where one can add, edit, and delete an agent. Each agent should have:
- display name
- chat model
- tts model/host (optional)
- whisper model/host (optional)
- vl model (optional)
- setup prompt (optional)
I wanted to use PHP and html5 and sqlite for the database. With all this, I could test out different combinations of models and load different chat companions and have them all in one place.
And cluster-chat was born.

To-dos
Now I need to open up my agent endpoints to use instead of calling the models directly, and I'll have an actually useful agent I can talk to.
I also need to replace the default us Amy voice. I want to create my own voice, but that's a rabbit hole I'm not going down. Yet.
[j@justinjanson.com ~]$