릴리스 노트
근거 · framework/evomind/cli/evo기준 · 릴리스 0.23.1커밋 · 7e210096파일 · site/authored/evo-cli/release-notes.md기준선 · 2026-11-12
Evo CLI가 태그로 배포한 모든 버전을 최신순으로 정리합니다. 각 절은 그 버전에서 사용자가 보거나 쓸 수 있게 달라진 점을 담습니다. 설치와 업데이트 방법은 시작하기에 있습니다.
0.23.1 (2026-10-29)
섹션 제목: “0.23.1 (2026-10-29)”개인용 빌드의 세션 간 작업 요청(dispatch) 연결을 여러 설치 환경에서도 맞추는 패치 릴리스입니다. 새 기능과 설정 항목은 없습니다.
- dispatch 서버 주소 탐색: 개인용 빌드가 빌드에 넣은 주소가 없을 때 그룹 설정 값도 함께 읽어 연결합니다. 사내 여러 배포 환경에서 같은 빌드를 써도 세션 간 요청이 이어집니다.
- 검사 안정화: 백그라운드 작업 완료를 기다리는 시험의 경합을 없앴습니다. 동작 변화는 없습니다.
0.23.0 (2026-10-28)
섹션 제목: “0.23.0 (2026-10-28)”업데이트 경로와 버그 신고 흐름을 정리하고, 조직 모드의 세션 간 연결을 키 파일로 설정할 수 있게 한 릴리스입니다.
업데이트·배포
섹션 제목: “업데이트·배포”- 최신 버전 확인 경로: 최신 버전은
latest/VERSION을 먼저 읽고, 그 파일이 없으면 예전latest파일로 대체합니다. 사내 저장소 목록이 길어도 최신판을 놓치지 않습니다. - 조직 키 파일의 주소: 키 파일에
update.url이 있으면 그 주소에서,dispatch.url이 있으면 그 주소로 세션 간 작업 요청을 연결합니다. 조직마다 다른 서버를 쓸 수 있습니다. - 개발판 채널: 설치 스크립트의
--dev와 개발판 게시·정리 경로를 분리했습니다. 개발판은evo update로도 개발판 최신 버전을 받습니다.
버그 신고
섹션 제목: “버그 신고”- 신고 공간 기본 연결: 개인용 빌드가 버그 신고 공간에 기본으로 연결됩니다. 이전의 공용 요청 공간 연동과
/board명령은 없어졌습니다. - 분류와 조건: 신고할 제품을 고르고, 비어 있으면 CLI로 보냅니다. 버전·운영체제 항목은 CLI 신고에만 붙습니다.
- 화면 캡처 첨부: 파일 경로나 붙여넣은 이미지를 신고에 첨부하면 Evo가 이미지로 변환해 함께 보냅니다.
0.22.0 (2026-10-28)
섹션 제목: “0.22.0 (2026-10-28)”파일 참조와 여러 외부 CLI 연동, 화면 사용성, 안정성을 크게 손본 릴리스입니다.
파일 참조와 입력
섹션 제목: “파일 참조와 입력”@파일 참조: 입력창에서@를 치면 파일·폴더 목록이 뜹니다. 고른 파일의 내용을 메시지와 함께 보내고, 한글 조사가 붙은 경로도 다시 찾습니다. 붙여넣은 글 안의@는 파일 참조로 보지 않습니다.- 자리표시 삭제: 붙여넣기·이미지 자리표시를 Backspace나 Delete 한 번에 통째로 지웁니다.
!입력 구분:!바로 뒤가 숫자이면 셸 명령이 아니라 MR 번호로 보고 모델에 보냅니다.
외부 CLI 연동
섹션 제목: “외부 CLI 연동”- claude·Copilot·codex wrapper: 로그인한 외부 CLI를 모델 역할만 하도록 감싸 모델로 고를 수 있습니다(
claude-cli,copilot/<모델>, 시험용 codex). 기본은 꺼져 있고 개인용 빌드에서만 켤 수 있습니다. - 격리: 감싼 CLI에는 허용한 환경 변수만 넘기고 PATH를 제한하며 부가 기능을 끕니다. 프로젝트의 공유 설정에 적힌 wrapper 설정은 신뢰 여부와 관계없이 쓰지 않습니다.
- 모델 목록: 켜 둔 wrapper 모델을
/model과/provider목록에 함께 보여 주고, claude 모델은 CLI가 알려 주는 이름과 계열별 최신 버전만 표시합니다. - 비용:
-p요약 줄의 예상 비용은 claude가 알려 준 값을 씁니다.
화면과 설정
섹션 제목: “화면과 설정”- 권한 확인 창: 프로젝트에 항상 허용·사용자에게 항상 허용을 고를 수 있고, “아니요”를 맨 끝 번호로 옮겼습니다. 테두리와 빈 줄로 창을 띄웁니다.
- 생각 설정:
/config에서 생각 모드와 생각 수준(기본·low·medium·high)을 정해 Ollama·OpenAI 호환 모델과 wrapper에 넘깁니다. 서버가 필드를 거부하면 필드 없이 다시 보냅니다. /status: evo 로그인 상태와 로그인한 사용자 이름을 보여 줍니다.- 긴 대화 이동: 위로 스크롤하면 아래에 ↓ jump to latest 단추가 뜨고, 접힌 도구 줄을 눌러 펼치면 누른 줄을 제자리에 둡니다.
- Bash 반복 대기: 10초 넘는 고정 sleep을 막고,
until(정규식)과interval_s로 조건이 맞는 순간 끝나는 반복 대기를 제공합니다.
안정성
섹션 제목: “안정성”- Bash 중지: 시간 초과·중지 때 명령이 띄운 프로세스까지 끝내고, 뒤로 띄운 프로세스는 기다리지 않습니다. 멈춘 실행은
/quit으로 바로 끌 수 있고 정리는 5초 안에 끝납니다. - 정리: MCP 서버와 래퍼 CLI의 자식 프로세스, 임시 폴더를 종료·신호 수신 때 정리합니다.
- dispatch: rate limit(429) 응답의 대기 시간만큼 기다렸다가 다시 보냅니다.
- 진단:
evo --debug로 0.1초 넘는 화면 처리와 0.5초 넘게 멈춘 순간의 상태를 파일로 남깁니다. - 연결: IPv4가 막히면 300ms 뒤 IPv6도 시도하고, 자식 프로세스가 남지 않게 정리 범위를 넓혔습니다.
0.21.0 (2026-10-21)
섹션 제목: “0.21.0 (2026-10-21)”하위 에이전트의 진행 상황을 화면에서 실시간으로 볼 수 있게 한 릴리스입니다.
- 하위 에이전트 현황 칸: 입력창 위에 실행 중인 하위 에이전트마다 하는 일, 지금 쓰는 도구, 토큰, 걸린 시간을 표시합니다.
- 검사 안정화: 웹 검색 시험 서버 기록을 잠금으로 보호해 병렬 검사 실패를 없앴습니다.
0.20.1 (2026-10-21)
섹션 제목: “0.20.1 (2026-10-21)”여러 창에서 같은 세션을 여는 문제와 종료 지연, 자격 증명 전달 범위를 고친 패치 릴리스입니다.
- 세션 잠금: 다른 Evo가 쓰는 세션은 열지 않고
/resume목록에 사용 중으로 표시합니다.--resume에 id를 주지 않으면 세션 목록에서 골라 이어 합니다. - 입력 기록: 4MiB가 넘는 줄이 있어도 그 뒤 기록을 모두 읽습니다.
- 전달 범위: MCP 서버 헤더를 다른 호스트나 https→http 리다이렉트로 보내지 않습니다. 로그인 토큰과 API 키도 같은 규칙을 따릅니다.
- 종료: MCP 서버를 동시에 닫고 연결에 실패한 stdio 서버는 바로 끝내 종료 시간을 15초에서 5초로 줄였습니다.
- 관측: 텔레메트리를 OTLP 형식으로 보내고 하위 에이전트 실행을 하위 트리로 남깁니다.
0.20.0 (2026-10-20)
섹션 제목: “0.20.0 (2026-10-20)”세션 간 작업 요청(dispatch)을 Evo 안에서 받고 보내는 기능이 들어온 릴리스입니다.
작업 요청
섹션 제목: “작업 요청”/inbox: dispatch로 받은 요청 목록에서 골라 사용자 지시로 진행합니다./dispatch name: 세션마다 작업 담당 이름을 정합니다.--dispatch-name플래그와 같고, 상태줄에 이 세션 이름과 접속 상태를 항상 표시합니다./dispatch send·/dispatch list: 활성 세션 목록을 보고 골라 요청을 보냅니다. 이름과 작업 공간이 같으면 시작 시각으로 구분합니다./board: 공용 요청 공간의 요청 목록·취소·올리기를 합니다.- 안전: dispatch로 받은 글의 제어 문자를 걸러 보이고 요청 블록의 닫는 태그를 무력화합니다. 늦게 온 목록이 입력과 승인 창의 키를 가로채지 않습니다.
화면과 세션
섹션 제목: “화면과 세션”/resume: 세션 목록을 키보드로 골라 이어 합니다./model기억: 고른 모델 ID를 저장해 다음 시작의 기본으로 씁니다. 저장 모델이 없으면 기본 모델로 시작합니다.- 자동 메모리: 첫 메시지에 색인 최근 20줄만 넣고, 기억할 거리가 없는 세션은 기록하지 않습니다.
- 기본 지침: 바로 답하기와 도구 아껴 쓰기 지침을 기본 시스템 프롬프트에 넣고 첫 메시지에 환경 블록을 붙입니다.
- 큰 세션: 세션 파일의 한 줄 4MiB 제한을 없애 큰 이미지를 붙인 세션도 다시 열립니다.
성능과 안정성
섹션 제목: “성능과 안정성”- 시작: MCP 서버를 동시에 연결하고 로그인 모델 목록을 저장해 두었다가 먼저 씁니다. 입력을 시작하면 모델 서버 연결을 미리 엽니다.
- 긴 대화: 도구 묶음 요약 줄을 캐시하고, 창 폭이 바뀔 때만 다시 그리고, 세션 파일은 추가된 줄만 읽습니다.
- 스트리밍: 닫힌 문단·코드 블록의 렌더를 재사용하고 열린 끝만 다시 그립니다.
- 설정 파일: 쓰기를 원자적으로 바꿔 잘린 설정 파일이 남지 않습니다.
- 보안: 로그인 토큰을 싣는 요청이 리다이렉트로 다른 호스트나 http에 토큰을 보내지 않습니다. 토큰 갱신은 파일마다 잠금 하나로 묶습니다.
0.19.0 (2026-10-19)
섹션 제목: “0.19.0 (2026-10-19)”로그인을 거쳐야 Evo 모델을 쓸 수 있도록 정리하고 dispatch 연동의 기반을 넣은 릴리스입니다.
- 로그인 게이트: 개인 사용자는 evo 로그인 전에 Evo를 쓸 수 없습니다. 넣어 둔 모델도 로그인 뒤에만 열립니다.
- 로그인 의미: 로그인은 Evo CLI를 쓰기 위한 것이므로, Evo 모델이 없어도 인증되면 로그인 상태입니다.
- dispatch 연동: 활성 신호, 세션 교체 보고, 안 읽은 요청 수, MCP 세션 헤더를 주고받는 기반을 넣었습니다.
0.18.1 (2026-10-19)
섹션 제목: “0.18.1 (2026-10-19)”다음 질문 제안과 개인 로그인 상태를 고친 패치 릴리스입니다.
- 다음 질문 제안: 글자를 쳤다가 지우면 제안이 다시 보입니다. 입력 중에는 가리기만 합니다.
- 로그인 반복: 개인 로그인 상태에서 Evo를 고를 때마다 로그인이 반복되던 문제를 고쳤습니다. 같은 이름의 사용자 모델과 합치거나
evo/이름으로 구분합니다.
0.18.0 (2026-10-19)
섹션 제목: “0.18.0 (2026-10-19)”마우스를 켠 채로 대화 글자를 선택·복사할 수 있게 하고, 한글 입력 직후 Enter 동작을 고친 릴리스입니다.
- 마우스 선택·복사: 마우스가 켜진 채로 대화 영역을 드래그해 글자를 선택하고 복사합니다. OSC 52와 클립보드 명령을 씁니다.
- 한글 Enter: 한글 입력 직후 Enter가 줄바꿈이 되지 않고 전송됩니다. 빠른 Enter는 30ms 기다려 뒤에 입력이 없으면 전송합니다.
0.17.0 (2026-10-18)
섹션 제목: “0.17.0 (2026-10-18)”마우스 잡기를 끄고 켜는 명령과 조직 로그인 토큰을 MCP 서버에 자동으로 붙이는 설정을 더한 릴리스입니다.
/mouse: 마우스 잡기를 켜고 끕니다. 끄면 터미널 드래그로 텍스트를 선택합니다.- MCP
auth: "org": MCP HTTP 서버 설정에 이 값을 쓰면 로그인 토큰을 Authorization 헤더에 자동으로 붙입니다.
0.16.1 (2026-10-18)
섹션 제목: “0.16.1 (2026-10-18)”로그인 표시와 토큰 수 표기를 다듬은 패치 릴리스입니다.
/provider표시: 로그인한 상태의 메뉴에서 Evo 항목과 키 출처를signed in으로 표시합니다.- 기록: 선택 팝업의 목록과 안내를 대화 기록에 남기지 않습니다.
- 토큰 수: 줄임 표기(15.7K·262K)를 쓰고, 종료 요약은 쉼표를 넣은 정확한 수로 보여 줍니다.
0.16.0 (2026-10-18)
섹션 제목: “0.16.0 (2026-10-18)”권한·샌드박스·훅 경계를 넓게 다지고, 긴 대화의 화면 성능과 설정 안정성을 크게 올린 릴리스입니다.
보안·권한
섹션 제목: “보안·권한”- 경로 규칙:
..·./·중복 슬래시가 섞인 경로를 정리한 뒤 비교해 deny·ask 우회를 막습니다.**/가 디렉터리 0개에도 맞아secrets/**/*.pem같은 규칙이 바로 아래 파일도 막습니다. - 검색 규칙: Read deny 규칙을 Grep·Glob에도 적용합니다. 막은 폴더 검색은 거부하고 상위 검색 결과에서 제외합니다.
- 리다이렉트: WebFetch가 다른 호스트로의 리다이렉트를 따라가지 않고 새 주소를 돌려줘 권한을 다시 판정합니다.
- 보호 설정:
trusted_folders.json과.evo/agents를 보호 목록에 넣어 자동 허용으로 고칠 수 없게 했습니다. - 샌드박스: 샌드박스 Bash가 작업 폴더의
.evo설정 파일을 쓸 수 없고, Bash의directory입력이 쓰기 범위를 넓히지 않습니다. - 신뢰: 신뢰하지 않은 폴더에서는 git에 커밋된
config.local.json의 hooks·LSP·MCP 설정도 무시합니다. - 훅: PreToolUse 훅의 allow가 deny·ask 규칙과 plan 모드를 넘지 못합니다. 훅 여러 개의 결정은 순서와 관계없이 deny > ask > allow로 합치고, ask는 게이트가 허용해도 항상 묻습니다. Claude Code 형식 훅 출력도 읽습니다.
- MCP: 도구 이름이 겹치면 두 번째를 빼고 경고하며, 서버 이름의
__는 설정 오류로 처리합니다. 도구 결과는 5만 자에서 자르고 잘림 안내를 붙입니다. - 조직:
allowManagedHooksOnly로 조직 훅만 실행할 수 있습니다.
- 다시 그리기: 보이는 줄만 처리해 1000라운드 기준 69ms를 4ms로 줄였습니다.
- 스트리밍: 긴 답변을 매번 처음부터 렌더하지 않고 렌더 시간에 맞춰 간격을 둡니다.
- 프롬프트 캐시: Anthropic 요청에 캐시 지점을 붙여 라운드마다 같은 앞부분을 다시 처리하지 않습니다.
- 토큰 계산: 대화 토큰 수를 메시지 내용별로 캐시합니다.
- 백그라운드:
/provider확인과 Edit·Write 뒤 언어 서버 진단을 백그라운드로 돌려 화면이 멈추지 않습니다. - 병렬 호출: 한 응답에서 연달아 오는 읽기 전용 도구 호출을 함께 실행합니다.
- 압축: 자동 압축 결과를 세션에 저장해 다음 질문마다 다시 요약하지 않습니다.
- 설정 파일 내용이
null이면 빈 설정으로 보고 저장해/provider·/config저장 panic을 막습니다. - 긴 글을 바이트 단위로 잘라 한글이 깨지던 곳을 UTF-8 경계에서 자릅니다.
- 샌드박스의 비대화형 실행, Linux의 빈
.evo처리, goal 예산 복원,/vim알림, 원자적 쓰기 등을 고쳤습니다.
0.15.3 (2026-10-16)
섹션 제목: “0.15.3 (2026-10-16)”슬래시 명령 목록의 Enter 동작을 바꾼 패치 릴리스입니다.
- Enter: 목록에서 Enter를 누르면 Tab처럼 선택한 명령을 입력창에 채우고, 다시 Enter로 실행합니다.
0.15.2 (2026-10-16)
섹션 제목: “0.15.2 (2026-10-16)”슬래시 명령 목록의 스크롤을 고친 패치 릴리스입니다.
- 목록 스크롤: 목록이 커서를 따라 한 줄씩 움직이고, 작은 터미널에서는 남는 높이만큼만 보입니다.
0.15.1 (2026-10-16)
섹션 제목: “0.15.1 (2026-10-16)”개인 로그인 상태의 판정을 엄격하게 바꾼 패치 릴리스입니다.
- 로그인 상태: 저장된 로그인으로 실제 인증에 성공해야 로그인 상태로 봅니다. 옛 로그인 파일만으로
/provider가 열리지 않고, 로그인 상태에서 Evo를 고르면 모델 선택 창이 뜹니다.
0.15.0 (2026-10-16)
섹션 제목: “0.15.0 (2026-10-16)”이미지 첨부, 폴더 신뢰, 설치기 의존성 자동 설치, 조직 기록 전달을 담은 릴리스입니다.
이미지
섹션 제목: “이미지”- 이미지 블록: OpenAI·LiteLLM·Anthropic·Ollama로 이미지를 보내고 세션 기록·재개에 남깁니다.
- 지원 판단: 이미지를 받지 않는 모델이면 전송을 막고, 기록에 남은 이미지는 글자로 보여 줍니다.
- 첨부 방법:
@경로, 이미지 경로 붙여넣기,Ctrl+V클립보드 이미지(macOS·Linux)를 씁니다.-p에서도@경로를 씁니다. - 읽기: Read 도구가 이미지 파일을 모델에 이미지로 보여 줍니다.
실행과 설치
섹션 제목: “실행과 설치”- 기본 모드: 대화형 Evo는 플래그·설정이 없으면 auto mode로 시작하고,
-p는 default를 유지합니다. /update: 새 버전을 설치하면 Evo를 새 버전으로 다시 시작해 대화를 이어 갑니다.evo uninstall: 설치된 Evo와 PATH 설정을 지웁니다.~/.evo는 따로 확인합니다.- 의존성: 설치기가 없는 Node.js(최신 LTS)·glab(Windows는 git도)을 사용자 영역에 자동 설치합니다.
evo update도 같은 의존성 단계를 거칩니다. - 폴더 신뢰: 처음 여는 폴더에서 신뢰를 묻고, 신뢰하기 전에는 프로젝트의 hooks·MCP·LSP·agents를 무시합니다.
화면과 안정성
섹션 제목: “화면과 안정성”- 여러 줄 붙여넣기: 줄바꿈을 유지하고, 큰 붙여넣기는 자리표시로 바꿉니다. 괄호형 붙여넣기가 없는 터미널에서는 첫 줄이 바로 전송되지 않게 합니다.
- 대기열: 한 곳에만 표시하고 경계에서 쌓인 메시지를 모두 전달하며,
↑로 전부 되돌립니다. - 승인 창: 창이 열린 채 입력한 글자가 승인·거부로 처리되던 문제를 고쳤습니다.
- 조직: Langfuse 기록을 evo-api를 거쳐 보내 명령 단위로 전체를 추적합니다. 세션 키가 401로 거부되면 새 키를 받아 한 번 다시 시도합니다.
- 로그인 기본값: 일반 사용자의 기본 발급자를 일반용 Keycloak으로 분리했습니다.
0.14.0 (2026-10-15)
섹션 제목: “0.14.0 (2026-10-15)”조직 모드와 개인 로그인, 다음 질문 제안을 들여온 릴리스입니다.
조직 모드
섹션 제목: “조직 모드”- 키 파일: 조직·일반 빌드를 키 파일로 구분하고, 조직 프로필로 모델 구성과
/provider를 잠급니다. - OIDC 로그인: 디바이스 코드 로그인, 토큰 저장·갱신,
evo login·evo logout, 사용자 정보의 조직 프로필을 지원합니다. - 키 우선순위: 조직 프로필 키가 환경 변수보다 우선합니다.
- 키 서명: 키 파일에 Ed25519 서명·키 ID·다중 신뢰 키를 넣고
install.sh --org-key로 설치합니다. - 세션: evo-api 세션을 연동하고 TUI의
/login·/logout으로 다룹니다. 로컬 데스크톱에서는 로그인 브라우저를 자동으로 엽니다.
개인 사용
섹션 제목: “개인 사용”- Evo 로그인:
evo-lite를 기본 프로바이더로 추가하고 다른 프로바이더로 바꿀 수 있습니다. 기본 모델 게이트웨이도 evo-lite로 옮겼습니다. - 모델 선택: 조직·Evo 모델 선택 창을 두고, 모델이 없는 Evo 세션에서도 시작은 유지합니다.
- 다음 질문 제안: 답변 뒤 빈 입력창에 예상 질문을 보여 주고 Tab·
→로 채웁니다. 기본 켜짐입니다. - 승인 선택지: 첫 글자를 대문자로 씁니다(Yes, once / Yes, for this session / No).
- 압축: context window를 모르면 128K로 가정해 자동 압축합니다.
0.13.0 (2026-10-14)
섹션 제목: “0.13.0 (2026-10-14)”모드 순환과 턴 상한 설정을 다듬은 릴리스입니다.
- 모드 순환: Shift+Tab 순환에 yolo mode를 넣었습니다. 진입 확인은 그대로입니다.
- 턴 상한: 대화형 화면의 질문당 30턴 상한을 없애고 설정
maxTurns로 선택합니다.
0.12.0 (2026-10-14)
섹션 제목: “0.12.0 (2026-10-14)”대화 화면의 접기·스크롤과 도구 호출 표시를 정리한 릴리스입니다.
- 진행 줄: 입력창 위에 진행 줄을 두고 생각 블록을 한 줄로 접습니다.
Ctrl+O로 펼치면 화면 밖에 묻히지 않게 하고 생각 행 중복을 없앴습니다. - 도구 묶음: 끝난 연속 도구 호출을 요약 한 줄로 접습니다.
Ctrl+O는 도구 묶음 시작으로 화면을 옮깁니다. - 승인: 승인 프롬프트를 방향키로 고르고 Enter로 확정합니다.
- 시간: 경과 시간을
1h 2m 5s,1m 5s처럼 표시합니다.
- WebFetch: 리다이렉트를 5번까지만 따르고 호출 전체에 45초 상한을 둡니다.
- provider:
litellm종류를 추가하고 WebSearch를 자동으로 중계합니다. - 검색: 도구 목록을 순차로 시도해 Tavily가 소진되면 다음 도구를 씁니다.
0.11.0 (2026-10-13)
섹션 제목: “0.11.0 (2026-10-13)”화면 용어와 샌드박스 판정을 다듬은 릴리스입니다.
- 모드 이름: 권한 모드 화면 이름을 소문자 띄어쓰기 영문으로 바꾸고
<이름> mode형식으로 표시합니다. - 상태줄: auto mode를 노란색으로 표시합니다.
- 경고: 모드 전환 때 반복되던 경고 문구를 없앴습니다.
- 샌드박스: bwrap이 namespace를 만들 수 없으면 sandbox를 쓸 수 없는 것으로 판단합니다.
0.10.0 (2026-10-12)
섹션 제목: “0.10.0 (2026-10-12)”auto 권한 모드와 대화형 설정, 권한 규칙 강화를 담은 릴리스입니다.
- auto mode: 규칙이 정하지 못한 호출을 분류 모델이 판단합니다. 분류 결과와 승인율을 세션 로그에 남깁니다.
- bypass 확인: bypassPermissions 시작·전환 때 확인 대화상자를 띄우고 관리형 설정에서는 금지 키로 막습니다.
- 규칙 판정: allow 규칙의 Bash 매칭이 명령 치환·단일
&·리다이렉션을 걸러 내도록 fail-closed로 바꿨습니다. deny·ask Bash 규칙은 치환·백틱·프로세스 치환 안과&·개행 뒤 명령도 검사합니다. - 설정 보호:
.evo설정 파일 쓰기는 acceptEdits·세션 허용·allow 규칙으로 자동 승인하지 않습니다.
화면과 설정
섹션 제목: “화면과 설정”- 한글 IME: 입력창의 실제 터미널 커서를 캐럿에 맞춰 한글 조합 위치를 보정합니다.
/config: 키보드로 이동·변경하고 바로 저장하는 대화형 설정 목록을 둡니다.- 시작 모드: 설정 키
permissionMode로 시작 권한 모드를 정합니다. - 승인 프롬프트: 선택지를 줄마다 하나씩 표시합니다.
- 기관 식별자:
--version·/version·/status에 표시합니다. evo update: 접속·TLS·응답 헤더 대기에 상한을 둬 응답 없는 서버에서 멈추지 않습니다.
0.9.0 (2026-10-08)
섹션 제목: “0.9.0 (2026-10-08)”대화 영역 스크롤바를 더한 릴리스입니다.
- 스크롤바: 대화 영역에 클릭·드래그할 수 있는 스크롤바를 두고, 휠 속도를 설정합니다. 스크롤 중 새 출력이 오면 안내합니다.
0.8.1 (2026-10-08)
섹션 제목: “0.8.1 (2026-10-08)”업데이트 안내 문구를 고친 패치 릴리스입니다.
evo update안내: 대체 안내 주소를 사내 저장소 기준으로 바꾸고, migrate 경고를 update 출력에 넣었습니다.
0.8.0 (2026-10-08)
섹션 제목: “0.8.0 (2026-10-08)”자동 압축 설정과 화면 표시, 업데이트 명령을 더한 릴리스입니다.
-y:--yolo의 짧은 플래그로 추가했습니다./update: TUI 안에서evo update와--check를 실행합니다.- 시작 화면: 로고를 그라데이션 ANSI Shadow
EVO로 바꿨습니다. - 표시: 생각 미리보기와 도구 실행 내역을 보여 주고
Ctrl+O로 함께 펼칩니다. 터미널 제어 문자는 정제합니다. /provider: URL 단계에 등록된 엔드포인트를 미리 채우고↑·↓로 고릅니다.- 자동 압축: 기준을 설정으로 정하고, 창 크기를 모르면 토큰 기준으로 압축합니다. 넘침 재시도, 끄기, 실패 보호를 갖췄습니다.
- 화면 폭: TUI 프레임이 터미널 폭을 넘지 않게 입력 폭과 상태줄 우선순위를 조정했습니다.
0.7.0 (2026-10-08)
섹션 제목: “0.7.0 (2026-10-08)”대화 화면 사용성을 크게 넓히고 승인·권한 경계를 다진 릴리스입니다.
- 생각 표시: 기본은 1줄 헤더로 접고
Ctrl+O로 펼칩니다.ui.thinking설정으로 바꿉니다. - 대기열: 실행 중 큐를 미리 보여 주고
↑로 회수·편집하며Ctrl+X Ctrl+S로 즉시 보냅니다. - 이어 하기 안내: TUI를 끝낼 때
evo --resume <id>안내를 출력합니다. - 입력: 입력 히스토리,
Ctrl+R, 여러 줄 입력,Ctrl+G외부 편집기, 유휴에서Ctrl+C두 번 종료를 지원합니다. - 시작 화면: EVO 로고와 테두리 정보 패널을 두고
ui.hideBanner·ui.hideTips로 숨깁니다. - 스크롤: 대체 화면에서 실행하고 마우스 휠로 대화 영역을 스크롤합니다.
- 상태줄: 권한 모드, 천 단위 쉼표, context 사용률, 턴 수를 보여 줍니다.
- 새 버전 알림: 시작할 때 백그라운드로 확인하고 24시간 캐시하며 끌 수 있습니다.
- 승인 프롬프트: 이번만·세션 동안·거부를 고르는 대화형 창을 띄우고, headless에서는 거부 안내를 남깁니다.
- Shift+Tab: 권한 모드를 순환하고
--yolo별칭을 둡니다. bypass 경고를 강화하고 root에서는 거부합니다. - 세션 허용: fail-closed로 판정하고 승인 키 type-ahead를 막으며 프롬프트의 제어 문자를 정제합니다.
- 범위 제한: Bash 세션 허용은 같은 명령으로 한정하고, Write 세션 허용 경로를 정규화·심볼릭 링크 해석으로 판정하며 끊어진 링크는 거부합니다.
- 읽기 전용 판정: default·acceptEdits 자동 허용 우회를 막기 위해 셸 단어 분석으로 바꿨습니다. 따옴표·백슬래시·git 옵션 축약을 정규화하고 확장 구문과 비인용 glob은 거부합니다.
- Ollama: 실제 context 크기를 감지하고 설정 시
num_ctx를 보냅니다. 사용률 분자는 응답 usage를 씁니다. - 입력:
/명령 Tab 완성 뒤 커서를 완성된 값의 끝으로 옮깁니다. - 모델 선택:
/provider와 첫 실행 설정의 모델 선택을/model과 같은 방향키 메뉴로 통일했습니다.
0.6.5 (2026-10-07)
섹션 제목: “0.6.5 (2026-10-07)”설정 화면을 다듬은 패치 릴리스입니다.
/provider마법사: 첫 실행과 같은 provider 종류 선택 메뉴를 둡니다.- 입력창: 고정 커서와 위아래 구분선을 넣었습니다.
0.6.4 (2026-10-07)
섹션 제목: “0.6.4 (2026-10-07)”Ollama 연동을 넓힌 패치 릴리스입니다.
- Ollama 네이티브 API:
/api/chat과/api/tags를 쓰는 provider를 지원합니다.
0.6.3 (2026-10-07)
섹션 제목: “0.6.3 (2026-10-07)”토큰 계산을 네트워크 없이 하도록 바꾼 패치 릴리스입니다.
- 토큰 추정: o200k_base BPE를 gzip으로 바이너리에 넣어 네트워크 없이 동작하고, 인코더를 프로세스당 한 번만 만듭니다.
- headless 오류: 결과 없는 engine 오류를 panic 없이 원래 오류로 보고합니다.
0.6.2 (2026-10-06)
섹션 제목: “0.6.2 (2026-10-06)”Windows ARM64를 지원한 패치 릴리스입니다.
- Windows ARM64: CI 크로스컴파일과 npm
@evomind/win32-arm64,install.ps1아키텍처 분기를 더했습니다. - 배포: 릴리스 때 저장소 주소를 CI 환경 변수로 바이너리에 넣어 소스 기본값에 의존하지 않습니다.
0.6.1 (2026-10-06)
섹션 제목: “0.6.1 (2026-10-06)”관리형 설정 계층을 더한 패치 릴리스입니다.
- 관리형 설정: 조직 정책을 최상위 설정 계층으로 두고 테넌트 registry provisioning을 지원합니다.
0.6.0 (2026-10-06)
섹션 제목: “0.6.0 (2026-10-06)”자동 메모리, 언어 서버 진단, Goal 루프, 관측을 한꺼번에 들여온 릴리스입니다.
- 자동 메모리: 세션이 끝날 때 요약을 남기고
MEMORY.md색인을 다음 세션의 지침 자리에 넣습니다. - 권한 추천:
/permissions recommend가 도구 없이 규칙을 추천합니다. 추천만 하고 bypass는 추천하지 않으며, 판단이 어려우면 막습니다. allow·ask·deny 규칙은 로컬 계층에만 저장합니다. - LSP 진단: Go·TypeScript·Python·Rust·C++·Java 6개 언어를 기본으로 지원하고 PATH에서 늦게 시작합니다. 진단은 턴 경계에서
[lsp diagnostics]로 넣고 Write·Edit 뒤 갱신합니다. TUI는⚠ file:line알림을 보여 주고, 프로젝트.evo/config.json의lsp로 바꿉니다. - Langfuse: opt-in 관측을 넣었습니다. 기본은 꺼짐입니다.
- Goal 루프: 자율 루프 1단계(컨트롤러·매 턴 검증·예산·세션 영속·
/goal)와 2단계(propose_goal승인 필수,get_goal·update_goal, 증거 목록, 체크포인트 압축, blocked와 blocker 종류, 활동 시간 예산)를 넣었습니다. - agent CLI wrap: claude stream-json 이벤트를 provider 이벤트로 바꾸는 파서를 넣었습니다. 줄 상한 1MiB, 모르는 행 무시, 결과 없음은 오류로 처리합니다. 실행 연결은 아직 포함하지 않습니다.
0.5.0 (2026-09-30)
섹션 제목: “0.5.0 (2026-09-30)”웹 도구와 한 줄 설치를 더한 릴리스입니다.
- WebFetch·WebSearch: 웹 페이지를 가져오고 검색하는 기본 도구를 넣었습니다. 검색은 Tavily provider와 세션 예산, 429 백오프, 오류 분류를 갖췄습니다.
- 한 줄 설치:
install.sh·install.ps1로 설치합니다. 버전별 파일 배치를 씁니다. evo update: 익명 최신 버전 조회로 바꿔 GitLab token이 필요 없습니다.
0.4.0 (2026-09-29)
섹션 제목: “0.4.0 (2026-09-29)”자가 업데이트와 백그라운드 하위 에이전트를 더한 릴리스입니다.
evo update: npm·바이너리 채널을 감지해 최신 버전으로 갱신합니다. 버전별 payload와 원자적 포인터 교체를 씁니다.- 하위 에이전트: 백그라운드 실행과 세션 fork를 지원합니다.
0.3.0 (2026-09-28)
섹션 제목: “0.3.0 (2026-09-28)”권한 모드별 OS 샌드박스를 더한 릴리스입니다.
- OS 샌드박스: 권한 모드에 따라 OS 수준 샌드박스를 적용합니다.
- 경고 표시: 샌드박스 경고를 출력 앞이 아니라 뒤에 주석처럼 붙입니다.
- Windows: Job Object로 Windows에서도 동작하게 하고 CI 크로스컴파일 검사를 넣었습니다.
0.2.0 (2026-09-28)
섹션 제목: “0.2.0 (2026-09-28)”첫 실행 설정과 편집 모드를 더한 릴리스입니다.
- vim 모드: TUI에서 vim 편집 모드를 씁니다.
- Bash pty: Bash 도구에
pty: true를 지원하고!shell입력을 넣었습니다. - 첫 실행:
settings.json을 자동으로 만들고 모델이 없으면 안내합니다. - 설정 마법사: provider(anthropic·openai·openai 호환·ollama)를 고르고 주소·키를 넣은 뒤 실제 모델 목록을 받아 고릅니다.
0.1.0 (2026-09-28)
섹션 제목: “0.1.0 (2026-09-28)”Evo CLI의 첫 정식 릴리스입니다. 에이전트 엔진, 대화 화면, 도구, 확장 지점, headless 실행, npm 배포를 한 번에 갖췄습니다.
- 엔진: 블록 기반 메시지와 도구 호출, 4단계 권한 모드와 deny > ask > mode > allow 규칙, JSONL 세션 기록, 이어 하기·재개를 지원합니다.
- 도구: 기본 6개 도구를 넣었습니다.
- 대화 화면: 스트리밍, Esc 중단, 대기열, 18개 명령, 상태줄을 갖춘 TUI를 넣었습니다.
- 확장: MCP 클라이언트, 훅 8종, 하위 에이전트(동기·병렬 fan-out, Esc 전파)를 지원합니다.
- headless:
-p실행에 출력 형식, 종료 코드 계약, 메모리, 비용을 넣었습니다. - 배포: npm 패키지와 사내 저장소 배포 파이프라인을 갖췄습니다.
0.1.0-m1 (2026-09-18)
섹션 제목: “0.1.0-m1 (2026-09-18)”첫 마일스톤 빌드입니다. 제품의 기본 골격과 배포 경로를 확인했습니다.
- provider 계층: OpenAI SSE와 Anthropic 어댑터를 넣었습니다.
- 대화: 기본
evo chat이 동작합니다. - 배포: 태그를 만들면 릴리스가 게시되는 파이프라인을 세웠습니다.
답변은 문서를 근거로 만들지만 틀릴 수 있습니다. 출처 문서를 함께 확인하세요.