Skip to content

About

Self-hosted AI transcription interface for Plaud Note devices

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,569 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Klepna / Chatterbox

Chatterbox based on Riffado.

Open-source AI companion for voice recorders, meetings and mail.

Bring your own AI provider, own your transcripts, and host your own data.

License: AGPL-3.0 Sponsor

Quick start • Documentation • Sponsor upstream


Klepna is the Czech name; Chatterbox is the English name. This project is based on Riffado, which was previously called OpenPlaud. Read the original rebrand note →

Chatterbox is an open-source companion app for AI voice recorders and the conversations around them. It syncs your recordings from the manufacturer's cloud, records meetings held in the browser, takes the mail you forward to it, transcribes and summarizes everything with the AI provider you choose (or in the browser, for free), and stores it on infrastructure you control. A team shares what it wants to share, and an Almanac of the people and things it talks about grows from every review. Currently supports the Plaud Note family (Note, Note Pro and NotePin). More device support on the way. AGPL-3.0.

Features

  • Self-hosted. Your recordings, your storage, your API keys.
  • Works with any OpenAI-compatible provider — OpenAI, Groq, OpenRouter, Together, LM Studio, Ollama, Azure, anything with a baseURL.
  • Free browser transcription via Transformers.js (Whisper in WebAssembly).
  • Local filesystem or S3-compatible storage (AWS S3, Cloudflare R2, MinIO, Backblaze B2, DigitalOcean Spaces, Wasabi).
  • Server-side AES-256-GCM encryption at rest for tokens, API keys, transcripts, and summaries.
  • Auto-sync on a schedule, with browser and email notifications.
  • Full export and backup — JSON, TXT, SRT, VTT, plus one-archive backup/restore.
  • Automation API with signed webhooks for integrations.
  • Zero-config Docker Compose deploy.

Extended features

This repository builds on Riffado with features for people who work with their recordings every day, alone or as a team. The user guide walks through all of them with screenshots.

A recording with named speakers, topics and Learn's proposals

More ways in

  • Meeting Recorder for Chrome. A browser extension (Chrome, Edge, Brave, Vivaldi) records Google Meet, Teams, Zoom and other web meetings: your microphone plus the meeting tab. It offers to record when a meeting starts, uploads as it records so a dropped connection loses seconds, and files the recording into the folder you pick, which you can change mid-meeting. Published in the Chrome Web Store and set up from Settings → Meeting Recorder in three steps.
  • Mail. Every user gets an address, and every folder one that files straight into it. Forward a mail or put the address in Cc: it is summarized, searched, mined for tasks and facts like a recording, and can be shared. Senders are verified by their DKIM signature; secret addresses accept automatic forwarding from Gmail filters.
  • Video uploads. Upload a meeting video; Chatterbox keeps the audio. For browser meetings on Linux, the meetrec command-line recorder captures both sides into one file.

Processing you control

  • File first, then process. A new recording or mail waits until you put it in a folder, so no paid AI step runs on something you did not mean to process. The folder chooses how it is processed.
  • Processing profiles. A recipe per kind of item: provider and model for each step, language, summary instructions, multi-pass, and which steps run by themselves. Folders choose their default; the Organization can supply defaults for everyone.
  • One workflow strip under each item shows every step, whose turn it is, and the one action expected from you.

Transcripts you can work with

  • Named speakers. Put a name to each voice once and it shows in the transcript, the summary and every export. Names carry over when a recording is transcribed again, and the play button on a speaker chip plays that speaker's next turn.
  • Speaker suggestions from Calendar and Meet. With Google Calendar connected, the meeting's invitees and Meet attendees become speaker suggestions, matched to Almanac people by e-mail, each with its source and reason. Nothing is named until you confirm it, and no voice data is used.
  • Topics. Long recordings split into titled chapters, with a chapter bar to jump between them. Lectures and monologues read in paragraphs.
  • Play from the transcript. Click a sentence to hear it. The transcript follows the player, and scrolling the transcript moves the player.
  • Confirmed language. Confirm a recording's language once; summaries, titles, topics and Learn follow it.
  • More transcription services. ElevenLabs Scribe and Speechmatics join the OpenAI-compatible providers, with speaker labels, and are told the names of your people, projects and meeting attendees so they spell them right.

Summaries and tasks

  • Meeting minutes by default, in Markdown, from instructions you can edit in each profile.
  • Multi-pass summaries that run the prompt several times and merge the results, with live progress and a badge saying how many passes made it.
  • Tasks across recordings and mail. A summary proposes who agreed to do what and by when. A task collects every later mention in its folders, with the quote and the audio behind it, and a new mention can update its deadline, close it or hand it over once you review it.
  • The Tasks page. Tasks assigned to you under Mine, the ones you follow under Followed, private tasks of your own, one note per task, and merging duplicates.

Knowledge that grows

  • The Almanac. The people and things your recordings and mail mention (clients, projects, products, terms, places) with nicknames and facts. Import a list to start. Each folder shows the knowledge it feeds to transcription and Learn.
  • Learn. Reads a transcript or a mail against the Almanac and proposes speaker names, corrections of misheard names, new people and things, and facts, in the reviewer's language. Nothing changes until you review it. Corrections sit beside the original text and can always be undone; summaries, search and exports read the corrected text. Optionally automatic, with a second pass that fixes other misheard words.
  • Curator tools. A Care queue finds possible duplicates, conflicting facts, corrections pointing two ways and thin records in the Organization Almanac, and lists what each share added, so a curator can review it or undo it.

