초미니 인터페이스 없는 코딩 에이전트: 7 MB 크기의 Go 정적 바이너리로, 파일 읽기, 파일 쓰기, 치환, 명령어 실행이라는 네 가지 도구만 제공한다. 표준 입력에서 작업을 읽고 표준 출력으로 결과를 쓰므로 셸 파이프라인, CI 및 컨테이너 환경에 적합하다. 호출 시마다 전체 대화를 전송하며 압축이나 절단을 하지 않는다.
스타 수 572 (+295 / 24시간)
이유
- '컨텍스트를 몰래 버리지 않음'을 강조: 요약, 잘라내기 또는 슬라이딩 윈도우를 수행하지 않으며, 파일 내용과 명령어 출력을 모델에 완전히 전달한다. 모델 출력이 서비스 제공자에 의해 잘릴 경우, 반쪽짜리 답변을 성공으로 간주하지 않고 오류를 발생시켜 종료한다.
- 로컬 Ollama(저자가 qwen3:8b로 스모크 테스트 수행)를 포함하여 모든 OpenAI 호환 Chat Completions 인터페이스를 지원한다. JSONL 세션 파일을 통한 선택적 재실행이 가능하며, --json 옵션으로 구조화된 이벤트를 출력한다. 수정이 용이하도록 Go로 약 837줄을 구현했다.
사용법
- Releases에서 해당 플랫폼의 바이너리를 다운로드(SHA-256 검증 포함)하거나, go install github.com/Balanov/uncut/cmd/uncut@latest를 실행한다(Go 1.26 이상 필요).
- UNCUT_API_KEY, UNCUT_MODEL을 설정한 후(OpenRouter 등을 사용하는 경우 UNCUT_BASE_URL도 설정) 다음과 같이 실행한다: uncut "Inspect this repository and fix the failing tests". 또한 git diff | uncut "Review this diff. Do not edit files."와 같이 사용할 수도 있다.
리스크
- 저자는 이것이 샌드박스가 아님을 명시한다: 모델은 사용자의 권한으로 임의의 셸 명령어를 실행할 수 있으며, 승인 팝업이 없다. 신뢰할 수 없는 작업은 일회용 컨테이너에서 실행해야 한다. 세션 파일에는 소스 코드와 시크릿 키가 포함될 수 있다.
- 매번 전체 대화를 전송하므로 긴 작업의 경우 토큰 비용이 빠르게 증가하며, 컨텍스트를 초과하면 즉시 실패한다. 이미지를 지원하지 않는다. 바이너리에 서명이 없다. 새로운 저장소(11월 1일 생성)의 스타 수가 빠르게 증가하고 있으며, 웹사이트에는 '관찰 필요'로 표시되어 있다. README를 읽어보면 일반적인 개발 도구로 보인다. 라이선스는 MIT이다.