siyuan-note/siyuan · error · Error
window.siyuan.languages._kernel[28]
Error message
window.siyuan.languages._kernel[28]
What it means
Fallback error text used by fetchAIEditorSSE when the failed /api/ai/editor/chat response body cannot be parsed as JSON (for example an HTML error page from a proxy). The localized kernel message window.siyuan.languages._kernel[28] is kept as the generic error and thrown after the json() parse fails, because no server-side msg is available.
Source
Thrown at app/src/ai/editorSSE.ts:114
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify(request),
signal,
});
const contentType = response.headers.get("Content-Type") || "";
if (!response.ok || !contentType.includes("text/event-stream")) {
let message = window.siyuan.languages._kernel[28];
try {
const data = await response.json();
message = data?.msg || data?.message || message;
} catch (e) {
// 响应不是 JSON 时使用统一错误文案。
}
throw new Error(message);
}
const reader = response.body?.getReader();
if (!reader) {
throw new Error(window.siyuan.languages._kernel[28]);
}
const decoder = new TextDecoder();
const parserState = createAIEditorSSEParserState();
let terminalReceived = false;
while (true) {
const result = await reader.read();
if (result.done) {
break;
}
parseAIEditorSSE(parserState, decoder.decode(result.value, {stream: true})).forEach(event => {
terminalReceived = terminalReceived || event.type === "done" || event.type === "error";
onEvent(event);
});
}
parseAIEditorSSE(parserState, decoder.decode(), true).forEach(event => {
terminalReceived = terminalReceived || event.type === "done" || event.type === "error";
onEvent(event);
});View on GitHub (pinned to 8641553a1f)
Solutions
- Treat the message as generic: the real cause is the HTTP status, not the text
- Check for proxies or gateways returning non-JSON error bodies between client and kernel
- Retry after confirming kernel health and AI configuration
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at app/src/ai/editorSSE.ts:114 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of siyuan-note/siyuan@8641553a1f (2026-09-11).
Data as JSON: /api/errors/ff24d2654d6e4197.
Report an issue: GitHub.