For teams

  • The Organization. A shared folder tree next to each user's private one. File an item there and it is shared once its transcript and speakers are ready; what the owner confirmed in a finished Learn review becomes shared knowledge. The owner and the curators keep editing the one shared version.
  • Sharing with people. Share a private recording, mail or folder with individual colleagues, who accept it and file it in their own tree, without publishing it to the Organization.
  • Organization AI providers and profiles. Shared keys every member can use without setup, with usage and estimated cost per member and an hourly limit per member.
  • Single sign-on with any OpenID Connect provider, registration that can stay closed, and optionally access from Keycloak groups: who may use the app, who curates the Organization and who manages access, switched from Settings → Access.
  • Ask Claude about your recordings and mail. An MCP server lets Claude (claude.ai, Desktop, Cowork), Claude Code and your own services search transcripts, summaries, mail, the Almanac and tasks, and manage tasks. People sign in through your Keycloak, and their roles there decide what each one can reach.

Your data, your way

  • Folders, nested, with drag and drop, a folder rail, recently used folders and accent-insensitive search. An item can live in several.
  • Folder exports to a disk or to Google Drive that stay in step: files move and rename with their recordings, and nothing Chatterbox did not write is touched.
  • Scheduled backups, kept apart for each user and for the Organization.
  • Automatic deletion of old audio, transcripts, summaries, recorder originals and mail, each on its own schedule, and erasing any one part of an item by hand.

Knowing what AI costs

  • Estimated AI spend on every recording, by step and by model, from published prices or the price you enter for each provider.
  • One provider per job: choose who transcribes, summarizes, detects topics and runs Learn. Duplicate a provider to use a second model on the same key.
  • Claude Code and Codex as providers, so a Claude or ChatGPT subscription can pay for summaries and Learn instead of an API key.

Help where you are: a Help button on every screen opens the user guide in a side panel at the chapter about that screen, and a small ? beside a feature opens it right there.

In your language: English and Czech.

Setting these up on a self-hosted instance: For administrators.

Quick start

You need Docker. A Plaud account at plaud.ai and an OpenAI-compatible API key are optional: you can upload files or record meetings instead, and transcribe in the browser.

Every release attaches docker-compose.yml and env.example.

mkdir chatterbox && cd chatterbox
curl -fLO https://github.com/FgForrest/chatterbox/releases/latest/download/docker-compose.yml
curl -fL  https://github.com/FgForrest/chatterbox/releases/latest/download/env.example -o .env

# Generate secrets, paste into .env
echo "POSTGRES_PASSWORD=$(openssl rand -hex 24)"
echo "BETTER_AUTH_SECRET=$(openssl rand -hex 32)"
echo "ENCRYPTION_KEY=$(openssl rand -hex 32)"

docker compose up -d

Releases are numbered YYYY.N (2026.1, 2026.2, ...); the latest image tag is the newest release.

Open http://localhost:3000/register and create your account. The onboarding wizard connects your Plaud account and AI providers, and, where the instance offers them, Google Calendar, the Meeting Recorder, mail and Claude.

Upgrade: docker compose pull && docker compose up -d. Migrations run on container start.

Full install guide, version pinning, image tags, and Windows/WSL notes: Self-hosting: Install.

dev is the integration branch and may be broken at any commit; every merge into main is a release (YYYY.N). Deploy releases (:latest or a version tag), not dev. See BRANCHING.md.

Connecting Plaud

Chatterbox signs into Plaud using your email — the same OTP flow as the official app. The verification code is forwarded directly to Plaud and never stored. Your access token is encrypted with AES-256-GCM before hitting the database. Region (Global, EU, APAC) is auto-detected.

If you signed up to Plaud with Continue with Google or Continue with Apple, the email-code flow won't return any recordings — that's a different identity on Plaud's side. Use the connector browser extension, or paste a token manually. Full instructions: Connect your Plaud account.

Every line that handles your credentials is open source — send-code route · verify route · encryption.

Documentation

The user guide in this repository covers every screen, including the extended features. Pages specific to this repository:

Every instance also serves these pages at /docs. Direct links in this repository:

Sponsors

Chatterbox is AGPL-3.0. The upstream Riffado project accepts sponsorship to support development, device testing, CI, and registry costs.

Sponsor Riffado on GitHub →

Contributing

Bug reports, feature requests, and PRs welcome. See CONTRIBUTING.md for local setup and the PR workflow, BRANCHING.md for the release model, and the GitHub Releases for version history (CHANGELOG.md covers the versions before calendar versioning).

Security

Found a vulnerability? See SECURITY.md for disclosure.

License

AGPL-3.0 — see LICENSE. Free to use, modify, and self-host. If you run a modified version as a network service, you must publish your source.

Disclaimer

  • Not affiliated. Chatterbox is an independent open-source project. It is not affiliated with, endorsed by, or sponsored by Plaud Inc. or any of its subsidiaries. "Plaud" and related marks are the property of their respective owners and are used here only for descriptive interoperability purposes (nominative fair use).
  • Third-party devices and services. Chatterbox is designed to interoperate with hardware and services from third parties that users choose to connect — including recording devices (such as Plaud) and storage and AI providers. Users are solely responsible for complying with the applicable terms of service, acceptable-use policies, and laws governing any third-party device or service they connect to this software.

Acknowledgments

Based on Riffado, originally created by Perier. The original project is maintained by the Riffado community.

About

Self-hosted AI transcription interface for Plaud Note devices

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages