跳至主要内容
Asgard SDK 安裝、設定與快速開始

SDK 總覽

Asgard 提供官方 JavaScript 與 React SDK,讓開發者能快速整合聊天機器人功能,無需自行處理底層 API 細節。

SDK 提供什麼

  • 簡化 API 存取:封裝 REST API 請求,統一管理驗證與端點設定
  • SSE 串流處理:自動處理 Server-Sent Events,即時接收機器人回應
  • Channel 管理:內建 session 持久化,支援多輪對話
  • React 元件@asgard-js/react 提供現成的聊天室 UI 元件與 Hook

安裝

JavaScript SDK

適用於所有 JavaScript 環境(Node.js、瀏覽器、框架無關):

npm install @asgard-js/core

React SDK

適用於 React 應用程式,包含 UI 元件與 Hook:

npm install @asgard-js/react

@asgard-js/react@asgard-js/core 為 peer dependency,請確保兩者都已安裝。

快速開始

以下範例展示如何使用 @asgard-js/core 發送訊息並接收串流回應:

import { AsgardClient } from '@asgard-js/core';

const client = new AsgardClient({
baseUrl: 'https://api.asgard.example.com',
namespace: 'my-namespace',
botProviderName: 'my-bot',
apiKey: 'your-api-key',
});

await client.sendMessage({
message: '你好,請介紹一下你自己',
onMessage: (content) => {
process.stdout.write(content);
},
onComplete: (fullMessage) => {
console.log('\n[完成]', fullMessage);
},
onError: (error) => {
console.error('發生錯誤:', error);
},
});

如果使用 React,可以用 AsgardProvideruseAsgard Hook 更簡潔地整合:

import { AsgardProvider, useAsgard } from '@asgard-js/react';

function App() {
return (
<AsgardProvider
baseUrl="https://api.asgard.example.com"
namespace="my-namespace"
botProviderName="my-bot"
apiKey="your-api-key"
>
<ChatWidget />
</AsgardProvider>
);
}

function ChatWidget() {
const { sendMessage, messages, isLoading } = useAsgard();

return (
<div>
{messages.map((msg, i) => (
<div key={i}>{msg.content}</div>
))}
<button onClick={() => sendMessage('你好!')} disabled={isLoading}>
發送
</button>
</div>
);
}

SDK 與直接呼叫 REST API 比較

功能SDKREST API
SSE 串流處理自動處理需自行實作
驗證設定初始化一次,自動帶入每次請求需手動加入 header
Channel 管理內建 session 持久化需自行維護 channelId
React 整合提供 Hook 與元件需自行封裝
錯誤處理統一錯誤介面需自行解析各類錯誤
TypeScript 支援完整型別定義需自行定義型別

延伸閱讀

GitHub

原始碼與最新版本:asgard-ai-platform/asgard-js-sdk