<p align="center">
<img src="https://raw.githubusercontent.com/timwuhaotian/killi/HEAD/docs/icon.png" width="128" height="128" alt="killi icon">
</p>
<h1 align="center">killi</h1>
CI
Release
License: MIT
macOS · Linux
killi는 Rust로 작성된 빠르고 작으며 무료 오픈소스 터미널용 AI 코딩 에이전트입니다. 설치에 필요한 런타임 없이 Apple silicon Mac과 Linux (x64 및 arm64)용 단일 약 7MB 네이티브 바이너리로 배포되며, 10ms 미만으로 시작하고 프롬프트 실행 시 약 18MB의 메모리를 사용합니다. Claude Code, Codex CLI, opencode 또는 Kimi Code와 유사하게 코드를 읽고, 명령을 실행하며, 파일을 편집하지만, ChatGPT 구독을 포함하여 모든 OpenAI-compatible, Anthropic-compatible 또는 OpenAI Responses LLM과 작동하며, MCP 서버, 서브 에이전트(subagents), 플랜 모드(plan mode), 스킬(skills), 후크(hooks) 및 AGENTS.md를 지원합니다.
이것은 하나의 아이디어를 중심으로 구축되었습니다: 모델에게 가능한 한 적은 양의 정보를 보내고 매번 동일한 방식으로 전송하여 제공업체의 프롬프트 캐시가 계속 히트(hitting)하도록 합니다 (입력 토큰의 70–90%가 캐시에서 나옴). 이는 [Kil] 터미널 및 [Kiled] 에디터의 형제작입니다.
killi 개요
| killi |
|---|
| 설치 크기 | ~7 MB 단일 바이너리, 런타임 없음 |
<p align="center">
<img src="https://raw.githubusercontent.com/timwuhaotian/killi/HEAD/docs/screenshot.svg" width="960" alt="killi on the iced-coffee theme fixing a failing slugify test: the blue-to-coral banner, a read and the failing test run, a thought, an edit to slug.py with added and removed line stripes, the passing run and the explanation; below, the model's suggested next prompt sits in the empty prompt and the status line shows the model, swarm mode, a context gauge, tokens 83% cached and the git branch">
</p>
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/benchmarks-dark.svg">
<img src="https://raw.githubusercontent.com/timwuhaotian/killi/HEAD/docs/benchmarks-light.svg" width="960" alt="하나의 차트에 모든 벤치마크 표시: 설치 크기, 프롬프트 하나 실행 및 타이핑 전 전송 토큰에 따른 최대 메모리 사용량 (killi, Kimi Code, Claude Code, opencode 2); 그리고 killi, Kimi Code, Claude Code 각각의 테스트 실행 성공 여부, 입력 토큰, 시간 및 최대 메모리 사용량">
</picture>
</p>
측정 방법: 크기 및 메모리 · 기능 테스트.
상태: 초기 단계이나 활발하게 개발 중입니다. macOS (arm64) 및 Linux (x64/arm64). 작성자가 매일 사용하며, 알려진 제한 사항을 참조하십시오.
killi를 사용하는 이유
- 장시간 세션도 저렴하게 유지됩니다. 프롬프트와 도구 목록은 세션 중간에 변경되지 않으며, 기록(history)은 단순히 추가만 되므로, 입력 토큰의 70–90%가 제공업체의 프롬프트 캐시(prompt cache)에서 나옵니다.
- 같은 작업, 훨씬 적은 토큰. 전체 프롬프트와 모든 도구에 약 2,600개의 토큰이 필요하며, Kimi Code가 통과하는 모든 기능 테스트도 killi 대비 5.6배 적은 입력 토큰을 사용합니다.
- 사용자 기기에서 거의 눈에 띄지 않습니다. 설치할 런타임(runtime) 없이 약 7MB 크기의 바이너리 하나로, 10ms 이내에 시작하며 프롬프트 실행 시 약 18MB의 메모리를 사용합니다.
- 모델 종속성 없음 (No model lock-in). OpenAI와 호환되는 모델, Anthropic과 호환되는 모델 또는 API 키나 ChatGPT 구독을 통해 사용할 수 있는 OpenAI Responses LLM이라면 무엇이든 가능합니다.
- 완벽한 에이전트 키트. 서브에이전트(Subagents) 및 스웜(swarms), 플랜 모드(plan mode), MCP 서버, 스킬(skills), 훅(hooks),
AGENTS.md, 그리고 되돌리기(undo) 기능까지 — MIT 라이선스 하에 무료 오픈 소스로 제공됩니다.
설치
curl -fsSL https://raw.githubusercontent.com/timwuhaotian/killi/main/install.sh | sh
이 과정은 SHA-256을 통해 releases/latest.toml과 비교한 후, killi를 ~/.local/bin에 배치합니다. 나중에 killi update 명령어를 사용하면 같은 작업을 제자리에서 수행합니다.
macOS에서는 releases/killi-arm64를, Linux에서는 releases/killi-linux-x64 또는 releases/killi-linux-arm64를 설치합니다. Linux 환경에서는 네 가지 선택적 도구가 기능을 완성합니다:
- 클립보드 복사 및 이미지 붙여넣기를 위한
wl-copy/wl-paste (Wayland) 또는 xclip/xsel (X11).
- 데스크톱 알림을 위한
notify-send.
- 전송 전에 대용량 이미지를 축소하기 위한 ImageMagick (
convert/magick) 또는 ffmpeg.
- JavaScript가 필요한 페이지를 위한
PATH에 있는 Chrome 계열 브라우저.
이 도구들이 없더라도 killi는 작동합니다: 복사는 터미널의 OSC 52로 폴백(fallback)하고, 알림은 OSC 9 터미널을 사용하며, 대용량 이미지는 원본 그대로 전송됩니다.
소스에서 빌드하기 (Build from source)
cargo install --path crates/killi
Rust 1.94 이상 버전, macOS (arm64) 또는 Linux (x64/arm64) 환경에서 가능합니다.
기능 (Features)
- 작고 빠름(Small and quick). 설치에 런타임이 필요 없는 단일 7MB 바이너리입니다. 시작 시간이 10ms 미만이며, 프롬프트를 실행하는 동안 약 18MB의 메모리를 사용합니다. 이는 Kimi Code가 408MB, Claude Code가 318MB, opencode 2가 332MB를 사용하는 것과 비교됩니다.
- 적은 토큰(Few tokens). 시스템 프롬프트와 모든 도구를 합쳐 약 2,600개의 토큰이 사용되며, 여기에 사용자 정의
AGENTS.md 파일과 설치된 스킬당 약 4개의 토큰이 추가됩니다. 기능 테스트에서 killi는 동일한 모델을 사용하여 Kimi Code가 수행했던 모든 작업을 통과했지만, 입력 토큰은 5.6배 적게 사용했습니다.
- 설계상 캐시 친화적(Cache-friendly by design). 시스템 프롬프트와 도구 목록은 세션 전체에 걸쳐 고정되며, 히스토리는 추가만 되고 재작성되지 않습니다. 플랜 모드(plan mode), 서브 에이전트(subagents) 및 재개된 세션 모두 동일한 캐시 접두사(cached prefix)를 재사용합니다. 입력 토큰의 70–90%가 캐시에서 가져옵니다.
- 방해받지 않는 인터랙티브 모드(An interactive mode that stays out of the way). 대화 내용은 터미널 자체의 스크롤백에 출력됩니다. 화면 하단에는 실행 중인 내용, 작업 목록, 프롬프트 및 상태 표시줄 등 작은 영역만 다시 그려집니다.
/를 입력하면 타이핑하는 대로 범위가 좁혀지는 명령어 및 스킬 메뉴가 나타납니다.
에이전트가 작동하는 동안 타이핑할 수 있으며, 사용자의 메시지는 다음 단계에서 에이전트에 도달합니다. Esc는 중단 기능을 수행하며, 시작된 작업은 계속 실행되지 않습니다.
-
계획 모드 (Plan mode) (Shift+Tab): 에이전트가 계획을 연구하고 작성합니다. 편집은 차단되며, 사용자가 승인할 때까지 bash는 읽기 전용 명령어만 실행됩니다.
-
작은 실수를 용서하는 도구들. edit은 여러 변경 사항을 한 번의 호출로 처리하며, 끝 공백(trailing spaces), 스마트 따옴표(smart quotes) 또는 대시만 다를 경우에도 여전히 일치합니다. 긴 출력물은 유용한 끝부분을 유지하고 나머지는 파일에 저장합니다. 약간 손상된 도구 호출 JSON도 버려지지 않고 복구됩니다.
-
**서브 에이전트 (Subagents)**는 동일한 모델과 캐시된 프롬프트에서 병렬로 실행됩니다. **스웜(Swarms)**은 프롬프트 템플릿의 각 항목마다 서브 에이전트를 하나씩, 최대 128개까지 여러 개를 동시에 실행하며, 이는 하나의 라이브 패널로 표시됩니다 (몇 개가, 무엇을 작업 중인지, 각각 얼마나 오래 실행되었는지). 스웜 모드(swarm mode)는 기본적으로 활성화되어 있으며 [agent] swarm 또는 /swarm으로 설정하여 에이전트에게 작업을 해당 방식으로 분할하도록 지시하고, [agent] swarm_parallel (기본값 8)은 한 번에 몇 개가 실행될지 설정합니다. **백그라운드 작업(Background tasks)**은 서버와 느린 빌드를 계속 실행 상태로 유지합니다. **실행 취소(Undo)**는 변경된 명령어까지 포함하여, 턴(turn) 이전에 파일들을 원래 상태로 되돌립니다.
-
서로에 대해 아는 세션들 (Sessions that know about each other). 여러 killi를 동시에 실행할 수 있으며, 각 killi는 다른 killi들이 어디에서 작업하고 무엇을 하고 있는지 알고 있습니다. killi card <pid>는 해당 세션이 텍스트 또는 JSON 형태로 요청받을 수 있는 작업을 알려줍니다. killi send <pid> <task>는 하나의 세션에 작업을 할당하며, 이는 자체 에이전트에서 실행되고 보고서로 답변합니다 (--async는 ID만 반환). killi tasks와 killi task <id> [--follow]는 작업의 현황을 보여주며, killi cancel <id>는 하나를 중지시킵니다. 다른 세션이 자신의 저장소에서 작업할 때 에이전트에게 알려주면, 해당 세션의 변경 사항은 건드리지 않도록 지시하며, 그 작업에 대해 질문하거나 메시지를 남기는 방법을 알 수 있습니다. 시스템 프롬프트나 도구 목록에는 아무것도 추가되지 않습니다.
-
설정 유지 및 이전. Kimi Code의 설정 레이아웃(killi import가 다른 에이전트의 설정을 복사함), ~/.agents/skills에서 스킬(skills)을, mcp.json에서 MCP 서버를, Claude Code 스타일의 훅(hooks), 그리고 하위 폴더에 있는 파일들을 포함하여 AGENTS.md 또는 CLAUDE.md 파일을 복사합니다.
-
모든 세션 디스크 저장. 전송된 내용 그대로 모든 세션이 디스크에 저장되므로, killi -c를 사용하면 캐시가 따뜻하게 유지되면서 중단했던 지점부터 계속할 수 있습니다.
-
자체 업데이트 기능. killi update는 체크섬을 확인한 후 최신 릴리스를 설치하며, 더 새로운 릴리스를 발견하는 세션(시작 시 및 6시간마다)은 버전 이후 변경된 내용을 출력하고 지금 설치할지 묻습니다. KILLI_NO_UPDATE_CHECK=1을 설정하면 이 검사를 비활성화합니다.
FAQ
killi란 무엇인가요?
killi는 Rust로 작성된 터미널용 빠르고 작으며 오픈소스 AI 코딩 에이전트입니다. Apple silicon Mac 및 Linux (x64 및 arm64)용 단일 약 7MB 네이티브 바이너리로 배포되며, 설치에 런타임이 필요 없고, 10ms 미만으로 시작하며, 프롬프트 실행 시 약 18MB의 메모리를 사용합니다. Claude Code, Codex CLI, opencode 또는 Kimi Code와 유사하게 코드를 읽고 명령을 실행하며 파일을 편집하지만, 무료(MIT)이며 모든 OpenAI 호환, Anthropic 호환 또는 OpenAI 응답 LLM과 작동하고, 제공업체의 프롬프트 캐시가 계속 적중되도록 구축되었습니다.
killi는 오픈 소스인가요?
예. killi는 MIT 라이선스 하에 오픈 소스이며, 전체 소스 코드는 github.com/timwuhaotian/killi에서 확인할 수 있습니다. 사용하기 무료이며 단일 약 7MB 바이너리로 설치됩니다.
killi는 Claude Code와 어떻게 다른가요?
Claude Code는 Anthropic 모델에 연결된 Anthropic의 클로즈드 소스 에이전트입니다. killi는 오픈 소스이며, 모델에 구애받지 않고(model-agnostic) 훨씬 가볍습니다. 동일한 벤치마크에서 killi는 약 18MB의 메모리를 사용한 반면, Claude Code는 318MB, Kimi Code는 408MB, opencode 2는 332MB를 사용했습니다. killi의 기능 테스트에서 killi는 동일한 모델을 사용하는 Kimi Code가 통과했던 모든 작업을 수행했으며, 이때 입력 토큰은 5.6배 적게 사용했습니다. killi는 세션 동안 시스템 프롬프트나 도구 목록을 변경하지 않기 때문에, 입력 토큰의 70–90%가 제공업체의 프롬프트 캐시에서 처리됩니다.
killi는 얼마나 많은 메모리를 사용하나요?
프롬프트를 실행하는 동안 최대 약 18MB의 메모리를 사용하며, 이는 M4 Pro에서 scripts/bench.py를 사용하여 측정되었습니다 (훅 비활성화). 비교하자면, 동일한 벤치마크에서는 Kimi Code가 408MB, Claude Code가 318MB, opencode 2가 332MB로 측정되었습니다. 설치된 바이너리 자체는 약 7MB입니다.
killi는 ChatGPT를 지원하나요?
네. killi login chatgpt 명령을 사용하여 OpenAI의 오픈 소스 도구용 로그인 기능을 통해 ChatGPT Plus 또는 Pro 계정으로 브라우저에서 로그인합니다. 요청은 사용자 플랜의 api.openai.com/v1/responses로 전송되며, ChatGPT 사용량에 포함되고 ChatGPT 설정 → 사용량(Usage)에서 모니터링할 수 있습니다. killi는 또한 OpenAI와 호환되는 API, Claude (Anthropic), 그리고 다른 많은 제공업체에서도 작동합니다.
killi는 Claude / Anthropic 모델을 지원하나요?
네. killi는 Anthropic API 키를 받고 Anthropic Messages 프로토콜을 사용하기 때문에, Claude 모델이 직접 작동합니다. OpenAI와 호환되는 게이트웨이를 거치는 Claude 모델은 cache_control을 통한 프롬프트 캐싱 지원과 함께 Responses 프로토콜로 사용할 수 있습니다.
killi는 몇 개의 토큰을 사용하나요?
시스템 프롬프트와 모든 도구를 합치면 약 2,600개의 토큰이 필요하며, 여기에 사용자 AGENTS.md 파일과 설치된 스킬당 약 4개의 토큰이 추가됩니다. 기능 테스트에서 killi는 동일한 작업을 수행하는 동안 같은 모델을 사용했을 때 Kimi Code보다 5.6배 적은 입력 토큰을 사용했습니다.
프롬프트 캐싱(prompt caching)이란 무엇이며 killi가 이를 중요하게 생각하는 이유는 무엇인가요?
제공업체들은 프롬프트의 시작 부분을 캐싱하기 때문에, 이전 요청과 정확히 동일하게 시작하는 요청은 더 저렴하고 빠릅니다. killi는 이 점을 기반으로 구축되었습니다. 시스템 프롬프트(system prompt), 도구 목록(tool list), 그리고 기록(history)은 세션 전체 동안 고정되어 오직 추가되는 부분만 있기 때문에, 플랜 모드(plan mode), 서브 에이전트(subagents), 스웜(swarms), 재개된 세션을 포함하여 입력 토큰의 70–90%가 캐시에서 가져옵니다.
killi는 어떻게 설치하나요?
curl -fsSL https://raw.githubusercontent.com/timwuhaotian/killi/main/install.sh | sh를 실행하여 SHA-256 확인 후 약 7MB 크기의 바이너리를 ~/.local/bin에 설치하거나, 또는 cargo install --path crates/killi (Rust 1.94+)로 소스에서 빌드할 수 있습니다. killi는 Apple silicon Mac과 Linux(x64/arm64)에서 실행됩니다.
killi가 MCP 서버, 서브 에이전트 및 플랜 모드를 지원하나요?
예. killi는 mcp.json을 통해 MCP 서버(stdio 및 HTTP)를 지원하며, 서브 에이전트와 스웜(최대 128개 병렬), 승인할 때까지 편집을 차단하는 플랜 모드, Claude Code 스타일의 후크(hooks), AGENTS.md / CLAUDE.md 지침, 스킬(skills), 되돌리기(undo), 백그라운드 작업 및 웹 검색을 지원합니다.
killi vs Claude Code, Kimi Code and opencode
killi는 대형 터미널 코딩 에이전트들에 대한 오픈소스의 모델 비종속적(model-agnostic) 대안이며 훨씬 가볍습니다. 동일한 벤치마크(측정 도구: scripts/bench.py, Size and memory 및 Capability tests 참조):