Add meeting assistant speech and summary automation

This commit is contained in:
2026-05-21 09:55:39 +02:00
parent 1e97d2b9ff
commit 48d98d9cbb
63 changed files with 5143 additions and 151 deletions
@@ -1,18 +1,28 @@
using System.Diagnostics;
using Microsoft.Extensions.Options;
namespace MeetingAssistant.MeetingNotes;
public sealed class ObsidianMeetingNoteOpener : IMeetingNoteOpener
{
private readonly MeetingAssistantOptions options;
private readonly ILogger<ObsidianMeetingNoteOpener> logger;
public ObsidianMeetingNoteOpener(ILogger<ObsidianMeetingNoteOpener> logger)
public ObsidianMeetingNoteOpener(
IOptions<MeetingAssistantOptions> options,
ILogger<ObsidianMeetingNoteOpener> logger)
{
this.options = options.Value;
this.logger = logger;
}
public Task OpenAsync(string notePath, CancellationToken cancellationToken)
public async Task OpenAsync(string notePath, CancellationToken cancellationToken)
{
if (options.Recording.OpenMeetingNoteDelay > TimeSpan.Zero)
{
await Task.Delay(options.Recording.OpenMeetingNoteDelay, cancellationToken);
}
var uri = $"obsidian://open?path={Uri.EscapeDataString(Path.GetFullPath(notePath))}";
Process.Start(new ProcessStartInfo
{
@@ -20,7 +30,5 @@ public sealed class ObsidianMeetingNoteOpener : IMeetingNoteOpener
UseShellExecute = true
});
logger.LogInformation("Opened meeting note in Obsidian via {ObsidianUri}", uri);
return Task.CompletedTask;
}
}