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>
52 lines
1.9 KiB
C#
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; }
|
|
}
|