Skip to content

Releases: beyondworks/Usage-manager

Usage Manager 2.7.1

Choose a tag to compare

@beyondworks beyondworks released this 08 Oct 14:28

미리 저장한 핸드오버를 "저장 없이 압축"으로 잘못 알리던 문제

예고를 받고 압축 지점 전에 핸드오버를 저장한 세션은 압축이 보류되지 않고 그대로 이어진다. 그런데 이 통과를 기록할 때 "핸드오버 있음"으로 치지 않아, 예고대로 정확히 해낸 세션에 "핸드오버 없이 압축되었습니다" 알림과 "저장 먼저" 표시가 붙었다. 이제 이 경우도 핸드오버가 있는 압축으로 기록하고, "clear 권장"으로 안내한다. 맥과 윈도우 모두 고쳤다.

읽을 한도가 없을 때 "한도 읽는 중…"에 머무르던 문제

모든 출처가 아무 한도도 돌려주지 않으면 한도 칸이 계속 "한도 읽는 중…"이었다. 이제 첫 조회가 끝나면 "읽을 수 있는 한도가 없습니다"로 바뀌고, 칸에 마우스를 올리면 Claude 조회 결과가 보인다. 윈도우판은 2.7부터 이렇게 동작했고, 이번에 맥도 같아졌다.

설치

  • 맥: UsageManager-2.7.1-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.7.1-intel.dmg (Intel). macOS 14 이상. 서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".
  • 윈도우: UsageManager-2.7.1-windows-x64-setup.exe. 윈도우 10/11 x64, 관리자 권한 없이 설치된다. SmartScreen 경고가 뜨면 "추가 정보 → 실행".

Usage Manager 2.7

Choose a tag to compare

@beyondworks beyondworks released this 05 Oct 00:27

윈도우판

같은 기능을 윈도우 작업표시줄 트레이에서 쓰는 윈도우판이 나왔다. 남은 한도, 활성 세션과 컨텍스트 점유율, 압축 횟수와 clear 권장, 알림, 에이전트 훅, 압축 보류까지 맥판과 같은 규칙으로 판단한다. 판단 규칙은 맥판 코드를 그대로 옮겼고, 맥판 자체검사 항목을 같은 기대값의 테스트로 옮겨 두었다.

윈도우의 Claude Code는 훅 명령을 Git Bash로 실행하므로, 설정에는 설치된 실행 파일을 직접 부르는 명령이 들어간다. Claude 한도는 Claude Code가 로그인 정보를 두는 ~/.claude/.credentials.json으로 조회한다. 제거하면 Claude Code 설정에서 훅을 먼저 빼고, 훅이 없던 설정 파일은 건드리지 않는다.

확인하지 못한 것: Claude 데스크톱 앱의 윈도우 세션 메타데이터 경로, 그리고 Claude Code가 로그인 정보를 Windows 자격 증명 관리자에 두는 경우. 둘 다 없을 때는 대화 기록의 이름과 statusLine의 주간 한도로 표시된다.

맥: keychain 승인 창이 다시 뜨지 않는다

Claude Code는 keychain 항목을 토큰이 그대로여도 수십 분 간격으로 다시 쓰는데, 그때마다 앱의 허용이 빠져 업데이트나 재빌드 뒤에는 로그인 암호를 거듭 물었다. 이제 Claude Code와 같은 /usr/bin/security를 거쳐 읽으므로 승인 창이 뜨지 않는다. 처음 설치할 때 "항상 허용"을 누를 필요도 없다.

설치

  • 맥: UsageManager-2.7-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.7-intel.dmg (Intel). macOS 14 이상. 서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".
  • 윈도우: UsageManager-2.7-windows-x64-setup.exe. 윈도우 10/11 x64, 관리자 권한 없이 사용자 폴더에 설치된다. 코드 서명이 없어 SmartScreen 경고가 뜨면 "추가 정보 → 실행". 새 트레이 아이콘은 숨겨진 아이콘(^) 안에 들어가므로, 작업표시줄로 끌어 놓으면 늘 보인다.

