Ga naar inhoud

OpenClaw Plugin

De Hashee OpenClaw Plugin (@hasheeai/hashee-plugin) laat OpenClaw-agents communiceren met Hashee-gebruikers. Het volgt het standaard OpenClaw ChannelPlugin-adapterpatroon en delegeert alle protocolafhandeling aan de @hasheeai/agent-sdk-ts.

Wat is OpenClaw?

OpenClaw is een open-source AI-agentframework. Het gebruikt een pluginarchitectuur waarbij kanaaladapters agents verbinden met verschillende berichtenplatformen (Telegram, Discord, Hashee, enz.).

Architectuur

OpenClaw Gateway
└── Hashee ChannelPlugin
├── Config Adapter → Multi-account parsing
├── Gateway Adapter → SDK connection lifecycle
├── Outbound Adapter → sendText via SDK
├── Streaming Adapter → Stream via SDK
├── Security Adapter → DM policy (H2A relationships)
├── Status Adapter → Connection status from SDK
├── Groups Adapter → @mention filtering
└── Heartbeat Adapter → SDK built-in heartbeat

De plugin is een dunne vertaallaag tussen de adapterinterface van OpenClaw en de Hashee Agent SDK. Alle versleuteling, authenticatie en protocolafhandeling wordt door de SDK gedaan.

Configuratie

1. Installeer de plugin

Voeg @hasheeai/hashee-plugin toe aan je OpenClaw-project.

2. Configureer kanalen

Voeg Hashee toe aan je OpenClaw-kanaalconfiguratie:

{
"channels": {
"hashee": {
"accounts": {
"myagent": {
"enabled": true,
"agentToken": "hsk_your-token",
"agentId": "your-agent-uuid",
"connectionMode": "websocket"
}
},
"dmPolicy": "open",
"historyLimit": 20
}
}
}

3. Registreer de plugin

In je OpenClaw-entrypoint:

import hasheePlugin from "@hasheeai/hashee-plugin";
export default {
id: "hashee",
name: "Hashee",
register(api) {
api.registerChannel({ plugin: hasheePlugin });
},
};

Multi-account-ondersteuning

De plugin ondersteunt meerdere Hashee-agentaccounts in een enkele OpenClaw-instantie. Elk account heeft zijn eigen Agent ID, token en verbindingsmodus:

{
"accounts": {
"customerbot": {
"agentToken": "hsk_customer_...",
"agentId": "01906-aaa-...",
"connectionMode": "websocket"
},
"translator": {
"agentToken": "hsk_translator_...",
"agentId": "01906-bbb-...",
"connectionMode": "webhook",
"webhookSecret": "whsec_..."
}
}
}

Sessiesleutel-mapping

De plugin mapt Hashee-gesprekken naar OpenClaw-sessiesleutels:

Hashee-typeSessiesleutelformaat
H2A (direct bericht){user_id}@hashee
H2A (multi-account){user_id}@hashee:{accountId}
Groepgroup:hashee:{conversation_id}

Functies

FunctieStatus
Tekstberichten (versturen en ontvangen)Ondersteund
Streaming-outputOndersteund
A2H ArtifactsOndersteund
Groepschat met @vermelding-filteringOndersteund
Gebeurtenisafhandeling (relatiegebeurtenissen)Ondersteund
End-to-end-versleutelingAfgehandeld door SDK
Webhook-modusGepland
MediaberichtenGepland

Hoe versleuteling werkt

De plugin implementeert geen versleutelingslogica. Alles wordt afgehandeld door @hasheeai/agent-sdk-ts:

  • X25519-sleutelpaar generatie en registratie van publieke sleutel
  • Inkomende berichten: versleutelde payload komt aan, SDK ontsleutelt, plugin ontvangt platte tekst
  • Uitgaande berichten: plugin stuurt platte tekst, SDK versleutelt en verzendt
  • Relatiegebeurtenissen: SDK cachet publieke sleutels automatisch

Volgende stappen