- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
# history-hooks 적용 및 토큰 사용량 집계
|
|
|
|
**소요 시간**: 약 40분
|
|
**Context 사용량**: input ~13k / output ~142k tokens (cache 포함)
|
|
**이슈**: #0
|
|
|
|
---
|
|
|
|
## 작업 내용
|
|
|
|
### 1. history_hooks 리뷰 및 프로젝트 적용
|
|
- `history_hooks/` 디렉토리의 5개 파일 분석
|
|
- `.claude/hooks/`에 복사: `guard-history-fields.py`, `guard-history-fields.sh`, `guard-history-reminder.sh`, `session-context.sh`, `path.json`
|
|
- `session-context.sh`, `guard-history-reminder.sh`를 `$CLAUDE_PROJECT_DIR` 기반 절대경로로 수정
|
|
- `.claude/settings.json`에 3개 훅 이벤트 등록:
|
|
- `PostToolUse(Edit|Write)` → `guard-history-fields.sh`
|
|
- `Stop` → `guard-history-reminder.sh`
|
|
- `UserPromptSubmit` → `session-context.sh`
|
|
- `docs/history/` 디렉토리 생성
|
|
|
|
### 2. 일자별 토큰 사용량 집계
|
|
- `~/.claude/projects/d--MYCLAUDE-PROJECT-abcvideo/*.jsonl` 파싱
|
|
- `requestId` 중복 제거 후 날짜별 집계
|
|
- 결과: 총 974 요청, input 12,556 / output 135,445 / cache_create 3,655,924 / cache_read 91,618,473
|
|
|
|
### 3. Gitea 이슈 코멘트 등록
|
|
- `kimminsung/dronevideoplayer#1`에 일자별 토큰 사용량 테이블 코멘트 추가
|
|
|
|
### 4. guard-history-reminder.sh 수정
|
|
- 기존: `exit 0` → stderr 메시지만 출력, Claude 그냥 종료
|
|
- 변경: 오늘 날짜 히스토리 파일 없으면 `exit 2`로 Claude 종료 차단 → 히스토리 작성 강제
|
|
|
|
## 산출물
|
|
- `.claude/hooks/guard-history-fields.py`
|
|
- `.claude/hooks/guard-history-fields.sh`
|
|
- `.claude/hooks/guard-history-reminder.sh` (수정)
|
|
- `.claude/hooks/session-context.sh`
|
|
- `.claude/hooks/path.json`
|
|
- `.claude/settings.json` (Stop, UserPromptSubmit 훅 추가)
|
|
- `docs/history/` 디렉토리
|