Usage Manager 2.6.2

Choose a tag to compare

@beyondworks beyondworks released this 26 Sep 02:17

로그인을 바꾸면 한도도 바로 따라온다

Claude Code에서 다른 계정으로 로그인해도 앱은 그 전 계정의 한도를 최대 한 시간 동안 보여 줬다. keychain에서 읽은 자격을 메모리에 들고 있었기 때문이다. 이제 keychain 항목이 다시 쓰이면 들고 있던 자격을 버리므로, 다음 조회(5분 안)부터 새 계정의 한도가 뜬다. 항목의 수정 시각만 확인하는 질의라 자격 값을 읽지 않고 승인 창도 뜨지 않는다.

조회가 막혀도 다른 계정의 값이 끼어들지 않는다

앱을 켠 직후 첫 조회가 조회 제한에 걸리면, 대체값으로 statusline 스냅샷을 보여 줬다. 그런데 스냅샷에는 어느 계정 것인지 적혀 있지 않다. 그래서 다른 계정으로 떠 있는 터미널 세션이 하나만 있어도 그 계정의 값이 떴다. 실제 사례 한 건에서는 84%가 남은 계정의 행에 "0%"가 표시됐다.

이제 성공한 조회값을 계정 id와 함께 저장해 두고, 지금 로그인한 계정 것일 때만 대체값으로 쓴다.

보이는 것은 Claude Code가 로그인한 계정의 한도다

데스크톱 앱에서 계정을 바꿨다면 claude auth login으로 Claude Code도 같은 계정에 맞춰야 한다. 데스크톱 앱의 자격은 앱 안에만 있어서, 데스크톱이 쓰는 계정의 한도를 로컬에서 따로 읽을 방법은 없다.

설치

UsageManager-2.6.2-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.6.2-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 한도를 조회할 때 keychain 접근을 한 번 승인해야 한다. "항상 허용"을 눌러 두면 된다. 배포본은 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다. 직접 빌드해 Apple Development 인증서로 서명하면 업데이트 뒤에도 승인이 유지된다.

Usage Manager 2.6.1

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 08:36

압축 직후에 거짓 예고가 나가지 않는다

2.6에서는 자동 압축이 끝난 직후, 세션이 아직 새 응답을 받기 전에 앱이 압축 전 크기를 현재 크기로 읽었다. 그래서 방금 압축된 세션에 "곧 압축 지점에 닿는다"는 예고를 보냈고, 세션은 필요 없이 핸드오버와 vault를 한 번 더 저장했다. 이제 압축 경계 뒤에 새 응답이 없으면 압축 뒤 크기를 현재 크기로 쓴다. 압축 뒤 크기가 기록되지 않은 경우(직접 실행한 /compact)에는 다음 응답이 올 때까지 판단을 미룬다.

설치

UsageManager-2.6.1-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.6.1-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 한도를 조회할 때 keychain 접근을 한 번 승인해야 한다. "항상 허용"을 눌러 두면 된다. 배포본은 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다. 직접 빌드해 Apple Development 인증서로 서명하면 업데이트 뒤에도 승인이 유지된다.

Usage Manager 2.6

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 07:52

저장 뒤에 한 일까지 저장하고 압축한다

압축 지점이 다가오면 앱이 먼저 "지금 미리 저장해 두라"고 알린다. 그런데 알림은 압축 지점보다 앞서 나가므로, 저장한 뒤에도 세션은 작업을 이어 간다. 실제 사례 한 건에서는 저장 뒤로 22,000토큰 분량의 작업이 더 쌓였고, 그 몫이 저장본에 없는 채로 압축됐다.

이제 압축 순간에 저장 표시를 만든 시점과 지금의 세션 크기를 비교한다. 5,000토큰 넘게 늘었으면 압축을 한 번 더 멈추고, 마지막 저장 이후에 한 일만 덧붙이라고 알린다. 처음부터 다시 쓰지 않으므로 짧게 끝난다. 그 두 번째 저장은 그대로 통과시켜서, 같은 압축을 두 번 넘게 붙잡지 않는다.

압축 지점을 그 세션이 실제로 압축된 자리에서 읽는다

설정한 기준선으로만 계산하면, 설정이 적용되기 전에 열린 세션은 엉뚱한 시점에 알림을 받는다. 이제 자동 압축을 한 번이라도 겪은 세션은 대화 기록에 남은 실제 압축 크기를 기준으로 삼는다. 직접 실행한 /compact와 기준선으로 나올 수 없는 값은 무시한다. 아직 압축된 적이 없는 세션은 이전처럼 설정값으로 계산한다.

설치

UsageManager-2.6-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.6-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 한도를 조회할 때 keychain 접근을 한 번 승인해야 한다. "항상 허용"을 눌러 두면 된다. 배포본은 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다. 직접 빌드해 Apple Development 인증서로 서명하면 업데이트 뒤에도 승인이 유지된다.

Usage Manager 2.5

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 07:21

활성 세션이 다섯 개를 넘으면

목록은 다섯 줄까지 보이고 여섯째 줄은 윗부분만 살짝 보인다. 그 아래는 흐려지며 사라지고, 스크롤하면 부드럽게 이어진다. 스크롤 막대는 없다. 끝까지 내리면 아래 흐림이 걷히고, 위로 올라간 상태에서는 위쪽 가장자리도 흐려진다. 다섯 개 이하일 때는 이전과 같다.

가득 찬 행에서도 오른쪽이 읽힌다

사용률이 높은 행은 막대가 오른쪽 끝까지 차오르면서 캐시·압축 횟수·clear 권장 배지와 숫자를 밝은 바탕 위 흰 글씨로 만들었다. 이제 배지와 숫자 뒤에만 어두운 바탕을 깐다. 막대는 끝까지 그대로 간다. 20·50·70·87·95·100%에서 모두 읽히는 것을 확인했다.

훨씬 가벼워졌다

대화 기록에서 압축 횟수를 세는 스캔이 1MB씩 읽은 조각을 스캔이 끝날 때까지 전부 쥐고 있었다. 조각마다 바로 놓아주도록 고쳤다. 설치본 기준 실제 메모리(phys_footprint)는 팝오버를 닫아 둔 상태 약 23MB, 여는 동안 약 50MB, 닫고 12분 뒤 약 37MB이고, 최고치는 4753MB다. 2.4는 같은 기계에서 상주 77MB, 최고 163MB였다.

미리 저장한 세션을 다시 붙잡지 않는다

압축 지점이 다가오면 앱이 먼저 "지금 미리 저장해 두라"고 알린다. 그 알림에 따라 핸드오버를 저장하고 마커를 남겨도, 압축 순간에는 그 마커를 인정하지 않아 한 번 더 저장하게 만들었다. 이제 알림을 보낸 뒤에 남긴 마커는 곧바로 인정한다. 알림보다 이른 마커나 여섯 시간이 넘은 마커는 여전히 무시한다.

진단 명령이 실제 알림을 띄우지 않는다

--arm-check 같은 진단 명령이 합성 세션으로 실제 데스크톱 알림을 띄우던 문제를 고쳤다. 명령줄 플래그로 실행하면 알림 대신 로그만 남긴다.

설치

UsageManager-2.5-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.5-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 한도를 조회할 때 keychain 접근을 한 번 승인해야 한다. "항상 허용"을 눌러 두면 된다. 배포본은 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다. 직접 빌드해 Apple Development 인증서로 서명하면 업데이트 뒤에도 승인이 유지된다.

Usage Manager 2.4

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 05:53

세션 이름이 데스크톱 앱과 같아진다

