- Add comprehensive speech configuration in .env.example and app config - Update Docker speech Dockerfile for more flexible model handling - Create detailed README for speech-to-text examples - Implement example script demonstrating speech features - Improve speech service initialization and configuration management
111 lines
2.4 KiB
Plaintext
111 lines
2.4 KiB
Plaintext
# Home Assistant Configuration
|
|
# The URL of your Home Assistant instance
|
|
HASS_HOST=http://homeassistant.local:8123
|
|
|
|
# Long-lived access token from Home Assistant
|
|
# Generate from Profile -> Long-Lived Access Tokens
|
|
HASS_TOKEN=your_home_assistant_token
|
|
|
|
# WebSocket URL for real-time updates
|
|
HASS_SOCKET_URL=ws://homeassistant.local:8123/api/websocket
|
|
|
|
# Server Configuration
|
|
# Port for the MCP server (default: 3000)
|
|
PORT=3000
|
|
|
|
# Environment (development/production/test)
|
|
NODE_ENV=development
|
|
|
|
# Debug mode (true/false)
|
|
DEBUG=false
|
|
|
|
# Logging level (debug/info/warn/error)
|
|
LOG_LEVEL=info
|
|
|
|
# AI Configuration
|
|
# Natural Language Processor type (claude/gpt4/custom)
|
|
PROCESSOR_TYPE=claude
|
|
|
|
# OpenAI API Key (required for GPT-4 analysis)
|
|
OPENAI_API_KEY=your_openai_api_key
|
|
|
|
# Rate Limiting
|
|
# Requests per minute per IP for regular endpoints
|
|
RATE_LIMIT_REGULAR=100
|
|
|
|
# Requests per minute per IP for WebSocket connections
|
|
RATE_LIMIT_WEBSOCKET=1000
|
|
|
|
# Security Configuration
|
|
# JWT Configuration
|
|
JWT_SECRET=your_jwt_secret_key_min_32_chars
|
|
JWT_EXPIRY=86400000
|
|
JWT_MAX_AGE=2592000000
|
|
JWT_ALGORITHM=HS256
|
|
|
|
# Rate Limiting
|
|
RATE_LIMIT_WINDOW=900000
|
|
RATE_LIMIT_MAX_REQUESTS=100
|
|
|
|
# Token Security
|
|
TOKEN_MIN_LENGTH=32
|
|
MAX_FAILED_ATTEMPTS=5
|
|
LOCKOUT_DURATION=900000
|
|
|
|
# CORS Configuration
|
|
CORS_ORIGINS=http://localhost:3000,http://localhost:8123
|
|
CORS_METHODS=GET,POST,PUT,DELETE,OPTIONS
|
|
CORS_ALLOWED_HEADERS=Content-Type,Authorization,X-Requested-With
|
|
CORS_EXPOSED_HEADERS=
|
|
CORS_CREDENTIALS=true
|
|
CORS_MAX_AGE=86400
|
|
|
|
# Content Security Policy
|
|
CSP_ENABLED=true
|
|
CSP_REPORT_ONLY=false
|
|
CSP_REPORT_URI=
|
|
|
|
# SSL/TLS Configuration
|
|
REQUIRE_HTTPS=true
|
|
HSTS_MAX_AGE=31536000
|
|
HSTS_INCLUDE_SUBDOMAINS=true
|
|
HSTS_PRELOAD=true
|
|
|
|
# Cookie Security
|
|
COOKIE_SECRET=your_cookie_secret_key_min_32_chars
|
|
COOKIE_SECURE=true
|
|
COOKIE_HTTP_ONLY=true
|
|
COOKIE_SAME_SITE=Strict
|
|
|
|
# Request Limits
|
|
MAX_REQUEST_SIZE=1048576
|
|
MAX_REQUEST_FIELDS=1000
|
|
|
|
# SSE Configuration
|
|
SSE_MAX_CLIENTS=1000
|
|
SSE_PING_INTERVAL=30000
|
|
|
|
# Logging Configuration
|
|
LOG_LEVEL=info
|
|
LOG_DIR=logs
|
|
LOG_MAX_SIZE=20m
|
|
LOG_MAX_DAYS=14d
|
|
LOG_COMPRESS=true
|
|
LOG_REQUESTS=true
|
|
|
|
# Version
|
|
VERSION=0.1.0
|
|
|
|
# Test Configuration
|
|
# Only needed if running tests
|
|
TEST_HASS_HOST=http://localhost:8123
|
|
TEST_HASS_TOKEN=test_token
|
|
TEST_HASS_SOCKET_URL=ws://localhost:8123/api/websocket
|
|
TEST_PORT=3001
|
|
|
|
# Speech Features Configuration
|
|
ENABLE_SPEECH_FEATURES=false
|
|
ENABLE_WAKE_WORD=true
|
|
ENABLE_SPEECH_TO_TEXT=true
|
|
WHISPER_MODEL_PATH=/models
|
|
WHISPER_MODEL_TYPE=base |