From 3d2e4afd4ea0b9a663534deab8ae39294bcc2aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Mon, 24 Aug 2026 04:00:03 +0000 Subject: [PATCH] declare the whisper server as a setting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This plugin ships no web/, so there was nowhere to set its server URL — the only way in was an HTTP call somebody had to already know about. That is not a setting, it is a secret handshake, and it is the state this shipped in. Declared rather than rendered: the platform draws the form on the plugin detail page and PUTs to this plugin's own /config. It stores nothing, so the URL stays where this plugin already kept it and the validation against the server still happens here. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- manifest.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/manifest.ts b/manifest.ts index 3829b80..aa82704 100644 --- a/manifest.ts +++ b/manifest.ts @@ -25,7 +25,7 @@ import type { PluginManifest } from '@@/plugins/manifest'; * * Nothing shells out. The sidecar reaches whisper.cpp with `fetch`, the same as the code it replaces did. * - * ── No `web/` ── + * ── No `web/`, and no settings screen of its own ── * * This plugin ships no dashboard route and no dock tile — `plugin.web` gates the tile, and a * backend-only plugin has nothing to pin one to. It is reached from a task's right-click menu and by an @@ -41,6 +41,25 @@ export const manifest: PluginManifest = { icon: 'AudioLines', color: '#f97316', + /** + * The whisper.cpp server this talks to. Declared rather than rendered: this plugin ships no `web/`, so + * without a declaration there is nowhere to set it and the only way in is an HTTP call somebody has to + * know about — which is the state it shipped in. + * + * The platform renders the form and PUTs to this plugin's own `/config`. It stores nothing: the URL + * lives where this plugin keeps it, and validation against the server still happens here. + */ + settings: [ + { + key: 'url', + label: 'Whisper server', + hint: 'The whisper.cpp server to transcribe through. Checked before it is saved.', + type: 'url', + required: true, + placeholder: 'http://127.0.0.1:8178', + }, + ], + permissions: [ { key: 'transcribe',