{ "MeetingAssistant": { "Hotkey": { "Toggle": "Ctrl+Alt+M", "Abort": "Ctrl+Alt+Z" }, "Vault": { "BaseFolder": "%USERPROFILE%\\OpenCloud\\Persönlich\\Vault\\Exxeta", "TranscriptsFolder": "Meetings\\Transcripts", "MeetingNotesFolder": "Meetings\\Notes", "AssistantContextFolder": "Meetings\\Assistant Context", "SummariesFolder": "Meetings\\Summaries", "ProjectsFolder": "Projects", "DictationWordsPath": "Meetings\\Dictionary.md" }, "Recording": { "TranscriptionProvider": "azure-speech", "SampleRate": 16000, "Channels": 1, "MicrophoneMixGain": 1, "SystemAudioMixGain": 1, "StopProcessingTimeout": "00:10:00", "MinimumCompletedMeetingDuration": "00:01:00", "MetadataLookupTimeout": "00:00:10", "BackgroundMetadataLookupTimeout": "00:01:00", "MaxMetadataAttendeeImportCount": 30, "OpenMeetingNoteDelay": "00:00:01", "DictationWordsReadTimeout": "00:00:02", "TemporaryRecordingsFolder": "%LOCALAPPDATA%\\MeetingAssistant\\Recordings", "InactivitySafeguard": { "Enabled": true, "FirstPromptAfter": "00:02:00", "ReminderPromptAfter": [ "00:05:00", "00:10:00" ], "AutoStopAfter": "00:30:00", "InferredEndPadding": "00:01:00", "CheckInterval": "00:00:15" } }, "FunAsr": { "Endpoint": "ws://127.0.0.1:10095", "Mode": "2pass", "ChunkSize": [ 5, 10, 5 ], "ChunkInterval": 10, "EncoderChunkLookBack": 4, "DecoderChunkLookBack": 1, "Itn": true, "EmitOnlinePartials": false, "WavName": "meeting", "FinalResultTimeout": "00:00:10", "Backend": { "Enabled": true, "DockerCommand": "docker", "Image": "registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.13", "ContainerName": "meeting-assistant-funasr", "ModelsFolder": "%LOCALAPPDATA%\\MeetingAssistant\\FunASR\\models", "ContainerPort": 10095, "Privileged": true, "CommandTimeout": "00:15:00", "StartupTimeout": "00:10:00", "StopOnDispose": true, "ServerCommand": "cd /workspace/FunASR/runtime && bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --itn-dir thuduj12/fst_itn_zh --certfile 0 --hotword /workspace/models/hotwords.txt && tail -f /dev/null" }, "Diarization": { "Enabled": true, "AsrModel": "paraformer-zh", "VadModel": "fsmn-vad", "PunctuationModel": "ct-punc", "SpeakerModel": "cam++", "BatchSizeSeconds": 300, "BatchSizeThresholdSeconds": 60, "CommandTimeout": "00:30:00" } }, "WhisperLocal": { "ModelPath": "models\\ggml-base.bin", "Language": "auto", "WindowSeconds": 15, "Diarization": { "Enabled": true, "DockerCommand": "docker", "BaseImage": "python:3.11-slim", "Image": "meeting-assistant-pyannote:local", "BuildImage": true, "ModelsFolder": "%LOCALAPPDATA%\\MeetingAssistant\\Pyannote\\models", "Model": "pyannote/speaker-diarization-3.1", "AnnotationSource": "SpeakerDiarization", "AlignmentMode": "PyannoteTurns", "TokenEnv": "HF_TOKEN", "CommandTimeout": "00:30:00" } }, "AzureSpeech": { "Endpoint": "", "Region": "westeurope", "Language": "de-DE", "AutoDetectLanguages": [ "de-DE" ], "KeyEnv": "AZURE_SPEECH_KEY", "RecognitionStopTimeout": "00:03:00", "DiarizeIntermediateResults": true, "PostProcessingOption": "", "PhraseListWeight": 1.5 }, "SpeakerIdentification": { "Enabled": true, "DatabasePath": "%LOCALAPPDATA%\\MeetingAssistant\\SpeakerIdentity\\speaker-identities.db", "InitialDelay": "00:02:00", "Interval": "00:02:00", "MatchBatchSize": 6, "MaxMatchCandidates": 100, "MatchIdentityActiveAge": "365.00:00:00", "MaxSnippetsPerSpeaker": 3, "MinimumSampleSpeechDuration": "00:00:30", "MaximumSampleSegmentGap": "00:00:01", "SilenceBetweenSnippetsSeconds": 1, "LiveSampleBufferDuration": "00:10:00", "MergeRecentIdentityAge": "14.00:00:00", "MatchTimeout": "00:03:00", "PyannoteValidation": { "Enabled": true, "MinimumSingleSpeakerCoverage": 0.9, "MinimumMatchingKnownSnippetRatio": 0.5, "Diarization": { "Enabled": false, "DockerCommand": "docker", "BaseImage": "python:3.11-slim", "Image": "meeting-assistant-pyannote:local", "BuildImage": true, "ModelsFolder": "%LOCALAPPDATA%\\MeetingAssistant\\Pyannote\\models", "Model": "pyannote/speaker-diarization-3.1", "AnnotationSource": "SpeakerDiarization", "AlignmentMode": "PyannoteTurns", "TokenEnv": "HF_TOKEN", "CommandTimeout": "01:00:00" } } }, "Automation": { "RulesPath": "C:\\Manuel\\meeting-assistant\\meeting-rules.local.yaml" }, "CalendarRecordingPrompts": { "Enabled": false, "SyncInterval": "00:30:00", "PromptWindow": "00:05:00" }, "WorkflowRulesEditor": { "Endpoint": "", "KeyEnv": "", "Model": "" }, "Screenshots": { "Hotkey": "Ctrl+Alt+S", "AttachmentsFolder": "Attachments", "Ocr": { "Enabled": true, "Endpoint": "", "KeyEnv": "LITELLM_API_KEY", "Model": "", "Timeout": "00:02:00" } }, "Agent": { "Endpoint": "http://127.0.0.1:4021", "KeyEnv": "LITELLM_API_KEY", "Model": "chatgpt/gpt-5.5", "EnableThinking": true, "ReasoningEffort": "Medium", "ReconnectionAttempts": 2, "ReconnectionDelay": "00:00:02", "ContextWindowTokens": 128000, "MaxOutputTokens": 8192, "EnableCompaction": true, "CompactionRemainingRatio": 0.1, "ResponsesCompactPath": "responses/compact" }, "Api": { "PublicBaseUrl": "http://localhost:5090" }, "LaunchProfiles": { "english": { "Hotkey": { "Toggle": "Ctrl+Alt+L" }, "AzureSpeech": { "Language": "en-US", "AutoDetectLanguages": [ "en-US" ] } } } }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" }