myunwang/LLMPET
JavaScript0 / 0
Agent 상태를 시각화하고 로컬에서 토큰 사용량과 비용을 추적하는 Electron 트레이 애플리케이션
TL;DR
LLMPET은 Claude Code와 OpenAI Codex의 CLI/데스크탑 에이전트를 로컬에서 실시간으로 모니터링하고 시각화하는 Electron 트레이 앱으로, 에이전트 상태에 따라 애니메이션 표정과 메시지 버블을 띄우고 권한 요청을 로컬에서 블록하고 한 번의 클릭으로 허용/거부할 수 있습니다. 설치 시 ~/.claude/settings.json에 merge-safe 훅을 등록하고 로컬 HTTP server가 /state와 /permission을 받아 상태머신과 어댑터로 전파하며, Codex는 rollout 파일을 증분 tail하는 읽기 전용 파이프라인으로 통합됩니다. 로컬 metering 모듈이 transcript/rollout을 스캔해 토큰과 비용을 추정하고 ~/.octopus 경로에 사용량을 기록하므로 API 청구서가 아닌 로컬 추정치를 대시보드에서 확인할 수 있습니다. macOS와 Windows를 지원하며 Electron 보안 설정과 로컬 바인딩, 훅 백업/안전 제거 같은 완화책이 포함되어 있지만 Linux 위치 추적과 일부 기능은 미구현 상태입니다.
핵심 포인트
- 데스크톱에서 Claude Code와 OpenAI Codex의 agent 상태를 시각적으로 표시하는 Electron 기반 트레이 애플리케이션으로, 에이전트 상태 변화에 따라 애니메이션 표정과 메시지 버블을 실시간으로 보여줍니다. 설치 시 ~/.claude/settings.json에 merge-safe 방식으로 hook을 등록하고 로컬 HTTP 서버(127.0.0.1)를 통해 /state와 blocking /permission 이벤트를 수신하여 상태머신으로 처리합니다. 이 구조는 사용자 인터랙션(한번 클릭으로 허용/거부)과 회수 가능한 훅 설치·제거를 가능하게 하여 로컬 우선 모드에서 동작하게 합니다.
- OpenAI Codex는 별도 훅 없이 로컬 rollout 파일을 증분 tail 방식으로 읽는 읽기 전용 워크플로로 통합되어 있으며, Codex 쪽은 구성 변경 없이 감시만 수행합니다. Codex 이벤트는 동일한 상태머신으로 매핑되어 user_message→thinking, exec_command 이후→working, task_complete→happy 식으로 처리되고 토큰 수와 세션 상태가 상세 패널에 반영됩니다. 이 방식은 Codex 설정을 건드리지 않으므로 제거 시 잔여 변경이 남지 않는 장점이 있습니다.
- 로컬 계량(metering) 모듈이 ~/.claude/projects/**/*.jsonl과 ~/.codex/sessions/**/*.jsonl를 증분 스캔하여 message.id 기준으로 중복을 제거하고 각 라운드별 토큰을 집계한 뒤 모델 단가로 비용을 추정합니다. 기본 가격 동기화는 LiteLLM 공개 가격표를 사용하며 ~/.octopus/pricing.json으로 수동 덮어쓰기가 가능하고, 과거 기록 재계산을 위한 npm run meter:rebuild 기능을 제공합니다. 결과는 ~/.octopus/usage.json와 ~/.octopus/codex-usage.json에 저장되어 로컬 추정치와 트렌드를 패널에서 확인할 수 있습니다.
- 보안과 설치 정책은 로컬 바인딩(127.0.0.1)과 시작 시 생성되는 런타임 토큰, body 크기 한도, 훅 설치 전후 백업 등으로 완화되어 있으며 Electron 안전 설정(contextIsolation 활성화 등)을 적용했습니다. 플랫폼으로는 macOS와 Windows를 우선 지원하고 Linux는 미구현 상태이며, Windows에 대한 추가적 포커스·패킹 파이프라인과 테스트가 README에 문서화되어 있습니다. 알려진 한계로는 일부 표정 이미지의 저작권 provenance가 완전히 확인되지 않았고 Codex/Claude의 로컬 기록은 계정 전체 청구서와 일치하지 않는다는 점이 명시되어 있습니다.
82
Stars
15
Forks
+204
Trending
0
조회수
82 watchers3 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.