FoloToy 캐릭터 구성
FoloToy 캐릭터를 안전하게 구성하고 실제 장치에서 결과를 확인합니다.
API 호출을 하기 전에 references/api-workflow.md를 읽으세요. 사용자가 페르소나나 첫마디 디자인에 대한 도움을 원할 때는 references/examples.md를 읽으세요.
지원 작업
- 전화번호와 일회용 SMS 코드로 로그인합니다.
- 승인된 장치가 이미 페어링되었는지 확인합니다.
- 페어링되지 않은 장치를 SN과 페어링 키로 페어링합니다.
- 현재 장치, 활성 캐릭터, 사용 가능한 음성 모델을 읽습니다.
- 캐릭터 페르소나, 첫마디, 음성을 변경합니다.
- 저장된 캐릭터를 다시 읽고 물리적 장치 테스트를 안내합니다.
이 스킬을 사용하여 장치 페어링 해제, 메모리 삭제, 네트워크 재설정, 계정 삭제, 서비스 구매, 또는 사용자가 소유하지 않거나 명시적 관리 권한이 없는 장치를 제어하지 마십시오.
안전 모델
비밀 정보는 계정 또는 물리적 장치를 식별합니다. 이를 프롬프트, 소스 파일, 스크린샷, URL, 영구 로그 및 최종 보고서에 포함하지 마십시오.
- 전화번호, SMS 코드, SN, 페어링 키는 각 값이 필요할 때만 요청합니다.
- 전체 전화번호, SMS 코드, 페어링 키 또는 액세스 토큰을 표시하지 않습니다.
- 액세스 토큰은 현재 작업에 대해서만 유지합니다. 인메모리 변수나 보호된 임시 세션을 선호하며 작업 완료 시 제거합니다.
- 소유권이 명확하지 않거나 장치가 다른 계정에 페어링된 경우 중단합니다.
- 업데이트 요청 전에 사람이 읽을 수 있는 diff를 표시하고 명시적 확인을 받습니다.
- 승인된 필드만 변경합니다. 현재 모델 ID와 기타 모든 필수 필드를 유지합니다.
- 저장 후 캐릭터를 다시 읽습니다. 성공적인 쓰기 응답만으로는 충분한 검증이 아닙니다.
워크플로우
1. 지역 및 동의 확인
계정이 중국 본토 서비스를 사용하는지 국제 서비스를 사용하는지 물어보십시오:
- 중국 본토:
https://webapp.folotoy.cn - 국제:
https://webapp.folotoy.com
워크플로우가 하나의 SMS를 보내고 물리적 장치 구성을 변경한다고 설명합니다. 사용자가 장치를 소유하거나 관리할 권한이 있는지 확인합니다.
2. 로그인
국가 코드를 포함한 전화번호를 요청합니다. API 참조에 문서화된 요청을 사용하여 인증 코드를 보냅니다.
잠시 멈추고 여섯 자리 코드를 요청합니다. 추측하지 말고, 다른 소스에서 검색하지 말며, 사용자가 제공하기 전에 계속 진행하지 마십시오.
로그인하고 반환된 베어러 토큰을 이 작업에 대해서만 보관합니다. 인증에 실패하면 국가 코드와 코드 만료 시간을 확인합니다. SMS 메시지를 반복적으로 보내지 마십시오.
3. 대상 장치 확인
장치 SN을 요청하고 페어링 상태를 확인합니다.
- 이미 현재 계정에 페어링된 경우 계속 진행합니다.
- 페어링되지 않은 경우 페어링 키를 요청하고 페어링 전에 확인을 받습니다.
- 다른 곳에 페어링된 경우 중단하고 현재 소유자가 지원되는 제품 흐름을 통해 페어링을 해제해야 한다고 설명합니다.
계정의 장치를 읽고 SN으로 정확한 대상을 식별합니다. 표시 이름만 익숙하다고 장치를 선택하지 마십시오.
4. 디자인 전 읽기
장치 세부 정보, 온라인 상태, 제품 ID, 활성 캐릭터 및 전체 현재 캐릭터 객체를 읽습니다. 제품에 사용 가능한 TTS 모델을 가져오고 ID를 읽을 수 있는 음성 이름으로 매핑합니다.
대상 청중, 시나리오, 성격, 어조, 응답 길이, 행동 규칙, 안전 경계 및 음성 선호도를 요청합니다. 사용자가 대략적인 생각만 있다면, 막지 말고 간결한 초안을 제안합니다.
5. 변경 사항 미리보기
다음과 같은 간결한 미리보기를 표시합니다:
장치: [마스킹된 SN 및 표시 이름]
캐릭터: [이름]
페르소나: 현재 -> 제안
첫마디: 현재 -> 제안
음성: 현재 이름 -> 제안 이름
변경 없음: STT 모델, LLM 모델, 메모리, 네트워크, 페어링 및 기타 모든 필드
질문: 이 변경 사항을 나열된 FoloToy 장치에 적용하시겠습니까?
명시적 확인 후에만 계속 진행합니다.
6. 안전하게 적용
서비스에서 반환된 전체 캐릭터 객체로부터 시작합니다. 승인된 페르소나, 첫마디 및 음성 ID만 병합합니다. speech_to_text_id, language_model_id 및 기타 제품별 필드와 같은 기존 필수 값을 유지합니다.
전체 병합된 객체를 캐릭터 업데이트 엔드포인트로 보냅니다. 서비스가 전체 구성을 기대할 때 추측된 페이로드나 최소 페이로드를 보내지 마십시오.
7. 확인 및 테스트
캐릭터 목록을 다시 읽고 반환된 custom_ability, start_text 및 text_to_speech_id를 승인된 제안과 비교합니다. 음성 ID를 다시 읽을 수 있는 이름으로 매핑합니다.
장치가 온라인 상태인지 확인합니다. 사용자에게 새 대화를 시작하고 다음을 테스트하도록 요청합니다:
- 첫마디
- 정상적인 캐릭터 내 시나리오 한 가지
- 안전 또는 불확실성 경계 한 가지
저장된 구성이 올바르지만 동작이 변경되지 않은 경우 활성 캐릭터를 확인하고 더 많은 필드를 변경하기 전에 새 대화를 시작합니다.
8. 보고 및 정리
캐릭터 이름, 최종 첫마디, 최종 음성 이름, 읽기 확인 상태, 물리적 테스트 상태 및 한 가지 제안된 다음 반복을 보고합니다. 장치 ID를 마스킹하고 임시 인증 데이터를 삭제합니다.
오류 처리
- SMS를 받지 못함: 국가 코드를 확인하고, 재전송 타이머를 기다리며, 반복 전송을 피합니다.
401또는403: 세션이 만료된 것으로 간주하고 다시 로그인합니다. 이전 토큰을 재사용하지 마십시오.- 페어링 거부됨: SN 및 페어링 키를 확인합니다. 장치가 다른 계정에 속한 경우 중단합니다.
- 음성 경로를 찾을 수 없음:
mod_type=tts와 함께 제품 모델 엔드포인트를 사용합니다. 레거시/v1/voices경로에 의존하지 마십시오. 10500과 같은 콘텐츠 검토 오류: 페르소나 또는 첫마디를 줄이고 단순화합니다. 새 초안이 승인될 때까지 현재 구성을 그대로 유지합니다.- 저장되었지만 들리지 않음: 활성 캐릭터, 장치 온라인 상태 및 새로 시작된 대화를 확인합니다.
완료 기준
다음 조건이 모두 충족될 때만 작업이 완료됩니다:
- 대상 장치가 승인되고 SN으로 확인되었습니다.
- 비밀이 포함되거나 마스킹되지 않고 표시되지 않았습니다.
- 사용자가 표시된 diff를 명시적으로 승인했습니다.
- 승인된 필드만 변경되었습니다.
- API 읽기 결과가 제안과 일치합니다.
- 장치가 일시적으로 오프라인이더라도 사용자가 물리적 테스트 스크립트를 받았습니다.