Repository navigation
Releases: fivetaku/tikeytaka
Release list
v0.6.3 — gptaku-core routing tune
v0.6.2 — gptaku-core routing
- Routed through gptaku-core. Declares
gptaku-coreas a dependency and addsrouting.json, so requests that match this plugin's skills are pointed to them before Claude handles the work itself or reaches for native tools. Existing users: run/reload-pluginsafter updating, or reinstall the plugin, so gptaku-core gets installed. Opt out withGPTAKU_ROUTER=off.
v0.6.1 — per-project usage note in Claude auto-memory on first setup
setup.sh now writes a tikeytaka-usage.md note (+ MEMORY.md index line) into the current project's Claude Code auto-memory on first run: vault→map-add→sync flow, values only in shell variables, tkt doctor as diagnosis authority, and check header/URL/key purpose before rotating a key on 401/403. Idempotent, ko/en, no secret values.
v0.6.0 — 로컬 암호문 미러 + 읽기 전용 폴백 (샌드박스·TCC·iCloud 접근 불가 환경 대응)
변경 내용
- 로컬 암호문 미러 + 읽기 전용 폴백: 정본(클라우드 볼트)을 정상 읽을 때마다
~/.config/tikeytaka/mirror/<볼트경로해시>.enc에 바이트 동일한 암호문을 갱신(0600, 같은 암호로만 열림, 볼트 경로별 분리). 정본 폴더에 접근 못 하는 프로세스(Claude Code Bash 샌드박스·macOS TCC 거부·iCloud 미실체화)에서get/list/sync/requires가 실패 대신 미러로 읽는다(stderr에 미러 시점 안내). v0.4.0은 이 상황을 진단만 했고, 이번이 실제 해결. - 쓰기 펜스: 정본 접근 불가 시
set/del/init거부(미러는 읽기 전용) — 샌드박스 프로세스가 분기 볼트를 만드는 사고 차단(이전엔 init이 그대로 새 볼트를 만들었음). - 오보 수정: 샌드박스에서
[ -f 볼트 ]가 거짓이라 "볼트 없음 — tkt init 먼저"로 잘못 보고하던 경로(2026-08-27 오진) 제거. 존재/접근 판정을vault_locate(ok/mirror/missing/denied) 하나로 통일하고 doctor도 같은 로직 사용(별도 판정으로 '폴더 미생성' 오진하던 문제 해소). doctor에 미러 상태(정본과 동일/사용 중+시점/없음),where에 미러 경로 표시.- 회귀 66케이스(신규 13) — macOS
sandbox-exec실제 차단 프로파일 아래 8건 포함. 교훈: deny 경로는 실경로여야 함(/var는/private/var와 매칭 안 됨).
v0.5.0 — tkt requires: 플러그인 키 선언 대조
플러그인이 루트 keys.json으로 필요한 API 키를 선언하면 tkt requires가 설치된 플러그인을 스캔해 볼트와 대조합니다.
ok등록됨 /MISSING필수 미등록(exit 4, 발급 URL 안내) /opt선택 미등록- 읽기 전용 — 키를 자동 등록하거나
.env를 건드리지 않습니다 - 선언은
plugin.json이 아니라 그 옆의 별도 파일에 둡니다(매니페스트 스키마에 없는 키는claude plugin validate실패) - 새
/tikeytaka:requires스킬이keys.json스키마를 문서화 - 회귀 테스트 53건(11건 신규)
v0.4.0 — tkt doctor + 실패 원인 구분 보고
변경 내용
- 신규
tkt doctor: 암호 저장소 → 볼트 폴더/파일 접근 → Salted__ 매직 → 복호화+TKT2 무결성 → 매핑, 단계별 판정과 FAIL별 조치 안내. exit code로 자동화 판정 가능. - 실패 원인 구분 보고: 기존에는 모든 실패가 "암호 불일치 또는 파일 손상"으로 뭉뚱그려져, 샌드박스·TCC로 iCloud 볼트 폴더를 못 읽는 환경 문제를 KDF 차이·암호 문제로 오진하는 일이 반복됐다. 이제 접근 불가 / iCloud 미실체화(dataless — brctl download 자동 복구) / 암호문 아님(충돌 사본·절단) / 진짜 암호 불일치(openssl stderr 표면화)를 구분한다.
- 교차 복호화(LibreSSL 3.3 ↔ OpenSSL 3.6) 호환 재검증 완료 — 명시 KDF 옵션 기준 양방향 정상.
- 회귀 테스트 42케이스 (신규 7).
v0.3.0 — verify skill: dead keys never enter the vault
New verify skill: live-checks keys against no-cost endpoints before registration and on demand for the whole vault. Probe recipes for 8 known providers, HTTP-code interpretation rules (401 dead / 403 valid-but-unentitled / 000 retry without proxy), and docs-guide-driven probe design for unknown providers. add/scan now gate registration on a verify pass.
v0.2.3 — scan covers shell rc files
scan now sweeps ~/.zshrc, ~/.zprofile, ~/.bashrc, ~/.bash_profile for plaintext exported keys — found-in-rc keys get vaulted and the rc line removed (rc is an exposure path, not a propagation target).
v0.2.2 — settings.json 보호 핫픽스
첫 실행 setup이 손상/주석 포함 settings.json을 빈 설정으로 덮어써 사용자 설정 전체를 증발시킬 수 있던 버그 수정 — 파스 실패 시 쓰기 거부 + 원자적 쓰기(tmp+rename). ddiring v0.1.1 외부 리뷰에서 발견된 공유 setup.sh 버그의 마켓 전체 전파, 재현 검증 완료.
v0.2.1 — fix empty vault.path pinning
init wrote an empty vault.path (self-referential shell redirect), breaking vault resolution on every subsequent run. Fixed; empty pin files are also ignored on read. Regression suite extended to 35 cases covering the pinning path.