agy 출력의 거슬리는 곳을
스위치 하나씩 끕니다.
Antigravity CLI(agy) 바이너리의 타자기 딜레이와 한글 마크다운 결함을 고치고 자동 컴팩션 임계값을 원하는 수치로 바꾸는 Rust 패처입니다. 스위치가 하나씩 켜지며 같은 응답이 달라지는 걸 보세요. 직접 눌러도 됩니다.
그림으로 흉내 낸 시연입니다. 타자기 효과는 실제 속도(16ms마다 12바이트)의 ¼배속으로 재생하고, 수신 속도는 임의로 정한 값입니다. 배경의 바이트는 nodrip 패치가 실제로 바꾸는 x86_64 바이트입니다.
패치 여덟 가지, 골라서 적용
필요한 것만 조합해 새 실행 파일로 만들거나, 기본 agy에 바로 덮어씁니다. 오른쪽 칸은 패치 전후를 번갈아 보여 주고, 누르면 그 상태로 멈춥니다.
## ~###### 프리픽스를 숨기고 색상·볼드만 남깁니다.**"문구"**라는, **용어(`code`)**는처럼 닫는 ** 앞 구두점과 뒤 한글 조사가 만날 때 볼드가 풀리는 현상을 고칩니다.1.5.0~1.5.6, H2~H6 같은 범위 표기의 물결표 하나에 취소선이 그어지지 않게 합니다. ~~ 두 개만 취소선입니다.256k)을 --compact 180k처럼 원하는 토큰 수(32k~1000k)로 바꿉니다.x86_64 전용기본 꺼짐Antigravity CLI 1.5.7 옆에 (patch v0.2.2) 형태로 패치 버전을 표시합니다.x86_64 전용-p all,release-notes처럼 명시해야 적용됩니다.x86_64 전용기본 꺼짐릴리즈마다 바뀌는 주소에 기대지 않습니다
agy는 Go 바이너리라 함수 이름표(.gopclntab)를 품고 있습니다. 패처는 그 표에서 대상 함수를 찾고, 그 자리의 기계어가 아는 모양일 때만 손댑니다. 아래는 nodrip 한 건이 지나가는 길입니다.
매핑
mmap 제로카피로 바이너리를 엽니다. ELF64(Linux)와 Mach-O 64(macOS)를 읽습니다.
심볼 찾기
텍스트 섹션과 Go .gopclntab 심볼 테이블을 파싱해 대상 함수의 위치를 얻습니다.
시그니처 검증
x86_64·ARM64 각각의 기계어 시그니처와 대조합니다. 맞지 않으면 패치하지 않고 사유를 알립니다.
쓰기
Linux는 FICLONE reflink로 복사하고, macOS는 codesign -f -s -로 다시 서명합니다.
.gopclntab 에서 이름으로 찾기
찾은 자리의 첫 바이트
바이트 값은 src/main.rs의 시그니처 그대로이고, 0xa4720c0은 agy 1.5.7(Linux x86_64)에서 패처가 실제로 찾은 위치입니다. 버전이 바뀌면 이 숫자도 바뀝니다. 외부 크레이트 의존성 0 — Rust 툴체인만 있으면 인터넷 없이 빌드됩니다.
세 단계로 고르고, 확인하고, 패치
아래 화면은 실제로 조작됩니다. 화면을 누른 뒤 ↑↓ space a enter esc를 쓰거나, 줄과 아래 키를 직접 누르세요. compact 줄에서는 - + e로 토큰 수를 조절할 수 있고, batch를 켜면 nodrip도 함께 켜집니다.
실제 화면의 문구·키·연동 규칙을 옮긴 따라 하기 화면이며, 아무것도 패치하지 않습니다. 마지막 출력의 오프셋은 agy 1.5.7(Linux x86_64)에 실제로 실행해 얻은 값이고, 경로는 mise 설치 기준의 예시입니다. 이름 칸은 영문·숫자·. _ -만 받도록 줄였고, 파일 시스템을 보는 검사(기존 파일·링크 충돌)는 뺐습니다.
agy가 스스로 업데이트하면 패치가 풀립니다
agy는 실행할 때마다 새 버전을 확인하고, 있으면 설치된 antigravity 바이너리를 직접 교체합니다.
in-place 패치는 다시 적용
agy-cli-patch -p all --in-place를 다시 실행하면 됩니다. 원본은 antigravity.orig로 백업되고 --restore로 되돌립니다.
자체 업데이트 끄기
export AGY_CLI_DISABLE_AUTO_UPDATE=true — 값은 반드시 true여야 합니다(1은 적용되지 않음).
링크 덮어쓰기 규칙, remote-control 데몬 등 나머지 주의 사항은 README에 있습니다.
한 줄로 받고, 인자 없이 실행
Linux(x86_64, aarch64)와 macOS(x86_64, Apple Silicon)용 프리빌트 바이너리를 ~/.local/bin/agy-cli-patch에 설치합니다.
$ curl -fsSL https://raw.githubusercontent.com/KyongSik-Yoon/agy-cli-patch/main/install.sh | sh
git clone https://github.com/KyongSik-Yoon/agy-cli-patch.git cd agy-cli-patch ./install.sh --build
# 대화형: 패치 선택 → 출력 방식 → 확인 agy-cli-patch # 기본 활성 패치 전체를 적용해 agy-batch 생성 agy-cli-patch -p all -o agy-batch # 기본 패치 + 자동 컴팩션 180k 임계값 적용 (32k~1000k) agy-cli-patch -p all --compact 180k -o agy-batch # 마크다운 패치 3종만 적용해 agy-md 생성 agy-cli-patch -p heading,cjk-bold,tilde-strike -o agy-md
설치 출력은 Linux x86_64에서 실제로 찍힌 줄이며 홈 경로만 예시로 바꿨습니다. 전체 옵션은 README의 사용법을 보세요.