Add tray rules and identities editor
PR and Push Build/Test / build-and-test (push) Successful in 7m0s

This commit is contained in:
2026-05-28 01:28:16 +02:00
parent 71f1e6a0b8
commit 693f52afee
31 changed files with 3136 additions and 327 deletions
+33
View File
@@ -22,6 +22,35 @@ The rules file path is configured through `MeetingAssistant:Automation:RulesPath
If the configured path is empty, missing, or points to a blank file, the workflow engine does nothing.
The tray menu includes `Edit rules`, which opens a small MewUI chat editor for this configured rules file. The editor uses the summarizer agent configuration by default and can be overridden through `MeetingAssistant:WorkflowRulesEditor`.
```json
{
"MeetingAssistant": {
"WorkflowRulesEditor": {
"Endpoint": "",
"KeyEnv": "",
"Model": "",
"EnableThinking": null,
"ReasoningEffort": null,
"MaxOutputTokens": null,
"EnableCompaction": null,
"CompactionRemainingRatio": null,
"ResponsesCompactPath": "",
"InitialPrompt": ""
}
}
}
```
Blank editor values inherit from `MeetingAssistant:Agent`. This keeps the editor on the same LiteLLM Responses endpoint and model as the summarizer unless a value is explicitly configured. Each user-submitted editor turn sends its first model request with `X-Initiator: user`; follow-up model requests in the same turn, such as tool-call continuations, use `X-Initiator: agent`.
The editor agent prompt includes this document and is restricted to these tools:
- `read_rules`: read the configured rules file, optionally by inclusive 1-based line range.
- `write_rules`: overwrite the configured rules file after validating that the YAML parses as a workflow rules document.
- `search`: search only the configured rules file with ripgrep-style syntax.
`POST /diagnostics/workflow/reload` reloads application configuration without restarting the process. Use it after changing workflow automation configuration such as `MeetingAssistant:Automation:RulesPath`. The endpoint returns the currently bound rules path:
```json
@@ -302,9 +331,13 @@ Core files:
- `MeetingAssistant/Workflow/MeetingWorkflowModels.cs`
- `MeetingAssistant/Workflow/MeetingWorkflowEvent.cs`
- `MeetingAssistant/Workflow/FileMeetingWorkflowRulesProvider.cs`
- `MeetingAssistant/Workflow/WorkflowRulesEditorChatPipeline.cs`
- `MeetingAssistant/Workflow/WorkflowRulesEditorTools.cs`
- `MeetingAssistant/Workflow/MewUiWorkflowRulesEditorWindowService.Windows.cs`
- `MeetingAssistant/Recording/MeetingRecordingCoordinator.cs`
- `MeetingAssistant.Tests/MeetingWorkflowEngineTests.cs`
- `MeetingAssistant.Tests/MeetingWorkflowDiagnosticEndpointTests.cs`
- `MeetingAssistant.Tests/WorkflowRulesEditorTests.cs`
When extending the workflow engine: