Files
gott/Models/SessionRecord.cs
T
MelekiandClaude Opus 4.8 b7ff928340 Add Mixture-of-Agents (MoA) mode on top of Fusion
Extend the panel engine with a layer loop: Fusion is one proposer round,
MoA runs N rounds where each round after the first sees the previous
round's responses via <previous_layer_responses> and refines its answer.
Only the final round is persisted; intermediate rounds are live-only.
Rounds are clamped to 1-5.

- SessionRecord + migration: moa_layers column (default 2)
- RunPanel: layer loop with per-member cloned message injection
- CloneForMember / BuildPreviousLayerBlock helpers for member isolation
- SSE: panel_layer_start / panel_layer_done events
- Frontend: layer_index composite keying, round dividers, MoA option
- Docs: ARCHITECTURE + ARCHITECTURE_QUICK updated

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 13:46:28 +02:00

52 lines
1.9 KiB
C#

namespace Gott.Models;
public class SessionRecord
{
public long Id { get; set; }
public string SessionId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Image { get; set; }
public string ImageSmall { get; set; } // 256px Thumbnail für Listen
public string AgentId { get; set; }
public string Workspace { get; set; }
public string Context { get; set; }
public string CustomCommands { get; set; }
public string UserId { get; set; }
public bool IsDeleted { get; set; }
public string TelegramBotId { get; set; }
public string TelegramChatId { get; set; }
public double AvatarScale { get; set; } = 1.0;
public double AvatarOffsetX { get; set; }
public double AvatarOffsetY { get; set; }
public string ReviewAgentId { get; set; }
public int MaxReviewIterations { get; set; } = 3;
public string FinalizerAgentId { get; set; }
public string PreparerAgentId { get; set; }
public string MultiModelMode { get; set; } // "off" / "fusion" / "moa"
public string PanelAgentIds { get; set; } // CSV der Panel-Agenten (Proposer)
public int MoaLayers { get; set; } = 2; // MoA: Anzahl Proposer-Runden vor der Synthese (Fusion ignoriert)
public string UnityMcpUrl { get; set; }
public string UnityMcpToken { get; set; }
public string CreatedAt { get; set; }
public string UpdatedAt { get; set; }
}
public class SessionWithStats
{
public SessionRecord Session { get; set; }
public int MessageCount { get; set; }
public int ArchiveMessageCount { get; set; }
public int TotalMessageCount { get; set; }
public bool TelegramConfigured { get; set; }
public bool TelegramLinked { get; set; }
}
public class GitStatusSummary
{
public int Add { get; set; }
public int Edit { get; set; }
public int Delete { get; set; }
public int Outgoing { get; set; }
}