marketplace: transcribe in the catalogue

Without an entry the plugin is invisible to every server but the one it was
built on — the catalogue is what a remote host reads, and the bundled constant
is only the fallback when marketplace.officer.dev cannot be reached.

Declares no osDependencies, matching the plugin's own manifest: it reaches
whisper.cpp with fetch and shells out to nothing. An entry claiming ffmpeg would
make an install demand a binary the code never calls.

Synced. 19 in the catalogue, and the repository answers an anonymous https clone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043
This commit is contained in:
2026-08-24 03:39:54 +00:00
co-authored by Claude Opus 5
parent e35ff5c7ad
commit a10757ba7c
+21
View File
@@ -311,6 +311,27 @@ const BUNDLED: CatalogueEntry[] = [
// No schema. The session is processes and a wine prefix on disk, and none of that belongs in Postgres.
has: { api: true, schema: false, sidecar: true, web: true },
},
{
appName: 'transcribe',
publisher: 'officerdev',
version: '1.0.0',
platform: '>=1.0.0',
label: 'Transcribe',
summary: 'Speech-to-text over your own whisper.cpp server',
color: '#f97316',
icon: 'AudioLines',
source: 'https://gitea.officer.dev/plugins/transcribe.git',
permissions: [
{
key: 'transcribe',
label: 'Transcribe',
description: 'Turn audio into text over your own whisper.cpp server',
},
],
// No web/. A backend-only plugin has no screen to pin, which `plugin.web` already gates — this one is
// reached through the file browser and by whatever else asks the platform to turn audio into text.
has: { api: true, schema: false, sidecar: true, web: false },
},
{
appName: 'jellyfin',
publisher: 'officerdev',