{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-30T02:30:01.333Z",
  "lang": "ko",
  "slug": "assay",
  "url": "https://tesign.com/item/assay/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/assay/",
      "json": "https://tesign.com/item/assay/index.json",
      "markdown": "https://tesign.com/item/assay/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/assay/",
      "json": "https://tesign.com/en/item/assay/index.json",
      "markdown": "https://tesign.com/en/item/assay/index.md"
    }
  },
  "name": "assay",
  "use_label": "웹페이지 자동 점검",
  "one_liner": "웹페이지를 실제 브라우저로 직접 눌러 보고, 무엇이 고장 났는지 알려 주는 검사 도구.",
  "text": {
    "why": "테스트를 따로 짜는 일이 번거로워 사이트를 고치고도 제대로 도는지 확인하지 못하는 경우가 많다. assay는 페이지의 버튼과 입력 요소를 스스로 찾아 전부 써 보고, 잘못된 동작을 알려 준다.",
    "take": "AI 없이 같은 결과가 나오는 점검이라, 고친 뒤 다시 돌려 확인하기 좋다.",
    "build": [
      "크로미움으로 페이지를 열어 화면의 조작 요소로 검사 항목을 만든다. 예를 들어 태그 필터를 두 번 눌렀는데 목록이 원래대로 돌아오지 않으면 그 사실과 전·후 화면을 함께 보여 준다. 테스트 코드도, LLM도, API 키도 필요 없고 실행할 때마다 결과가 같다. 코딩 에이전트용 스킬도 있다."
    ],
    "who": [
      {
        "role": "직접 만든 웹페이지를 배포 전에 점검하고 싶은 개발자.",
        "situation": null
      }
    ],
    "start": [
      {
        "command": false,
        "text": "pip install assay-ui로 설치한 뒤 점검할 페이지 주소로 실행한다."
      }
    ],
    "caveat": [
      "파이썬과 크로미움이 필요하다. 별 98개로 공개된 지 얼마 안 됐다."
    ]
  },
  "cta": {
    "type": "install",
    "label": "INSTALL",
    "url": "https://pypi.org/project/assay-ui"
  },
  "ready": "install",
  "categories": [
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "웹 점검",
    "테스트",
    "cli",
    "오픈소스"
  ],
  "platform": [
    "cli"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "HTML",
  "source_urls": {
    "canonical": "https://pypi.org/project/assay-ui",
    "github": "https://github.com/awss1i/assay",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "showhn",
        "url": "https://github.com/awss1i/assay",
        "posted_at": "2026-09-28T16:09:31.000Z",
        "hn_url": "https://news.ycombinator.com/item?id=49880278"
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-29T17:00:00.000Z",
    "stars": 100,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-30T02:15:09.147Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": null,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": 1,
    "hn_points_observed_at": "2026-09-30T01:45:45.509Z",
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-09-29T19:47:08.000Z",
    "owner_type": "User",
    "open_issues": 0,
    "contributors": 1,
    "releases_count": 8,
    "latest_release": {
      "tag": "v0.2.2",
      "published_at": "2026-09-29T19:47:39.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-30T02:15:09.147Z",
    "core_checked_at": "2026-09-30T02:15:09.147Z"
  },
  "signals": [
    {
      "kind": "new",
      "label": "신규",
      "value": "생성 1h 만에 포착"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/assay-6ba8ab1032.png",
    "cover": "https://tesign.com/img/assay-6ba8ab1032.png",
    "cover_width": 1840,
    "cover_height": 1256,
    "gallery": [
      "https://tesign.com/img/assay-6ba8ab1032.png"
    ],
    "alt": "assay 점검 결과 예시. 태그 필터를 두 번 눌렀는데 첫 클릭의 효과가 남아 있다는 실패 보고와, 전·후 화면 비교.",
    "tier": 2
  },
  "dates": {
    "first_seen_at": "2026-09-28T17:45:22.685Z",
    "source_created_at": "2026-09-28T16:09:31.000Z",
    "discovery_hours": 1.5976902777777777,
    "launch_signal_at": "2026-09-28T16:09:31.000Z",
    "kept_at": "2026-09-30T01:13:09.326Z",
    "first_published_at": "2026-09-30T01:13:09.425Z",
    "updated_at": "2026-09-30T01:13:09.378Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
