feat: Erweiterte Model-Auswahl für Agents

- Model-Optionen: sonnet-4-5, sonnet-4-6, opus-4-5, opus-4-6, haiku-4-5
- ChatEndpoint + TelegramService: Model-Mapping für alle Varianten
- Agent-Formular: Dropdown mit allen Model-Versionen
- ui.js: prettyModelName() vereinfacht für neue Model-Werte
This commit is contained in:
Meleki committed 2026-03-03 09:22:47 +01:00
1 parent 99914bd343
commit 4fa0111c33
5 files changed
+27 -17

No files matched your search

+6 -1
View File
@@ -70,9 +70,14 @@ public static class ChatEndpoint
var modelId = agent.Model switch
{
"opus" => "claude-opus-4-6",
"sonnet" => "claude-sonnet-4-6",
"sonnet-4-5" => "claude-sonnet-4-5",
"sonnet-4-6" => "claude-sonnet-4-6",
"opus" => "claude-opus-4-6",
"opus-4-5" => "claude-opus-4-5",
"opus-4-6" => "claude-opus-4-6",
"haiku" => "claude-haiku-4-5",
"haiku-4-5" => "claude-haiku-4-5",
_ => "claude-sonnet-4-6"
};
+1 -1
View File
@@ -7,7 +7,7 @@ public class AgentRecord
public string Name { get; set; }
public string Avatar { get; set; } // base64 data url
public string Description { get; set; }
public string Model { get; set; } // sonnet, opus, haiku
public string Model { get; set; } // sonnet, sonnet-4-5, sonnet-4-6, opus, opus-4-5, opus-4-6, haiku, haiku-4-5
public string ToolChoice { get; set; } // "any" oder "auto"
public string CustomCommands { get; set; }
public string AutoCommit { get; set; } = ""; // "", "mention", "forbid"
+6 -1
View File
@@ -312,9 +312,14 @@ public class TelegramService
{
var modelId = agent.Model switch
{
"opus" => "claude-opus-4-6",
"sonnet" => "claude-sonnet-4-6",
"sonnet-4-5" => "claude-sonnet-4-5",
"sonnet-4-6" => "claude-sonnet-4-6",
"opus" => "claude-opus-4-6",
"opus-4-5" => "claude-opus-4-5",
"opus-4-6" => "claude-opus-4-6",
"haiku" => "claude-haiku-4-5",
"haiku-4-5" => "claude-haiku-4-5",
_ => "claude-sonnet-4-6"
};
+5 -3
View File
@@ -136,9 +136,11 @@
<input type="text" id="agentDescription" placeholder="Kurze Beschreibung (optional)">
<label>Model</label>
<select id="agentModel">
<option value="sonnet">Sonnet 4.6</option>
<option value="opus">Opus 4.6</option>
<option value="haiku">Haiku 4.5</option>
<option value="sonnet-4-5">Sonnet 4.5</option>
<option value="sonnet-4-6">Sonnet 4.6</option>
<option value="opus-4-5">Opus 4.5</option>
<option value="opus-4-6">Opus 4.6</option>
<option value="haiku-4-5">Haiku 4.5</option>
</select>
<label class="checkbox-label">
<input type="checkbox" id="agentToolChoice" checked>
+9 -11
View File
@@ -6,17 +6,15 @@ const metaEl = () => $('#meta');
function prettyModelName(model) {
if (!model) return '?';
var m = model.match(/claude-(\w+)-(\d+)(?:-(\d+))?/);
if (m) {
var family = m[1].charAt(0).toUpperCase() + m[1].slice(1);
var major = m[2];
var minor = m[3];
if (minor && minor.length <= 2) return family + ' ' + major + '.' + minor;
return family + ' ' + major;
}
if (model == 'sonnet') return 'Sonnet 4.6'
if (model == 'opus') return 'Opus 4.6'
if (model == 'haiku') return 'Haiku 4.5'
model = model.split('claude-').join('');
if (model == 'sonnet') return 'Sonnet';
if (model == 'sonnet-4-5') return 'Sonnet 4.5';
if (model == 'sonnet-4-6') return 'Sonnet 4.6';
if (model == 'opus') return 'Opus';
if (model == 'opus-4-5') return 'Opus 4.5';
if (model == 'opus-4-6') return 'Opus 4.6';
if (model == 'haiku') return 'Haiku';
if (model == 'haiku-4-5') return 'Haiku 4.5';
return 'Unbekannt (' + model + ')';
}