봇 공유
AISCouncil의 핵심 기능 중 하나는 공유 가능한 봇 URL입니다. URL이 곧 봇입니다 -- 전체 봇 구성이 URL 프래그먼트에 직접 인코딩됩니다. 서버가 관여하지 않고, 공유 봇을 열기 위해 계정이 필요 없으며, URL 자체와 받는 사람의 브라우저 외에는 어디에도 데이터가 저장되지 않습니다.
URL 공유 작동 방식
봇 구성은 URL 프래그먼트(# 뒤 부분)에 압축되고 인코딩됩니다. URL 프래그먼트는 서버로 전송되지 않으므로 봇 구성은 완전히 클라이언트 측에서 이동합니다.
과정:
- 봇 구성 객체가 최소 JSON으로 직렬화됨
- JSON이 Deflate로 압축됨
- 압축된 바이트가 Base80으로 인코딩됨 (FRAG80 URL 안전 알파벳 사용)
- VLQ 버전 접두사가 앞에 추가됨
결과는 다음과 같은 자체 포함 URL입니다:
https://aiscouncil.net/#B3kF9xR2mN7pQ...
일반적인 봇 URL은 주로 시스템 프롬프트 길이에 따라 100-300자입니다.
봇 공유 방법
- 공유하려는 봇 열기 (사이드바에서 클릭)
- 헤더에서 공유 버튼 클릭
- URL이 생성되어 클립보드에 복사됨
- URL을 원하는 채널로 전송 -- 이메일, 채팅, 소셜 미디어, QR 코드 등
공유 버튼을 클릭한 후 주소 표시줄을 마우스 오른쪽 버튼으로 클릭하고 URL을 직접 복사할 수도 있습니다. 인코딩된 봇 구성이 포함되도록 주소 표시줄의 URL이 업데이트되기 때문입니다.
공유되는 항목
공유 URL에는 봇을 재생성하는 데 필요한 모든 것이 포함됩니다:
- 봇 이름
- 제공업체 및 모델 선택
- 시스템 프롬프트 (전체 텍스트)
- 온도, 최대 토큰 및 모든 생성 매개변수
- 고급 설정 (top P, 빈도/존재 페널티, 추론 노력 등)
- 페르소나 설정 (아이콘, 설명, 색상)
- Council 구성 (멤버, 스타일, 의장, 투표 모드) 해당하는 경우
공유되지 않는 항목
다음은 공유 URL에 절대 포함되지 않습니다:
| 데이터 | 이유 |
|---|---|
| API 키 | 보안 -- 키는 항상 로컬 |
| 채팅 기록 | 개인정보 -- 대화는 기기에 유지 |
| 봇별 API 키 재정의 | 보안 -- 전역 키와 동일하게 처리 |
| 로컬 설정 | 테마, 글꼴 크기 및 기타 UI 기본 설정은 기기별 |
| 사용량 데이터 | 토큰 수 및 비용은 기기별 |
API 키는 어떤 상황에서도 URL에 인코딩되지 않습니다. 봇 구성 스키마는 URL 인코딩 중에 키 필드를 명시적으로 제외합니다. 이것은 플랫폼의 핵심 보안 보장입니다.
공유 봇 받기
누군가가 공유 봇 URL을 보내면:
- 브라우저에서 URL 열기
- 이미 로그인되어 있지 않은 경우 로그인 (
auth: 1이 설정된 경우 봇이 직접 로드될 수 있음) - URL 프래그먼트에서 봇 구성이 디코딩되어 로드됨
- 아직 저장된 것이 없는 경우 봇의 제공업체에 대한 API 키 입력
- 채팅 시작 -- 봇이 보낸 사람의 모든 설정으로 사이드바에 나타남
받는 사람은 봇 구성의 정확한 복사본을 얻지만 자신의:
- API 키 (이전에 저장되었거나 새로 입력됨)
- 빈 채팅 기록 (대화는 절대 공유되지 않음)
- 로컬 설정 (테마, 기본 설정)
URL 형식
https://aiscouncil.net/#B{base80_payload}
| 구성 요소 | 설명 |
|---|---|
https://aiscouncil.net/ | 앱 도메인 |
# | 프래그먼트 식별자 (어떤 서버로도 전송되지 않음) |
B | VLQ 버전 접두사 -- B는 버전 1 (Config V2 스키마)을 나타냄 |
{base80_payload} | Base80으로 인코딩된 Deflate 압축 봇 구성 |
Base80 FRAG80 알파벳은 퍼센트 인코딩 없이 URL 프래그먼트에서 정보 밀도를 최대화하기 위해 URL 안전 문자를 사용합니다.
봇 구성이 URL 프래그먼트(#...)에 완전히 존재하므로 어떤 서버에도 전송되지 않습니다. URL 프래그먼트는 클라이언트 측에서만 처리됩니다 -- 이것은 HTTP 사양(RFC 3986)에 의해 강제됩니다. URL을 공유하면 프래그먼트는 사용하는 채널(이메일, 채팅 등)을 통해 전달되지만 AISCouncil 서버는 이를 절대 보지 못합니다.
Auth 필드
봇 구성은 받는 사람이 로그인해야 하는지 여부를 제어하는 선택적 auth 필드를 포함합니다:
| 값 | 동작 |
|---|---|
auth: 1 | 공개 -- 로그인하지 않고도 누구나 봇을 열 수 있음 |
auth: 0 또는 없음 | 보호됨 -- 봇이 로드되기 전에 받는 사람이 로그인해야 함 |
기본적으로 공유 봇은 로그인이 필요합니다. 계정 없이 누구나 봇에 액세스할 수 있도록 하려면 구성에서 auth: 1을 설정하세요.
압축 세부 정보
압축 파이프라인은 URL을 가능한 한 짧게 유지합니다:
| 단계 | 입력 | 출력 |
|---|---|---|
| 1. 직렬화 | 구성 객체 | 최소 JSON (단축 키, 기본값 없음) |
| 2. 압축 | JSON 문자열 | Deflate 압축 바이트 |
| 3. 인코딩 | 압축 바이트 | Base80 문자열 |
| 4. 접두사 | Base80 문자열 | B + Base80 문자열 |
기본값이 아닌 값만 직렬화된 JSON에 포함됩니다. 기본 온도(0.7)와 기본 최대 토큰(4096)이 있는 봇은 이 필드를 완전히 생략하여 공간을 절약합니다.
일반적인 URL 길이:
| 봇 유형 | 시스템 프롬프트 | 대략적인 URL 길이 |
|---|---|---|
| 간단한 봇, 프롬프트 없음 | 없음 | ~80자 |
| 표준 봇 | 100자 | ~150자 |
| 상세한 봇 | 500자 | ~300자 |
| Council (3개 모델) | 200자 | ~350자 |
Councils 공유
Council (다중 모델) 봇은 개별 봇과 동일한 방식으로 공유할 수 있습니다. 공유 URL에는 다음이 포함됩니다:
- 모든 멤버 모델 구성 (각각의 제공업체 + 모델)
- Council 스타일 (council, compare, arena, moa, router, debate, consensus)
- 의장 인덱스, 투표 모드, 심의 라운드
- 공유 시스템 프롬프트
받는 사람은 council 멤버가 사용하는 모든 제공업체에 대한 API 키가 필요합니다. Council이 세 가지 다른 제공업체를 사용하는 경우 받는 사람은 세 가지 모두에 대한 키가 필요합니다.
공유 팁
- 공유 URL을 시크릿 창에서 열어 받는 사람이 경험하는 것을 확인하여 테스트
- 더 짧은 URL을 원하면 시스템 프롬프트를 간결하게 유지
- 공개적으로 공유하고 받는 사람이 계정이 필요하지 않도록 하려면 auth 필드 사용 (
auth: 1) - 공유 URL은 자체 포함됨 -- 구성이 URL에 있고 서버에 없으므로 보낸 사람이 봇을 삭제해도 작동함