이름을 바꾼 세션은 그 이름을 대화 기록 앞부분에 적어 둔다. 앱은 기록의 끝만 읽으므로 긴 세션에서는 그 줄에 닿지 못했고, 결국 폴더 이름으로 보였다. 서로 다른 두 세션이 나란히 argo로 뜨는 식이었다.

이제는 데스크톱 앱이 세션마다 남기는 메타데이터에서 이름을 읽는다. 화면에 보이는 그 이름이다. 터미널에서 연 세션은 기존대로 기록의 이름을, 그것도 없으면 폴더 이름을 쓴다.

clear 한 세션이 목록에 남지 않는다

세션을 clear 하면 새 기록이 시작되고 앱의 메타데이터가 그쪽을 가리킨다. 옛 기록은 파일로 남아 한동안 최근 목록에 걸렸고, 한 세션이 두 줄로 보였다. 옛 줄은 지난 압축 횟수를 그대로 달고 있어서 더 헷갈렸다.

어느 세션의 것도 아니게 된 기록은 이제 목록에서 뺀다. 보관된 세션도 마찬가지다. 압축 횟수는 새 기록 기준으로 0부터 다시 센다. 메타데이터를 읽을 수 없는 환경에서는 아무것도 숨기지 않는다.

이름 변경과 clear 는 곧바로 반영된다. 메타데이터 폴더도 함께 지켜보기 때문이다. 읽기만 하고 쓰지 않는다.

가벼움에 대하여

이 메타데이터 파일은 하나가 500KB에 이르고 수백 개다. 필요한 것은 네 필드뿐인데 통째로 해석하면 3초와 36MB가 든다. 그래서 바이트에서 필요한 값만 뽑고, 파일은 복사하지 않고 매핑해서 본다. 118MB까지 올랐던 것이 95MB로 내려왔다(이 기능이 없던 때는 82MB였다).

문서

README와 스크린샷을 2.1 이후의 모든 변화에 맞춰 새로 썼다. keychain 자격 정보와 user agent, 데이터 나이와 새로고침 링, 압축 횟수와 clear 권장, 캐시 유효 표시, Claude 전용 훅, 그리고 이번 변경이다. 릴리즈 전 점검 항목에 "README 서술이 현재 동작과 맞는가"와 "스크린샷이 현재 UI인가"를 넣었고, 마지막 태그 이후 둘 다 그대로면 릴리즈 스크립트가 경고한다.

설치

UsageManager-2.4-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.4-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 한도를 조회할 때 keychain 접근을 한 번 승인해야 한다. "항상 허용"을 눌러 두면 된다. 다만 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다.

Usage Manager 2.3

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 05:23

세션 캐시가 아직 유효한지 보인다

세션의 문맥은 서버 쪽 캐시에서 싸게 다시 읽힌다. 그 캐시가 지나면 다음 메시지가 문맥 전체를 다시 써야 하고, 그 비용이 주간 한도로 돌아온다.

이제 각 세션 행이 둘 중 어느 쪽인지 말해 준다. 캐시 42분이면 아직 싸고, 재작성 60만이면 다음 메시지가 그만큼을 다시 쓴다는 뜻이다. 5분 이내로 남으면 굵어진다.

유효 시간은 세션이 스스로 알려 준다. 응답마다 한 시간짜리를 썼는지 5분짜리를 썼는지 기록되고, 한 세션이 둘을 섞는 경우는 관찰되지 않았다. 시계는 마지막 응답부터 흐른다. 읽을 때마다 캐시가 갱신되기 때문이다.

10,041건의 응답으로 이 판정을 대조했다. 캐시가 지났다고 본 자리에서 다음 응답은 문맥의 94.2%를 다시 썼고, 살아 있다고 본 자리에서는 0.5%였다. 약속은 아니다. 유효한데도 다시 쓰는 경우가 1% 정도 있다.

Claude Code 전용

