svrnty-hermes-webui-plugin/.env.example
Svrnty adc4c98cf8
All checks were successful
plugin-tests / test (push) Successful in 5s
docs: ship 6 polish fixes — manifest sync + LICENSE + CHANGELOG + .env.example + README + integration test
Closes the documentation gap surfaced by the compliance audit. Plugin now
passes the "well organized + well documented" bar in addition to the
"protocol §10 compliant" bar.

Changes:
  manifest.yaml    bump plugin_version 0.1.0 → 0.2.0 · routes status: live ·
                   audio_processors section added · public_api adds
                   register_audio_attachment_processor · tested_versions
                   appended (v0.51.117, v0.51.118) · current_local synced
  README.md        Status table flipped from "TBD" to "live" everywhere ·
                   forced internal deps + test count surfaced
  .env.example     declares the 4 env vars the plugin reads at runtime
                   (HERMES_WEBUI_PYTHON_PLUGIN · HERMES_WEBUI_STT_URL/_KEY ·
                   BTE_BASE_URL · BTE_TENANT_ID)
  CHANGELOG.md     v0.1.0 (scaffold + vault + brand) · v0.2.0 (STT + mic +
                   loader API extension)
  LICENSE          proprietary, contact jp@svrnty.io; clarifies that runtime
                   integration with hermes-webui (MIT) is permitted
  tests/integration/test_loader_contract.py
                   3 real assertions against the adjacent fork — 7-method
                   contract, register-our-plugin end-to-end, noop-when-env-unset

29/29 tests PASS (was 26; +3 integration).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 11:02:28 -04:00

29 lines
1.3 KiB
Plaintext

# svrnty-hermes-webui-plugin — env contract.
# Copy to .env (gitignored) and edit. NO SECRETS in this file.
#
# Required (set in the hermes-webui process env, NOT in this file unless you
# source it into the venv):
#
# HERMES_WEBUI_PYTHON_PLUGIN=svrnty_hermes_webui_plugin
# Tells the fork's loader hook to import this plugin. Without it the
# fork runs vanilla (no Svrnty mods). Usually set in docker-compose.override.yml
# or in the systemd unit's EnvironmentFile.
#
# Optional — STT (Speech-to-Text) for voice-message attachments:
#
# HERMES_WEBUI_STT_URL=http://stt-host:8000/v1/audio/transcriptions
# External STT endpoint (OpenAI-shape or WhisperX). When unset, the
# /api/transcribe route returns 503 + audio_attachment_processor is a no-op.
#
# HERMES_WEBUI_STT_KEY=
# Optional bearer token for the STT endpoint. Leave empty for open endpoints.
#
# Optional — BTE (sovereign brand backend) — used by routes that talk to BTE:
#
# BTE_BASE_URL=http://localhost:6001
# BTE_TENANT_ID=00000000-0000-0000-0000-000000000001
# Brand truth backend (REST). The plugin reads these at call time.
#
# All other secrets (credctl-managed) resolve at call-time via credbridge —
# they never enter this file. See ../cmo/credbridge.sh.