SimpleX Chat
SimpleX Chat는 사용자가 자신의 연락처와 그룹을 소유하는 비공개 탈중앙 메시징 플랫폼이다. 다른 플랫폼과 다르게 SimpleX는 영구 사용자 ID를 부여하지 않는다. 모든 연락처는 연결 시 생성된 불투명한 내부 ID로 식별되며, 이로 인해 가장 비공개적인 메신저 중 하나가 된다.
사전 요구사항
- simplex-chat CLI 설치 및 데몬으로 실행 중
- Python 패키지 websockets (
pip install websockets)
simplex-chat 설치
simplex-chat GitHub releases 페이지에서 최신 릴리스 다운로드, 또는 Docker로:
# Linux / macOS binary
curl -L https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex-chat-ubuntu-22_04-x86-64 -o simplex-chat
chmod +x simplex-chat
# Or Docker
docker run -p 5225:5225 simplexchat/simplex-chat -p 5225
데몬 시작
simplex-chat -p 5225
데몬은 기본적으로 ws://127.0.0.1:5225의 WebSocket에서 수신 대기.
Hermes 구성
설정 마법사 사용
hermes setup gateway
SimpleX Chat 선택 후 프롬프트 따라가기.
환경변수 사용
다음 항목을 ~/.hermes/.env에 추가:
SIMPLEX_WS_URL=ws://127.0.0.1:5225
SIMPLEX_ALLOWED_USERS=<contact-id-1>,<contact-id-2>
SIMPLEX_HOME_CHANNEL=<contact-id>
| 변수 | 필수 여부 | 설명 |
|---|---|---|
SIMPLEX_WS_URL | 예 | simplex-chat 데몬의 WebSocket URL |
SIMPLEX_ALLOWED_USERS | 권장 | 에이전트 사용이 허용된 연락처 ID 쉼표 구분 목록 |
SIMPLEX_ALLOW_ALL_USERS | 선택 | true 설정 시 모든 연락처 허용 (주의해서 사용) |
SIMPLEX_HOME_CHANNEL | 선택 | cron 작업 전달용 기본 연락처 ID |
SIMPLEX_HOME_CHANNEL_NAME | 선택 | 홈 채널의 사람이 읽을 수 있는 라벨 |
연락처 ID 찾기
데몬 시작 후 에이전트 연락처와 대화 열기. 연락처 ID는 세션 로그 또는 hermes send_message action=list 통해 표시됨.
권한 부여
기본적으로 모든 연락처는 거부됨. 다음 중 하나 필요:
SIMPLEX_ALLOWED_USERS를 연락처 ID 쉼표 구분 목록으로 설정, 또는- DM 페어링 사용 — 봇에 메시지 전송 시 페어링 코드 응답. 해당 코드를
hermes gateway pair통해 입력.
SimpleX를 cron 작업과 함께 사용
cronjob(
action="create",
schedule="every 1h",
deliver="simplex", # uses SIMPLEX_HOME_CHANNEL
prompt="Check for alerts and summarise."
)
또는 특정 연락처 지정:
send_message(target="simplex:<contact-id>", message="Done!")
프라이버시 참고사항
- SimpleX는 전화번호나 이메일 주소 노출 안 함 — 연락처는 불투명 ID 사용
- Hermes와 데몬 간 연결은 로컬 WebSocket (
ws://127.0.0.1:5225) — 데이터가 머신 밖으로 나가지 않음 - 메시지는 데몬 도달 전 SimpleX 프로토콜로 종단간 암호화됨
문제 해결
"Cannot reach daemon" — simplex-chat -p 5225 실행 중이고 포트가 SIMPLEX_WS_URL와 일치하는지 확인.
"websockets not installed" — pip install websockets 실행.
메시지 수신 안 됨 — 연락처 ID가 SIMPLEX_ALLOWED_USERS에 있는지 확인 또는 DM 페어링으로 승인.