plugins: merge the user Plugins page into per-plugin sidebar pages
Nightly Build / build (push) Successful in 7m1s
Nightly Build / build (push) Successful in 7m1s
The generic per-user #plugins page is gone: a plugin with per-user settings hosts them in its own web_pages() sidebar page instead (Telegram's pairing page is new; Honcho's opt-in page already existed). The admin catalog moves from #plugin-catalog to #plugins (old hash redirected), and user_config_schema is removed from the Plugin trait, the API DTOs and both plugins — the my-config endpoint, the plugin_user_configs store and the update_user_config hook stay, now driven by each plugin's own page fragment.
This commit is contained in:
@@ -17,7 +17,7 @@ The plugin polls the ComfyUI server every 5 seconds. If it's offline, every mode
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **ComfyUI** → enable, then **Configure**.
|
||||
1. Plugins page → **ComfyUI** → enable, then **Configure**.
|
||||
2. Fields:
|
||||
- **`base_url`** (default `http://localhost:8188`) — where ComfyUI's API is listening.
|
||||
- **`workflows_dir`** (default `data/comfyui/workflows`) — folder to watch for `.json` workflow files. Created automatically if missing.
|
||||
|
||||
@@ -16,7 +16,7 @@ Enabling the plugin does not by itself add any voice or transcription model —
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **ElevenLabs** → enable. (This plugin has no config form of its own.)
|
||||
1. Plugins page → **ElevenLabs** → enable. (This plugin has no config form of its own.)
|
||||
2. Go to the Models hub → **LLM Providers**, add a new provider, choose type **ElevenLabs**, paste the API key (stored as a secret field, not shown again after saving).
|
||||
3. Go to the Models hub → **Transcription** and/or **TTS**, add a model, pick the ElevenLabs provider just created, and choose a voice/model from the list — fetched live from ElevenLabs, so it always reflects what's actually available on that account.
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Streams a user's completed chat turns to an external [Honcho](https://honcho.dev
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **Honcho Memory** → enable, then **Configure** (or its own admin page, once enabled: sidebar → Honcho).
|
||||
1. Plugins page → **Honcho Memory** → enable, then **Configure** (or its own admin page, once enabled: sidebar → Honcho).
|
||||
2. Fields:
|
||||
- **`base_url`** (default `http://localhost:8000`) — the Honcho server's URL.
|
||||
- **`api_key`** — optional, only if the server requires auth.
|
||||
|
||||
@@ -15,7 +15,7 @@ Lightweight, fast local text-to-speech using the Kokoro ONNX model. Runs on CPU
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **Kokoro TTS** → enable, then **Configure**.
|
||||
1. Plugins page → **Kokoro TTS** → enable, then **Configure**.
|
||||
2. Fields:
|
||||
- **`voice`** (default `if_sara`) — voice id. Prefix meaning: `a`=American, `b`=British, `i`=Italian, `j`=Japanese, `z`=Chinese; `f`=female, `m`=male. Includes `if_sara`, `im_nicola` (Italian), plus several English voices (`af_*`, `am_*`, `bf_*`, `bm_*`).
|
||||
- **`lang`** (default `it`) — language code for phonemisation: `it`, `en-us`, `en-gb`, `ja`, `zh`, `es`, `fr`, `hi`, `pt-br`, `ko`.
|
||||
|
||||
@@ -19,7 +19,7 @@ The model is gated on HuggingFace, so it requires a personal access token before
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Get a HuggingFace token and store it as the secret `HUGGINGFACE_TOKEN` (see above).
|
||||
2. Plugin catalog → **Orpheus TTS 3B** → enable, then **Configure**.
|
||||
2. Plugins page → **Orpheus TTS 3B** → enable, then **Configure**.
|
||||
3. Fields:
|
||||
- **`quantization`** (`none` | `int8` | `int4`, default `int8`) — lower precision uses less VRAM at some quality cost.
|
||||
- **`voice`** (`tara` | `dan` | `leah` | `zac` | `zoe` | `mia` | `julia` | `leo`, default `tara`).
|
||||
|
||||
@@ -19,7 +19,7 @@ Depends on which provider is chosen:
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **Remote Connectivity** → enable, then **Configure**.
|
||||
1. Plugins page → **Remote Connectivity** → enable, then **Configure**.
|
||||
2. Fields:
|
||||
- **`provider`** (`tailscale_sys` | `tailscale`, default `tailscale_sys`) — see requirements above.
|
||||
- **`auth_key`** — only for the embedded `tailscale` provider; a Tailscale auth key (`tskey-auth-…`), needed on first join.
|
||||
|
||||
@@ -16,7 +16,7 @@ One bot serves everyone on the instance; each person pairs their **own** Telegra
|
||||
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Plugin catalog → **Telegram Bot** → enable, then **Configure**.
|
||||
1. Plugins page → **Telegram Bot** → enable, then **Configure**.
|
||||
2. Field:
|
||||
- **`token`** (required) — the bot token from BotFather. Stored as a secret field, not shown again after saving.
|
||||
|
||||
@@ -26,7 +26,7 @@ Once the bot is enabled and a user has been granted access to the plugin:
|
||||
|
||||
1. The user opens Telegram, finds the bot (by the username chosen in BotFather), and sends it any message.
|
||||
2. The bot replies with a short pairing code.
|
||||
3. The user goes to their own Plugins page in the web app, finds Telegram, and pastes the code into the **pairing code** field.
|
||||
3. The user opens the **Telegram** page in the web app's sidebar and pastes the code into the **pairing code** field.
|
||||
|
||||
That's the whole flow — no admin involvement needed for a normal pairing. (An admin *can* alternatively bind a chat to a user directly using the `telegram_pairing` tool from the assistant, e.g. if a user can't access the web app.)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ The model (roughly 1–3 GB depending on size) is loaded into memory only when f
|
||||
## Enabling & configuring (admin)
|
||||
|
||||
1. Download a model file first (see above) and note its path.
|
||||
2. Plugin catalog → **Whisper Local** → enable, then **Configure**.
|
||||
2. Plugins page → **Whisper Local** → enable, then **Configure**.
|
||||
3. Fields:
|
||||
- **`model`** (required) — path to the `.bin` file, e.g. `models/ggml-large-v3.bin`.
|
||||
- **`language`** — a BCP-47 code (`it`, `en`, …) or `auto` for automatic detection (default `auto`).
|
||||
|
||||
Reference in New Issue
Block a user