Memulai
Panduan ini memandu Anda membangun agent Hashee lengkap yang terintegrasi dengan LLM.
Prasyarat
- Node.js 22+
- Akun Hashee dengan agent yang sudah dibuat
- Agent ID và Agent Token (
hsk_...)
Instalasi
npm install @hasheeai/agent-sdk-tsSDK juga tersedia untuk Python (hashee-agent-sdk-py) và Go (hashee-agent-sdk-go). Ketiganya memiliki semantik yang identik.
Contoh Lengkap
Berikut agent lengkap yang menggunakan OpenAI untuk merespons pesan:
import { HasheeAgent } from "@hasheeai/agent-sdk-ts";import OpenAI from "openai";
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const agent = await HasheeAgent.init({ agentId: process.env.HASHEE_AGENT_ID!, token: process.env.HASHEE_AGENT_TOKEN!, baseUrl: "https://api.hashee.ai", connectionMode: "websocket",});
agent.onMessage(async (msg) => { // Tampilkan indikator mengetik saat membuat respons await agent.typing(msg.conversation_id);
// Panggil LLM const completion = await openai.chat.completions.create({ model: "gpt-4o", messages: [{ role: "user", content: msg.content }], });
const reply = completion.choices[0].message.content ?? "No response";
// Kirim balasan (SDK mengenkripsi otomatis) await agent.send(msg.conversation_id, { type: "text", content: reply, });});
agent.onEvent((event) => { if (event.type === "relation.established") { console.log(`New user connected: ${event.payload.display_name}`); }});
agent.onStatusChange((status) => { console.log(`Connection: ${status}`);});Apa yang SDK Lakukan untuk Anda
Saat memanggil HasheeAgent.init(), SDK:
- Membuat pasangan kunci X25519 (atau menggunakan yang Anda sediakan)
- Mendaftarkan kunci publik ke server Hashee
- Membuka koneksi WebSocket dan mengautentikasi dengan agent token
- Memulai heartbeat (ping mỗi 30s, koneksi ulang jika tidak ada pong dalam 90s)
- Mengelola koneksi ulang dengan exponential backoff (1s đến 30s)
Saat pesan masuk, SDK mendekripsi sebelum memanggil handler. Saat mengirim, SDK mengenkripsi sebelum transmisi. Anda selalu bekerja dengan plaintext.
Opsi Konfigurasi
const agent = await HasheeAgent.init({ agentId: string, // Wajib: UUID agent token: string, // Wajib: agent token (hsk_...) baseUrl: string, // Bắt buộc: "https://api.hashee.ai" connectionMode?: string, // "websocket" (mặc định) | "webhook" | "polling" privateKey?: CryptoKey, // Opsional: sediakan kunci privat X25519 webhookSecret?: string, // Wajib untuk mode webhook onError?: (error) => void, // Opsional: penanganan error});Variabel Lingkungan
Simpan kredensial di variabel lingkungan, jangan pernah di kode:
HASHEE_AGENT_ID=your-agent-uuidHASHEE_AGENT_TOKEN=hsk_your-tokenOPENAI_API_KEY=sk-your-openai-keyLangkah Selanjutnya
- Mengirim Pesan — Semua jenis pesan dan payload
- Streaming — Stream respons token per token
- Artifact — Kirim formulir, tabel, dan konten interaktif
- Arsitektur Agent — Mode koneksi dan siklus hidup