본문으로 건너뛰기

레지스트리에 게시

AISCouncil 마켓플레이스는 개방성과 신뢰의 균형을 맞추는 계층화된 배포 모델을 사용합니다. URL로 자유롭게 앱을 배포하거나, 신뢰 배지와 함께 더 넓은 검색을 위해 레지스트리에 등록할 수 있습니다.

배포 등급

등급등록 방법검토배지유료 앱추천
직접 설치사용자가 매니페스트 URL 붙여넣기없음없음아니오아니오
커뮤니티registry/packages.json에 PR자동화"Community"아니오
AI Verified커뮤니티 + 유료 AI 스캔LLM 보안 감사"AI Verified"아니오
Verified커뮤니티 + 수동 팀 검토인간 검토"Verified"

직접 설치

가장 간단한 배포 방법입니다. 매니페스트와 파일을 어디에나 호스팅하고 매니페스트 URL을 공유합니다. 사용자가 사이드로드 섹션에 붙여넣어 설치합니다.

  • 레지스트리 등록 불필요
  • 검토 과정 없음
  • 신뢰 배지 없음
  • 무료 앱만
  • 즉시 작동

웹의 네이티브 배포 모델입니다. 자세한 내용은 앱 사이드로딩을 참조하세요.

커뮤니티

표준 레지스트리 등록입니다. registry/packages.json에 앱을 추가하는 풀 리퀘스트를 제출합니다. 자동화된 검증이 통과하면 PR이 병합될 수 있고 "Community" 배지와 함께 앱 스토어에 앱이 나타납니다.

  • validate.py를 통한 자동화된 검증
  • 앱 스토어에서 검색 가능
  • 무료 및 유료 앱 지원
  • 수동 검토 불필요

AI Verified

커뮤니티 앱을 위한 선택적 신뢰 업그레이드입니다. 코드에서 멀웨어, 데이터 유출, 권한 오용, 난독화된 코드, 샌드박스 탈출 시도를 확인하는 LLM 기반 보안 스캔에 비용을 지불합니다.

  • 스캔 깊이에 따라 버전당 $19-$99
  • 배지는 SHA-256 콘텐츠 해시에 고정
  • 코드 변경 시 배지 무효화
  • 12개월 후 배지 만료
정보