Codex에는 더 이상 훅을 설치하지 않는다. Codex는 자체 압축을 기록으로 남기지 않아 붙잡을 것이 없었고, 그쪽 프롬프트에 넣던 알림도 뒤를 받쳐 줄 것이 없었다. 설치와 제거 모두 ~/.codex/hooks.json에서 이 앱의 항목을 빼낸다. Codex 세션은 목록에도 그대로 나오고 한도도 계속 읽는다. 바뀐 것은 그 프롬프트에 아무것도 쓰지 않는다는 점뿐이다.

넣었던 항목이 각 이벤트의 맨 뒤였으므로 빼내도 다른 훅의 자리는 그대로다. Codex가 그 자리를 기준으로 기억해 둔 신뢰도 함께 유지된다.

키체인을 덜 묻는다

한도 조회에 쓰는 자격 정보는 Claude Code가 최신으로 유지하는 키체인 항목에서 읽는다. macOS는 앱의 서명이 바뀔 때마다 그 읽기를 다시 승인받으려 하고, 지금 이 앱은 빌드마다 서명이 달라진다.

그래서 읽은 값을 유효한 동안(최대 한 시간, 최소 10분) 메모리에 두고, 거절당하면 그 자리에서 버리고 다시 읽는다. 5분마다 묻던 것이 한 시간에 한 번이 된다. 실제로 읽을 때마다 로그에 한 줄이 남는데, 남는 것은 지문뿐이고 값은 기록하지 않는다.

처음 실행할 때 키체인 승인 창이 한 번 뜬다. "항상 허용"을 눌러 두면 된다. 다만 서명이 ad-hoc이라 업데이트할 때 다시 물을 수 있다. 이 부분은 개선할 예정이다.

설치

UsageManager-2.3-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.3-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

Usage Manager 2.2

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 04:03

한도 조회가 멈춰 있던 문제를 고치고, 화면의 값이 언제 것인지 알 수 있게 했다.

Claude 한도가 열한 시간 갱신되지 않던 문제

세 가지가 겹쳐 있었다. 앱은 실행 중인 세션에서 인증 정보를 가져오는데 목록의 첫 번째, 즉 가장 오래된 것을 집었다. 어제 시작한 세션의 것은 이미 만료되어 매번 거절당했다. 거절을 기다릴 이유로 보지 않아 5분마다 다시 물었고, 그것이 한 시간짜리 조회 제한을 불렀다. 그 제한은 메모리에만 있어서 앱을 다시 켤 때마다 초기화됐고, 켜자마자 또 물었다.

이제 Claude Code 자신이 최신으로 유지하는 항목을 먼저 읽는다. 만료 시각이 함께 들어 있어 미리 거를 수 있다. 접근에는 한 번 승인이 필요하다. 그것이 없으면 자격 파일을, 그것도 없으면 실행 중인 세션을 최신 순으로 본다.

조회 제한도 그것을 부른 쪽에만 적용한다. 만료된 것 때문에 걸린 제한이 새로 갱신된 것까지 한 시간 묶어 둘 이유는 없다. 제한이 남은 시간은 파일에 적어 두어 앱을 다시 켜도 지킨다.

요청에는 claude-code/<설치된 버전>을 밝힌다. 여러 사용량 도구가 이 엔드포인트의 제한을 피하는 방법으로 꼽는 것이다. 다만 이번 실측에서는 올바른 인증 정보만으로도 응답이 왔으므로, 증명된 원인이라기보다 예방이다.

값이 언제 것인지 보인다

각 공급자 행에 마지막 조회가 언제였는지 붙는다. 방금, n분 전, n시간 전. 한 시간이 넘으면 그 행이 흐려진다. 숫자만 보고 최신이라 믿는 일이 없도록.

머리말 오른쪽에는 다음 자동 조회까지 줄어드는 링이 있다. 누르면 그 자리에서 조회한다. 1분에 한 번까지이고, 이미 제한에 걸린 공급자는 건너뛴다. 눌러서 제한이 길어지는 일은 없다. 제한 중에는 링이 그 사실과 남은 시간을 알려 준다.

