Early release, feedback welcome. We run Cassini daily on our own Nextcloud, but expect rough edges. Read the changelog before you update, and tell us what works and what breaks in GitHub issues.
Cassini is a recording backend for Nextcloud Talk that puts you in control of your meeting data. It installs as a Nextcloud app, shows up as a new app icon inside your Nextcloud suite, and takes over the Record button your people already have. Meetings are where decisions get made, and they are easily lost unless someone writes them down afterwards.
When you press Record
Cassini works with any Nextcloud Talk room, group calls and 1:1 calls. Just press Record and Cassini is listening.
- Cassini joins the call as an internal client of the signalling server, not as a participant, so nobody sees an extra person in the room.
- Each participant arrives as their own audio stream, carrying the name Talk sent with it.
- When recording stops, enabled transcription processes the audio locally with sherpa-onnx and NVIDIA Parakeet models. Install and enable a speech model in Publish pipeline to produce transcripts.
- The meeting is published into Nextcloud Files as an audio
.opusor transcription-only.jsonfile, with a summary if configured and a transcript is available.
What you get
- Transcripts and synced audio playback with speaker IDs.
- Configurable recording access: everyone with a Nextcloud account by default, or room-based permissions for private recordings when participant access is enabled. Public-room recordings remain visible to all signed-in accounts.
- One portable meeting file per meeting that can be opened without Cassini.
- Search and tags across meetings.
- In-app AI providers for per-meeting summaries and cross-meeting insights.
- A CLI and an agent skill, to build workflows with an external harness.
Limitations
- No live transcription or captions. Transcription starts after recording stops. The operator schedules processing around live recordings to protect capture.
- No published video playback. Camera capture is optional. Published meetings contain audio or transcription-only data; captured video stays on the server.
What leaves your server
Recording and transcription run on your own hardware. No audio and no transcript leaves the host for those steps.
If you configure a language model, transcript text goes to it in two cases: automatically, to summarise each meeting, and on request, when someone asks a question about meetings they have access to.
There is no telemetry.
Where next
-
Recording media and publication — keep no recording media, audio and video, or audio only; configure publication and transcription.
-
Install on Nextcloud — the requirements and the five install steps in full.
-
Who can see a recording — how each recording is shared with its Talk room, and how to change that.
-
AI providers, summaries and insights — what to configure, and what a model then sees.
-
The meeting file — what is inside the
.opus. -
Agent access via the CLI — reading meetings from outside Nextcloud.