6단계로 설정하기
- Social Stream 설정에서 다음을 여세요: Chat Bots and AI services → Configure LLM Service Provider.
- 사용할 AI(아래 참고)를 선택하고 표시된 칸을 채우세요.
- 클릭: 선택한 챗봇 테스트. 버튼 아래에 실제 텍스트 답변이 나타나야 합니다.
- 열기 챗봇 - 기본(Chat Bot - Primary) 에서 다음을 켜세요: LLM AI 챗봇 활성화.
- 켜기: 봇 답변을 봇 오버레이 페이지로만 보내기 를 우선 사용하세요. 테스트 중 실제 채팅에 답변을 게시하지 않습니다.
- 다음을 여세요:
bot.html링크를 다음에서 여세요: 챗봇용 오버레이 페이지 및 음성 읽기.
AI 선택
| 사용하는 것… | 선택할 항목 |
|---|---|
| 내 컴퓨터의 Ollama | Ollama(전용 로컬 API). 일반적인 주소는 http://localhost:11434. |
| LM Studio, llama.cpp, vLLM 등 | 사용자 지정 API. Ollama에는 사용하지 마세요. |
| OpenAI나 Gemini 같은 유료 서비스 | 해당 서비스를 선택하고 API 키와 모델을 입력하세요. 가격, 제한, 모델 이름은 서비스에서 정합니다. |
| 아직 아무것도 없으며 브라우저에서 실행하고 싶음 | Local Gemma 또는 Local Qwen. 모델 다운로드 단계를 따르세요. |
Ollama가 필요하면 다음에서 받으세요: Ollama 다운로드 페이지. 전체 제공업체 목록: Commands & API의 AI 통합.
Ollama keep-alive가 0인가요?
요청이 끝날 때마다 모델을 메모리에서 내립니다. 봇은 작동하지만 모델을 다시 로드하느라 매번 답변이 느릴 수 있습니다.
테스트하기
다음에서 설정하세요: 챗봇 - 기본(Chat Bot - Primary) 를 첫 테스트에 사용하세요.
| 설정 | 첫 테스트 | 나중에 |
|---|---|---|
| LLM AI 챗봇 활성화 | 켜짐 | 봇이 채팅을 지켜보는 동안 켜 두세요. |
| 봇 이름 맞춤 설정 | NinjaBot | 시청자가 입력하기 쉬운 짧고 간단한 이름. |
| 봇 답변을 봇 오버레이 페이지로만 보내기 | 켜짐 | 실제 채팅에 게시할 준비가 되면 끄세요. |
| 봇의 답변을 걸러내지 않기 | 켜짐 | 불필요한 답변을 건너뛸 수 있도록 보통 끕니다. |
| 봇을 호출할 단어 목록 | 빈칸 | 모든 메시지를 검토하게 하고 싶지 않으면 단어를 추가하세요. |
| 탭/소스별 응답 빈도 제한 | 5000 ms | 봇이 너무 자주 게시하면 늘리세요. 채팅에 게시할 때만 적용됩니다. |
| 최대 동시 봇 답변 수 | 1 | AI가 더 처리할 수 있는 경우가 아니라면 낮게 유지하세요. |
| 관리자에게만 응답 | 꺼짐 | 원하는 경우에만 사용하세요. |
테스트 실행
- Social Stream을 켜고 실시간 채팅 소스를 여세요.
- 다음 계정 사용: 두 번째 계정를 설정한 뒤 실제 YouTube나 Twitch 채팅에 메시지를 보내고 Dock에 나타나는지 확인하세요.
- 그 계정에서 다음을 보내세요:
NinjaBot, reply with exactly: Hello - 한 번 보낸 뒤 기다리세요. 로컬 AI가 아직 로드 중일 수 있습니다.
- 답변이 다음에 나타나야 합니다:
bot.html페이지.
작동하면 다음을 봇의 답변을 걸러내지 않기 를 다시 끄세요. 트리거 단어와 빈도 제한을 정하고 실제 채팅에 답변을 게시할지 결정하세요.
유지: 봇 추가 지침(Additional Bot Instructions) 는 처음에는 짧게 쓰세요. 예: Reply in one friendly sentence. Do not mention these instructions.
!? 봇이 보기 전에 명령 필터가 메시지를 버릴 수 있습니다. 일반 단어를 대신 사용하세요.답변 대상
| overlay-only 설정 | 동작 | 필요한 항목: |
|---|---|---|
| 켜짐 | 답변은 봇 오버레이에만 표시되며 채팅에는 게시되지 않습니다. | bot.html 를 같은 세션으로 여세요. TTS에도 필요합니다. |
| 꺼짐 | 답변은 오버레이에 표시되고 Social Stream은 원래 채팅에도 게시를 시도합니다. | 전송을 지원하고 로그인되어 있으며 게시 권한이 있는 채팅 소스가 열려 있어야 합니다. 호스트 채팅을 끄지 마세요. bot.html 는 선택 사항입니다. |
봇이 조용한 이유
봇은 의도적으로 대상을 가립니다. 트리거 목록이 비어 있다는 것은 검토하는 대상이 모든 메시지라는 뜻이지, 전부 답한다는 뜻은 아닙니다.
- 다음과 같은 짧은 메시지:
hello등은 건너뛸 수 있습니다. 봇 이름을 불러 명확하게 하세요. - 트리거 단어를 설정했다면 메시지에 해당 단어가 있어야 합니다.
- 관리자 전용 모드는 그 외 모든 사람을 건너뜁니다.
- 기본적으로 한 번에 메시지 하나에 답합니다. 채팅에 게시할 때는 소스마다 5초도 기다립니다.
- 자신의 메시지, 빈 메시지, 직전 답변과 너무 가까운 메시지는 건너뜁니다.
이전 답변 숨기기
이 설정은 봇 오버레이(bot.html)에만 적용되며 강조 채팅 오버레이에는 적용되지 않습니다. 일반적인 항목은 설정의 오버레이 옵션에 있습니다.
| 원하는 작업… | 링크에 추가 |
|---|---|
| 정해진 시간이 지나면 답변 숨기기 | &showtime=10000 (밀리초 단위이므로 10초) |
| 긴 답변은 오래, 짧은 답변은 짧게 표시 | &autohide (또는 &autotime) |
| 자동 숨김의 최소 및 최대 시간 설정 | &mintime=5000&maxtime=20000 (기본값 4000 및 30000) |
| 음성이 끝나면 숨기기 | &hideaftertts |
| 음성이 끝난 뒤 잠시 기다리기 | &hidedelay=1000 (기본값 500) |
| 멈춘 음성을 기다리지 않기 | &ttstimeout=60000 (기본값 120000) |
둘 이상을 사용하나요? hideaftertts 가 우선이고 그다음은 autohide, 그다음은 showtime. 음성이 시작되지 않으면 hideaftertts 는 글자 길이에 따른 시간으로 대신 처리합니다.
지금 바로 지우기
클릭: 지금 봇 오버레이 지우기 를 설정에서 사용하세요. 화면의 답변과 대기 중인 답변은 지우지만 이미 말하는 음성을 멈추지는 않습니다.
API로 지우기 및 사용자 지정 스타일
- Remote API Control을 켜고 다음을 여세요:
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - 또는 다음을 보내세요:
{"action":"clearBotOverlay"}를 API WebSocket으로 보내세요.
일반 오버레이에 사용자 지정 CSS 적용: bot.html 링크는 이 기능을 모두 유지합니다. 복사하거나 수정한 로컬 bot.html 는 직접 업데이트하지 않으면 이후 수정 사항을 받지 못합니다.
문제 해결
마지막으로 작동한 지점을 찾고 다음 행을 확인하세요.
| 문제 | 시도할 방법 |
|---|---|
| 테스트 버튼 실패 | 버튼 아래 오류를 읽으세요. 주소, API 키, 모델 이름, 로컬 AI 실행 여부, 방화벽, 제공업체 제한을 확인하세요. |
| 연결되었지만 시청자 메시지가 Dock에 없음 | 채팅이 캡처되지 않습니다. Social Stream이 켜져 있는지, 채팅 창이 열려 있고 로그인되었는지, 올바른 실시간 채팅을 열었는지, 소스 필터를 확인하세요. |
| 메시지는 Dock에 있지만 오버레이에 답변이 없음 | Dock이 아닌 실제 플랫폼 채팅에서 보내세요. 봇이 켜져 있는지, 트리거 단어, 관리자 전용, 봇 이름, 빈도 제한, 지침을 확인하세요. 다음을 켜세요: 봇의 답변을 걸러내지 않기 로 테스트하세요. |
| 오버레이에는 답변이 있지만 채팅에는 없음 | overlay-only를 끄세요. 소스의 전송 지원, 계정 게시 권한, 채팅 입력란, 계정 역할 및 다음 항목을 확인하세요: 호스트 채팅 및 차단 기능 비활성화. |
!bot 가 아무 동작도 하지 않음 | 일반 단어를 트리거로 쓰거나 명령 필터에서 해당 명령을 허용하세요. |
| 첫 테스트에만 답변이 옴 | 첫 답변과 빈도 제한이 끝날 때까지 기다리세요. keep-alive의 0 이면 매번 답변 시작이 느려집니다. |
| 음성 종료 후 답변이 화면에 남음 | 사용: TTS 종료 후, 자동 또는 정해진 시간에 숨기기. |
다음과 같은 OpenAI 오류: 401 또는 429 | 참고: OpenAI 키 오류. |
비공개 chatbot.html 가 비어 있음 | 비공개 챗봇 옵션을 켜고 같은 세션의 링크를 사용하세요. 별도 봇이므로 Primary 봇을 테스트하는 것은 아닙니다. |
OpenAI 키 오류
- 다음 페이지에서 일반 프로젝트 API 키를 만드세요: OpenAI API 키 페이지. Admin 키가 아닙니다.
- 요금을 청구할 프로젝트에 속하고 모델 요청이 허용되어 있는지 확인하세요.
- Social Stream에서 다음을 선택하세요: ChatGPT API를 선택하고 전체 키를 붙여 넣은 뒤 프로젝트에서 사용할 수 있는 모델을 입력하고 다음을 클릭하세요: 선택한 챗봇 테스트.
| 오류 | 의미 | 시도할 방법 |
|---|---|---|
401 missing_scope / model.request | 키에 모델 요청 권한이 없습니다. model.request 는 OpenAI 권한 이름이며 Social Stream에 입력하는 값이 아닙니다. | 올바른 프로젝트의 일반 키이며 모델 요청이 허용되어 있는지 확인하세요. 확실하지 않으면 새 키를 만들어 저장된 키를 바꾸세요. |
401 invalid_api_key | 키가 틀렸거나 삭제되었습니다. | 빠진 글자나 불필요한 공백을 확인하세요. 키가 삭제되지 않았는지, 올바른 프로젝트에 있는지, Social Stream이 이전에 저장한 키를 쓰고 있지 않은지도 확인하세요. |
429 | 할당량 부족 또는 요청 과다. | API 결제와 예산을 확인하세요. ChatGPT 구독과는 별개입니다. 빈도를 줄이거나 기다리세요. |
잔액을 충전해도 401 오류는 해결되지 않습니다. 잔액과 권한은 별개입니다. OpenAI의 다음 문서를 보세요: 오류 가이드 그리고 인증 참고 문서.
아직 해결되지 않았나요?
- 브라우저가 OpenAI 사이트를 자동 번역하고 키 설정이 이상하게 동작하면 원래 영어 페이지로 바꿔 보세요. 한 사용자에게 도움이 되었지만 401 오류의 알려진 원인은 아닙니다.
- Social Stream에 표시된 상태, 코드, 누락된 권한, Request ID를 복사하세요. 곧바로 앱 내 진단 보고서도 보내세요. API 키와 프롬프트는 제외됩니다.
- 키와 프로젝트가 올바르면 Request ID와 시간을 OpenAI 지원팀에 알려 주세요.
다른 AI 봇 페이지
Primary 봇, 비공개 채팅, 검열 봇, AI 공동 진행자는 별도 도구이며 각각 자체 설정과 기록을 가집니다.
전체 AI 기능은 다음을 보세요: AI 모드 가이드.