작고 로컬한 도구 4종 — GeekNews에서 눈에 걸린 것들

· 5분 읽기
목차

주제는 제각각이었다. HTTP 클라이언트, Markdown 쿼리, 은행 거래내역 크롤러, 마우스 드라이버. 따져보니 하나의 가치관으로 엮여 있었다 — 계정·클라우드·텔레메트리 없이, 내 컴퓨터에서 도는 가벼운 도구.

작고 로컬한 도구 4종 — 터미널과 로컬 머신 위에서 도는 가벼운 도구들

GeekNews를 훑다가 멈춘 글이 네 개 있었다. Slumber, mq, korean_bank_tx_crawler, OpenLogi. 처음엔 서로 상관없어 보였다. HTTP 요청 보내는 도구, Markdown을 다루는 도구, 은행에서 데이터 긁어오는 스크립트, 마우스 버튼을 다시 매핑하는 프로그램.

그런데 자세히 보니 이 넷은 같은 방향을 가리키고 있었다. 거대한 클라우드 도구와 계정 강제에 대한 작은 반응들이다. 하나씩 보면서, 왜 이런 도구들이 지금 계속 나오는지를 정리해 봤다.

Slumber — Postman을 터미널로

Slumber는 Rust로 짠 TUI/CLI HTTP 클라이언트다. Insomnia나 Postman을 터미널에서 대체하려는 프로젝트다.

핵심은 요청을 YAML 파일(recipe)로 정의한다는 점이다. recipe 파일에 엔드포인트·헤더·바디를 적어두면, TUI에서 골라 실행하고, CLI 모드로도 같은 요청을 재생할 수 있다. recipe는 텍스트 파일이니 Git에 올려 팀과 공유할 수 있다.

매력은 Postman이 점점 무거워지고 로그인을 강제하는 흐름에 대한 대안이라는 데 있다. API 테스트 하나에 클라우드 동기화와 계정이 따라오는 건, 터미널에서 일하는 사람에게는 과하다. Slumber는 그 사이 빈 자리를 노린다.

curl은 일회성 요청엔 좋지만, 인증 흐름과 변수가 들어가면 금방 지저분해진다. Postman은 기능은 많지만 무겁고 계정을 창니다. YAML recipe를 버전 관리하면서 터미널에서 실행하는 게, 개인적으로는 더 맞는 무게다.

mq — Markdown을 jq처럼

mq는 jq 문법으로 Markdown을 질의하는 CLI 도구다. 이것도 Rust로 짰다.

Markdown은 구조가 느슨해서 프로그램으로 다루기 까다롭다. 헤딩별로 섹션을 자르거나, 특정 태그가 붙은 링크만 모으거나, frontmatter를 기준으로 파일을 필터링하려면 매번 스크립트를 짜야 했다. mq는 그걸 jq처럼 한 줄 질의로 한다.

이번 네 개 중에서 내게 가장 당장 쓸 만한 도구다. 나는 Git으로 관리하는 LLM Wiki와 블로그를 운영하면서 수백 개의 Markdown 파일을 다룬다. index를 갱신하거나 특정 개념이 언급된 섹션만 뽑아내는 일이 잦은데, 지금은 어설픈 스크립트와 grep에 의존한다. mq의 Python 바인딩(markdown-query)을 쓰면 이 작업을 훨씬 단단하게 만들 수 있어 보인다. VS Code 확장과 Claude Code용 skill까지 있다는 건, 문서 처리 워크플로에 맞춰 만들었다는 뜻이다.

korean_bank_tx_crawler — API가 없으니 긁는다

korean_bank_tx_crawler는 Python 3줄로 국내 은행 거래내역을 가져오는 크롤러다. KB국민은행과 우리은행을 지원한다.

이 도구가 존재하는 이유 자체가 한국 특유다. 국내 은행엔 개인용 거래내역 API가 없다. 모임 통장이나 동아리 통장을 관리하려면 매번 앱이나 웹에서 엑셀을 수동으로 내보내야 한다. 그래서 브라우저 자동화로 로그인해 거래내역을 긁어오는 방식이 된다.

다만 주의가 필요하다. 저장소에 법적 고지(disclaimer)가 붙어 있다. 크롤링은 각 은행의 이용약관과 맞닿아 있어 회색지대다. “코드 3줄”의 편의가 약관 위반 리스크와 함께 온다. 같은 방향의 프로젝트로 Beomi/simple_bank_korea(PyPI 배포), sookcha/libeunhaeng(신한은행·카드)이 있으니, 은행별로 따로 만들어야 하는 현실이 이 도구가 말해주는 진짜 문제다. 편의를 넘어 “왜 이걸 직접 해야 하나”라는 질문이 더 중요하다.

OpenLogi — 마우스 설정에 계정이 필요한 시대

OpenLogi는 Rust로 짠 Logitech Options+의 대체재다. 마우스 버튼 리매핑, DPI 조정, SmartShift 제어를 HID++ 프로토콜로 직접 처리한다.

만들어진 배경이 솔직하다. Logitech의 공식 소프트웨어인 Options+가 사고를 일으켜 사용자들이 작업을 못 하게 된 일이 있었다. 그래서 AprilNEA가 오픈소스로 대체재를 만들었다. 계정도 없고, 클라우드 동기화도 없고, 텔레메트리도 없다. 로컬에서 HID++로 기기와 직접 통신한다. GitHub에서 4,400개가 넘는 star를 받았고, 특히 공식 소프트웨어 지원이 없는 Linux 사용자에게 환영받는다.

이 도구가 매력적인 건, 마우스 버튼 하나 설정하는 데 계정과 클라우드가 필요한 시대에 대한 반응이라는 점이다. Options+는 무겁고, 자꾸 로그인을 요구하고, 가끔 먹통이 된다. 그런 거대한 소프트웨어 없이도 HID++로 직접 말 걸면 충분하다는 걸 보여준다.

넷 중 셋이 Rust인 이유

따져 보면 네 도구 중 세 개(Slumber, mq, OpenLogi)가 Rust로 짜여 있다. 우연이 아니다.

Rust는 CLI/로컬 도구 생태계에서 점점 기본 언어 자리를 잡고 있다. 이유는 단순하다. 단일 바이너리로 배포할 수 있고, 빠르고, 메모리 안전하다. 설치하면 의존성 걱정 없이 도는 도구를 만들기에 Rust가 잘 맞는다. Slumber는 crates.io로, OpenLogi는 단일 실행 파일로 배포된다.

mq나 OpenLogi 같은 도구가 “가볍고 어디서든 돈다”는 인상을 주는 건, 언어 선택이 이미 그 무게를 결정하기 때문이다. Python도 여전히 강하지만(bank-crawler가 그렇듯), 빠르고 단단한 단일 바이너리가 필요한 자리에서는 Rust가 자연스럽다.

공통의 가치관

네 도구를 묶는 한 가닥이 보인다.

  • 계정이 없다. OpenLogi는 로그인 없이, mq와 Slumber도 클라우드 계정 없이 로컬에서 돈다.
  • 클라우드 의존이 없다. 동기화·텔레메트리 없이 로컬에서 끝난다.
  • 터미널과 파일이 중심이다. YAML recipe, Markdown 파일, HID++ 프로토콜, 스크래핑 스크립트. 전부 텍스트와 파일 기반이라 버전 관리가 되고 자동화된다.

이게 지금 계속 나오는 이유는, 클라우드·계정·텔레메트리를 강제하는 도구에 대한 피로가 쌓였기 때문으로 보인다. 모든 도구가 SaaS가 되고, 가입을 요구하고, 데이터를 올리게 만드는 흐름에 대한 작은 반발. 작고 로컬인 도구는 그 반발의 형태다.

한계와 주의

도구를 무비판적으로 추천하진 않겠다.

  • korean_bank_tx_crawler는 법적 회색지대다. 은행 약관을 먼저 확인해야 하고, 계정 정지 리스크가 있다.
  • OpenLogi는 HID++ 호환 기기로 한정된다. 내 마우스가 지원하는지 먼저 봐야 한다.
  • mqSlumber는 각각 jq 문법과 TUI 조작에 익숙해야 한다. 배우지 않을 도구라면 설치만 해두고 짐이 된다.
  • 도구는 쓸 때만 가치가 있다. 안 쓰는 도구는 삭제 대상이다.

내 기준에서 당장 손이 가는 건 mq다. Markdown 기반 지식베이스 운영에 바로 연결되기 때문이다. 나머지는 필요한 순간에 다시 보겠다.

정리

이 네 도구를 하나의 글로 묶은 건, “좋은 도구 4개”라서가 아니다. 같은 시대적 반응으로 읽혀서다. 클라우드와 계정이 모든 곳에 스며든 시점에서, 로컬에서 도는 가벼운 도구가 계속 나오고 있다.

선택의 기준은 단순하다. “이 도구가 내 컴퓨터에서 계정 없이 도는가, 터미널과 파일로 다룰 수 있는가.” 그렇다면 한번쯤은 들여다 볼 만하다. 그렇지 않다면, 내 워크플로에 끼워 넣을 자리가 없는 것이다.

거대한 도구가 전부를 차지하지 않는다. 작고 로컬인 도구에는 여전히 자리가 있다.

참고

도구저장소
Slumbergithub.com/LucasPickering/slumber
mqgithub.com/harehare/mq · mqlang.org
korean_bank_tx_crawlergithub.com/promet99/korean_bank_tx_crawler
OpenLogigithub.com/AprilNEA/OpenLogi · openlogi.org

네 글 모두 GeekNews 최근 목록에서 발견했다.

이어서 읽기