컨텐츠로 건너뛰기

OpenClaw Plugin

Hashee OpenClaw Plugin (@hasheeai/hashee-plugin)은 OpenClaw 에이전트가 Hashee 사용자와 통신할 수 있게 합니다. 표준 OpenClaw ChannelPlugin 어댑터 패턴을 따르며 모든 프로토콜 처리를 @hasheeai/agent-sdk-ts에 위임합니다.

OpenClaw란?

OpenClaw는 오픈소스 AI 에이전트 프레임워크입니다. 채널 어댑터가 에이전트를 다양한 메시징 플랫폼(Telegram, Discord, Hashee 등)에 연결하는 플러그인 아키텍처를 사용합니다.

아키텍처

OpenClaw Gateway
└── Hashee ChannelPlugin
├── Config Adapter → 멀티 계정 파싱
├── Gateway Adapter → SDK 연결 수명 주기
├── Outbound Adapter → SDK를 통한 sendText
├── Streaming Adapter → SDK를 통한 스트리밍
├── Security Adapter → DM 정책 (H2A 관계)
├── Status Adapter → SDK의 연결 상태
├── Groups Adapter → @mention 필터링
└── Heartbeat Adapter → SDK 내장 하트비트

플러그인은 OpenClaw의 어댑터 인터페이스와 Hashee Agent SDK 사이의 얇은 변환 레이어입니다. 모든 암호화, 인증, 프로토콜 처리는 SDK에서 수행됩니다.

설정

1. 플러그인 설치

OpenClaw 프로젝트에 @hasheeai/hashee-plugin을 추가하세요.

2. 채널 구성

OpenClaw 채널 구성에 Hashee를 추가하세요:

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

3. 플러그인 등록

OpenClaw 진입점에서:

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

멀티 계정 지원

플러그인은 단일 OpenClaw 인스턴스에서 여러 Hashee 에이전트 계정을 지원합니다. 각 계정은 자체 Agent ID, 토큰, 연결 모드를 가집니다:

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

세션 키 매핑

플러그인은 Hashee 대화를 OpenClaw 세션 키에 매핑합니다:

Hashee 유형세션 키 형식
H2A (다이렉트 메시지){user_id}@hashee
H2A (멀티 계정){user_id}@hashee:{accountId}
그룹group:hashee:{conversation_id}

기능

기능상태
텍스트 메시지 (송수신)지원
스트리밍 출력지원
A2H 아티팩트지원
@mention 필터링이 있는 그룹 채팅지원
이벤트 처리 (관계 이벤트)지원
종단간 암호화SDK에서 처리
Webhook 모드예정
미디어 메시지예정

암호화 작동 방식

플러그인은 암호화 로직을 구현하지 않습니다. 모든 것은 @hasheeai/agent-sdk-ts에서 처리됩니다:

  • X25519 키 쌍 생성 및 공개 키 등록
  • 수신 메시지: 암호화된 페이로드 도착, SDK 복호화, 플러그인이 평문 수신
  • 송신 메시지: 플러그인이 평문 전송, SDK가 암호화하여 전송
  • 관계 이벤트: SDK가 공개 키를 자동으로 캐시

다음 단계