KI-AGENT: Matrix-Anrufe im Chat vorbereiten

This commit is contained in:
2026-05-18 18:38:21 +02:00
parent f6dd37b458
commit 7c68ce61f2
5 changed files with 198 additions and 0 deletions

View File

@@ -129,6 +129,25 @@ export function matrixService(server: FastifyInstance) {
readLocalDevRegistrationSharedSecret() ||
""
const rtcHost = () =>
process.env.MATRIX_RTC_HOST ||
secrets.MATRIX_RTC_HOST ||
"call.fedeo.de"
const rtcJwtUrl = () =>
process.env.MATRIX_RTC_JWT_URL ||
secrets.MATRIX_RTC_JWT_URL ||
(process.env.NODE_ENV === "production"
? `https://${rtcHost()}/livekit/jwt`
: `http://localhost:${process.env.MATRIX_DEV_RTC_JWT_PORT || "8081"}`)
const livekitUrl = () =>
process.env.MATRIX_LIVEKIT_URL ||
secrets.MATRIX_LIVEKIT_URL ||
(process.env.NODE_ENV === "production"
? `wss://${rtcHost()}/livekit/sfu`
: `ws://localhost:${process.env.MATRIX_DEV_LIVEKIT_PORT || "7880"}`)
const serviceUserLocalpart = () =>
process.env.MATRIX_SERVICE_USER_LOCALPART ||
secrets.MATRIX_SERVICE_USER_LOCALPART ||
@@ -404,6 +423,13 @@ export function matrixService(server: FastifyInstance) {
serverName: serverName(),
provisioningConfigured: Boolean(registrationSharedSecret()),
reachable: false,
calls: {
provider: "matrixrtc-livekit",
configured: Boolean(rtcJwtUrl() && livekitUrl()),
rtcHost: rtcHost(),
rtcJwtUrl: rtcJwtUrl(),
livekitUrl: livekitUrl(),
},
}
}
@@ -418,6 +444,13 @@ export function matrixService(server: FastifyInstance) {
serverName: serverName(),
provisioningConfigured: Boolean(registrationSharedSecret()),
reachable: true,
calls: {
provider: "matrixrtc-livekit",
configured: Boolean(rtcJwtUrl() && livekitUrl()),
rtcHost: rtcHost(),
rtcJwtUrl: rtcJwtUrl(),
livekitUrl: livekitUrl(),
},
versions: versions.versions,
}
} catch (err: any) {
@@ -427,6 +460,13 @@ export function matrixService(server: FastifyInstance) {
serverName: serverName(),
provisioningConfigured: Boolean(registrationSharedSecret()),
reachable: false,
calls: {
provider: "matrixrtc-livekit",
configured: Boolean(rtcJwtUrl() && livekitUrl()),
rtcHost: rtcHost(),
rtcJwtUrl: rtcJwtUrl(),
livekitUrl: livekitUrl(),
},
error: err.message,
}
}

View File

@@ -40,6 +40,9 @@ export let secrets = {
STIRLING_API_KEY: string
MATRIX_HOMESERVER_URL?: string
MATRIX_SERVER_NAME?: string
MATRIX_RTC_HOST?: string
MATRIX_RTC_JWT_URL?: string
MATRIX_LIVEKIT_URL?: string
MATRIX_REGISTRATION_SHARED_SECRET?: string
MATRIX_SERVICE_USER_LOCALPART?: string
}
@@ -76,6 +79,9 @@ const secretKeys = [
"STIRLING_API_KEY",
"MATRIX_HOMESERVER_URL",
"MATRIX_SERVER_NAME",
"MATRIX_RTC_HOST",
"MATRIX_RTC_JWT_URL",
"MATRIX_LIVEKIT_URL",
"MATRIX_REGISTRATION_SHARED_SECRET",
"MATRIX_SERVICE_USER_LOCALPART",
] as const