설치

UsageManager-2.2-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.2-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".

처음 실행할 때 keychain 접근 승인을 한 번 묻는다. 거절해도 나머지 경로로 동작하지만, 승인하는 편이 조회가 안정적이다.

Usage Manager 2.1

Choose a tag to compare

@beyondworks beyondworks released this 22 Sep 01:35

2.0 이후의 변화는 대부분 압축을 실제로 붙잡는 일에 관한 것이다.

압축은 알림이 아니라 훅이 붙잡는다

앱이 세션 크기를 미리 재서 대비하는 방식은 이길 수 없는 경쟁이었다. 도구를 한 번에 여러 개 부르면 한 응답에 3만 토큰이 늘고, 앱이 알아차린 순간에는 압축이 이미 시작된 뒤다. 실측에서 1초 차이로 놓쳤다.

이제 압축 직전에 끼어드는 훅이 그 자리에서 판단한다. 훅이 불렸다는 사실 자체가 세션이 압축 지점에 닿았다는 뜻이므로 미리 맞힐 필요가 없다. 앱이 꺼져 있어도, 앱이 보지 못하는 세션에서도 동작한다.

붙잡지 않는 경우를 분명히 했다

판단을 그르쳐 세션을 묶어 두는 쪽이 압축 한 번을 놓치는 것보다 나쁘다.

  • 세션이 한도 자체에 닿았을 때. 그때 일어나는 것은 압축이 아니라 오류이고, 오류 뒤의 복구용 압축까지 막으면 세션이 멈춘 채 스스로 풀지 못한다. 아직 보내지 않은 다음 요청의 크기는 이미 쌓인 도구 결과까지 세어 가늠한다.
  • 크기를 잴 수 없을 때. 기록을 8MB까지 거슬러 봐도 토큰 수를 못 찾으면 통과시킨다.
  • 서브에이전트의 압축일 때. 부모의 세션 번호를 쓰므로 여기서 붙잡으면 부모 몫을 먼저 써 버린다.

보류 시간은 알림이 에이전트에게 닿은 순간부터 10분이다. 알림과 마커는 자기가 속한 압축보다 오래 살아남지 않는다.

세션마다 압축 횟수와 clear 권장

각 행에 압축을 몇 번 거쳤는지 1/3 꼴로 붙는다. 세션 이름 끝에 손으로 적어 둔 표기는 표시에서만 떼어 낸다.

기준에 닿으면 clear를 권한다. 압축을 거듭해도 되찾는 공간은 거의 늘지 않는 반면 요약의 요약만 쌓이기 때문이다(1M 세션 압축 142건: 첫 압축 뒤 31,233 토큰, 다섯 번째 뒤 39,891 토큰). 직전 요약이 45,000 토큰을 넘으면 기준 전이라도 권한다. 앱은 권하기만 하고 아무것도 지우지 않는다.

그 밖에

  • 큰 도구 결과 하나가 세션을 목록에서 사라지게 하던 문제
  • 한도 조회가 429를 받으면 서버가 말한 시간만큼 기다리고, 조회에 실패해도 직전 값을 남긴다
  • 세션 번호를 최상위 키에서만 읽는다 (도구 응답 안의 다른 세션 번호를 잡던 문제)
  • 사용자가 직접 둔 자동 압축 지점 설정을 제거 시 원래대로 되돌린다

설치

UsageManager-2.1-apple-silicon.dmg (Apple Silicon) 또는 UsageManager-2.1-intel.dmg (Intel). macOS 14 이상.

서명은 ad-hoc이고 공증은 받지 않았다. 처음 열 때 경고가 뜨면 우클릭 → 열기를 한 번 하거나 xattr -dr com.apple.quarantine "/Applications/Usage Manager.app".