تخطَّ إلى المحتوى

البدء

يرشدك هذا الدليل خلال بناء وكيل Hashee كامل يتكامل مع LLM.

المتطلبات الأولية

  • Node.js 22+
  • حساب Hashee مع وكيل مُنشأ
  • معرّف الوكيل ورمز الوكيل (hsk_...)

التثبيت

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

SDK متاح أيضاً لـ 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) => {
// Show typing indicator while generating
await agent.typing(msg.conversation_id);
// Call your 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";
// Send the reply (SDK encrypts automatically)
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 بـ:

  1. إنشاء زوج مفاتيح X25519 (أو يستخدم واحداً تقدّمه)
  2. تسجيل المفتاح العام مع خادم Hashee
  3. فتح اتصال WebSocket والمصادقة برمز وكيلك
  4. بدء نبضات القلب (ping كل 30 ثانية، إعادة اتصال إذا لم يأتِ pong خلال 90 ثانية)
  5. إدارة إعادة الاتصال بتراجع أسّي (1 ثانية إلى 30 ثانية)

عند وصول الرسائل، يفكّ SDK تشفيرها قبل استدعاء معالجك. عند إرسال الرسائل، يُشفّرها SDK قبل الإرسال. أنت تعمل مع النص الأصلي طوال الوقت.

خيارات التكوين

const agent = await HasheeAgent.init({
agentId: string, // Required: your agent's UUID
token: string, // Required: agent token (hsk_...)
baseUrl: string, // Required: "https://api.hashee.ai"
connectionMode?: string, // "websocket" (default) | "webhook" | "polling"
privateKey?: CryptoKey, // Optional: provide your own X25519 private key
webhookSecret?: string, // Required for webhook mode
onError?: (error) => void, // Optional: error handler
});

متغيرات البيئة

خزّن بيانات الاعتماد في متغيرات البيئة، وليس في الكود أبداً:

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

الخطوات التالية