Trang này mô phỏng một website của trường đã nhúng widget chat. Bấm biểu tượng ở góc phải để mở trợ lý.
<script src="https://api.example.edu/static/widget/sgk-chat-widget.js"
data-api-url="https://api.example.edu"
data-token="dev-student-key" data-grade="6" data-subject="Toán"></script>
<script>
window.SGKChatWidgetConfig = {
apiUrl: "https://api.example.edu",
// Backend của trường đổi phiên đăng nhập SSO thành JWT ngắn hạn cho SGK AI.
tokenProvider: () => fetch("/api/sgk-ai/token", { credentials: "include" })
.then(r => r.json()).then(j => j.token),
grade: 9, subject: "Toán", stream: true, audio: false,
greeting: "Chào em, cô là trợ lý Toán 9 của trường."
};
</script>
<script src="https://api.example.edu/static/widget/sgk-chat-widget.js" defer></script>
Máy chủ SGK AI cần bật CORS cho origin của trường (CORS_ALLOW_ORIGINS). Vai trò học sinh/giáo viên,
trường và lớp lấy từ token; widget không thể tự nâng quyền.
SGKChatWidget.open();
SGKChatWidget.send("Giải thích định lý Pythagoras");
SGKChatWidget.setContext({ grade: 8, subject: "Vật lí" });
SGKChatWidget.on("message", m => console.log(m.role, m.content));
SGKChatWidget.identity().then(me => console.log(me.role, me.school_id));