CI / ruff · pytest (pull_request) Successful in 2m57s
POST /api/v1/me/{token}/stt takes a 16 kHz mono WAV and only transcribes:
the patient checks the text and sends it as an ordinary message, so safety,
scrub() and the LLM gateway still apply. Audio is neither stored nor logged.
OpenRouter STT is synthetic-data only (ADR-014); SaluteSpeech for the pilot is #121.
Refs #116
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
56 lines
2.1 KiB
Bash
56 lines
2.1 KiB
Bash
# Copy to .env. Secrets only here; .env is gitignored.
|
|
|
|
# --- LLM (152-FZ: GigaChat only). mock = offline demo without network (ADR-004)
|
|
LLM_PROVIDER=mock
|
|
GIGACHAT_CREDENTIALS=
|
|
GIGACHAT_SCOPE=GIGACHAT_API_PERS
|
|
GIGACHAT_MODEL=GigaChat
|
|
|
|
# --- Chat agent: auto | off | mock | openrouter | gigachat. OpenRouter = temporary, synthetic data only.
|
|
CHAT_AGENT=auto
|
|
OPENROUTER_API_KEY=
|
|
OPENROUTER_MODEL=google/gemini-2.5-flash-lite
|
|
|
|
# --- Voice input (speech-to-text): auto | off | mock | openrouter. OpenRouter = synthetic data only (ADR-014).
|
|
STT_PROVIDER=auto
|
|
STT_MODEL=google/gemini-2.5-flash
|
|
|
|
# --- Pseudonymisation key: 32+ random bytes, hex. Generate: python -c "import secrets;print(secrets.token_hex(32))"
|
|
PSEUDO_KEY=
|
|
|
|
# --- Databases (docker compose overrides the URLs to point at the postgres service)
|
|
POSTGRES_PASSWORD=postgres
|
|
IDENTITY_DB_PASSWORD=identity_app
|
|
CLINICAL_DB_PASSWORD=clinical_app
|
|
IDENTITY_DB_URL=postgresql+asyncpg://identity_app:identity_app@localhost:5432/identity
|
|
CLINICAL_DB_URL=postgresql+asyncpg://clinical_app:clinical_app@localhost:5432/clinical
|
|
|
|
# --- Telegram: prototype on synthetic data only; prod channel is MAX / Gosuslugi. Empty = bot disabled.
|
|
TG_BOT_TOKEN=
|
|
# http://user:pass@host:port or socks5://… — needed on the RF server (docker has no route to Telegram over IPv4)
|
|
TG_PROXY_URL=
|
|
DOCTOR_NOTIFY_CHAT_ID=
|
|
|
|
# --- Demo virtual clock (ADR-005)
|
|
DEMO_CLOCK=true
|
|
# Questionnaires of the intake (#53) on synthetic data, demo only (needs DEMO_CLOCK). The clinical release gate in
|
|
# config/intake_runtime.yaml stays closed; without a signed routing policy every finished intake goes to review.
|
|
INTAKE_DEMO=false
|
|
TZ=Europe/Moscow
|
|
|
|
# --- Gitea (for Claude Code / team workflow, not used by the app)
|
|
GITEA_URL=https://gitea.24studbank.ru
|
|
GITEA_REPO=MedITron/PTSRaiAgent
|
|
GITEA_USER=
|
|
GITEA_TOKEN=
|
|
# MAX notifications: keep disabled until the backend/channel PRs and a real bot are installed.
|
|
MAX_ENABLED=false
|
|
MAX_BOT_TOKEN=
|
|
MAX_BOT_USERNAME=
|
|
MAX_WEBHOOK_SECRET=
|
|
MAX_WEBHOOK_URL=
|
|
MAX_SITE_URL=
|
|
# Optional path to a trusted PEM CA bundle; never disable TLS verification.
|
|
MAX_CA_BUNDLE=
|
|
MAX_LINK_TTL_SECONDS=600
|