Compare commits

..

2 Commits

Author SHA1 Message Date
devops 5b0e3a19f6 chore: bump version to v0.2.37 [skip ci] 2026-06-09 22:58:55 +00:00
developer e1d6b1eeb3 fix: Chat via agentId statt sessionKey + reply aus details parsen
CI - Build & Test / Backend (.NET) (push) Successful in 26s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 15s
CI - Build & Test / Security Check (push) Successful in 3s
- SendChatMessageAsync: sessions_send nutzt agentId (nicht sessionKey)
- Reply parsen aus result.details.reply (sessions_send Antwort-Struktur)
- ChatRequest.Model: SessionKey → AgentId
- Controller default: 'iris' → Agent-ID (nicht Session-Key)
2026-06-10 00:58:04 +02:00
4 changed files with 13 additions and 10 deletions
+1 -1
View File
@@ -1 +1 @@
0.2.36
0.2.37
+3 -3
View File
@@ -95,11 +95,11 @@ public class DashboardController(OpenClawGatewayClient gateway, ILogger<Dashboar
try
{
var sessionKey = string.IsNullOrWhiteSpace(request.SessionKey)
var agentId = string.IsNullOrWhiteSpace(request.AgentId)
? "iris"
: request.SessionKey.Trim();
: request.AgentId.Trim();
return await gateway.SendChatMessageAsync(sessionKey, request.Message.Trim());
return await gateway.SendChatMessageAsync(agentId, request.Message.Trim());
}
catch (Exception ex)
{
+1 -1
View File
@@ -17,7 +17,7 @@ public sealed record MessageEntry(
public sealed record ChatRequest(
string Message,
string? SessionKey
string? AgentId
);
public sealed record ChatResponse(
+8 -5
View File
@@ -173,18 +173,21 @@ public sealed class OpenClawGatewayClient(HttpClient httpClient, IConfiguration
}
}
public async Task<ChatResponse> SendChatMessageAsync(string sessionKey, string message)
public async Task<ChatResponse> SendChatMessageAsync(string agentId, string message)
{
try
{
var result = await InvokeToolAsync("sessions_send", new { sessionKey, message });
var result = await InvokeToolAsync("sessions_send", new { agentId, message });
if (result is null) return new ChatResponse(false, null, "Gateway nicht erreichbar");
var ok = result["ok"]?.GetValue<bool>() ?? false;
var reply = result["reply"]?.GetValue<string>()
// sessions_send reply is in details.reply or content[0].text
var details = result["details"];
var ok = (details?["status"]?.GetValue<string>() ?? result["status"]?.GetValue<string>()) == "ok";
var reply = details?["reply"]?.GetValue<string>()
?? result["reply"]?.GetValue<string>()
?? result["response"]?.GetValue<string>()
?? result["content"]?[0]?["text"]?.GetValue<string>();
var error = result["error"]?.GetValue<string>();
var error = details?["error"]?.GetValue<string>() ?? result["error"]?.GetValue<string>();
return new ChatResponse(ok, reply, error);
}