Skip to content

tellang/danawa-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

danawa-cli

다나와 가격비교 상품 검색 CLI — AI 에이전트 친화적 설계 (Agent DX)

npm Node.js Zero Dependencies Agent DX License: MIT

설치

npm install -g danawa-cli

또는 npx로 바로 실행:

npx danawa-cli search "노트북"

사용법

검색

# 기본 검색 (JSON 출력)
danawa search "노트북"

# 인간용 테이블 출력
danawa search "노트북" --format table

# 필드 선택 (토큰 절약)
danawa search "노트북" --fields productName,minPrice

# 가격 필터 + 정렬
danawa search "노트북" --min-price 1000000 --sort rating --format table

# 요청 계획만 확인 (실제 호출 없음)
danawa search "키보드" --dry-run

배치 검색

# 5페이지 배치 수집
danawa batch "마우스" --pages 5

# NDJSON 스트리밍 (한 줄에 한 상품)
danawa batch "마우스" --pages 3 --format ndjson | head -10

스키마 자체검사

danawa schema search    # 검색 스키마
danawa schema validate  # 스키마 검증
danawa schema           # 전체 목록

HTTP API 서버

danawa serve --port 3000

CLI 옵션

옵션 설명 기본값
--format <fmt> 출력 형식 (json table compact ndjson) json
--page <N> 페이지 번호 1
--pages <N> 배치 페이지 수 (batch 전용, 최대 20) 5
--limit <N> 페이지당 결과 수 30
--sort <method> 정렬 (price_asc price_desc rating reviews value)
--min-price --max-price 가격 필터
--min-rating 최소 평점
--min-reviews 최소 리뷰 수
--keyword <kw> 포함 키워드 (쉼표 구분)
--exclude <kw> 제외 키워드 (쉼표 구분)
--fields <list> 응답 필드 선택
--dry-run 요청 계획만 출력
--json-body <JSON> Raw payload 전달
--params <JSON> 업스트림 파라미터 오버라이드
--debug 디버그 모드

HTTP API

GET /api/search

파라미터 필수 설명
q 검색어
page 아니오 페이지 번호 (기본값 1)
fields 아니오 응답 필드 선택 (쉼표 구분)

성공 응답

{
  "ok": true,
  "originalQuery": "노트북",
  "items": [
    {
      "productCode": "23586227",
      "productName": "LG전자 2025 그램 프로16 16Z90TP-GA5CK",
      "imageUrl": "https://img.danawa.com/prod_img/...",
      "category": "860|869|10581|0",
      "minPrice": 1693200,
      "reviewCount": 26,
      "starPoint": "94"
    }
  ],
  "continuation": { "nextPage": 2, "limit": 30 }
}

에러 응답

{
  "ok": false,
  "errorCode": "query-too-long",
  "httpStatus": 400,
  "retriable": false
}
errorCode 의미 retriable
missing-query q가 비어 있음 false
query-too-long 128자 초과 false
invalid-page 유효하지 않은 page false
upstream-http-error 다나와 4xx/5xx 5xx, 429만 true
network-error 네트워크 실패 false
upstream-timeout 타임아웃 true
response-parse-error 파싱 실패 false
empty-products 빈 결과 false

Agent DX

Agent DX 원칙에 따라 AI 에이전트를 주요 소비자로 설계되었습니다.

원칙 구현
JSON-First Output JSON 기본, --format table/compact/ndjson
Raw Payload --json-body, --params
Schema Introspection danawa schema search
Input Hardening 제어문자, 유니코드, 이중인코딩 거부
Context Discipline --fields, --limit, 페이지네이션
Safety Rails --dry-run, config 마스킹
Skill Files SKILL.md 제공

프로그래매틱 사용

import { searchDanawa, searchDanawaBatch } from "danawa-cli";

const result = await searchDanawa({ query: "노트북", page: 1, limit: 10 });
console.log(result.items);

Exit Codes

코드 의미
0 성공
1 오류

License

MIT


조각 사유 (Purpose & Motivation)

