News

News

OpenCohost: from a stable base to a new product line

OpenCohost is evolving without discarding what already works. The stable implementation still has a Python + CustomTkinter foundation, with Ollama and Whisper supporting local voice and assistant capabilities. In parallel, a native Tauri interface is being migrated and prototyped in OpenCohost_UI.

The distinction matters: CustomTkinter remains the stable reference and implementation, while Tauri is the future product line and migration path. This article summarizes verifiable progress; it does not present the migration as finished or announce a public repository that does not exist.

The starting point: an existing local foundation

The first stage is a Python desktop application built with CustomTkinter. Ollama and Whisper are part of the local experience: processing stays on the machine, while the UI provides the control surface for the assistant. This foundation is not discarded by introducing a new visual layer.

Stable OpenCohost interface built with Python and CustomTkinter

The stable reference implementation: a desktop UI that still anchors the migration.

Historical context that is now superseded

Issue #1493 (June 6) is historical context, not a description of the current state. At that point, the card described OpenCohost as Python/CustomTkinter and explicitly said it did not use Tauri. That wording was accurate for that cut, but it was superseded by the later prototype and migration work.

From mocks to real services

Issue #2959 (July 5) marks a deeper step in OpenCohost_UI: mocks were removed and 35 real FastAPI endpoints were in place. A bug that confused a profile name with its UUID was also fixed. The validation reported 354 frontend tests, 181 backend tests, and a clean build.

OpenCohost_UI screen with the connected service layer

The UI moves beyond simulated data and connects to services that represent the real flow.

Tauri as the Python backend host

Issue #2963 documents the next step: Tauri now launches and manages the Python backend. The flow includes a health gate, port fallback, and a Job Object to prevent orphaned processes. That cut recorded cargo 12/12, vitest 362 with 6 pre-existing tests, and a clean build.

OpenCohost Tauri migration welcome screen

Tauri’s welcome screen represents the new native shell; the Python backend remains part of the system.

OpenCohost_UI main interface prototype in Tauri

The prototype brings the native UI and local backend into one application flow.

Shared state and more efficient memory

Issue #2970 moved the work into everyday product behavior: persistent chat across tabs, app-level music playback, and lazy memory per row. The round left 382 vitest tests with 6 pre-existing tests, 110 backend memory tests, and a clean build.

OpenCohost_UI view during shared-state development

The application starts preserving context across tabs and loading memory only when each row needs it.

OpenCohost_UI conversation flow with persistent chat

Persistent cross-tab chat is part of the product behavior under migration.

Streaming integrations and audio controls

Issue #2977 added an OBS bridge/client with retry, a 4.5-second agenda driver with enqueue, profile and memory seeding, and volume controls with ducking. Validation recorded 283 backend tests and 408 frontend tests with 6 pre-existing tests. User runtime validation remains explicitly outstanding: test counts and a clean build do not replace a check in the real environment.

OpenCohost_UI OBS and audio integration flow

OBS integration, bridge retries, and audio controls expand the migration’s product surface.

Application state during service and scheduling integration

A later work-in-progress capture of services, scheduling, and application state.

What this means today

OpenCohost is not a closed migration. The honest reading is more useful:

  • CustomTkinter continues as the stable reference and implementation.
  • Tauri + OpenCohost_UI is the future product line and remains in migration.
  • Recent issues show real services, integrations, and tests, but final runtime validation still depends on the user.
  • The public OpenCohost site is opencohost.com; this update should not be read as evidence of a public repository.

I had been working on this project and I used all of my savings to develop because i think is worth it LOL.

Development-process usage and cost panel preserved as work evidence

Usage and cost panel on a sesion of development using claude code preserved as captured; its figures belong to the image itself.