AI Verified 시스템(/v1/verify/* 엔드포인트)은 향후 릴리스에서 계획되어 있습니다. 여기에 설명된 워크플로우는 해당 엔드포인트가 출시될 때 사용할 수 있습니다.

Verified

가장 높은 신뢰 등급입니다. 플랫폼 유지관리자가 매니페스트, 권한, 진입 HTML, (플러그인의 경우) WASM 바이너리를 수동으로 검토합니다.

  • 인간 승인 필요
  • "Verified" 배지 획득
  • 앱 스토어 상단에 추천 배치
  • 민감한 데이터를 처리하는 앱에 권장

무료 앱 게시 (커뮤니티 등급)

1. 앱 파일 호스팅

manifest.jsonindex.html(및 모든 에셋)을 공개적으로 접근 가능한 CDN에 업로드합니다. 인기 있는 무료 옵션:

호스트URL 패턴설정
GitHub Pagesyourname.github.io/app-name/저장소 설정 > Pages에서 활성화
Cloudflare Pagesapp-name.pages.dev/CF 대시보드에서 저장소 연결
Vercelapp-name.vercel.app/vercel.com에서 저장소 가져오기
Netlifyapp-name.netlify.app/netlify.com에서 저장소 가져오기

manifest.json에 파일이 호스팅되는 위치를 가리키는 올바른 base_url이 있는지 확인하세요:

{
"name": "word-counter",
"version": "1.0.0",
"abi": 1,
"type": "mini-program",
"entry": "index.html",
"base_url": "https://yourname.github.io/word-counter/"
}

2. 앱 테스트

제출 전에 사이드로딩하여 앱이 작동하는지 확인하세요:

  1. aiscouncil.net 열기
  2. 앱 > 사이드로드로 이동
  3. 매니페스트 URL 붙여넣기
  4. 설치 및 모든 기능 테스트

3. 저장소 포크

github.com/nicholasgasior/bcz로 이동하여 Fork를 클릭합니다.

4. 패키지 항목 추가

registry/packages.json을 편집하고 packages 배열에 항목을 추가합니다:

{
"name": "word-counter",
"type": "mini-program",
"version": "1.0.0",
"manifest": "https://yourname.github.io/word-counter/manifest.json",
"tier": "community",
"category": "utilities",
"description": "Count words in your chat history by role",
"icon": "https://yourname.github.io/word-counter/icon.png",
"added": "2026-02-19",
"price": 0,
"currency": "USD",
"seller": null
}

5. 검증

검증 스크립트를 실행하여 항목을 확인합니다:

python3 registry/validate.py packages

계속하기 전에 에러를 수정하세요. 일반적인 문제:

에러수정
이름 불일치packages.json의 name이 manifest.json의 name과 일치해야 함
잘못된 버전semver 형식 사용: 1.0.0, 1.0 또는 v1.0.0이 아님
필수 필드 누락name, type, version, manifest가 있는지 확인
잘못된 등급community, ai-verified, 또는 verified여야 함

6. 풀 리퀘스트 제출

포크에 변경사항을 푸시하고 main 브랜치에 대한 PR을 생성합니다. 포함하세요:

  • 앱이 하는 일에 대한 간단한 설명
  • 검토자가 테스트할 수 있도록 호스팅된 앱 링크
  • 해당하는 경우 스크린샷

자동화된 검증이 통과하면 PR이 병합될 수 있고 앱이 앱 스토어에 나타납니다.


패키지 레지스트리 항목 형식

필수 필드

필드타입설명
namestring패키지 이름 (매니페스트 name과 일치해야 함)
typestring"plugin", "addon", 또는 "mini-program"
versionstringSemver (매니페스트 version과 일치해야 함)
manifeststring호스팅된 manifest.json의 전체 URL

선택적 필드

필드타입기본값설명
tierstring"community""community", "ai-verified", 또는 "verified"
categorystring--다음 중 하나: productivity, developer, communication, media, utilities, games, education, finance
descriptionstring--스토어 목록 설명
iconstring--아이콘 URL (128x128 PNG 권장)
addedstring--처음 등록된 ISO 8601 날짜 (예: "2026-02-19")
pricenumber0센트 단위 가격 (0 = 무료, 499 = $4.99)
currencystring"USD"ISO 4217 통화 코드
priceTypestring--일회성 구매의 경우 "one-time"
geoPriceobject--지역별 가격 오버라이드
sellerobject|nullnullStripe Connect 판매자 정보 (유료 앱에 필수)
verificationobject--AI Verified 배지 데이터

유료 앱

가격 설정

가격을 센트 단위로 price 필드에 설정합니다. 예: $4.99 = 499:

{
"name": "pro-editor",
"type": "mini-program",
"version": "2.0.0",
"manifest": "https://cdn.example.com/pro-editor/manifest.json",
"tier": "community",
"price": 499,
"currency": "USD",
"priceType": "one-time",
"seller": {
"name": "DevCo",
"id": "acct_abc123"
}
}

플랫폼 수수료

플랫폼은 유료 판매에 15% 수수료를 받습니다. 판매자는 Stripe Connect 지급을 통해 85%를 받습니다.

가격수수료 (15%)판매자 수령
$0.99$0.15$0.84
$4.99$0.75$4.24
$9.99$1.50$8.49
$19.99$3.00$16.99

지역별 가격

geoPrice 필드를 사용하여 지리적 등급에 따라 다른 가격을 설정할 수 있습니다:

"geoPrice": {
"1": 1500,
"2": 1000,
"3": 700,
"4": 400
}

등급은 구매력 지역에 해당합니다:

  • 1등급: 미국, 캐나다, 서유럽, 호주, 일본 ($15.00)
  • 2등급: 동유럽, 남미, 중동 ($10.00)
  • 3등급: 동남아시아, 중미 ($7.00)
  • 4등급: 사하라 이남 아프리카, 남아시아 ($4.00)

플랫폼은 API에서 사용자의 지역을 감지하고 적절한 등급 가격을 적용합니다.

판매자 온보딩

결제를 받으려면 플랫폼에 연결된 Stripe Connect 계정이 필요합니다:

  1. AISCouncil 앱에서 설정 > 계정 > 개발자로 이동
  2. Stripe 계정 연결 클릭
  3. Stripe Connect 온보딩 흐름 완료
  4. Stripe Connected Account ID (형식: acct_xxx)가 할당됨
  5. 레지스트리 항목에 seller 객체 추가:
"seller": {
"name": "본인 이름 또는 회사",
"id": "acct_abc123"
}
경고

유료 앱은 유효한 Stripe Connect 계정 ID가 있는 seller 객체가 필수입니다. 검증 스크립트는 판매자 정보 없는 유료 항목을 거부합니다.


AI Verified 배지

정보

AI Verified 시스템은 향후 릴리스에서 계획되어 있습니다. 이 섹션은 의도된 워크플로우를 설명합니다.

AI Verified 배지는 앱의 코드가 LLM에 의해 스캔되었고 일반적인 보안 문제가 없는 것으로 확인되었음을 인증합니다.

스캔 등급

등급가격최대 크기배지 텍스트
Quick$19100 KB"AI Scanned"
Full$49500 KB"AI Verified"
Deep$992 MB"AI Verified + Reviewed"

워크플로우 (계획)

  1. 먼저 커뮤니티 등급으로 앱 게시
  2. 스캔 등급과 함께 매니페스트 URL을 POST /v1/verify/submit에 제출
  3. Stripe 체크아웃으로 스캔 비용 지불
  4. LLM이 코드 분석:
    • 멀웨어 및 백도어
    • 데이터 유출 시도
    • 권한 오용 (필요 이상 요청)
    • 동작을 숨기는 난독화 또는 축소된 코드
    • 샌드박스 탈출 시도
  5. GET /v1/verify/status/{jobId}에서 상태 확인
  6. 통과하면 GET /v1/verify/report/{jobId}에서 verification 객체 검색
  7. 레지스트리 항목에 verification 객체 추가:
"verification": {
"hash": "sha256:a1b2c3d4...",
"tier": "full",
"date": "2026-02-19",
"expires": "2027-02-19",
"job_id": "ver_xyz789"
}
  1. 업데이트된 레지스트리 항목으로 PR 제출
  2. 검증 스크립트가 /v1/verify/badge/{hash}를 통해 배지가 유효한지 확인

배지 규칙

  • 배지는 앱의 진입 HTML의 SHA-256 해시에 고정됨
  • 코드 변경 시 배지 무효화 (새 해시 = 배지 사라짐)
  • 배지는 12개월 후 만료되며 갱신 필요
  • 실패한 스캔은 수정할 발견 사항이 포함된 보고서 제공

Verified 배지 (수동 검토)

가장 높은 신뢰 수준을 위해 수동 검증을 요청하세요:

  1. 레지스트리 항목에 "tier": "verified" 설정
  2. PR 제출
  3. 플랫폼 유지관리자가 검토:
    • 매니페스트 권한 (정당한가?)
    • 진입 HTML 및 JavaScript (악성 코드 없는가?)
    • 샌드박스 준수 (탈출 시도 없는가?)
    • 플러그인의 경우: WASM 바이너리 분석
  4. 승인되면: 배지 부여, 추천 배치 활성화
  5. 거부되면: PR에 피드백 제공

Verified 앱은 다음을 얻습니다:

  • "Verified" 배지 (녹색 체크마크)
  • 앱 스토어 상단에 추천 배치
  • 사용자의 더 높은 신뢰

앱 업데이트

게시된 앱을 업데이트하려면:

  1. 앱 파일의 새 버전을 CDN에 배포
  2. manifest.jsonversion 업데이트
  3. registry/packages.jsonversion 업데이트
  4. 버전 범프로 PR 제출

semver 규칙을 따르세요:

  • Patch (1.0.0 -> 1.0.1): 버그 수정, 새 기능 없음
  • Minor (1.0.0 -> 1.1.0): 새 기능, 하위 호환
  • Major (1.0.0 -> 2.0.0): 호환성 깨는 변경

이미 앱을 설치한 사용자는 레지스트리가 새로고침될 때(일일 캐시) 업데이트를 보게 됩니다.


모범 사례

설명 및 아이콘

  • 앱이 하는 일을 설명하는 명확하고 간결한 설명 작성 (256자 미만)
  • 투명 또는 어두운 배경의 128x128 PNG 아이콘 사용
  • SVG 아이콘도 허용되며 모든 크기에서 선명하게 렌더링됨

권한

  • 앱이 실제로 사용하는 권한만 요청
  • PR 설명에 각 권한이 필요한 이유 설명
  • 권한이 적은 앱이 더 많은 설치를 얻음

테스트 체크리스트

PR 제출 전:

  • 앱이 에러 없이 설치되고 실행됨
  • 모든 기능이 설명대로 작동
  • 앱이 권한 거부를 우아하게 처리 (SDK 호출 주변의 try/catch)
  • 앱이 다크 모드에서 작동 (플랫폼 기본값)
  • 버튼과 인터랙티브 요소가 최소 48px 높이
  • 텍스트가 최소 14px
  • ais.close()가 깔끔하게 채팅으로 돌아감
  • python3 registry/validate.py packages 통과
  • python3 registry/validate.py manifest path/to/manifest.json 통과

카테고리 선택

앱에 가장 적합한 카테고리를 선택하세요:

카테고리예시
productivity작업 관리자, 노트 필기, 프로젝트 도구
developer코드 에디터, API 테스터, 디버그 도구
communication채팅 확장, 이메일 통합
media이미지 에디터, 오디오 도구, 비디오 플레이어
utilities계산기, 변환기, 시스템 도구
games인터랙티브 게임, 퍼즐
education플래시카드, 퀴즈 도구, 학습 보조
finance예산 추적기, 암호화폐 도구, 인보이싱