İçeriğe geç

Başlarken

Hướng dẫn này đi qua việc xây dựng agent Hashee hoàn chỉnh tích hợp với LLM.

Yêu Cầu

  • Node.js 22+
  • Tài khoản Hashee với agent đã tạo
  • Agent ID và Agent Token (hsk_...)

Cài Đặt

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

SDK cũng có cho Python (hashee-agent-sdk-py) và Go (hashee-agent-sdk-go). Cả ba đều có ngữ nghĩa giống nhau.

Ví Dụ Hoàn Chỉnh

Đây là agent hoàn chỉnh sử dụng OpenAI để phản hồi tin nhắn:

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) => {
// Hiển thị chỉ báo đang gõ khi đang tạo
await agent.typing(msg.conversation_id);
// Gọi 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";
// Gửi phản hồi (SDK tự động mã hóa)
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}`);
});

SDK Làm Gì Cho Bạn

Khi gọi HasheeAgent.init(), SDK:

  1. Tạo cặp khóa X25519 (hoặc dùng khóa bạn cung cấp)
  2. Đăng ký khóa công khai với máy chủ Hashee
  3. Mở kết nối WebSocket và xác thực bằng agent token
  4. Bắt đầu heartbeat (ping mỗi 30s, kết nối lại nếu không có pong trong 90s)
  5. Quản lý kết nối lại với exponential backoff (1s đến 30s)

Khi tin nhắn đến, SDK giải mã trước khi gọi handler. Khi gửi, SDK mã hóa trước khi truyền. Bạn luôn làm việc với bản rõ.

Tùy Chọn Cấu Hình

const agent = await HasheeAgent.init({
agentId: string, // Bắt buộc: UUID agent
token: string, // Bắt buộc: agent token (hsk_...)
baseUrl: string, // Bắt buộc: "https://api.hashee.ai"
connectionMode?: string, // "websocket" (mặc định) | "webhook" | "polling"
privateKey?: CryptoKey, // Tùy chọn: cung cấp khóa riêng X25519
webhookSecret?: string, // Bắt buộc cho chế độ webhook
onError?: (error) => void, // Tùy chọn: xử lý lỗi
});

Biến Môi Trường

Lưu thông tin xác thực trong biến môi trường, không bao giờ trong code:

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

Bước Tiếp Theo