npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

evot-agent

v0.4.1

Published

Local browser agent for evot — browses sites with Claude or Codex and appends results as cells.

Readme

evot-agent

유저 컴퓨터에서 도는 evot의 로컬 브라우저 에이전트. evot에서 Vot에게 "내 컴퓨터 브라우저로 ○○ 수집해줘"라고 말하면(또는 루틴으로 걸어두면), 이 에이전트가 Claude(기본) 또는 Codex + Playwright로 사이트를 탐색·수집하고 결과를 지정한 쓰레드에 셀로 추가한다. 결과는 요청을 받은 Vot 이름/아바타로 정리되며, 이미지를 수집한 경우 설명과 함께 셀 안에 표시된다.

요구사항

  • Node 18+
  • Google Chrome
  • 백엔드(택1) — 별도 API 키 불필요:
    • Claude (기본): Claude Code 로그인(구독). 모델 크리덴셜은 로컬 Claude Code 로그인을 그대로 사용. (또는 ANTHROPIC_API_KEY)
    • Codex (선택): ChatGPT 로그인. codex login을 한 번 해두면 그 크리덴셜을 재사용한다. (아래 백엔드 선택 참고)

설치 & 연결

  1. evot.io에 로그인 → Settings → Integrations → Computer Use → 코드 발급.
  2. 코드로 연결:
npx evot-agent connect <code>      # 예: npx evot-agent connect ABCD2345

성공하면 ~/.evot-agent/token.json(전용 토큰, mode 600)이 생긴다. 이메일·비밀번호·API 키는 아무것도 입력하지 않는다 — 일회용 코드만.

보안 모델

  • 연결 코드는 10분 만료·1회용. 코드는 스코프된 전용 토큰으로 교환되고, 서버에는 토큰의 sha-256 해시만 저장된다.
  • 에이전트는 DB에 직접 붙지 않는다. 토큰이 유출돼도 할 수 있는 건 "본인 쓰레드에 셀 추가"뿐이며, evot Settings에서 언제든 Revoke할 수 있다.
  • 토큰은 90일 만료 — 만료되면 코드를 다시 발급받아 connect.

데몬 모드 (권장)

npm install -g evot-agent
evot-agent start                 # 기본 10분마다 폴링
evot-agent install               # macOS 전용: 로그인 시 자동 시작 + 백그라운드 상주
evot-agent uninstall             # 상주 등록 해제

install은 현재 macOS(launchd) 전용이다. Windows/Linux는 evot-agent start를 터미널에 띄워두거나, 작업 스케줄러/systemd 등으로 로그인 시 실행되게 등록한다.

데몬을 켜두면 evot이 잡을 큐에 넣는 대로 가져와 실행한다. 새 UI는 없다 — 기존처럼 쓰면 된다:

  • 대화: 쓰레드에서 Vot 멘션으로 "Use my computer's browser to summarize today's top AI posts on Hacker News" → Vot이 잡을 큐잉 → 데몬이 실행 → 같은 쓰레드에 결과 셀.
  • 다른 쓰레드로: "...and put the results in my 'Research' thread" → 이름으로 대상 쓰레드 지정.
  • 루틴: 루틴 지시문에 같은 식으로 쓰면 스케줄 도래 시 자동 큐잉·실행.

폴링 주기는 --interval <초> 또는 EVOT_AGENT_POLL_SECONDS env로 조절(최소 30초). 결과는 evot 웹에서 쓰레드 새로고침 시 보이고, 텔레그램 연동 시 완료/실패 알림이 온다. 로그(상주 등록 시): ~/.evot-agent/logs/agent.log

로그인이 필요한 사이트 (선택)

evot-agent login x.com            # 스킴 생략 가능 (https:// 자동 보정)
evot-agent login https://x.com

평소 쓰는 Chrome과 별개인 전용 프로필로 창이 뜬다. 즉 평소 브라우저에 로그인돼 있어도 에이전트에는 상속되지 않으므로, 로그인이 필요한 사이트는 여기서 한 번 로그인해둬야 한다. 대상 사이트에 로그인 후 창을 닫으면 세션이 전용 프로필에 저장되어 이후 잡에 재사용된다. 아이디/비번은 저장되지 않고 브라우저 세션 쿠키만 남는다. 수집 중 로그인이 풀리면 실패 셀에 재로그인 안내가 표시된다.

소셜 로그인(Google·Apple 등) 주의: 자동화가 제어하는 브라우저라 Google 등이 로그인을 "browser may not be secure"로 막을 수 있다. 그럴 땐 사이트 자체 로그인(이메일/비밀번호)을 사용하면 우회된다.

백엔드 선택

브라우저를 구동하는 모델을 고를 수 있다. 기본은 Claude이고, Codex로 바꿀 수 있다. 둘 다 로컬 로그인 크리덴셜을 재사용하므로 별도 API 키가 필요 없다.

# 데몬을 Codex로 실행
EVOT_AGENT_BACKEND=codex evot-agent start
evot-agent start --backend codex          # 플래그가 env보다 우선

# 단발 실행도 동일
evot-agent run job.json --backend codex

Codex 사전 준비: 이 컴퓨터에서 codex login(ChatGPT 로그인)을 한 번 해둔다. 안 돼 있으면 잡이 "Run codex login" 안내와 함께 실패한다.

  • 모델은 기본 gpt-5.6-terra(중간급, 밸런스). 더 강하게는 gpt-5.6-sol, 더 빠르고 저렴하게는 gpt-5.6-luna처럼 EVOT_AGENT_CODEX_MODEL로 교체한다. ChatGPT 계정에서 지원하지 않는 모델이면 잡이 실패하니 계정 지원 모델을 지정해야 한다.
  • 유저 전역 ~/.codex 설정/플러그인과 섞이지 않도록 격리된 홈(~/.evot-agent/codex-home)에서 실행하며, 로그인 정보(auth.json)만 복사해 재사용한다.
  • 한 잡의 최대 실행 시간은 EVOT_AGENT_CODEX_TIMEOUT_SEC(기본 300초)로 조절한다.

안전

  • 에이전트는 read-only로 동작하도록 지시받는다 (구매·게시·폼 제출·설정변경 금지).
  • 페이지 내용은 신뢰하지 않는 입력으로 취급 (프롬프트 인젝션 대비).
  • 전용 브라우저 프로필로 메인 브라우저와 격리.

License

MIT