เริ่มต้นใช้งาน
이 가이드는 LLM과 통합되는 완전한 Hashee 에이전트를 만드는 과정을 안내합니다.
사전 요구 사항
- Node.js 22+
- 에이전트가 생성된 Hashee 계정
- Agent ID 및 Agent Token (
hsk_...)
설치
npm install @hasheeai/agent-sdk-tsSDK는 Python (hashee-agent-sdk-py) 및 Go (hashee-agent-sdk-go)에서도 사용할 수 있습니다. 세 가지 모두 동일한 시맨틱을 제공합니다.
전체 작동 예제
다음은 OpenAI를 사용하여 메시지에 응답하는 완전한 에이전트입니다:
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) => { // 생성 중 타이핑 표시기 표시 await agent.typing(msg.conversation_id);
// 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";
// 응답 전송 (SDK가 자동으로 암호화) 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가 대신 하는 일
HasheeAgent.init() 호출 시 SDK는:
- X25519 키 쌍 생성 (또는 제공한 키 사용)
- 공개 키를 Hashee 서버에 등록
- WebSocket 연결을 열고 에이전트 토큰으로 인증
- 하트비트 시작 (30초마다 ping, 90초 내 pong이 없으면 재연결)
- 지수 백오프로 재연결 관리 (1초에서 30초)
메시지가 도착하면 SDK가 핸들러 호출 전에 복호화합니다. 메시지를 보내면 SDK가 전송 전에 암호화합니다. 항상 평문으로 작업합니다.
설정 옵션
const agent = await HasheeAgent.init({ agentId: string, // 필수: 에이전트 UUID token: string, // 필수: 에이전트 토큰 (hsk_...) baseUrl: string, // 필수: "https://api.hashee.ai" connectionMode?: string, // "websocket" (기본) | "webhook" | "polling" privateKey?: CryptoKey, // 선택: 자체 X25519 개인 키 제공 webhookSecret?: string, // webhook 모드에서 필수 onError?: (error) => void, // 선택: 오류 핸들러});환경 변수
자격 증명은 코드에 포함하지 말고 환경 변수에 저장하세요:
HASHEE_AGENT_ID=your-agent-uuidHASHEE_AGENT_TOKEN=hsk_your-tokenOPENAI_API_KEY=sk-your-openai-key