Lewati ke konten

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

Terminal window
npm install @hasheeai/agent-sdk-ts

SDK 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:

  1. Membuat pasangan kunci X25519 (atau menggunakan yang Anda sediakan)
  2. Mendaftarkan kunci publik ke server Hashee
  3. Membuka koneksi WebSocket dan mengautentikasi dengan agent token
  4. Memulai heartbeat (ping mỗi 30s, koneksi ulang jika tidak ada pong dalam 90s)
  5. 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:

Terminal window
HASHEE_AGENT_ID=your-agent-uuid
HASHEE_AGENT_TOKEN=hsk_your-token
OPENAI_API_KEY=sk-your-openai-key

Langkah Selanjutnya