Zalo Personal (비공식)

상태: 실험적. 이 통합은 zca-cli를 통해 개인 Zalo 계정을 자동화합니다.

경고: 이것은 비공식 통합이며 계정 정지/차단을 초래할 수 있습니다. 본인의 책임 하에 사용하세요.

플러그인 필요

Zalo Personal은 플러그인으로 제공되며 코어 설치에 포함되어 있지 않습니다.

  • CLI를 통한 설치: openclaw plugins install @openclaw/zalouser
  • 또는 소스 체크아웃에서: openclaw plugins install ./extensions/zalouser
  • 자세한 내용: Plugins

전제 조건: zca-cli

Gateway 머신의 PATHzca 바이너리가 있어야 합니다.

  • 확인: zca --version
  • 없으면 zca-cli를 설치하세요 (extensions/zalouser/README.md 또는 업스트림 zca-cli 문서 참조).

빠른 설정 (초보자)

  1. 플러그인 설치 (위 참조).
  2. 로그인 (QR, Gateway 머신에서):
    • openclaw channels login --channel zalouser
    • Zalo 모바일 앱으로 터미널의 QR 코드를 스캔하세요.
  3. 채널 활성화:
{
  channels: {
    zalouser: {
      enabled: true,
      dmPolicy: "pairing"
    }
  }
}
  1. Gateway를 재시작합니다 (또는 온보딩 완료).
  2. DM 접근은 기본적으로 페어링입니다; 첫 연락 시 페어링 코드를 승인하세요.

무엇인가

  • zca listen을 사용하여 인바운드 메시지를 수신합니다.
  • zca msg ...를 사용하여 답장(텍스트/미디어/링크)을 전송합니다.
  • Zalo Bot API를 사용할 수 없는 "개인 계정" 사용 사례를 위해 설계되었습니다.

이름 지정

채널 ID는 zalouser로, 개인 Zalo 사용자 계정(비공식)을 자동화한다는 것을 명시합니다. zalo는 잠재적인 미래 공식 Zalo API 통합을 위해 예약합니다.

ID 찾기 (디렉토리)

디렉토리 CLI를 사용하여 피어/그룹 및 해당 ID를 검색하세요:

openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"

제한사항

  • 아웃바운드 텍스트는 ~2000자로 청킹됩니다 (Zalo 클라이언트 제한).
  • 스트리밍은 기본적으로 차단됩니다.

접근 제어 (DM)

channels.zalouser.dmPolicy는 다음을 지원합니다: pairing | allowlist | open | disabled (기본값: pairing). channels.zalouser.allowFrom은 사용자 ID 또는 이름을 허용합니다. 마법사는 가능한 경우 zca friend find를 통해 이름을 ID로 확인합니다.

다음을 통해 승인:

  • openclaw pairing list zalouser
  • openclaw pairing approve zalouser <code>

그룹 접근 (선택 사항)

  • 기본값: channels.zalouser.groupPolicy = "open" (그룹 허용). 설정되지 않은 경우 기본값을 재정의하려면 channels.defaults.groupPolicy를 사용하세요.
  • allowlist로 제한:
    • channels.zalouser.groupPolicy = "allowlist"
    • channels.zalouser.groups (키는 그룹 ID 또는 이름)
  • 모든 그룹 차단: channels.zalouser.groupPolicy = "disabled".
  • 구성 마법사는 그룹 allowlist를 요청할 수 있습니다.
  • 시작 시 OpenClaw는 allowlist의 그룹/사용자 이름을 ID로 확인하고 매핑을 기록합니다; 확인되지 않은 항목은 입력된 그대로 유지됩니다.

예시:

{
  channels: {
    zalouser: {
      groupPolicy: "allowlist",
      groups: {
        "123456789": { allow: true },
        "Work Chat": { allow: true }
      }
    }
  }
}

다중 계정

계정은 zca 프로필에 매핑됩니다. 예시:

{
  channels: {
    zalouser: {
      enabled: true,
      defaultAccount: "default",
      accounts: {
        work: { enabled: true, profile: "work" }
      }
    }
  }
}

문제 해결

zca를 찾을 수 없음:

  • zca-cli를 설치하고 Gateway 프로세스의 PATH에 있는지 확인하세요.

로그인이 유지되지 않음:

  • openclaw channels status --probe
  • 재로그인: openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser