ESF · 개발자 가이드
서비스나 코드를 스킬로 등록하세요
간편 등록은 AI 모델과 지침으로 시작합니다. 개발자 등록은 HTTPS API 또는 Node.js/Python 코드를 연결하고 입력·결과 필드를 정의합니다. 초안을 저장하고 실제 테스트를 거친 뒤 심사를 요청하세요.
서비스나 패키지를 연결하고 입출력 필드를 정의한 뒤 저장, 테스트, 심사 요청을 진행하세요. 아래 예제를 내려받아 시작할 수 있습니다.
서비스 연결
공개 DNS 호스트 이름과 HTTPS 443 포트를 사용하세요. 로컬·사설 IP, URL 내 인증 정보, 리디렉션은 지원하지 않습니다. ESF는 POST 요청을 보내고 결과 JSON을 받습니다. 연결 토큰은 구매자 브라우저에 전달되지 않습니다.
저장 후 서버 테스트로 연결을 확인하세요. 실패하면 공개 DNS, HTTPS 인증서, 443 포트 및 서버 접근 규칙을 점검하세요. 사설 주소와 리디렉션은 허용하지 않습니다.
- API URL을 입력하고 인증 없음 또는 Bearer 토큰을 선택하세요. 토큰은 URL이나 지침이 아닌 전용 비밀 입력란에 넣으세요.
- 입력 처리자의 이름과 실제 개인정보 처리방침 URL을 제공하세요. 구매자는 입력을 보내기 전에 이 정보를 확인합니다.
- 입출력 스키마를 저장하고 가상 데이터로 테스트하세요. 본인 API를 호출해도 외부 작업이나 비용이 발생할 수 있습니다.
API 요청과 응답:
POST /skill
Content-Type: application/json
Authorization: Bearer <your dedicated connection token>
{"input":{"prompt":"Summarize these test notes."},"context":{"requestId":"<request UUID>"}}
HTTP 200
{"text":"A structured result matching the output schema."}다음 값이 동일하게 다시 전달되어도 외부 작업이 중복되지 않도록 처리하세요: context.requestId . 에코 예제는 외부 변경을 수행하지 않으며 결제, 이메일 또는 데이터 변경의 중복 방지 저장소를 제공하지 않습니다.
Node.js API 서버 예제 내려받기. 이 로컬 예제는 별도의 HTTPS 배포와 전용 환경 토큰이 필요하며 서버를 대신 배포하지 않습니다.
curl --request POST 'https://YOUR_OWN_DOMAIN/skill' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ENDPOINT_TOKEN' \
--data '{"input":{"prompt":"Test notes"},"context":{"requestId":"REPLACE_WITH_UUID"}}'위 주소와 토큰은 예시입니다. 실제 비밀 정보가 포함된 명령을 공유하거나 셸 기록에 남기지 마세요. 엔드포인트 URL과 토큰은 제작자의 비공개 설정이며 처리자 정보만 공개됩니다.
코드 패키지 호스팅
ZIP은 최대 5MB, 압축 해제 후 20MB 및 200개 파일로 제한됩니다. 진입 파일은 ZIP 루트 기준 상대 경로입니다. Node.js 24 또는 Python 표준 라이브러리를 사용하세요. npm/pip 설치는 지원하지 않으므로 순수 JavaScript 의존성은 패키지에 포함하세요.
입력 JSON을 읽을 경로: ESF_INPUT_PATH , 결과 JSON을 저장할 경로: ESF_OUTPUT_PATH. 로그는 결과가 아닙니다. 실행은 5~120초로 제한됩니다. 업로드는 변경할 수 없으며 코드 버전은 SHA-256으로 식별합니다.
- Node.js main.mjs — 파일 입출력만 사용하는 에코 예제
- Python main.py — 외부 패키지나 키 없이 같은 동작을 하는 예제
예를 들어 내려받은 main.mjs 파일을 새 작업 폴더에 넣고 PowerShell로 압축하세요.
Compress-Archive -LiteralPath .\main.mjs -DestinationPath .\skill.zip패키지에 포함하지 마세요: .env, 키, 인증 파일 또는 개인정보. 호스팅에서는 비밀 키 주입을 지원하지 않습니다. 제공업체 키는 본인 서버에 보관하고 HTTPS API 방식으로 연결하세요. 호스팅 코드는 ESF 모델 키를 사용할 수 없습니다.
현재 호스팅 코드는 외부 API 호출을 지원하지 않습니다. 외부 출처 목록을 비워 두세요. 외부 서비스나 키가 필요한 프로그램은 본인 서버에 배포하고 HTTPS API로 등록하세요.
스키마
입력은 JSON 객체여야 합니다. 간단한 입력란은 문자열, 숫자, 정수, 불리언을 지원합니다. 고급 스키마는 최대 4단계 중첩, 객체당 속성 20개, 배열당 항목 100개를 허용합니다. JSON Schema의 일부만 지원하며 다음과 같은 원격 참조는 사용할 수 없습니다: $ref .
각 객체에 설정하세요: additionalProperties: false . 필수 키 목록은 다음에 작성하세요: required. 입력은 32KB, 출력은 1MB로 제한됩니다. 결과는 출력 스키마를 통과해야 합니다. 구매자에게 보이는 필드 제목과 설명에 비밀 정보나 내부 운영 정보를 넣지 마세요.
전용 세션
호스팅 패키지는 전용 웹 화면을 제공할 수 있습니다. 진입 파일, 내부 포트(4100~4999), 시작 경로를 설정하세요. 수신 주소: 0.0.0.0:ESF_PORT , 링크와 자산 경로 앞에 붙일 값: ESF_BASE_PATH . 공개 포트를 열거나 제작자의 개발 환경을 공유하는 것이 아닙니다. 각 HTTPS 세션은 구매자의 권한, 실행 및 버전을 확인합니다.
브라우저는 ESF 로그인 쿠키, API 키 또는 동일 출처 권한이 없는 제한된 iframe을 사용합니다. 팝업, 최상위 이동 또는 일반 브라우저 저장소에 의존하는 앱은 작동하지 않을 수 있습니다. 세션은 최대 10분이며 자동 연장되지 않습니다.
ESF 상위 페이지는 지정한 실행 환경 밖으로 프레임이 이동하지 못하게 제한합니다. 전용 화면은 ESF 안에서 사용하고 세션 URL을 공유하지 마세요. 브라우저 최상위에서 세션을 여는 것은 허용되지 않습니다.
독립 웹 예제는 네트워크 호출이나 결과 저장이 없는 임시 메모장입니다. 화면을 닫으면 내용이 사라집니다. ZIP에 실행·웹 진입 파일을 모두 포함하고 예제 포트 4100을 선택하세요.
바로 업로드할 수 있는 에코 예제: Node.js ZIP · Python ZIP · 파일 크기와 SHA-256. 이 ZIP은 입력을 JSON으로 반환하며 “결과 읽기” 버튼에서 같은 세션의 HTTP 결과를 보여줍니다. 외부 서비스나 비밀 키를 사용하지 않습니다.
ZIP 안의 esf.json 파일은 저장한 설정과 일치해야 합니다. Node.js 선택 파일: main.mjs·web.mjs, Python 선택 파일: main.py·web.py. 두 예제 모두 전용 웹 화면을 켜고 다음 포트를 사용하세요: 4100, 시작 경로: / . 외부 출처는 비워 두세요. 기본 스키마를 유지하고 다음 입력으로 테스트하세요: {"prompt":"Hello"}. 내려받는 파일은 코드와 설정 예제이며 서버 준비나 심사 승인을 보장하지 않습니다.
공개 절차
- 초안을 저장하세요. 코드 업로드와 설정 저장만으로 실행 준비가 완료되지는 않습니다.
- 가상 입력과 명시한 외부 처리를 확인한 뒤 실제 서버 테스트를 요청하세요. 연결되지 않은 실행 환경은 사용 불가로 표시됩니다.
- 성공한 결과와 스키마를 확인한 뒤 심사를 요청하세요. 자동 심사는 프로그램 품질이나 안전성을 보장하지 않습니다.
- 설정을 변경하면 새 버전을 테스트하세요. 진행 중인 실행은 원래 버전을 유지합니다. API 설정의 버전 관리는 외부 서버 코드까지 고정하지 않습니다.
시간 초과나 응답 유실 후에는 새 실행 전에 기록과 외부 서비스를 확인하세요. 같은 요청의 재시도는 중복 접수를 방지하지만 외부 서비스도 자체 중복 방지를 구현해야 합니다.
책임과 데이터 처리
연결 토큰은 암호화하여 저장하지만 권한 있는 ESF 서버는 서비스를 호출할 때 복호화합니다. 저장된 토큰을 삭제해도 제공업체에서 폐기되거나 이미 접수된 작업이 취소되지는 않습니다. 일반 조회 화면은 원래 토큰을 반환하지 않습니다.
구매자 입력은 제작자 서버·코드 및 명시된 처리 서비스에 전달됩니다. 제작자는 서버나 제공업체 로그에서 입력을 볼 수 있습니다. ESF에서 다른 구매자의 기록을 숨기더라도 외부 처리자는 전달받은 데이터에 접근할 수 있습니다.
이용 가격과 외부 API 요금은 별개입니다. ESF 미리보기 호스팅에는 한도가 있으며 직접 실행한 테스트도 유료 작업을 수행할 수 있습니다. 제공업체는 본인 계정에 청구합니다. ESF는 제공업체 계정 전체의 지출 한도나 무제한 호스팅을 보장하지 않습니다. 실패, 취소, 재시도 후에도 이미 수행된 작업의 비용은 발생할 수 있습니다.