본 프로젝트는 다나와(Danawa) 가격비교 플랫폼의 공식 API 또는 SDK가 부재한 환경에서, AI 에이전트 친화적 CLI 설계(Agent DX) 연구 및 개인 생산성 향상을 목적으로 개발되었습니다.

  • 공식 API/SDK 부재로 인한 CLI 기반 가격비교 자동화 수요 충족
  • Agent DX(Developer Experience for Agents) 7대 원칙 검증을 위한 실험적 구현체
  • 개인 학습 및 연구 목적의 비상업적 프로젝트

면책사항 (Disclaimer & Legal Notice)

이 프로젝트를 사용하기 전에 반드시 아래 내용을 숙지하십시오.

비공식 도구

본 프로젝트는 다나와(Danawa) 및 주식회사 다나와와 어떠한 제휴, 후원, 보증, 공식적 관계도 없는 독립적인 비공식 도구입니다. "다나와", "Danawa" 및 관련 상표는 주식회사 다나와의 자산이며, 본 프로젝트에서의 사용은 식별 목적에 한합니다.

이용약관 준수 책임

본 도구의 사용은 전적으로 사용자의 책임입니다. 사용자는 다나와 서비스 이용약관(Terms of Service) 및 robots.txt 정책을 반드시 확인하고 준수해야 합니다. 본 도구의 사용이 서비스 이용약관에 위반될 수 있으며, 이로 인한 IP 차단, 법적 조치 등 모든 결과에 대한 책임은 전적으로 사용자에게 있습니다.

무보증 (AS-IS)

본 소프트웨어는 "있는 그대로(AS-IS)" 제공되며, 명시적이든 묵시적이든 어떠한 종류의 보증도 하지 않습니다. 여기에는 상품성, 특정 목적에의 적합성, 비침해에 대한 묵시적 보증이 포함되나 이에 한정되지 않습니다. 가격 정보의 정확성, 실시간성, 완전성을 보장하지 않습니다.

서비스 변경 및 중단

본 도구는 다나와 웹사이트의 HTML 구조 및 비공식 엔드포인트에 의존하므로, 다나와의 웹 구조 변경, 보안 정책 강화, 서비스 구조 변경 등에 의해 언제든지 작동이 중단될 수 있습니다. 이에 대한 지속적인 유지보수나 호환성을 보장하지 않습니다.

과도한 사용 금지

과도한 요청(rate limit 초과, 대량 크롤링, 자동화된 반복 요청 등)은 서비스 장애를 유발할 수 있습니다. 이로 인한 서비스 차단, 법적 책임, 제3자 피해에 대한 모든 책임은 사용자에게 있습니다. 합리적인 사용 범위 내에서만 사용하십시오.

데이터 및 지적재산권

다나와에서 제공하는 상품 정보, 가격 데이터, 리뷰 등의 콘텐츠에 대한 저작권은 다나와 및 해당 콘텐츠 제공자에게 있습니다. 본 도구를 통해 수집한 데이터의 저장, 재배포, 상업적 이용에 대한 법적 책임은 전적으로 사용자에게 있습니다.

손해배상 면책

본 프로젝트의 개발자는 본 도구의 사용 또는 사용 불가능으로 인해 발생하는 직접적, 간접적, 부수적, 특별, 결과적 또는 징벌적 손해에 대해 어떠한 경우에도 책임지지 않습니다. 이는 데이터 손실, 이익 손실, 사업 중단, 잘못된 가격 정보에 따른 피해 등을 포함하나 이에 한정되지 않습니다.

용도 제한

본 도구는 개인적인 연구, 학습, 생산성 향상 목적으로만 제작되었습니다. 상업적 목적의 대량 데이터 수집, 가격 모니터링 서비스 구축, 서비스 방해, 경쟁 서비스 구축, 또는 다나와의 비즈니스에 손해를 끼치는 용도로 사용하는 것을 금합니다.

About

다나와 가격비교 상품 검색 CLI — AI 에이전트 친화적 설계 (Agent DX)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors