zdk/lowfat

lowfat - slim your command output. strips noise, saves tokens.

lowfat – CLI 출력을 다듬어 AI 토큰 비용 절약

이것이 무엇인가 – lowfat는 셸(또는 AI 어시스턴트 통합)과 실행하는 명령 사이에 위치하는 작은 단일 바이너리 명령줄 도구입니다. 명령과 파일의 텍스트 출력을 해당 텍스트가 대규모 언어 모델(LLM) 에이전트로 전송되기 전에 필터링하고 압축하여 모델이 처리해야 하는 토큰 수를 줄입니다.

왜 중요한가 – LLM은 토큰당 비용을 청구합니다. AI 어시스턴트가 셸 명령(예: git diff)을 실행하고 원시 출력을 모델에 공급할 때 많은 텍스트는 노이즈(상태 메시지, 변경되지 않은 줄, 주석 등)입니다. lowfat는 해당 노이즈를 제거하거나 압축하여 동일한 명령이 훨씬 적은 토큰으로 필수 정보를 전달할 수 있게 합니다.


핵심 아이디어

아이디어 의미
경량 작은 Rust 바이너리; 추가 동작은 플러그인으로 추가됩니다.
로컬 우선 원격 측정 없음 – 모든 데이터는 사용자 머신에 유지됩니다.
구성 가능 모든 Unix 필터(`
사용자 소유 lowfat history는 어떤 명령이 가장 많은 토큰을 절약했는지 보여주어 자신의 워크플로에 맞게 필터를 조정할 수 있습니다.

작동 방식

  1. 도구 전 훅 – 명령이 실행되기 전에 lowfat는 필터 파이프라인을 사용하여 명령(또는 해당 인수)을 다시 작성합니다.
  2. 읽기 후 훅 – 에이전트(예: Claude)가 파일을 읽은 후 lowfat post-read는 파일 내용을 압축합니다(주석 제거, 큰 배열 잘라내기, 잠금 파일 요약 등).
  3. 수준 – 세 가지 압축 수준:
    • lite – 대부분의 경우 안전한 가벼운 트리밍.
    • full – 더 강력한 절단(예: 변경되지 않은 diff 헝크 제거).
    • ultra – 최대 압축(함수 본문 접기, 서명만 유지).
  4. 플러그인 – .lf DSL, 셸 또는 Python(PEP 723/uv)로 자신만의 필터를 작성할 수 있습니다. 내장 세트는 git, docker, grep, find, ls, tree와 같은 일반적인 도구를 다룹니다.

설치

# Cargo(Rust 패키지 관리자)를 통해
cargo install lowfat
# 또는 Homebrew(macOS/Linux)
brew install zdk/tools/lowfat

사전 빌드된 바이너리는 GitHub Releases 페이지에서도 사용할 수 있습니다.


빠른 시작

# lowfat로 명령 실행
lowfat git status
lowfat docker ps
lowfat ls -la

# 구성된 필터 및 그 loudness 표시
lowfat info
lowfat info git

# 지금까지 절약한 토큰 수 확인
lowfat stats
lowfat stats --audit   # 최근 플러그인 실행
lowfat history          # 잠재적 절감량으로 명령 순위 지정

# 압축 수준을 즉시 변경
lowfat level ultra          # 세션의 기본값 설정
LOWFAT_LEVEL=lite lowfat git log   # 일회성 재정의

에이전트 통합

  • Claude Code – ~/.claude/settings.json에 훅을 추가하여 모든 Bash 명령이 자동으로 lowfat를 통과하도록 합니다.
  • OpenCode – lowfat opencode install은 감지된 OpenCode 버전에 적절한 플러그인을 배치합니다. 명령은 투명하게 다시 작성됩니다.
  • 셸 – eval "$(lowfat shell-init zsh)"(또는 bash)는 CLAUDECODE=1과 같은 환경 변수가 있거나 LOWFAT_ENABLE=1을 설정할 때 lowfat를 활성화하는 래퍼를 추가합니다.
  • Pi 에이전트 – 에이전트의 shellCommandPrefix에 eval "$(lowfat shell-init zsh)";를 추가합니다.

파일 내용 압축(post-read)

유형 lowfat가 하는 일
소스 코드(Rust, Python 등) 주석 제거, 공백 정규화; ultra는 함수 본문을 서명으로 접기
Markdown 배지/HTML 주석 제거, 긴 코드 블록 및 표 잘라내기
HTML / Vue / Svelte <style>/<script> 섹션 삭제, 선택적으로 텍스트만 유지
JSON / JSONC 큰 배열 잘라내기, 깊은 중첩 접기
잠금 파일(Cargo.lock, package-lock.json 등) 짧은 요약(패키지 수 + 최상위 종속성)으로 대체
알 수 없음 줄 수 메모와 함께 머리와 꼬리 유지

약 10% 미만을 절약하는 파일은 변경 없이 통과됩니다.


성능 스냅샷(샘플 저장소)

명령 lite에서의 감소 full ultra
git diff –16% –38% –96%
git log –53% –80% –91%
git status –62% –62% –74%
docker ps –38% –38% –85%
ls -la –2% –75% –87%

이 숫자는 원시 출력 토큰 감소를 반영합니다. 실제 절감액은 LLM 프롬프트가 명령 출력으로 구성된 정도에 따라 다릅니다.


유사 도구와의 비교

기능 lowfat rtk(가장 가까운 경쟁자)
코어 크기 최소 바이너리, 플러그인 기반 배터리 포함 모놀리스
내장 명령 6개 선별(git, docker, grep, find, ls, tree) 100+
사용자 정의 필터 언어 .lf DSL + 셸 + Python TOML DSL
압축 수준 lite/full/ultra --aggressive, --ultra-compact
읽기 후 파일 압축 예(코드, markdown, HTML, JSON, 잠금 파일) 제한적
원격 측정 없음 선택적, 익명 집계
절감 분석 로컬 stats 및 history 로컬 gain 및 discover

라이선스 및 출처

  • 라이선스 – Apache-2.0(허용적, 상업적으로 친화적).
  • AI 고지 – 프로젝트는 개발 중에 여러 AI 도구가 사용되었음을 인정합니다.

결론

lowfat는 LLM 기반 코딩 어시스턴트(Claude, OpenCode, Pi 등)를 사용하고 시끄러운 CLI 출력과 파일 내용을 다듬어 토큰 비용을 낮게 유지하려는 모든 사람에게 실용적이고 개인정보 보호 우선의 유틸리티입니다. 플러그인 아키텍처를 통해 의존하는 모든 명령으로 도구를 확장할 수 있으며, 내장 통합을 통해 기존 AI 에이전트 워크플로에 쉽게 통합할 수 있습니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트