본 문서는 영어 원본을 기계 번역한 것입니다. 번역본과 영어 원본 사이에 내용이 상충할 경우 영어 원본이 우선합니다. 영어 원본 보기
버전 0.9.720 (2026년 5월 1일)
브랜드
- 공통: PebbleFlow가 Caiioo로 변경되었습니다: 제품명이 Caiioo로 변경되었습니다. 기존에 사용하시던 앱과 동일한 정체성을 유지합니다. 사이드패널, 설정, 웹사이트, macOS 호스트 앱 메뉴 및 Safari 호스트 앱 전반에서 새로운 이름을 확인하실 수 있습니다. 기존 데이터, 계정, 로그인 상태 및 동기화 설정은 그대로 유지되며 표시 이름만 변경됩니다. 마케팅 사이트는 당분간 pebbleflow.ai를 유지하며 새로운 브랜드와 호환되어 표시됩니다. 정식 caiioo.ai 라우팅은 향후 릴리스에서 적용될 예정입니다.
새로운 기능
- 공통: 신규 사용자에게 Simple Mode가 기본으로 적용됩니다: 처음 설치 시 Simple Mode가 기본 적용됩니다. 이 모드는 메시지별 토큰 및 비용 상세 정보, 무손실 압축 드롭다운, 탭 컨텍스트 표시기 등을 숨겨 더 깔끔한 작성 환경을 제공합니다. 모델 선택은 핵심 기능이므로 모델 선택기는 계속 표시됩니다. 기존 사용자는 설정해 둔 Simple Mode 상태가 유지됩니다. 작성 창에 새로 추가된 눈 모양 아이콘 토큰을 통해 한 번의 탭으로 상세 정보를 표시하거나 숨길 수 있습니다.
- 공통: 계정 삭제: 이제 웹사이트의 계정 페이지(Apple의 계정 삭제 요구 사항에 따라 iOS 앱에서도 링크됨)에서 Caiioo 계정을 삭제할 수 있습니다. 삭제 시 프로필, 로그인 자격 증명, AI 크레딧 잔액 및 프로비저닝된 OpenRouter 키의 암호화된 복사본이 제거됩니다. 법적 요구 사항에 따라 계정 ID가 포함되지 않은 최소한의 컴플라이언스 감사 로그는 보관됩니다. 새로운 개인정보 처리방침 섹션에 삭제되는 항목과 보관되는 항목이 상세히 명시되어 있습니다.
- iOS: 네이티브 온디바이스 텍스트 음성 변환(Kokoro 82M): Kokoro 음성 합성 기능이 이제 0.9.719의 e5-embeddings 아키텍처와 마찬가지로 WKWebView 내부가 아닌 OnnxRuntime을 통해 iOS 호스트 프로세스에서 실행됩니다. 모델이 WebKit의 프로세스당 제한량과 사이드패널 UI를 두고 경쟁하는 대신 호스트 프로세스의 확장된 메모리 할당량을 사용하게 되어, iPhone 13/14 모델에서 부하 발생 시 온디바이스 TTS로 인해 WebView가 충돌하던 문제가 해결되었습니다.
개선 사항
- 공통: 느린 스트리밍 모델에서도 이미지 생성기 작동: 이미지 생성 도구가 이제 OpenRouter 이미지 모델에 대해 스트리밍 방식을 채택하여,
gpt-5.4-image-2와 같은 느린 모델(완료까지 약 167초 소요)에서 발생하던 "Network error: Unable to connect to OpenRouter" 오류를 해결했습니다. 이전의 버퍼링 방식은 실제 JSON이 도착하기 전 약 1.8MB의 keepalive 패딩을 기다리다 연결 계층 타임아웃이 먼저 발생했었습니다. - 공통: 무료 티어 모델 선택 시 실제 모델을 동적으로 선택: 이전의
openrouter/free메타 라우터는 하위 모델이 도구(tools)나 비전(vision)을 지원하는지 여부를 인지하지 못한 채 OpenRouter 내부에서 라우팅되었습니다. 이로 인해 안드로이드 사용자가 이미지와 도구 호출을 함께 보낼 때 "No endpoints found that support tool use" 오류가 발생하곤 했습니다. 이제 Caiioo가 직접 라우팅을 수행합니다. 온보딩, 설정, 업그레이드 모달의 "무료 모델 사용" CTA 모두 도구를 지원하는(가능한 경우 이미지 입력도 포함) 실제 무료 모델을 선택하며, 속도 제한이나 기능 오류 발생 시 자동으로 교체합니다. 기존openrouter/free사용자는 다음 실행 시 순차적으로 마이그레이션됩니다. - 공통: Personal Intuition이 긴 메시지에서 정확한 컨텍스트를 탐색: 기존 검색 쿼리는 메시지의 마지막 500자만 잘라내어 단일 벡터로 임베딩했습니다. 이로 인해 긴 내용을 붙여넣은 후 질문을 하거나 여러 주제가 섞인 경우, 실제 질문 앞에서 내용이 잘리거나 모든 내용이 섞여 점수가 낮게 측정되는 문제가 있었습니다. 이제 Caiioo는 핵심 쿼리를 추출합니다. 즉, 앞부분을 그대로 유지하면서 다음 3000자까지의 내용 중 의미 있는 토큰들을 중복 제거하여 추가합니다. 이를 통해 프롬프트가 길어져도 검색 주제를 정확히 유지할 수 있습니다.
- 공통: 설정 → "Minimal settings" 토글 제목 고정: 토글 레이블이 "Minimal settings"(켜짐)와 "Advanced settings"(꺼짐) 사이에서 계속 바뀌어, 체크박스를 선택하면 고급 설정으로 이동하는 것처럼 오해를 불러일으켰습니다. 이제 제목은 고정되며, 설명 앞에 "On — " / "Off — "를 붙여 현재 상태를 명확히 알 수 있게 했습니다.
- 공통: 음성 모델 다운로드 대화상자의 불확정 진행 상태 처리: 다운로드 중 모델 정보 카드가 좁은 사이드패널에서 넘치는 현상을 방지하기 위해 레이아웃을 고정했습니다. 서버에서 Content-Length를 반환하지 않는 경우, 진행 표시줄이 0%에서 멈춰있는 대신 불확정 스피너를 렌더링합니다.
- 공통: Simple Mode에서 모든 정보를 숨기는 대신 요약된 통계 표시: 이전 Simple Mode에서는 스레드 통계 요약 전체를 숨겼습니다. 이제 컨텍스트 윈도우 링, 요약된 총 토큰(예: "1k"), 비용, 남은 크레딧을 포함한 슬림한 스트립을 표시하며, 작성 창의 눈 아이콘을 탭하면 전체 상세 정보를 볼 수 있습니다.
- 공통: 서브 에이전트 비용 합산 수정: 스레드당 비용 집계에서 Perplexity / 웹 검색 지출, 헬퍼 비용, 이미지/비디오/음악 생성 비용, PDF OCR 비용, 음성 비용 등 서브 에이전트 비용이 누락되던 문제를 수정했습니다. 이제 모든 카테고리가 상위 항목의
sub_agent_cost라인에 합산됩니다. - 공통: 설정 → 도구 선택기가 기본 비활성 도구 설정을 재정의: 기본적으로 비활성화되어 출시된 도구에 대해 "Always" 또는 "Auto"를 선택해도 무시되던 문제를 수정했습니다. 이제 사용자의 동적 도구 구성 선택이 기본값보다 우선 적용됩니다.
- 공통: 사용자용 문구에서 로컬 사이드카를 "Desktop app"으로 변경: 로컬 stdio MCP 서버 및 데스크톱 전용 도구를 지원하는 사이드카인 "PebbleFlow Relay"에 대한 모든 사용자 노출 명칭을 사용자가 실제로 설치하는 명칭인 "Desktop app"으로 변경했습니다.
- 공통: 개인정보 보호 문구 정비: 법적 정책, 스토어 등록 정보, 웹사이트 개인정보 페이지 및 앱 내 가이드에서 중복되는 "telemetry" 표현을 삭제했습니다. "No analytics"로 충분히 설명되며, 앱이 수집하거나 수집하지 않는 항목에 대한 사실적 변경은 없습니다.
- 공통: 제공업체 계정 보기의 잔액 출처 표시: 제공업체 계정 패널에 각 잔액이 어떤 키(사용자의 BYOK 키 또는 Caiioo 프로비저닝 키)를 기준으로 보고되는지 명시하여, 크레딧과 남은 잔액을 혼동하지 않도록 했습니다.
버그 수정
- 공통: 브랜드 전환 후 Apple 로그인 문제: OAuth 서비스 ID가 여전히 이전의
com.sixcailloux.PebbleFlow.web을 가리키고 있어 신규 사용자의 Apple 로그인이 실패하던 문제를 수정했습니다.com.sixcailloux.Caiioo.web으로 전환하여 iOS, macOS 및 웹 계정 페이지에서 "Apple로 로그인"이 다시 정상 작동합니다. - 공통: OAuth가 필요한 MCP 서버의 "로그인" 버튼: 원격 OAuth 필요 MCP 서버(예: Notion) 설치 시, OAuth가 필요하여 초기 연결에 실패하더라도 서버 정보는 저장되지만 클라이언트는 등록되지 않는 문제가 있었습니다. 이 상태에서 "로그인" 버튼을 누르면 OAuth 대화상자가 열리는 대신 "MCP server
not found" 오류가 발생했습니다. 이제 클라이언트가 등록되지 않은 경우 새로고침 요청 시 addServer호출로 대체되어 OAuth/DCR 형태가 노출되고 로그인 대화상자가 정상적으로 열립니다. - 공통: 네이티브 앱에서 제출된 버그 리포트에 정확한 앱 버전 기록: iOS, macOS 및 Android 쉘이 부팅 시 설치된 앱 버전을 WebView에 주입하도록 하여, 제출된 버그 리포트에서 버전 필드가 비어 있거나 번들된 사이드패널 버전이 표시되는 대신 실제 빌드 버전이 식별되도록 했습니다.
- Android: 리브랜딩 후 실행 시 충돌: PebbleFlow에서 Caiioo로 이름을 변경하는 과정에서 Kotlin 측의 Application 클래스와 JNI 심볼 이름은 변경되었으나 대응하는 네이티브 익스포트 이름이 변경되지 않아 시작 시 심볼을 찾지 못해 충돌하던 문제를 수정했습니다. 이름 변경을 되돌려 앱이 다시 정상적으로 실행됩니다.
- 공통: Google Workspace 재인증 루프: 저장된 OAuth 연결에
refresh_token이 없어 사용자가 약 1시간마다 Google Workspace를 재인증해야 했던 문제를 수정했습니다. 6가지 관련 수정을 통해 모든 권한 부여 시 리프레시 토큰을 보장하고 클라우드 동기화 시에도 이를 유지하도록 하여, Google 연결이 동의 화면을 거치지 않고도 1시간의 액세스 토큰 TTL 이후에도 유지되도록 했습니다. - 공통: OpenRouter의 "User not found" 오류 복구: 프로비저닝된 서브 키의 원본 사용자 레코드는 사라졌으나 키 엔티티가 남아 있는 경우 OpenRouter는 HTTP 401 "User not found"를 반환합니다. 이전에는 이를 로그아웃 후 다시 로그인해야만 해결되는 오류로 처리했으나, 이제 제공업체가 새로운 프로비저닝 키로 교체하고 요청을 한 번 재시도하여 자체 복구합니다.
- 공통: Google Docs
insert_component의 잘못된 오류 반환: 이전에 삽입된 표 다음에 구성 요소를 삽입할 때 삽입된 표가componentName에 바인딩되지 않아 "Document not found" 오류가 발생하던 문제를 수정했습니다. 이제 표 삽입 단계에서 명명된 범위(named range)를 할당하고, 위치 확인자(position resolver)가 기본값이 아닌tabId를 존중하며, 앱 수준의 오류가 404로 오분류되지 않도록 했습니다. - 공통: 새로 출시된 OpenRouter 모델의 ZDR 라우팅 누락: 모델이 아직 Caiioo의 인텔리전스 데이터베이스에 없는 경우, ZDR 전용 제공업체가 실제로 지원하더라도 대체 레코드가 ZDR 미지원으로 표시하던 문제를 수정했습니다. 이제 ZDR 라우팅도 일반 경로와 동일한 제공업체 목록 폴백을 사용합니다.
- 공통: API
/v1/runs첫 호출 시 첨부 파일 무시: API 엔드포인트가 새 스레드에서 에이전트를 시작할 때, 빈 스레드 분기에서 텍스트만 전송하여 사용자 메시지의 첨부 파일 목록이 누락되던 문제를 수정했습니다. 이제 첨부 파일이 정상적으로 전달됩니다. - 공통: 모델 변경 직후 네이티브 앱에서 이전 설정 읽기: 메모리가 부족한 Android 환경에서 모델 선택기를 변경하고 즉시 메시지를 보낼 때, 500ms의 디바운스 플러시가 실행되지 않아 에이전트가 디스크에서 이전 모델 정보를 읽는 경우가 있었습니다. 이제 메시지 전송 경로에서 에이전트를 생성하기 전에 강제로 상태 플러시를 수행합니다.
- 공통: 테스터 버그 분류 (PF-260429 / PF-260430): 5가지 수정 사항이 적용되었습니다. 관리형 키(무료 티어) 사용자가 자신의 키를 입력하지 않고도 PDF OCR을 통해 문서를 수집할 수 있게 되었습니다. macOS에서 Node 사이드카의 시간대를 호스트에 고정하여 샌드박스 내에서 날짜가 정확히 확인되도록 했습니다. iOS/macOS/Tauri 쉘에서 예약된 작업이 유지되도록 수정했습니다(WebView 저장소 스텁이 쓰기 작업을 무시하던 문제). 구성 도구에서 일회성 및 수동 예약을 주요 옵션으로 노출합니다. 도구 호출 지점에서 에이전트 러너와 동일한 방식으로 OpenRouter 401 자체 복구 기능을 적용했습니다.
- 공통: 업그레이드 모달에서 티어 구독과 크레딧/BYOK 혼동 방지: "Add Credits" 버튼이 실제로는 구독 포털을 열어 레이블과 기능이 일치하지 않던 문제를 수정했습니다. 이제 모달은 티어 구독에만 집중하며, iOS에서는 Apple 지침 §3.1.1에 따라 크레딧 구매 관련 화면을 숨깁니다.
- Web: 계정 페이지 하단으로 계정 삭제 섹션 이동: 기존에는 계정 삭제 블록이 사용자 정보 카드와 구독/결제 UI 사이에 위치했습니다. 이제 FAQ 이후 페이지의 맨 하단으로 이동했습니다. iOS에서 삭제 전용 보기로 딥링크되는 동작은 변경되지 않았습니다.
- iOS: Manage Plan 클릭 시 Apple 구독 시트 열기: 이전에는 무료, 체험판, Stripe 및 출처 불명 사용자가 iOS에서 Manage Plan을 누르면 웹 계정 페이지로 연결되었고, 여기서 WKWebView의 Google OAuth가 실패하곤 했습니다. 이제 iOS에서 Manage Plan을 누르면 항상 Apple StoreKit의
showManageSubscriptions시트가 열립니다. - iOS: 계정 삭제 웹 보기를 삭제 전용 페이지로 축소: iOS의 계정 삭제 버튼을 통해 웹사이트가 열릴 때, 지침 §3.1.1을 준수하기 위해 모든 결제 관련 화면(구독, 플랜, 크레딧, Stripe 포털, FAQ)을 숨기고 삭제 섹션만 표시합니다.
- iOS: ITMS-90208 프레임워크 버전 유효성 검사 수정: App Store Connect에서 "프레임워크가 Info.plist에 지정된 최소 OS 버전을 지원하지 않음"이라는 이유로 빌드를 거부하지 않도록, 아카이브 시점에 onnxruntime 프레임워크의 Info.plist를 호스트 앱의 배포 타겟과 일치하도록 패치합니다.
- Android: Google OAuth 작동을 위해 외부 링크를 Custom Tab으로 열기: "Open pebbleflow.ai/account"와 같은 링크를 탭할 때 Android WebView 내부에서 열려 Google이
disallowed_useragent(오류 403)로 OAuth를 차단하던 문제를 수정했습니다. 이제 외부 링크는 네이티브 브릿지를 통해 Google이 신뢰하는 Chrome Custom Tab으로 연결됩니다. - Android: 메시지 하단의 복사 버튼 정상 작동: 복사 아이콘이
navigator.clipboard.writeText를 직접 사용했는데, Android WebView에서는 비동기 경계에서 사용자 활성화가 만료되면 아무런 동작을 하지 않았습니다. 이제 복사 기능이 네이티브 클립보드 브릿지를 통해 작동합니다.
버전 0.9.719 (2026년 4월 25일)
Security
- Common: protobufjs CVE-2026-41242 패치 (CVSS 9.8):
Root.fromJSON의 심각한 임의 코드 실행 취약점을 해결하기 위해protobufjs >= 7.5.5(8.0.1로 해결됨)를 고정했습니다. Caiioo는protobufjs를 직접 임포트하지 않으며onnxruntime-web의 전이 의존성입니다. 실제 위험은 사용자 제공 스키마가 아닌 번들 모델만 제공하므로 낮았으나, 수정이 간단하여 패치했습니다. - Common: @xmldom/xmldom — 4개의 고위험 CVE 패치:
@xmldom/xmldom >= 0.9.10을 고정했습니다. XML 파싱은 DOCX/XLSX 변경 내용 추적 파이프라인 및 다양한 확장 코드 경로에서 사용됩니다. - Server: undici — 3개의 고위험 CVE 패치:
cloud/relay에서undici >= 7.24.0을 고정했습니다. 릴레이 서버의 HTTP 클라이언트에만 영향을 미칩니다. - Desktop: rustls-webpki + quinn-proto — 2개의 고위험 CVE 패치: 해당 Tauri Rust 의존성을 업데이트했습니다. Tauri 셸을 사용하는 Windows 및 Linux 데스크톱 빌드에 영향을 미칩니다.
New Features
- Common: 비디오 생성 (Pro): OpenRouter를 통해 Google Veo 3.1, OpenAI Sora 2 Pro, ByteDance Seedance로 짧은 비디오를 생성하거나 애니메이션화합니다. 도구가 모델별로 유효한 재생 시간과 해상도를 선택하고, 작업이 완료될 때까지 폴링하며, 결과를 스레드 첨부 파일로 저장합니다.
- Common: 음악 생성 (Pro): OpenRouter를 통해 Google의 Lyria 3 Pro Preview로 노래와 인스트루멘탈 클립을 생성합니다. 출력물은 인라인으로 재생되는 오디오 첨부 파일로 저장됩니다.
- Common: 동적 비디오 모델 카탈로그: 비디오 생성 도구가 런타임에 비디오 기능이 있는 최신 OpenRouter 모델 목록을 가져오므로, Caiioo 업데이트 없이도 새로운 제공업체와 모델이 나타납니다. 번들 스냅샷을 통해 오프라인에서도 작동을 유지합니다.
- Common: 동적 음악 모델 카탈로그: 음악 생성도 마찬가지로, OpenRouter가 새로운 음악 모델을 게시하면 도구가 이를 감지하며 오프라인 폴백을 지원합니다.
- Common: Pro 등급 커스텀 OAuth: Google Workspace 마법사, Microsoft 365 마법사 및 일반 "커스텀 제공업체 추가" 흐름을 포함한 BYOK(Bring-Your-Own-Auth) 기능이 이제 설정 → 커스텀 OAuth에서 모든 Pro, Platform, Teams, Enterprise 사용자에게 표시됩니다. 이전에는 해당 탭과 추가 버튼이 테스터 전용 플래그로 숨겨져 있어 유료 사용자가 BYOA 설정에 접근할 수 없었습니다.
- Common: 물리학 + 구조 분석 (Pro): 물리학 시뮬레이션 도구(포물선 운동, 충돌, 운동/위치 에너지, 운동량, 힘, 충격량, 목표 속도) 및 구조 분석(보 하중, 기둥 좌굴, 재료 특성)을 이제 다른 창작 및 유틸리티 도구와 함께 Pro에서 사용할 수 있습니다.
- Common: Seeing-Eye Dog — 텍스트 전용 LLM을 위한 비전 폴백: DeepSeek V4 Pro, Kimi K2.6, MiMo V2.5 Pro 및 로컬 Ollama 모델과 같은 텍스트 전용 모델이 이제 구성된 저비용 비전 모델(기본값: Gemini 3.1 Flash Lite)을 통해 이미지 첨부 파일을 처리할 수 있습니다. 자동 캡션은 메시지 생성 시점에 실행되며 첨부 파일별로 캐시되어 후속 턴에서 비용이 중복 발생하지 않습니다. 전용
vision({action: "inspect"})도구는 모델에게 타겟팅된 후속 접근 권한을 부여합니다. 설정 → 도구 → 비전 폴백 모델에서 헬퍼를 선택할 수 있습니다. - Common: XLSX 셀 수준 변경 내용 추적: 스프레드시트 아티팩트가 이제 DOCX와 동일한 레드라이닝 UX를 지원합니다.
propose_change(editMode: 'xlsx_cell')를 통한 AI 제안은cellRef+sheetName에 고정된 셀 위치 기반 변경 내용을 생성합니다. 변경 내용 추적 모드에서 사용자가 직접 입력한 편집 사항은 셀 수준의 diff를 생성하며, 대기 중인 변경 사항이 있는 셀은 인라인으로<del>이전</del><ins>이후</ins>를 렌더링합니다. 기존 툴바의 다음/이전/수락/거절 기능이 셀 변경 사항에도 작동하며, AI와 사용자의 동시 편집은 셀 단위로 병합되고 동일 셀 충돌 시 사용자 편집이 우선합니다. - Common: 비디오 및 음악 생성 도구 비용 추적: 생성된 비디오(OpenRouter
/api/v1/videos경유) 및 음악(chat-completions경유)의 비용이 이제 이미지 생성과 마찬가지로 스레드 총계에 합산됩니다. 사이드패널 비용 드롭다운에 새로운video_gen_cost및music_gen_cost상세 항목이 추가되었습니다.
Improvements
- Common: GPT-5 시리즈 안정성: OpenAI의 gpt-5, gpt-5.1, gpt-5.4, gpt-5.4-pro, gpt-5.3-codex가 도구 사용이 많은 에이전트 대화에서 더 이상 빈 응답을 생성하지 않습니다. 함수 도구 스키마 상호작용으로 인해 OpenAI 백엔드가 출력을 생성하지 않고 스트림을 종료하던 문제를 해결하기 위해, Caiioo는 이제 이 모델들이 요구하는 형태로 도구를 직렬화합니다.
- Common: GPT-5.4+ 긴 대화 동작 개선: gpt-5.4, gpt-5.4-pro, gpt-5.3-codex와의 멀티턴 대화가 긴 도구 호출 시퀀스에서 더 이상 조기에 중단되지 않습니다. OpenAI가 중간 설명과 최종 답변을 구분하기 위해 사용하는 단계 마커가 이제 턴 간에 보존됩니다.
- Common: GPT-5.x 추론 과정이 생각 패널에 표시됨: gpt-5, gpt-5.1, gpt-5.4, gpt-5.4-pro, gpt-5.3-codex가 이제 Gemini와 마찬가지로 생각하는 동안 추론 요약을 채팅 내 생각 패널로 스트리밍합니다. 이전에는 OpenRouter가 추론 텍스트를 스트리밍하고 있음에도 불구하고 이 모델들의 생각 패널이 비어 있었습니다.
- Common: 일시적인 업스트림 장애로부터 투명한 복구: OpenRouter가 요청을 보낸 업스트림이 콘텐츠 스트리밍 전 일시적인 5xx 에러를 반환할 경우, Caiioo는 빈 답변을 노출하는 대신 다른 업스트림으로 조용히 재시도합니다.
- Common: 모델 스트림 실패 시 명확한 에러 표시: 제공업체 측의 크래시, 콘텐츠 필터 거부 및 기타 스트림 중간 실패 시, 대화가 설명 없이 그냥 "중단"되는 대신 구체적인 에러 메시지를 표시합니다.
- Common: 생성된 비디오 및 음악 인라인 렌더링: 생성된 비디오와 음악이 이제 생성된 이미지처럼 대화에 나타납니다. 비디오 또는 오디오 플레이어가 접힌 도구 섹션 내부가 아닌 최종 답변 위에 표시되며, 어떤 모델이 생성했는지 보여주는 작은 배지가 함께 나타납니다.
- Common: 비디오 및 음악 도구용 기본 모델 선택기: 설정 → 도구에 기존 이미지 생성기 선택기와 유사한 비디오 및 음악 생성기용 기본 모델 드롭다운이 추가되었습니다. 에이전트는 기본적으로 선택된 모델을 사용하며, 요청 시 다른 모델 이름을 지정하여 재정의할 수 있습니다.
- Common: Personal Intuition 인덱싱 상태 표시: 개인화 설정 패널에 "인덱싱됨: N개 스레드 · M개 청크 · K개 토큰 · 마지막 인덱싱 X분 전" 라인이 실시간으로 표시되어 메모리 인덱서가 정상 작동하는지 확인할 수 있습니다. 마지막 백필 요약도 실행 완료 후 사라지지 않고 유지됩니다.
- iOS: 네이티브 온디바이스 임베딩 (속도 향상, 메모리 절감): Multilingual-e5-small 추론이 이제 WKWebView 내부가 아닌 Apple의
onnxruntime-objc를 통해 iOS 호스트 프로세스에서 실행됩니다. 이는 모델 로드 후 약 7초 만에 WebView를 종료시키던 프로세스당 메모리 제한 문제(로그인 후 크래시)를 해결합니다. 도구 카탈로그의 첫 번째 인코딩 이후, 후속 도구 선택 호출은 텍스트별 인메모리 캐시를 사용하여 약 5초가 아닌 약 10ms 내에 완료됩니다. 공유 파이프라인 리팩토링을 통해 Personal Intuition과 온디바이스 도구 선택이 각각 약 115MB의 모델 복사본을 로드하는 현상도 방지했습니다. - Common: Personal Intuition과 온디바이스 도구 선택이 하나의 e5 파이프라인 공유: 이전에는 두 기능이 각각 자체적인 multilingual-e5-small 로더를 인스턴스화했습니다(렌더러에서 각각 ~115MB, 총 ~230MB). 이제 동시 로드를 중복 제거하는 단일 공유 파이프라인에 위임하여 콜드 스타트 비용을 절반으로 줄였습니다.
Bug Fixes
- Common: 브라우저 세션 쿠키가 API 호출에 유출되지 않음: 브라우저 탭에서 openrouter.ai를 방문한 경우, 확장 프로그램이 의도치 않게 OpenRouter 브라우저 세션(Clerk / Stripe / 분석 쿠키)을 모든 API 호출에 첨부하던 문제를 수정했습니다. 이제 API 호출은 엄격하게 Bearer 인증만 사용합니다.
- Common: GPT-5.4 응답이 두 번 나타나지 않음: gpt-5.4, gpt-5.4-pro, gpt-5.3-codex 응답에서 동일한 텍스트가 연달아 표시되던 버그를 수정했습니다. 이미 렌더링된 토큰 스트림과 함께 최종 답변 페이로드가 중복 누적되던 문제였습니다.
- Common: 새로고침 후 모델 선택기 갱신: 모델 목록이 이제 버전 업그레이드 시 무효화되고 짧은 인메모리 TTL을 준수하므로, 새로 출시된 OpenRouter 모델이 오래된 캐시에 가려지지 않고 새로고침 후 나타납니다. 수명이 긴 서비스 워커가 더 이상 고정된 카탈로그를 유지하지 않습니다.
- Common: 생성된 미디어 단축 링크가 플레이어를 엶: 모델이 오디오/이미지/비디오 생성 후
[Listen](audio-…)과 같은 단축 링크를 작성할 때, 이를 클릭하면 잘못된 외부 URL로 실패하는 대신 슬레이트 플레이어가 열립니다. 이미지 및 비디오 링크에도 동일한 수정이 적용되었습니다. - Common: 마크다운 이미지 임베드로 작성된 생성 미디어 렌더링 오류 수정: 모델이 비디오 또는 오디오 첨부 파일을
[Video 1](video-…)대신로 작성했을 때, 플레이어가 열리는 대신 깨진<img>로 렌더링되던 문제를 수정했습니다. 이제 앞의!를 제거하여 링크가 슬레이트 뷰어를 열도록 합니다. - Extension: 사이드패널 "위치 권한 거부됨" 막다른 골목: 사용자가 무엇을 클릭하든 모든 사이드패널 위치 요청이 "위치 권한이 거부되었습니다. 브라우저 설정에서 위치 접근을 허용해 주세요."를 반환하던 회귀 버그를 수정했습니다. 오프스크린 문서를 통한 라우팅 시도가 오프스크린 컨텍스트에서 권한 프롬프트를 표시할 수 없고 매니페스트에
geolocation이 선언되지 않아 즉시PERMISSION_DENIED가 발생하던 문제였습니다. 사이드패널은 이제 이전에 작동하던 기존의 콘텐츠 스크립트 후 IP 지오로케이션 체인을 사용합니다. - Common: Personal Intuition 전체 재구축 시 오래된 인덱스 수치 남음: 전체 재구축 백필 시 스레드별 인덱스 업데이트를 건너뛰어, 설정 → 개인화에서 재구축 후에도 재구축 전의 부풀려진 합계가 표시되던 문제를 수정했습니다. 또한 전체 재구축으로 스캔되었으나 이전에 인덱싱되지 않았던 스레드들이 검색에서 누락되지 않도록 수정했습니다.
- iOS: 로그인 후 WKWebView 크래시 루프: 로그인 후 크래시에 대해 세 가지 통합 수정을 적용했습니다. (1) 네이티브 e5 임베딩이 이제 ORT 메모리 아레나를 실행 간에 축소하도록 설정하여 8개씩 배치로 실행됩니다. 피크 작업 세트가 ~3GB로 치솟아 iOS의 프로세스당 메모리 제거를 유발하는 대신 ~100MB 미만으로 유지됩니다. (2) 온디바이스 리트리버가 이제 부팅 시 인라인이 아닌
requestIdleCallback중에 워밍업되므로 라이선스 동기화, ID 복구, UI 렌더링 및 클라우드 동기화 초기화와 경쟁하지 않습니다. (3) 온디바이스 리트리버가 이제 ID 또는 티어 변경 시 재구성되므로, 첫 등록 시 티어가 정의되지 않아 클라우드 헬퍼로 조용히 폴백되던 신규 설치 문제를 해결했습니다. - iOS: 잘못된 "경로 탐색 차단됨" 403 에러:
NSString.standardizingPath가 디스크에 존재하는 파일에 대해서만/var→/private/var를 해결하기 때문에LocalFileSchemeHandler가 모든 404를 경로 탐색 시도로 잘못 플래그 지정하던 문제를 수정했습니다. 존재하지 않는 리소스에 대한 정당한 경로(iOS 번들에서 제외된*.wasm,api/active-tab-context와 같은 chrome-extension API 경로 등)가 404 대신 403을 반환하여 transformers.js의 wasm 프리페치 폴백을 방해하던 문제를 Android 핸들러와 일치하는 문자열 기반../ NUL 체크로 교체했습니다. - Common: PDF 임베디드 이미지가 텍스트 전용 모델을 중단시킴: 이미지가 포함된 PDF를 텍스트 전용 OpenRouter 모델(DeepSeek V4 Pro, Kimi K2.6 등)로 보낼 때 "이미지 입력을 지원하는 엔드포인트를 찾을 수 없음" 에러가 발생하던 문제를 수정했습니다. 이는 새로운 Seeing-Eye Dog 라우팅이 해결해야 했던 경고였습니다. PDF 전달 경로가 이제 이미지 블록 전달과 동일한 모델별
supportsVision플래그를 준수하므로, 텍스트 전용 모델은 텍스트 전용 PDF를 수신하고 에이전트는 필요한 경우 비전 서브에이전트를 생성할 수 있습니다. - Common: 광고 차단 수준 토글이 적용되지 않음: 광고 차단 수준(끄기 / 표준 / 공격적)을 토글해도 서비스 워커가 재시작될 때까지 라이브 DNR 규칙과 정적 규칙 세트가 그대로 유지되어 저장된 값만 변경되던 문제를 수정했습니다. 이로 인해 끄기로 토글한 후에도 ads.google.com과 같은 사이트가 계속 차단되었습니다. 이제 스토리지 리스너가 설정이 실제로 기록되는
globalSharedSettings버킷을 감시하며, 레거시adBlockerEnabled플래그도 동일한 버킷을 통해 라우팅됩니다. - Extension: 너무 큰 이미지가 소리 없이 누락됨: 이미지 첨부 파일이 API 제한을 초과할 때, 확장 프로그램 서비스 워커에 압축 구현이 등록되어 있지 않아(서버의 sharp 기반 구현만 존재)
pushImageBlock의 방어 코드가 예외를 포착하고 이미지를 완전히 누락시키던 문제를 수정했습니다. 이제 SW가createImageBitmap을 통해 실제 크기를 조사하고 기존 오프스크린 문서를 통해 인코딩을 라우팅하므로, 확장 프로그램 컨텍스트 호출자가 누락된 플레이스홀더 대신 압축된 이미지를 받게 됩니다. - Common: 생성된 이미지 및 스크린샷이 제공업체에 의해 거부됨: Anthropic은 base64 이미지를 5MB로 제한하며, 다른 제공업체들도 유사한 제한이 있습니다. FLUX / Gemini / Seedream에서 생성된 이미지와 대형 스크린샷이 원본 크기로 전달되어 전체 에이전트 턴을 중단시키는 4xx 에러를 발생시켰습니다. 세 단계의 방어층을 구축했습니다: 이미지 생성기가 저장 전 출력을 압축하고, 새로운
pushImageBlock헬퍼가 모든image_url방출을 압축 또는 누락으로 라우팅하며, 스크린샷 재구축 및 라이브 스크린샷 주입 모두 동일한 헬퍼를 거칩니다. 모든 제공업체에서 작동하는 보수적인 4MB 제한을 적용했습니다.
버전 0.9.718 (2026년 4월 22일)
새로운 기능
- Common: Personal Intuition — 연상형 교차 스레드 메모리: Caiioo가 현재 대화뿐만 아니라 모든 대화에서 이전에 나눈 내용을 조용히 기억합니다. 대화 중에 관련 기억이 떠오르면, 에이전트가 이를 직접 사용하거나 답변에 반영합니다. 마치 향기가 특정 장소를 떠올리게 하는 것과 같습니다. 개인화(Personalization) → Personal Intuition 메뉴에서 설정할 수 있으며, 기본값은 꺼짐(off)입니다. 기존 스레드를 인덱싱할 수 있도록 전체 재구축(Full-rebuild) 및 증분 백필(Incremental backfill) 기능을 포함하며, 비밀 대화는 교차 스레드 저장소에 절대 포함되지 않습니다.
- Common: Personal Intuition 백업 및 복구: 백업 및 복구(Backup & Restore) → Personal Intuition 메뉴에서 전체 메모리 말뭉치를 JSON 파일로 스냅샷을 찍어 저장할 수 있으며, 문제가 발생하거나 다른 기기로 이동하려는 경우 나중에 복구할 수 있습니다. 비밀 대화는 절대 포함되지 않습니다.
- Common: 모든 티어에 Instant Tool Chooser 기본 적용: 이제 무료 티어를 포함한 모든 티어의 모든 기기에서 시맨틱 도구 선택기가 로컬로 실행됩니다. 각 턴에 적합한 도구를 기기 내에서 약 10ms 만에 선택합니다. 설정(Settings) → 도구(Tools)의 선택기 UI에서 "Instant Tool Chooser"와 "Quick Tasks LLM"(모델 선택기에서 번개 아이콘으로 표시한 모델을 사용함) 중 선택할 수 있도록 명확히 구분되었습니다.
- iOS / Android: 네이티브 앱 내 Instant Tool Chooser: 브라우저 확장 프로그램과 데스크톱뿐만 아니라, iOS 및 Android 앱의 WebView 내에서도 동일한 온디바이스 도구 선택기가 제공됩니다.
개선 사항
- Common: Slate 샌드박스 내 HTTPS 스크립트 CDN 허용: HTML slate 아티팩트에서 이제 Chart.js나 D3와 같은 일반적인 라이브러리를 신뢰할 수 있는 HTTPS CDN(jsdelivr, unpkg 등)으로부터 로드할 수 있습니다. 데이터 페칭은 여전히 동일 출처(same-origin)로 제한되므로, 첨부 데이터를 slate로 전달하려면
bind_data를 사용하십시오. - Common: Personal Intuition 진행 상황 명확화: 백필 실행 시 설정 패널에서 완료될 때까지 대기하는 대신, 스레드별 진행 상황(예: "47/75 스레드 · 2,134 청크")을 표시합니다.
- Common: 메모리 인덱싱 후 도구 선택 속도 향상: 대규모 메모리 말뭉치를 인덱싱할 때 더 이상 온디바이스 리트리버의 도구 카탈로그 캐시를 삭제하지 않습니다. 따라서 다음 도구 호출 시 재인코딩 비용을 지불하지 않고 웜(warm) 상태를 유지합니다.
버그 수정
- Common: 동시 실행 서브 에이전트의 잘못된 티어 업그레이드 오류: 병렬로 실행되는 두 서브 에이전트가 서로의 활성 스레드 컨텍스트를 덮어써서, Pro 전용 액션(update_slate 등)이 잘못된 서브 에이전트에 대해 거부되던 레이스 컨디션을 수정했습니다. 이제 티어 적용 범위는 디스패치 호출의 특정 스레드로 제한됩니다.
- Common: Slate CSV 데이터 바인딩의
forEach오류: CSV 바인딩 데이터가 샌드박스에 반복 불가능한(non-iterable) 객체로 전달되던 문제를 수정했습니다. 이제 샌드박스 JavaScript 내에서data.forEach(...)가 예상대로 작동합니다.
Version 0.9.717 (2026년 4월 17일)
새로운 기능
- Common: 모든 앱에 통합된 Pro 티어: Pro는 이제 개별 앱별 버킷 대신 Chrome, Desktop, Mobile 등 모든 Caiioo 앱을 잠금 해제하는 단일 월 $9 구독 서비스가 됩니다. Platform(월 $14)은 "Pro + 인프라"(로컬 서버, API 액세스 프리뷰, Messaging)로 재포지셔닝되었습니다.
- Common: Pro Mobile 티어: 월 $2.99의 모바일 전용 Pro 플랜이 출시되었으며, App Store 및 Play Store에서 직접 판매됩니다. 인앱 결제 자체가 권한이 되며 별도의 라이선스는 필요하지 않습니다.
- Common: Human-in-the-Loop를 위한 Ask-User 도구: 이제 에이전트가 실행 중간에 일시 중지하고 4가지 결정 대화 상자(승인, 메모와 함께 승인, 거부, 메모와 함께 거부)를 표시할 수 있습니다. 사용자의 메모는 제안된 계획을 재정의하는 일반 영어 가이드로 모델에 다시 전달되며, 새로운 사이클을 시작하지 않고 에이전트가 그 자리에서 계속 진행합니다.
- Common: 인앱 가이드 검색: Document 메뉴에서 사용자 가이드를 직접 검색하세요. 결과는 caiioo.ai/guide로 딥링크되며 기존의 리다이렉트 흐름을 유지합니다.
- iOS: 월간/연간 페이월 토글: iOS 구독 시트에서 구매 전 월간 결제와 연간 결제 간의 전환이 가능해졌습니다.
- Desktop: Windows 및 Linux 자동 업데이트: Tauri 데스크톱 앱에 업데이트 기능이 활성화되어 출시됩니다. 이제 Windows 및 Linux 빌드에서 수동 재설치 없이 즉시 업데이트를 받을 수 있습니다.
- Web: 가이드 및 블로그 통합 탭 검색: 마케팅 사이트의 가이드 및 블로그 레이아웃에 탭 범위 전환 기능이 포함된 검색 바가 추가되었습니다. 제목 일치 항목이 본문 일치 항목보다 상위에 노출되며, 활성 탭은 결과가 있는 곳으로 자동 전환됩니다.
- Web: 전용 Linux 설치 페이지: 설치 페이지에서 Linux 사용자를
/install/linux로 라우팅하며, 여기에는 AppImage,.deb,.rpm선택지와 배포판별 명령어가 안내됩니다. - Web: 안정적인 다운로드 경로:
/download/macos,/download/linux,/download/windows는 이제 edge-worker 기반의 안정적인 URL이 되어, 릴리스마다 웹사이트를 다시 빌드할 필요 없이 항상 최신 릴리스로 연결됩니다.
개선 사항
- Common: 인앱 지원 티켓팅: 지원 요청이 이제 인앱 티켓 흐름을 기본 경로로 사용하며, 문제가 발생했을 때 적절한 위치를 안내하는 더 명확한 크레딧 오류 메시지를 제공합니다.
- Common: 더 스마트해진 Google OAuth 재인증: Google 도구가 이제 Google에서 실제로 부여된 범위를 확인합니다. 403 오류로 범위 누락이 확인되면 무음으로 실패하는 대신 적시에 재인증 프롬프트를 띄웁니다.
- Common: Google 쓰기 작업을 위한 전체 Drive 범위: Google Drive에 대한 쓰기 작업 시 이제 전체 드라이브 범위를 요청합니다. 이를 통해 직접 생성하지 않은 문서에 대한 편집 시 권한 오류 없이 성공적으로 수행됩니다.
- Common: 이미지 생성기 모델 설명: 이미지 생성 도구에서 사용 가능한 각 모델에 대한 설명을 표시하여 작업에 적합한 모델을 더 쉽게 선택할 수 있습니다.
- Common: 더 정확한 Slate Artifact 메시지: 도구가 Slate artifact를 생성하거나 업데이트할 때, 모델이 더 이상 artifact가 "에디터에 표시됨"이라고 주장하지 않습니다. 이제 실제 발생하는 상황을 반영하도록 문구가 수정되었습니다.
- Common: 탭에서의 더 나은 동적 도구 선택: 탭 컨텍스트 힌트가 이제 도구 ID를 방출합니다. 이를 통해 동적 도구 선택기가 사용 가능한 도구에 따른 컨텍스트 기반 선택 규칙을 실제로 적용할 수 있습니다.
- Common: 스레드에 할당되는 음성 비용: 스트리밍 TTS(ElevenLabs, Resemble) 및 STT(ElevenLabs Scribe) 사용량이 이제 기존의 단발성 합성 경로와 마찬가지로 해당 대화의 음성 비용으로 합산됩니다.
- Extension: 로컬 에이전트를 강조하는 로그인 부제목: 로그인 화면의 문구가 소폭 업데이트되었습니다.
버그 수정
- Desktop: Linux 파일 선택기 복구: Tauri 데스크톱 앱의 Linux 환경에서 파일 선택기가 작동하지 않던 문제를 수정했습니다.
- Desktop: 잘못된 버전 보고: Tauri 데스크톱 앱의 UI 및 텔레메트리에서 잘못된 버전 문자열을 보고하던 문제를 수정했습니다.
- Desktop: Linux 오디오 노이즈 감소 및 명확한 오류: Linux에서 PipeWire 로그 노이즈를 억제하고, OpenRouter 오류를 삼키는 대신 표시하며, API 토글 읽기 경로를 복구하고, 잘못된 패리티 배너를 수정했습니다.
- Common: Gmail 본문 추출 시 링크 유실: Gmail 추출 우선순위를 뒤집어 링크를 보존하는 마크다운을 먼저 시도하고, 마크다운 출력이 비어 있는 경우에만 일반 텍스트로 대체합니다. 이제 일반적인 경우 이메일에서 링크가 유실되지 않습니다.
- Common: Public API 설정 저장 안 됨: 일부 환경에서 Public API 토글 및 액세스 토큰 저장에 실패하던 문제를 수정했으며, 해당 설정이 클라우드에 동기화되지 않고 엄격하게 로컬에만 유지되도록 보장했습니다.
- Common: 아카이브 및 이름 변경 지연 현상: 삭제, 아카이브, 아카이브 취소, 이름 변경 시 이제 UI를 낙관적으로 업데이트하여 서버 응답을 기다리지 않고 목록에 즉시 변경 사항이 반영됩니다.
- Common: 아카이브 삭제 동기화 안 됨: 아카이브 삭제가 프로토콜 경로를 우회하여 저장소에 직접 적용되던 문제를 수정했습니다. 이제 다른 모든 스레드 작업과 마찬가지로 클라이언트 간에 전파됩니다.
- Common: Agenda의 잘못된 "범위 누락" 표시: Google Calendar 범위를 부여한 직후 reminders/agenda 위젯이 오래된 도구 컨텍스트 프로필을 읽어, 도구는 정상 작동함에도 범위 누락 플래그를 세우던 문제를 수정했습니다. 이제 UI가 최신 프로필을 읽으며, 새로고침 시 연결된 Google 계정 중 추가 권한이 필요한 계정에 대해 순차적으로 증분 범위 동의 흐름을 자동 실행합니다. 더 이상 "액세스 권한 부여"를 찾기 위해 동기화 대화 상자를 열 필요가 없습니다.
- Common: "Unknown name exclusiveMinimum"으로 거부되는 Google 도구 호출: 파라미터 스키마가 숫자
exclusiveMinimum/exclusiveMaximum범위를 사용하는 도구 호출을 Gemini가 거부하던 문제를 수정했습니다. 이러한 범위는 이제 Google의 제한된 OpenAPI 하위 집합으로 전송되기 전에 제거됩니다. - Common: DCR 없는 원격 MCP 서버 연결 실패: Slack 등 Dynamic Client Registration을 지원하지 않는 원격 MCP 서버 추가 문제를 수정했습니다. 클라이언트는 이제 RFC 9728 보호 리소스 메타데이터를 준수하고,
authorization_servers가 리소스 호스트와 다를 경우 해당 AS 호스트를 따르며, 존재하지 않는/register엔드포인트를 임의로 생성하지 않습니다. - Server: Gated 엔드포인트에서 Tester 티어 사용자 거부: 조직, 허브, 관리자 및 프로비저닝된 키 엔드포인트에서 사용자의 유효 티어(라이선스 기준)가 인증 토큰에 스냅샷된 오래된 티어보다 높을 경우 거부하던 문제를 수정했습니다. Gated 엔드포인트는 이제
/api/auth/me와 일관되게 유효 티어를 평가합니다. - Extension: ID 동기화 핑퐁 루프: 확장 프로그램과 릴레이 서버 간의 충돌하는 ID가
IDENTITY_SYNC에서 무한 루프를 생성하던 문제를 수정했습니다. 확장 프로그램은 이제 동일한 충돌 원격지에 대해 한 번 응답하고, 해결을 위해 한쪽에서 로그아웃해야 함을 경고하며, 연결 해제/일치/원격 채택 시 초기화됩니다. - Common: Gemini Flash TTS 선택 또는 구성 불가: Gemini Flash TTS(음성)를 처음부터 끝까지 사용할 수 없던 문제를 수정했습니다. 선택 시 설정 창을 닫으면 원래대로 돌아가거나 API 키 필드에 입력이 되지 않던 현상이 해결되었습니다. 이제 해당 제공자는 정식 TTS 옵션이 되었습니다. 선택이 유지되고, API 키와 음성 선택기가 올바르게 저장되며, 합성은 SSE 스트리밍 엔드포인트를 사용하여 전체 문장 생성이 끝나기 전에 오디오 재생을 시작할 수 있습니다.
- iOS: 새 스레드 UI 전환 안 됨: iOS 앱에서 활성 뷰가 새로 생성된 스레드로 전환되지 않던 문제를 수정하고, 컴포저를 충돌시킬 수 있는 관련
modelNameReferenceError를 수정했습니다. - iOS: 선택적 저장소 후크에서의 시작 시 충돌: 시작 중
storage.primeSettingsCache를 사용할 수 없을 때 발생하던 iOS 충돌을 수정했습니다. 이제 해당 호출은 가드 처리되었습니다. - Common: 가격 체계 개편 후 티어 감사 불일치: 티어 감사를 통해 발견된 6가지 가격 및 기능 불일치를 수정했습니다. 이제 권한 게이트, 업그레이드 프롬프트, 기능 플래그가 확장 프로그램, 웹사이트, 모바일 앱 전체에서 일치합니다.
iOS App Store 준수 사항
- iOS: 온보딩에서 외부 가입 CTA 숨김: 온보딩 과정에서 사용자를 기기 외부의 계정 생성 또는 유료 업그레이드로 유도하는 콜 투 액션(CTA)을 더 이상 표시하지 않습니다.
- iOS: 크레딧 구매 UI 숨김: Apple의 지침 §3.1.1에 따라 iOS에서는 크레딧 구매 화면이 숨겨지며, 구독은 StoreKit을 통해 처리됩니다.
- iOS: 지원 및 크레딧 오류 문구 업데이트: 외부 구매 언급에 관한 Apple의 가이드라인을 준수하기 위해 iOS의 /support 페이지 및 크레딧 오류 메시지 문구를 수정했습니다.
Version 0.9.716 (2026년 4월 12일)
New Features
- Common: Gemini 3.1 Flash TTS: Google의 Gemini 3.1 Flash TTS를 기반으로 한 새로운 음성 출력 옵션이 추가되었습니다. 30개의 사전 설정된 음성, 70개 이상의 언어, 그리고 표현력이 풍부한 합성을 위한
[whispers],[sighs]와 같은 인라인 오디오 태그를 지원합니다. 본인의 Gemini API 키를 사용하세요. aistudio.google.com에서 무료로 받으실 수 있습니다. 오디오에는 SynthID 워터마크가 포함됩니다. - Common: 대화 총액에 음성 비용 포함: 텍스트 음성 변환(TTS) 및 음성 텍스트 변환(STT) API 사용량(Gemini, ElevenLabs, Resemble)이 이제 채팅, 이미지 생성, 헬퍼, OCR 비용과 함께 스레드별 비용 요약에 합산됩니다. 따라서 표시되는 숫자가 실제 총 비용입니다.
- Common: SQL Database Tool: SQLite 데이터베이스를 대화에 첨부하고 SQL로 쿼리할 수 있습니다. 결과는 Slate 아티팩트에서 라이브 대시보드로 렌더링될 수 있습니다.
- Common: 캘린더 초대 및 Google Meet: 캘린더 이벤트를 생성할 때 이제 참석자에게 초대 이메일을 보내며, 자동으로 Google Meet 화상 회의 링크를 추가할 수 있습니다.
- Common: 도구별 Provider 라우팅: 모든 도구가 기본 모델을 거치는 대신, 설정(Settings)을 통해 개별 도구(이미지 생성, 검색, PDF OCR 등)를 특정 제공자(Provider)로 라우팅할 수 있습니다.
- Common: 대화 공유: 대화를 Markdown 또는 일반 텍스트로 공유할 수 있습니다.
- Common: 14일 Platform 체험: 확장 프로그램 UI 또는 웹사이트 계정 페이지에서 14일 Platform 티어 체험을 시작할 수 있습니다. Pro 구독자도 이용 가능합니다.
- Common: 모델 선택기의 ZDR 퀵 필터: 모델 선택 드롭다운에 zero-data-retention 모델을 빠르게 필터링할 수 있는 새로운 버튼이 추가되었습니다.
- Common: 간소화된 설정: 이제 설정이 기본적으로 필수 항목만 보여주는 간소화된 Simple 뷰로 열립니다. 언제든지 Advanced 모드로 전환하여 모든 항목을 확인할 수 있습니다.
- Common: 무료 Google Gemini 액세스: 본인의 Google AI Studio 키를 가져와 Gemini 2.5 Flash를 무료로 사용하세요. 이제 유료 플랜 없이도 모든 사용자가 Google의 무료 티어를 이용할 수 있습니다.
- Common: Baseten 자체 호스팅 모델: 본인의 Baseten 배포본을 연결하여 Caiioo에서 직접 자체 호스팅 모델을 사용할 수 있습니다.
- iOS: WhisperKit 온디바이스 음성 텍스트 변환: 이제 받아쓰기가 WhisperKit을 통해 완전히 온디바이스로 실행됩니다. 오디오 데이터는 휴대폰을 떠나지 않습니다.
- Android: 온디바이스 Whisper STT: 마이크 권한 승인 절차를 거쳐 Android에서 whisper.cpp를 통해 음성 텍스트 변환이 완전히 온디바이스로 실행됩니다.
- Android: GPU 가속 Moonshine STT: GPU 사용이 가능한 Android 기기에서는 Moonshine을 통해 1초 미만의 추론 속도로 받아쓰기를 실행할 수 있습니다. 영어 전용이며, 다국어의 경우 whisper.cpp가 대체 수단으로 유지됩니다.
- Web: 계정 및 허브 페이지에서 Apple로 로그인: 이제 웹사이트 계정 및 허브 페이지에서 Apple 로그인을 사용할 수 있습니다.
Improvements
- Common: PDF 내보내기 개선: Slate에서 PDF를 내보낼 때 이제 인쇄 대화 상자를 여는 대신 실제 PDF 파일을 생성하므로, 매번 깔끔한 문서를 얻을 수 있습니다.
- Common: Google Slides 전체 텍스트: 페이지를 지정하지 않고 슬라이드 텍스트를 요청하면 이제 프레젠테이션의 모든 슬라이드 텍스트를 반환합니다.
- Common: 더 스마트해진 웹 검색: 최근 Google 레이아웃 변경 사항을 반영하여 제목, 스니펫, 링크를 더 안정적으로 캡처하도록 Google 검색 결과 추출 구조가 개선되었습니다.
- Common: 모든 플랫폼에서 Kokoro TTS 지원: 이전에는 네이티브 앱에서 숨겨져 있던 Kokoro 음성 옵션이 이제 iOS, macOS, Android에서도 표시됩니다.
- Common: 명확해진 크레딧 잔액 표시: 선불 및 BYOK(bring-your-own-key) 설정의 계정 잔액이 이제 혼란스러운 "Limit" 프레임 없이 실제 잔액으로 표시됩니다.
- Common: 고정밀 PDF to Word 변환: PDF→DOCX 내보내기가 이제 Slate의 전용 Document 뷰를 사용하여 원본 PDF의 레이아웃과 구조를 더 충실하게 보존하는 Word 파일을 생성합니다.
- Web: 쾌적해진 계정 및 인증 페이지: 더 깔끔한 로그인 흐름을 위해 계정 및 인증 페이지에서 Google Analytics 및 쿠키 동의 배너가 제거되었습니다.
Bug Fixes
- Common: 설정 검색 탐색 오류 수정: 설정 검색 드롭다운 및 딥 링크가 일부 섹션(API Access, Private Sync, Backup & Restore, Voice 등)으로 이동하지 못하던 문제를 수정했습니다. 대상 카테고리가 접힌 상태로 유지되어 화면이 스크롤되지 않던 현상이 해결되었습니다.
- Common: 서브 에이전트의 OAuth 프롬프트 오류 수정: 서브 에이전트에서 트리거된 OAuth 인증 및 티어 업그레이드 프롬프트가 무시되어 실행 도중 연결 흐름이 끊기던 문제를 수정했습니다.
- Common: 온보딩 후 Ollama 모델 저장 안 됨: 온보딩 중에 선택한 Ollama 모델이 이후에 유지되지 않던 문제를 수정했습니다.
- Common: 속도 제한 중 UI 청크 로드 실패: 정적 UI 에셋이 API 요청과 함께 속도 제한(rate-limited)이 걸려 새로고침 전까지 빈 화면이나 패널 누락이 발생하던 문제를 수정했습니다.
- Common: Composer에서 전처리된 첨부 파일 메타데이터 손실: 모델로 전송되기 전 Composer에서 전처리된 문서의 첨부 파일 메타데이터가 서버에서 누락되던 문제를 수정했습니다.
- Common: '한가한 시간' 계산 시 참석 이벤트가 '바쁨'으로 표시됨: 본인의 캘린더에 있는 이벤트만 계산되도록 수정하여, 단순히 참석만 한 이벤트가 일정의 한가한 시간 계산 시 바쁜 것으로 표시되던 문제를 해결했습니다.
- Common: Google 검색 결과 깨짐: Google의 검색 페이지 레이아웃 변경 후 웹 검색 결과가 비어 있던 문제를 수정했습니다.
- Desktop: Windows/Linux 로그인이 다른 플랫폼과 동기화되지 않음: Tauri 데스크톱 로그인 흐름이 Chrome/macOS/iOS와 달랐던 문제(잘못된 티어 감지 및 로그아웃 후 재로그인 불가 포함)를 수정했습니다.
- Desktop: Public API가 데스크톱 UI를 차단함: Public API 설정이 활성화되었을 때 데스크톱 앱의 자체 UI가 API 인증에 의해 차단되던 문제를 수정했습니다.
- Common: Google Docs OAuth 오류 숨겨짐: 인증이 만료되었을 때 Google Docs 작업이 명확한 오류를 표시하지 않고 조용히 실패하던 문제를 수정했습니다.
- Common: 설정 패널 크래시: 프로비저닝된 API 키를 복구할 때 설정 패널이 충돌하던 문제를 수정했습니다.
- Common: Google Drive 동기화 시 문서 중복: Google Docs가 제자리에서 업데이트되지 않고 동기화할 때마다 중복 생성되던 문제를 수정했습니다.
- Common: Google Drive 동기화 시 인라인 코드 손실: 문서를 Google Docs로 동기화할 때 인라인 코드 서식이 손실되던 문제를 수정했습니다.
- Common: Gemini Thinking 추출: Gemini 모델 응답에서 사고/추론(thinking/reasoning) 콘텐츠가 올바르게 캡처되지 않던 문제를 수정했습니다.
- Common: 프로필 전환 시 오래된 데이터 표시: 프로필 간 전환 시 수동 새로고침 전까지 이전 프로필의 대화가 가끔 표시되던 문제를 수정했습니다.
- Common: 작업 스케줄러 "Method Not Found" 오류: 특정 설정에서 예약된 작업이 60초마다 오류를 발생시키던 문제를 수정했습니다.
- Common: Google Docs 텍스트 삽입 시 줄바꿈 오류: 텍스트 삽입 시 실제 줄바꿈 대신 리터럴
이 나타나던 문제를 수정했습니다. - Common: 도구의 Google 계정 힌트: Google 도구가 API 호출 시 가끔 잘못된 Google 계정을 사용하던 문제를 수정했습니다.
- Common: 설정 및 스레드 가져오기/내보내기 오류: 설정 및 스레드 내보내기 파일이 다시 올바르게 가져오기(import)되지 않던 문제를 수정했습니다.
- Common: 서브 에이전트 토큰 사용량: 서브 에이전트의 토큰 사용량이 상위 대화에 합산되지 않던 문제를 수정했습니다.
- Common: 재시도 중 메시징 브리지 응답: 어시스턴트가 응답을 재시도할 때 메시징 브리지 응답이 실패하던 문제를 수정했습니다.
- Common: Slate Redline 위치 오류: Markdown이 있을 때 redline 삭제 위치가 잘못 지정되던 문제를 수정했습니다.
- Common: 절전/깨우기 후 브라우저 연결 유지: 컴퓨터가 절전 모드에 들어가거나 장시간 유휴 상태일 때 발생하는 "No browser connected" 오류를 수정했습니다.
- Common: 서비스 워커 절전 후에도 예약된 작업 유지: 장시간 유휴 상태 이후 반복 작업이 중단되던 문제를 수정했습니다.
- macOS: Safari Google 검색 실패: macOS의 Safari 확장 프로그램에서 Google 검색이 작동하지 않던 문제를 수정했습니다.
- iOS: 모바일 앱 액세스: iOS 앱에서 유료 플랜을 잘못 요구하던 문제를 수정했습니다. 이제 모든 사용자가 모바일 앱을 이용할 수 있습니다.
버전 0.9.715 (2026년 4월 3일)
새로운 기능
- Common: Hub Delivery System: 퍼스트 파티 도구 정의, 모드 설정 및 MCP 카탈로그가 이제 번들에 하드코딩되는 대신 클라우드 허브에서 전달되도록 준비되었습니다. 커뮤니티 출시를 대비하여 로컬 캐싱 및 오프라인 폴백 기능을 포함합니다.
- Common: 브라우저 도구용 단일 탭 모드: 대화 내의 모든 탐색에 단일 탭을 재사용하는 모드별 브라우저 탭 정책이 새로 도입되었습니다. WhatsApp과 같이 메시징이 많은 워크플로에서 탭이 과도하게 쌓이는 것을 방지합니다.
- Common: API Integration 바이너리 업로드: api_integration 도구가 이제 요청 본문을 항상 JSON 문자열로 변환하는 대신, 바이너리 파일 업로드 및 presigned URL을 통한 직접 로컬 파일 업로드를 지원합니다.
- Common: 도구를 통한 자격 증명 관리: 이전에는 Settings UI를 통해서만 가능했던 API 자격 증명의 저장, 목록 조회 및 삭제를 api_integration 도구를 통해 프로그래밍 방식으로 수행할 수 있습니다.
- macOS: 오디오 입력 장치 선택: 음성 입력에 사용할 마이크를 선택할 수 있습니다. 사용 가능한 모든 오디오 장치를 나열하며 선택 사항이 유지됩니다.
- Android: 저메모리 시 OAuth 복구: Android OAuth 흐름이 이제 시스템이 메모리 확보를 위해 앱을 종료하더라도 액티비티 재생성 시 생존하며, 인증 세션을 원활하게 복구합니다.
- Common: 3계층 모바일 CSS 아키텍처: 플랫폼, 레이아웃 및 컴포넌트 계층으로 구성된 새로운 모바일 반응형 CSS 시스템이 도입되어 휴대폰, 태블릿 및 데스크톱 뷰포트 전체에서 일관된 UI를 보장합니다.
개선 사항
- Extension: 탭을 통한 증분 OAuth: 증분 스코프 요청 시 팝업 대신 전체 브라우저 탭을 열어, 대화형 동의가 필요한 계정에서 발생하는 프리징 현상을 해결했습니다.
- Common: MCP 도구 스키마 품질: 모든 MCP 도구가 전체 스키마, 적절한 설명 및 일관된 매개변수 정의를 검증하는 품질 린트 테스트를 통과합니다.
- Extension: 중지 시 브라우저 탭 자동 닫기: 실행이 중지될 때 어시스턴트가 연 브라우저 탭이 닫히며, macOS에서는 OAuth Safari 창이 닫힙니다.
- Android: 툴체인 업그레이드: Android 빌드가 AGP 9.1, Kotlin 2.2.10 및 Gradle 9.3.1로 업그레이드되었습니다.
버그 수정
- Common: Google Docs 테이블 위치 지정: Google Docs에서 대상 텍스트 앞에 테이블이 있는 경우 수정 사항이 잘못된 위치에 적용되던 문제를 수정했습니다.
- Common: 페이지 콘텐츠 푸터 제거: 페이지 콘텐츠 추출 시 캡처된 페이지에서 푸터 요소를 잘못 제거하던 문제를 수정했습니다.
- Common: 웹 브라우징 페이지네이션: 명시적인 maxLength가 지정되지 않았을 때 2페이지 이후의 페이지네이션이 작동하지 않던 문제를 수정했습니다.
- Common: 콘텐츠 스크립트 폴백: 콘텐츠 스크립트를 사용할 수 없을 때 executeScript로 폴백하여 페이지 콘텐츠 추출이 소리 없이 실패하던 문제를 수정했습니다.
- Common: URL로 수집된 문서의 PDF 렌더링: URL을 통해 수집된 문서의 PDF 네이티브 렌더링이 실패하던 문제를 수정했습니다.
- Common: Gemini 도구 호출 파싱: Gemini 모델에서 LLM 도구 호출 인수의 이중 인용부호 키로 인해 파싱이 실패하던 문제를 수정했습니다.
- Common: Amazon Nova 호환성: 빈 텍스트 필드로 인해 Amazon Nova에서 tool_call 메시지가 거부되던 문제를 수정했습니다.
- Common: 에이전트 실행 미종료: 서비스 워커 컨텍스트에서 에이전트 실행이 endRun을 안정적으로 호출하지 않아 브라우저 탭과 상태가 정리되지 않던 문제를 수정했습니다.
- macOS: 음성 오디오 재개: macOS 앱이 절전 모드에서 깨어나거나 독(dock)에서 최소화 해제된 후 음성 오디오가 재개되지 않던 문제를 수정했습니다.
- macOS: 스크린샷 미표시: 잘못된 컨텍스트 감지로 인해 macOS 스크린샷이 어시스턴트 UI에 나타나지 않던 문제를 수정했습니다.
- macOS: 위치 서비스 작동 불능: CoreLocation 브릿지를 추가하고 IP 폴백을 수정하여 Safari 및 네이티브 macOS 앱에서 위치 서비스가 작동하지 않던 문제를 수정했습니다.
- macOS: 위치 권한 누락: 누락된 위치 권한(entitlement)을 추가하고 네이티브 위치 타임아웃을 늘렸습니다.
- iOS: 파일 선택기 작동 불능: runOpenPanel 델리게이트를 추가하여 iOS WKWebView에서 파일 선택기가 열리지 않던 문제를 수정했습니다.
- Extension: OAuth 스코프 과다 부여: 의도하지 않은 스코프 확장을 방지하기 위해 웹 팝업 및 로그인 후 OAuth 경로에서 include_granted_scopes를 제거했습니다.
- Extension: OAuth 동의 화면 건너뛰기: 증분 스코프 요청 중에 OAuth 스코프 승격 시 동의 화면을 건너뛰던 문제를 수정했습니다.
- Desktop: Windows에서 콘솔 창 표시: Windows에서 Tauri 사이드카를 실행할 때 콘솔 창이 나타나던 문제를 수정했습니다.
- Desktop: Windows 빌드 오류: Windows Tauri 빌드를 위해 node 바이너리 경로 확인 문제를 수정하고 node_modules를 평탄화(flatten)했습니다.
- Server: 중복 웹훅 처리: 여러 클라이언트가 연결되었을 때 웹훅이 여러 번 처리되던 문제를 수정했습니다.
- Server: 크레딧 구매 시 프로모션 코드: Stripe 결제 시 크레딧 구매에 대한 프로모션 코드 사용을 비활성화했습니다.
Version 0.9.714 (2026년 3월 29일)
New Features
- Common: Redesigned Onboarding: 새로운 온보딩 화면에서 6가지 명확한 AI 액세스 경로를 제시하여, 신규 사용자가 AI 제공업체에 연결하는 옵션을 더 쉽게 이해할 수 있도록 개선했습니다.
- Common: PDF from Markdown: 처음부터 새로 작성된 문서를 이제 PDF로 내보낼 수 있으며, markdown 콘텐츠를 서식이 지정된 PDF 출력물로 변환합니다.
- Common: Unified Google OAuth: Google 계정 연결 시 이제 모든 scope를 포함하는 단일 검증된 OAuth 앱을 사용합니다. 이전의 멀티 앱 설정을 대체하여 더 적은 프롬프트로 간소화된 연결 흐름을 제공합니다.
- Common: Save to Slate Meta-Parameter: 도구가 이제
_save_to_slate파라미터를 통해 slate 문서로 직접 출력할 수 있어, 복사-붙여넣기 없이 구조화된 결과를 캡처할 수 있습니다. - Common: Slate Anchor Links: slate 참조가 포함된 채팅 메시지에 클릭 가능한 앵커 링크가 포함되어, 문서 내 관련 섹션으로 바로 스크롤할 수 있습니다.
- Common: Sandbox Data Bridge: HTML artifact 샌드박스가 이제 postMessage 브릿지를 통해 slate 데이터에 동적으로 액세스할 수 있어, 라이브 대시보드 및 인터랙티브 시각화가 가능해졌습니다.
- Common: Tier Badges: 설정, 도구 및 자동화 기능에 필요한 액세스 레벨을 보여주는 티어 배지가 표시되어, 확장 액세스 사용자가 제한 사항을 명확히 확인할 수 있습니다.
- macOS: Native Speech-to-Text (WhisperKit): 브라우저 기반 STT를 WhisperKit 및 CoreML을 통한 온디바이스 음성 인식으로 교체하여, 더 빠르고 프라이빗한 네이티브 구현을 제공합니다.
- macOS: Sparkle Auto-Update: Sparkle을 통해 macOS 앱 및 Safari 확장 프로그램에 대한 프로덕션급 자동 업데이트를 지원하며, appcast 피드 및 델타 업데이트를 포함합니다.
- macOS: Native Tab Context: AppleScript 기반의 탭 컨텍스트 추출 기능을 통해 macOS 앱이 최상단 브라우저 탭을 인식할 수 있도록 합니다.
- macOS: Voice Hotkey Streaming: 음성 핫키 사용 시 녹음 중 실시간 스트리밍 오버레이를 표시하며, WhisperKit 모델을 자동으로 로드합니다.
- Safari: Native Messaging: Safari 확장 프로그램이 이제 HTTP 폴링 대신 네이티브 메시징을 통해 macOS 앱과 통신하여 응답성과 신뢰성이 향상되었습니다.
- iOS/Android: Native Save Dialogs: JSON 내보내기 시 불안정한 blob 다운로드 대신 네이티브 저장 대화상자(macOS의 NSSavePanel, Android의 SAF)를 사용합니다.
- Web: Teams Landing Page: 잠재 고객을 위한 팀 및 엔터프라이즈 메시징이 포함된 새로운 /teams 페이지를 추가했습니다.
- Web: Blog Section: Caiioo 웹사이트에 새로운 블로그 섹션을 추가했습니다.
- Web: Free Trial Activation: 계정 페이지에서 통합된 온보딩 흐름과 함께 무료 체험 활성화를 지원합니다.
- Common: Shared Drive Support: Google Picker 및 모든 Drive API 호출이 이제 공유 드라이브를 지원하여 팀 공유 문서에 액세스할 수 있습니다.
Improvements
- Common: Adaptive Greeting: 적응형 인사가 이제 커스텀 환영 메시지를 무시하지 않고 이를 활용하여 사용자의 개인화된 톤을 유지합니다.
- Common: OAuth Callback Cleanup: OAuth 콜백 탭이 계속 열려 있지 않고 카운트다운 타이머와 함께 자동으로 닫힙니다.
- Common: OAuth Guidance: 도구에 계정 연결이 필요한 경우, 에러 메시지에 어떤 계정을 연결해야 하는지에 대한 실행 가능한 안내가 포함됩니다.
- Common: Drive Sync Force-Rewrite: Drive Sync 워크플로우에 모든 파일을 다시 동기화하기 위한 강제 재작성(force-rewrite) 옵션을 지원합니다.
- macOS: Unified Debug Log Viewer: 디버그 로그 뷰에서 서버, Swift 및 UI 로그를 하나의 시간순 스트림으로 통합하여 보여줍니다.
- macOS: Bucketed Settings Storage: 서버 스토리지 어댑터를 버킷형 아키텍처로 리팩토링하여 강력한 마이그레이션, 영구 마커, 멀티 프로필 원자성 및 선행 작성자 우선(first-writer-wins) 충돌 해결 기능을 갖추었습니다.
- macOS: Notarized Safari Extension: Safari 확장 프로그램이 이제 Developer ID로 서명되고 공증(notarization) 호환 권한을 갖추어, 배포용 빌드에서 "Allow Unsigned Extensions" 요구 사항이 제거되었습니다.
- iOS: Default to Apple Reminders: iOS 및 macOS에서 이제 Apple Reminders를 기본값으로 설정하고 동기화 뷰에서 자동으로 가져옵니다.
- Common: OAuth Scope Elevation: 증분 scope 요청 시 더 이상 22개의 모든 scope를 표시하지 않고, 새로 요청된 scope만 표시하여 더 깔끔한 계정 선택 프롬프트를 제공합니다.
- Common: Google Account Auto-Retry: 문서에서 404 에러가 반환될 때, 에러를 표시하기 전에 연결된 다른 Google 계정으로 자동 시도합니다.
- Common: Settings Deep-Link Navigation: 모든 설정 섹션이 검색 및 딥링크 내비게이션에 적절하게 등록되었습니다.
Bug Fixes
- Common: Tool Misrouting: 모델이 응답에서 콜론으로 구분된
tool:action형식을 사용할 때 도구가 잘못 라우팅되는 문제를 수정했습니다. - Common: Table Cell Formatting: 표 셀 내의 서식과 링크를 보존하고, 셀 간에 유출되던 상속된 리스트 번호 매기기를 정리했습니다.
- Common: Slate Highlight Scroll: 백그라운드 탭, 미리보기 모드 및 네이티브 뷰에서 신뢰할 수 있는 ProseMirror 기반 포지셔닝을 사용하여 TipTap 에디터의 하이라이트 스크롤 문제를 수정했습니다.
- Common: Code Block Text Search: slate 문서의 코드 블록에 대해 구조적 블록 매핑이 실패할 경우 텍스트 검색으로 폴백되도록 수정했습니다.
- macOS: Settings Lost on Mode Switch: macOS/iOS에서 모드 전환 시 글로벌 설정(API 키, 연결)이 초기화되지 않도록 수정했습니다. 이제 명시적인 허용 목록(allowlist)이 어떤 설정을 리셋할지 제어합니다.
- macOS: Storage Purge Parity: 전체 스토리지 퍼지 시 모든 상태 필드를 일관되게 삭제하여 chrome.storage.local.clear() 동작과 일치시켰습니다. 프로필 삭제 및 보존 정리도 버킷을 통해 올바르게 라우팅됩니다.
- macOS: Settings Concurrency: applyModeDefaults의 설정 읽기 시 먼저 락(lock)을 획득하여 경쟁 상태(race conditions)를 방지합니다. 스토리지 통계는 오래된 플랫 캐시 대신 버킷에서 읽습니다.
- macOS: Migration Robustness: 스토리지 마이그레이션 실패 시 재시도하고, 영구 완료 마커를 사용하며, 마이그레이션 전의 오래된 데이터를 자동으로 정리합니다.
- macOS: MCP Server Zombie Processes: macOS 앱 종료 시 MCP 서버 자식 프로세스가 올바르게 종료되도록 수정했습니다.
- macOS: Calendar/Reminders in Agenda: Apple Calendar 이벤트와 Reminders가 아젠다 모달에 나타나지 않던 문제를 수정했습니다.
- macOS: Google OAuth Flow: macOS WKWebView에서 Google 로그인이 실패하던 문제를 OAuth를 릴레이 서버 웹 흐름으로 라우팅하여 수정했습니다.
- macOS: Sign-Out Navigation: macOS에서 로그아웃 시 로그인 화면으로 돌아가지 않던 문제를 수정했습니다.
- macOS: Remote Access Auth: set-remote-access 엔드포인트에서 잘못된 인증 요구 사항을 제거하여 401 에러를 수정했습니다.
- Server: WhatsApp Reply Delivery: WhatsApp 답장이 WhatsApp으로 다시 전송되지 않고 PF 채팅 스레드에만 머물던 문제를 수정했습니다.
- Server: WhatsApp Relay-Back Timeout: WhatsApp 릴레이 백 타임아웃을 120초에서 10분으로 연장하고 생성 에러 시의 해결 방식을 수정했습니다.
- Server: Private Sync Reauth: macOS에서 프라이빗 동기화 재인증 흐름, 서버 측 OAuth 가드 및 로그아웃 정리를 수정했습니다.
- Server: Local Folder Sync Auth: 로컬/네트워크 폴더 동기화 작업 시의 401 인증 에러를 수정했습니다.
- Server: Google Session Re-Auth: Google 세션 만료 시 막다른 에러를 보여주는 대신 잠금 해제 대화상자가 재인증을 트리거하도록 수정했습니다.
- Safari: Extension Signing: Developer ID 서명 빌드에 대해
get-task-allow없이 릴리스 권한을 사용하여 Safari 확장 프로그램이 서명되지 않은 것으로 표시되던 문제를 수정했습니다. - Common: OAuth Account Mismatch: OAuth가 기존 연결을 다른 계정으로 덮어쓰는 대신 새 연결을 올바르게 생성하도록 하여 계정 불일치 문제를 수정했습니다.
- Common: OAuth Scope Inflation: 불일치된 연결이 원래 계정의 scope를 상속받아 의도치 않게 과도한 권한이 부여되던 문제를 수정했습니다.
- Common: Thread List Wipe: STATE_UPDATE 타임아웃/재시도 시 잘못된 필드 이름을 사용하여 스레드 목록이 삭제될 수 있던 문제를 수정했습니다.
- Common: Tier Badge Accuracy: 무료 티어 기능에서 티어 배지가 "Tester"로 잘못 표시되던 문제를 수정했습니다.
- Common: Settings Panel Overflow: 설정 패널 카드 행의 flex 오버플로우로 인한 레이아웃 문제를 수정했습니다.
- Server: Private Sync API Key Loss: 기기 간 동기화 시 프라이빗 동기화에서 API 키가 유실되던 문제를 수정했습니다.
- Server: Messaging Bridge: 메시징 브릿지에서 아카이브된 채팅, 중지 버튼 및 모드 선택 기능을 수정했습니다.
- macOS: Custom Mode Settings Lost: macOS/iOS에서 no-op 저장 경로로 인해 커스텀 모드 설정이 소리 없이 유실되던 문제를 수정했습니다.
- macOS: OpenRouter Headers Blocked: macOS/iOS에서 릴레이 CORS가 OpenRouter 속성 헤더를 차단하던 문제를 수정했습니다.
- macOS: Tab Context Switching: 브라우저 탭 간 전환 시 탭 컨텍스트가 업데이트되지 않던 문제를 수정했습니다.
버전 0.9.713 (2026년 3월 28일)
새로운 기능
- Common: Sub-Agents: 영구적인 이름의 에이전트, 대화 기록, 병렬 실행(위원회 패턴), 순차 및 개입 모드, 중단 캐스케이드(abort cascade), 그리고 연대순 상태 추적 기능이 포함된 전용 UI 렌더링을 갖춘 완전한 Sub-Agents 시스템이 도입되었습니다.
- Common: MCP 도구 승인: 등록된 MCP 도구가 이제 도구 승인 시스템에 표시되어, 사용자가 에이전트가 호출할 수 있는 MCP 도구를 가시적으로 확인하고 제어할 수 있습니다.
- macOS: Sidepanel Push Mode: Sidepanel이 이제 오버레이와 함께 Push Mode를 지원하며, 기본 너비 425px 및 세션 간 도킹 너비 유지 기능을 제공합니다.
- Server: WhatsApp Rich Messages: WhatsApp 연결이 이제 텍스트 및 미디어 외에도 위치 공유, 연락처, 리액션 및 스티커 메시지를 지원합니다.
- Server: API Key Encryption at Rest: 릴레이 D1 스토리지에 저장된 API keys가 이제 저장 시 암호화(encrypted at rest)됩니다. 서버 측 OAuth 키는 로컬에 저장된 후 삭제됩니다.
개선 사항
- Common: 모델 별칭 표시: Sub-agent 도구 호출 인수에 주석 처리된 모델 별칭이 표시되어 식별이 더 쉬워졌습니다.
- Common: BYOA 연결 우선순위: 확장 범위 OAuth 요청 시 Basic 연결보다 BYOA 대체 연결을 우선하여 불필요한 재인증 프롬프트를 줄였습니다.
- Common: Thought Signature 보존: OpenAI Responses API 및 Gemini 멀티턴 도구 호출 흐름 모두에서 Thought/Reasoning 서명이 올바르게 보존됩니다.
- macOS: 디버그 로그 전파: 디버그 로깅 토글이 이제 Node.js 서버 하위 프로세스로 전파됩니다.
- Common: 벵골어 지원: 플랫폼과 웹사이트가 이제 벵골어를 지원하며, 웹사이트의 상표 면책 조항 및 미디어 게시물이 업데이트되었습니다.
버그 수정
- Common: Safari/WKWebView 스트리밍: kokoro-js를 위한 ReadableStream 비동기 반복 폴리필을 적용하여 Safari 및 WKWebView에서의 TTS 스트리밍 실패 문제를 해결했습니다.
- Common: 커스텀 모드 생성: 첫 번째 시도에서 커스텀 모드 생성이 실패하던 오래된 React 클로저 문제를 수정했습니다.
- macOS: 에이전트 스토리지 변경 사항 유실: 지속성 브리지 누락으로 인해 macOS에서 에이전트 하위 프로세스 스토리지 변경 사항(모드 생성, 설정, 스킬)이 소리 없이 유실되던 문제를 수정했습니다.
- macOS: 클립보드 복사: macOS WKWebView에서 클립보드 복사가 자동으로 실패하던 문제를 수정했습니다.
- macOS: WKWebView 내 WASM/WebGPU: macOS 네이티브 앱에서 TTS/STT 및 로컬 ONNX 경로에 대해 WASM 백엔드를 강제 적용했습니다. CDN 교차 출처 임포트 및 WebGPU JSEP 모듈 임포트가 localhost WKWebView에서 실패하는 문제를 해결하기 위함입니다.
- macOS: 전송 요청 충돌: macOS에서 도구 승인을 방해하던 requestId 충돌을 수정하고 MCP 표시 이름을 개선했습니다.
- macOS: WhatsApp 자동 응답: 스레드 가시성을 포함하여 macOS 릴레이 서버의 WhatsApp 자동 응답에 대한 엔드투엔드 연결을 수정했습니다.
- iOS: 음성 받아쓰기 중단: stopRecording 정리 작업이 우회될 때 음성 받아쓰기가 녹음 상태에서 멈추던 문제를 수정했습니다.
- Safari: 브라우저 명령 타임아웃: 서비스 워커 중단 후 WebExtension API가 응답하지 않아 Safari 브라우저 명령이 타임아웃되는 문제를 수정했습니다.
- Safari: 하트비트 상태 확인: Safari HTTP 폴링 브라우저에서 잘못된 연결 끊김을 방지하기 위해 하트비트 상태 확인을 건너뜁니다.
- Server: 프라이빗 릴레이 안정성: Durable Object 휴면, 유휴 타임아웃(1006), 재연결 지연, 오래된 소켓 처리 및 좀비 readyState 문제를 수정했습니다. serverState와 ctx.state 사이의 분리(split-brain) 현상을 제거했습니다.
- Server: 웹훅 브로드캐스트: 좀비 readyState 문제를 우회하기 위해 DO 휴면 해제 후 웹훅이 모든 서버 소켓으로 브로드캐스트됩니다.
- Server: MV3 메시징 레이스 컨디션: 웹훅 도착 시 지연 초기화(lazy-init) 메시징 브리지의 레이스 컨디션을 수정하여 MV3 서비스 워커 충돌을 방지했습니다.
- Server: 웹훅 CORS 검증: 브라우저에서의 CORS 거부를 피하기 위해 웹훅 검증 테스트를 서버를 통해 라우팅했습니다.
- Extension: 로그아웃 정리: 로그아웃 시 이제 localhost 컨텍스트를 감지하여 macOS의 로컬 릴레이 서버 세션을 올바르게 지웁니다.
- Common: 보안 — 스레드 격리: 상태 브로드캐스트 시 현재 프로필별로 스레드를 필터링하여 프로필 간 데이터 유출을 방지합니다.
버전 0.9.712 (2026년 3월 26일)
새로운 기능
- Common: WhatsApp 연결 진단: WhatsApp의 연결 테스트 기능이 이제 API 토큰 외에도 웹훅 구독 상태 및 앱 비밀번호 유효성을 확인하여, Meta 측에서 발생하는 무음 전송 실패를 감지합니다.
- macOS: 네이티브 OAuth 흐름: macOS 앱이 이제 브라우저 리디렉션 대신 OAuth를 위해 ASWebAuthenticationSession을 사용하며, 리프레시 토큰이 없는 오래된 연결을 자동으로 업그레이드합니다.
개선 사항
- Common: DOCX 찾기/바꾸기 견고성: DOCX 문서의 찾기 및 바꾸기 기능이 이제 이중 공백, 줄 바꿈 없는 공백, 스마트 따옴표, 숫자 엔티티 및 대소문자 불일치를 처리합니다. 정확한 일치에 실패할 경우 대소문자를 구분하지 않는 폴백 기능과 여러 인스턴스가 교체될 때의 경고 기능이 포함되었습니다.
- Common: DOCX 목록 번호 매기기: DOCX 내보내기 시 리터럴 글머리 기호 대신 적절한 Word 목록 번호 매기기(w:numPr)를 생성하여, Word에서 번호 매기기 및 글머리 기호 목록을 올바르게 인식하도록 합니다.
- Common: Agent 시작 성능: 고스트 MCP 서버, HTTP 준비 시간 초과 및 중복된 모델 페치로 인해 발생하던 30-50초의 Agent 시작 지연을 제거했습니다. 이제 모델 캐시가 Agent 하위 프로세스로 전달됩니다.
- Server: 보안 강화: URL 핸들러의 커맨드 인젝션 수정, 타이밍 안전 토큰 비교, 릴레이 서버의 Content-Security-Policy 헤더 추가, 세션 엔드포인트 속도 제한, 알려진 오리진으로 제한된 CORS, 그리고 병렬 E2E 브로드캐스트 암호화를 적용했습니다.
- Server: 웹훅 서명 검증: 웹훅 페이로드가 이제 base64로 인코딩된 원시 본문을 사용하여, HMAC 서명을 무효화하던 JSON 왕복 손상을 방지합니다.
- Server: OAuth 토큰 지속성: 앱 재시작 후 OAuth 연결(Google Drive 등)이 유실되던 서버 상태 객체 간의 스플릿 브레인 현상을 수정했습니다.
- macOS: 성능 및 안정성: 메뉴 기반 트레이 폴링(기존 무조건적인 3초 타이머 대체), 디바운싱된 창 상태 저장, 비차단 로깅, 지수 백오프를 적용한 WKWebView 크래시 복구, 그리고 스크립트 메시지 핸들러의 메모리 누수를 수정했습니다.
- macOS: 중앙 집중식 로깅: 릴레이 서버 출력 및 앱 라이프사이클 이벤트가 이제 10MB 자동 로테이션 기능과 함께
~/Library/Logs/caiioo/에 기록되어, 출력이 소리 없이 누락되던 문제를 대체합니다.
버그 수정
- Common: 파일 선택기 지침:
pick_files도구가 이제 소리 없이 실패하던 데드 UI 액션 신호 대신 사용자에게 명확한 지침을 반환합니다. - Server: 활성 탭 폴링 스팸: 릴레이 모드에서 브라우저 확장 프로그램이 연결되지 않았을 때 활성 탭 폴링이 더 이상 끝없는 타임아웃 오류를 생성하지 않습니다. 연속 실패 시 지수 백오프(30초에서 5분)를 사용합니다.
- Server: 네이티브 앱용 CORS: macOS 네이티브 앱의 WKWebView에서 Google OAuth를 차단하던 127.0.0.1 오리진의 CORS 화이트리스트 차단 문제를 수정했습니다.
- Server: 고립된 Agent 프로세스: 서버 종료 및 포착되지 않은 예외 발생 시 Agent 하위 프로세스가 이제 올바르게 정리됩니다.
- macOS: 브라우저 오케스트레이터 로그 스팸: 확장 프로그램 연결에서 브라우저 프로토콜 메시지에 대한 "Unhandled message type" 경고를 수정했습니다.
Version 0.9.711 (2026년 3월 24일)
새로운 기능
- Common: 설정 자동 저장: 설정 필드 수정 시 텍스트 필드는 500ms의 디바운스(debounce) 후 저장되며, 토글 및 선택 항목은 즉시 저장되어 크래시나 페이지 이동 시 데이터 손실을 방지합니다.
개선 사항
- Common: DOCX 번호 매기기 보존: 번호가 매겨진 DOCX 섹션(예: "3.2.3 → 제목" 형태의 법률 문서)의 탭 문자가 편집 과정에서 삭제되지 않고 그대로 보존됩니다.
- Common: 지능형 도구 선택: 동적 도구 선택기가 엄격한 트리거 단어 매칭 방식에서 벗어나, 웹 확인이 필요한 사실 관계 쿼리(영업 시간, 가격, 주소 등)를 처리할 수 있도록 개선되었습니다.
- Common: 에이전트 언어 변경: 에이전트에 의해 시작된 언어 변경 사항이 수동 설정 토글 없이 즉시 적용됩니다.
- Common: 다중 계정 OAuth 폴백(Fallback): 기본 Google 계정에 필요한 권한 범위(scopes)가 없는 경우, 재인증을 요청하기 전에 연결된 보조 계정을 확인합니다. 보조 계정 토큰 만료 시 발생하던 처리되지 않은 오류를 해결했습니다.
- Server: 모드 설정 검증: 서버에서 설정 저장 시 티어별 권한을 검증하여, 무료 티어 사용자가 프로 티어 설정을 유지하는 것을 방지합니다.
- Common: 보안 강화: 추론 프리뷰 출력에 DOMPurify 새니타이제이션 적용, CORS 허용 범위를 알려진 오리진으로 제한, HTTPS 우선 IP 지오로케이션 조회 적용, 그리고 web_accessible_resources 제한을 강화했습니다.
버그 수정
- Common: Google 검색 결과 URL: 브라우저 Google 검색이 이제 실제 URL을 포함한 구조화된 링크를 반환합니다. 이전에는 AgentMarkdown이 Google의 복잡한 중첩 HTML에서 링크 href를 누락하여 에이전트가 URL 추출을 위해 5번의 도구 호출을 수행해야 했으나, 이제는 DOM에서 직접 링크를 추출하여 첫 번째 검색 결과에 포함합니다.
- Common: Private Sync 무한 루프: manifest 백업 파일 쓰기가 지속적으로 재동기화를 트리거하여 발생하던 동기화 루프를 수정했습니다. 이제 빈 설정 객체가 기기 간에 올바르게 전파됩니다.
- Common: 메시징 브리지 업데이트: 수신 메시지, 에이전트 회신 및 릴레이 응답이 에이전트의 응답이 끝날 때까지 기다리지 않고 즉시 UI에 브로드캐스트됩니다.
- Extension: Private Relay 재연결: MV3 서비스 워커 재시작 후 저장된 활성화 상태를 참조하여 릴레이가 연결 해제 상태로 유지되는 문제를 수정했습니다. 또한 enable() 실행 중의 자체 교체 레이스 컨디션(race condition) 및 신원 변경 시의 재연결 문제를 수정했습니다.
- Extension: Private Relay 레이스 컨디션: 활성화/비활성화 시의 레이스 컨디션을 강화하고, 메시징 브리지 콜백에 처리되지 않은 거부(unhandled rejection) 가드를 추가했으며, 설정 패널 언마운트 시의 타이머 누수를 수정했습니다.
버전 0.9.710 (2026년 3월 22일)
새로운 기능
- Common: Zero-Day Risk (ZDR) 강제 적용: OpenRouter를 위한 실시간 ZDR 데이터 동기화 및 강제 적용 토글 추가 — 제공자별 집계 내역을 확인하고 제로데이 위험이 감지된 모델을 차단할 수 있습니다.
- Common: Tool Call 복구: 추론 블록 내에 XML 도구 호출을 생성하는 성능이 낮은 모델을 자동으로 감지하고 복구하여, 비-프런티어 모델 전반의 신뢰성을 향상했습니다.
- Common: 통합 Token 수명 주기: 통합 TokenLifecycleManager를 통해 모든 플랫폼(extension, server, macOS, iOS)에서 대칭적 OAuth Token 갱신을 지원하며, 만료 전 선제적 갱신을 수행합니다.
- iOS: Composer 아이콘 스케일링: iOS에서 터치 타겟 개선을 위해 Composer 액션 아이콘 크기를 1.18배 키웠으며, 플랫폼별 스타일링을 위한 전용
native-iosbody 클래스를 추가했습니다.
개선 사항
- Common: Slate 제안된 변경 사항: Slate 에디터에서 제안된 변경 사항 간 이동, 호버 기반 수락/거절, 카운터 업데이트가 정상적으로 작동합니다.
- Common: Slate 선택기 드롭다운: Slate 유형 선택기가 포털 방식의 팝오버 대신 인라인 드롭다운을 사용하여 z-index 및 위치 지정 문제를 해결했습니다.
- Common: Propose Change 전체 교체:
propose_change가 이제 작은 문서(500자 이하)에 대해 부분 편집 대신 전체 문서 교체를 허용합니다. - Common: 음성 전송 시 전사 대기: 녹음 중 전송/엔터 키를 누르면 전사가 완료될 때까지 기다린 후 메시지를 전송하여, 빈 메시지나 부분적인 메시지가 전송되는 것을 방지합니다.
- Common: Private Sync 설정 흐름: Private Sync 설정 중 OAuth 이후 암호 구문(Passphrase) 대화 상자가 자동으로 표시되도록 온보딩 흐름을 간소화했습니다.
- Common: BYOA 레지스트리 새로고침: Private Sync가 새로운 자격 증명을 다운로드한 후 BYOA 제공자 레지스트리를 다시 초기화하여, 가져온 연결을 즉시 사용할 수 있도록 보장합니다.
- Common: 용어 일관성: 사용자 가이드 콘텐츠에서 "Cloud Sync"를 "Private Sync"로 변경하고, 회귀 방지를 위한 용어 가드 테스트를 추가했습니다.
- Server: Private Relay 안정성: 호환성 날짜 업데이트, Durable Object 충돌 처리 개선, 신뢰할 수 있는 장기 연결을 위해 MV3 재연결 로직을 강화했습니다.
- Server: Private Sync 설정 제외: Private Relay 설정이 더 이상 클라우드 동기화 페이로드에 포함되지 않아, 기기 간 Relay 구성 충돌을 방지합니다.
버그 수정
- Common: SVG 이미지 처리: SVG 형식을 지원하지 않는 모델에서 HTTP 400 오류를 유발하던 문제를 해결하기 위해, SVG 파일을 제공자에게
image_url로 전송하지 않도록 수정했습니다. - Common: Private Sync 경합 조건: Private Sync 초기화 중 경합 조건으로 인해 발생하던 메시징 릴레이 실패 문제를 수정했습니다. 동기화 루프 및 격리(quarantine) 로직을 강화했습니다.
- Common: Private Sync 데이터 삭제: Private Sync 비활성화 후 클라우드 데이터 삭제 및 감사가 정상적으로 작동합니다.
- Common: 모델 매칭 오염: 자동 조정 시스템에서 제공자 제품군 간에 모델이 잘못 매핑될 수 있던 교차 제품군 모델 매칭 문제를 수정했습니다.
- Common: 동적 도구 선택기: 도구 선택 실패를 유발할 수 있는 에이전트 방식의 추론을 방지하기 위해 동적 도구 선택기 프롬프트를 강화했습니다.
- Common: 유효성 검사 오류 메시지: 필수 필드 유효성 검사 시 일반적인 실패 메시지 대신 구체적인 오류 메시지를 반환합니다.
- Extension: Private Relay WebSocket 끊김: MV3 서비스 워커 중단으로 인해 약 60초 후 WebSocket 연결이 끊기던 문제를 수정했습니다. Keepalive 및 재연결 로직을 개선했습니다.
- Extension: Google OAuth 증분 스코프: 확장 프로그램 컨텍스트에서
launchWebAuthFlow를 사용하여 OAuth 스코프 확장이 소리 없이 실패하던 문제를 수정했습니다. - Extension: Relay 토글 설정 다시 로드: Relay 토글 시 불필요한 설정 다시 로드를 억제하여 UI 깜빡임과 진단 노이즈를 방지했습니다.
- Server: Durable Object 최대 절전 모드: Durable Object가 최대 절전 모드(hibernation)에 들어간 후 WebSocket 닫기 처리가 연결을 유효하지 않은 상태로 남겨두던 문제를 수정했습니다.
- Server: 메시징 자격 증명 유지: 메시징 자격 증명이 다음 저장 주기를 기다리지 않고 변경 즉시 유지되도록 수정했습니다.
- iOS: 만료된 WebSocket 콜백: iOS에서 재연결 후 만료된 콜백이 실행되는 것을 방지하기 위해 연결 종료 시 WebSocket 핸들러를 초기화합니다.
- Desktop: NSIS 설치 프로그램 업로드: Windows NSIS 설치 프로그램이 API를 통해 초안 릴리스로 정상적으로 업로드됩니다.
버전 0.9.709 (2026년 3월 21일)
새로운 기능
- Common: Slack 메시징 어댑터: 봇 서명 검증, 미디어 다운로드 지원 및 설정 UI 구성을 포함한 메시징 브리지를 위한 새로운 Slack Events API 어댑터가 추가되었습니다.
- Common: Slate 파일 라운드트립: 파일 시스템 핸들 유지 및 해시 기반 변경 추적(dirty tracking)을 통해 Slate에서 로컬 파일을 직접 열고 저장할 수 있습니다. Slate 선택기 대화 상자의 새로운 "파일 불러오기" 버튼은 문서를 전처리하고 올바른 에디터로 엽니다.
- Common: Slate 파일 메뉴 구조 재편: 파일 유형 메뉴가 문서, 렌더링 가능 항목(HTML/Vega/Mermaid), 코드 및 데이터 카테고리로 재구성되었으며, 이름 변경 시 자동 감지 기능이 지원됩니다.
- Common: 원격 브라우저 앱: 원격 브라우저 클라이언트가 이제 프라이빗 릴레이를 통해 사이드패널 에셋을 가져올 수 있어, 확장 프로그램 설치 없이도 브라우저 기반 액세스가 가능해졌습니다.
- Common: 프라이빗 릴레이 내 장치 ID: 릴레이 클라이언트에 이제 읽기 쉬운 장치 이름이 표시됩니다. 다른 장치에 의해 연결이 해제될 경우, 어떤 장치가 사용자를 대체했는지 UI에 표시됩니다.
- Common: Composer 마이크 칩 디자인 변경: 마이크 버튼이 명확한 녹음 상태 표시기, 모바일용 최소 44px 터치 타겟, 입력 영역 위에 렌더링되는 음성 오버레이를 갖춘 가시적인 칩/알약 형태로 재디자인되었습니다.
- Common: 사용자 가이드 링크: 이제 설정의 Documentation & Legal 섹션에서 사용자 가이드로 연결됩니다.
- iOS: BYOA 설정 게이트: 모바일에서의 8단계 브라우저 흐름은 실행이 불가능하므로, 모바일 BYOA 마법사에서 사용자에게 데스크톱에서 Private Apps를 설정하도록 안내하는 메시지를 표시합니다.
- Server: 로그인 챌린지: 동의 추적 및 세션 취소 기능이 포함된 로그인용 이메일 기반 6자리 MFA 인증이 도입되었습니다.
개선 사항
- Common: 프라이빗 동기화 설정 우선 적용: 대화보다 설정을 먼저 동기화하여, 백그라운드에서 대량의 스레드 동기화가 진행되는 동안에도 토큰과 구성을 즉시 사용할 수 있도록 보장합니다.
- Common: WebSocket 요청 상관관계: WebSocket 및 프라이빗 릴레이 전송이 이제 즉시 완료되지 않고 서버 응답을 적절히 대기합니다. 이를 통해 macOS 사이드패널 및 릴레이 클라이언트의 40개 이상의 UI 작업(Drive 감사, Ollama 테스트, MCP 작업 등)이 수정되었습니다.
- Server: 웹훅 서명 검증: 더 깔끔한 아키텍처를 위해 웹훅 서명 검증을 라우트 레벨의 앱 시크릿으로 이동했습니다.
버그 수정
- Common: WhatsApp 응답 전달: 에이전트 응답이 WhatsApp으로 전송되지 않고 자동으로 소멸되던 문제를 수정했습니다. 이제 메시징 릴레이 백 경로에서 전달 실패 시 진단 세부 정보를 기록하여 향후 문제를 즉시 진단할 수 있습니다.
- Common: 모델 간 생각 블록 서명: Claude가 아닌 모델에서 생각 모드가 활성화된 Claude 모델로 전환할 때 발생하는 "생각 블록의 잘못된 서명" 오류를 수정했습니다. 이제 추론 형식 감지 시 Anthropic 형식으로 오인하는 대신 기본값인 'unknown'으로 설정됩니다.
- Common: 새 문서에 대한 Slate 편집 가능성: 새로운 DOCX, PDF, RTF, XLSX Slate가 정적 HTML로 렌더링되는 대신 각 에디터에서 올바르게 열립니다.
- Common: Slate 내보내기 폴백: 원본 바이너리 데이터가 없는 새 문서를 원활하게 내보낼 수 있습니다. XLSX는 CSV로, RTF는 HTML 변환으로, PDF는 브라우저 인쇄로 폴백됩니다.
- Common: Sandbox 미리보기 렌더링: postMessage 타겟팅의 샌드박스 오리진 불일치로 인해 발생하던 빈 HTML 및 Vega 미리보기 문제를 수정했습니다.
- Common: 변경 내용 추적 열 오프셋: 변경 내용 추적 시 삭제된 부분이 HTML-to-text 오프셋에 올바르게 매핑되어, TipTap에서 변경 위치가 어긋나던 문제를 수정했습니다.
- Common: 프라이빗 동기화 인증 복구: 동기화 중 OAuth 토큰이 만료되거나 취소된 경우, 수동 재연결 대신 자동 재인증을 트리거합니다.
- Common: 음성 스트리밍 초안 표시기: 음성 트랜스크립트 오버레이에 "미리보기" 상태를 낮은 불투명도로 표시하여, 녹음이 중단될 때까지 텍스트가 임시 상태임을 알립니다.
- Common: 네이티브 플랫폼의 MCP 도구: 로컬 MCP 서버 도구가 이제 macOS, Windows, Linux에서 적절히 등록됩니다. 이전에는 핸들러가 MCP 프로세스를 시작했지만 도구를 가져오거나 등록하지 않았습니다.
- Common: Slate 컨텍스트 칩 업데이트: Drive 또는 GitHub에서 로드한 후 Slate 탭의 제목이 변경되면 활성 탭 컨텍스트 칩이 저장소에서 새로고침됩니다. 다크 모드에서 제목 입력 텍스트를 읽을 수 없던 문제를 수정했습니다.
- Extension: Chrome 스텁 폴리필:
window.chrome은 존재하지만 확장 프로그램 API가 없는 localhost의 Chrome 브라우저 탭에 대해 건너뛰는 대신 적절한 스텁 주입이 수행됩니다. - Extension: 릴레이 클라이언트 번들 크래시: 빌드 타임 환경 변수를 정의하여 릴레이 클라이언트 IIFE 번들의
import.meta.env크래시를 수정했습니다. - Extension: 원격 앱 로그인: 원격 브라우저 앱 로그인을 Google OAuth를 기본 방법으로, 이메일/비밀번호를 축소된 보조 옵션으로 정리했습니다.
버전 0.9.708 (2026년 3월 19일)
개선 사항
- Common: 생성 인디케이터 조정: 메시지별 타이핑 점이 이제 스레드 수준의 폴백(fallback) 인디케이터와 동기화되어, 생성 중 점이 중복으로 표시되는 현상을 제거했습니다. 점은 이제 추론 및 도구 실행 단계 동안 유지되며, 최종 답변의 스트리밍이 시작될 때만 사라집니다.
- Common: 스트리밍 커서: 스트리밍 텍스트 끝에 깜빡이는 커서가 나타나 응답이 여전히 생성 중임을 나타내는 명확한 시각적 지표를 제공합니다.
- Common: 추론 미리보기 포맷팅: 접혀 있는 추론 블록이 이제 원시 markdown 구문 대신 인라인 굵게 및 기울임꼴 포맷팅을 렌더링합니다.
- Common: Slate 문서 목록:
list_slates가 이제 경량 스레드 쿼리를 통해 로드된 DOCX, PDF, XLSX 파일의 콘텐츠 크기를 정확하게 표시합니다. 또한 목록에는 DOCX 및 XLSX 문서 편집을 위한 워크플로우 안내가 포함됩니다. - Common: Private Sync 설정 섹션: 명확한 구성을 위해 Private Sync 설정이 일반 설정에서 분리되어 전용 섹션으로 이동되었습니다.
- Extension: 연결 설정 구조 재편: Private Relay 섹션이 Private Relay(원격 접속 토글, 항상 표시됨)와 Caiioo Bridge(로컬 MCP 서버 및 시스템 도구)의 두 가지 명확한 하위 섹션으로 재구성되었습니다. 원격 접속 토글은 더 이상 Bridge의 실행을 요구하지 않습니다.
- Desktop: Tauri 통합 바이너리: Windows/Linux 데스크톱 앱이 컴파일 타임 변체에서 런타임 등급 제한 기능이 있는 단일 바이너리로 통합되었습니다. 사이드패널 가시성은 이제 런타임 시 구독 등급에 따라 결정됩니다.
버그 수정
- Extension: Bridge 없는 Private Relay: 이제 Caiioo Bridge 앱 없이도 Private Relay가 독립적으로 연결됩니다. 이전에는 Bridge 연결에 의해서만 인증이 초기화되어, 리눅스/윈도우를 포함한 확장 프로그램 전용 사용자가 메시징 웹훅을 받거나 원격 접속을 사용할 수 없었습니다.
- Extension: Google OAuth 라우팅: Chrome에서
getAuthToken을 사용할 수 없을 때 이를 건너뛰고 BYOA 자격 증명으로 폴백하여 OAuth 팝업 오류를 수정했습니다. COOP 팝업 복원력을 통해 제한적인 사이트에서 빈 창이 뜨는 현상을 방지합니다. - Common: ElevenLabs 스트리밍 STT: ElevenLabs 스트리밍 중 연결 중단이 발생할 때 음성 전사가 누락되거나 실패하던 문제를 수정했습니다. 네이티브 앱 음성 입력이 이제 정상적으로 폴백됩니다.
- iOS: WKWebView 내 외부 링크: Safari에서 열려야 하는 링크가 앱의 WebView 내부에서 로드되지 않고 외부에서 올바르게 열리도록 수정했습니다.
- Common: 광고 차단기 고립 규칙: 서비스 워커 재시작 후에도 동적 DNR 광고 차단 규칙이 남아있던 문제를 수정했습니다. 이제
disableAllBlocking은 차단기 인스턴스가 null인 경우에도 고립된 규칙을 직접 조회하여 제거합니다. - Common: 프로필 전환 시 라이선스 동기화: 프로필 전환 시 서버에서 라이선스를 동기화하여, 등급 제한 도구들이 재시작 없이 즉시 새로고침되도록 보장합니다.
- Common: 프로비저닝 전 토큰 갱신: API 키를 프로비저닝하기 전에 만료된 OAuth 토큰을 갱신하여 자동 실패를 방지합니다. 이제 새로운 서버가 기존 ID 연결을 채택할 수 있습니다.
- Web: iOS Safari 모바일 메뉴: 마케팅 웹사이트의 햄버거 메뉴가 iOS Safari에서 더 이상 투명하게 표시되지 않습니다.
- Common: React-18 배칭 레이스 컨디션: React-18 상태 배칭(batching)으로 인해 메시지별 타이핑 점이 나타나지 않는 경우를 대비하여 스레드 수준의 생성 인디케이터를 폴백으로 추가했습니다.
버전 0.9.707 (2026년 3월 17일)
개선 사항
BYOA 재구성 미리 채우기: 기존 Google 또는 Microsoft Private App을 재구성할 때 클라이언트 암호(client secret)와 테넌트 ID가 미리 채워져 다시 입력할 필요가 없습니다.
모델 목록 정렬: 각 제공업체 그룹 내의 모델이 출시일 순(최신순)으로 정렬되어 모든 플랫폼에서 일관된 순서를 보장합니다.
버그 수정
프라이빗 동기화 인증 복구: 프라이빗 동기화 초기화 중 발생하는 OAuth 토큰 실패(세션 만료, 토큰 취소, Chrome 프로필 토큰 등)가 이제 오류 상태로 멈추지 않고 UI에 올바르게 표시됩니다.
Slate 변경 내용 추적 안정성: 변경 내용 추적과 관련된 10가지 중요 수정 사항이 반영되었습니다. 리비전 병합 경합 조건, 모든 업데이트 경로에서의 디프(diff) 기준 유지, DOCX 내보내기 서식 보존, TipTap 매칭을 위한 HTML 태그 제거, 전체 수락/거부 순서, 엔티티 이스케이프 및 태그 정규식 매칭 수렴 수정 등이 포함됩니다.
Slate 데이터 무결성: 붙여넣은 이미지가 유효하지 않은 로컬 캐시에 기록되는 문제, 클라우드 소스 메타데이터가 유지되지 않는 문제, 릴레이/모바일 모드에서 실시간 AI 업데이트를 위한 BroadcastChannel 폴백 문제를 수정했습니다.
Slate 보안: 이미지 뷰어의 XSS 주입 취약점을 수정하고, 와일드카드 postMessage 오리진을 범위가 지정된 확장 프로그램 URL로 교체했습니다.
버전 0.9.706 (2026년 3월 16일)
새로운 기능
- 제공업체 오류 배너: AI 제공업체가 오류(402 결제 필요, API 키 누락, 속도 제한 등)를 반환할 때, 일반적인 실패 메시지 대신 명확한 지침이 포함된 실행 가능한 배너가 표시됩니다.
개선 사항
DOCX 교차 스팬 편집:
propose_change도구가 이제 여러 서식 실행(예: 부분 굵게 표시된 텍스트)에 걸쳐 있는 찾기/바꾸기 작업을 올바르게 처리합니다. 에이전트가 문맥에 맞는 편집을 할 수 있도록 의도가 전달됩니다.PDF 저장 성능: 네이티브 PDF 저장 속도가 크게 향상되었습니다. 중복 파싱을 제거하고, 가져오기 모듈을 캐싱하며, 불필요한 연산자 정리 과정을 생략했습니다.
메시징 모드 이름 표시: 메시징 설정의 모드 선택기에 내부 ID 대신 모드의 브랜드 이름이 표시됩니다.
버그 수정
Google OAuth 토큰 갱신: Google Calendar, Gmail 및 Drive 액세스를 차단할 수 있었던 Google OAuth 토큰 갱신 시의 "Unauthorized" 오류를 수정했습니다.
프로비저닝된 키 오류 메시지: 프로비저닝된 API 키를 사용하는 사용자에게 더 이상 오해의 소지가 있는 "Add funds" 오류가 표시되지 않습니다. 이제 실제 문제와 다음 단계에 대한 설명이 제공됩니다.
동시 스레드 경합 조건: 생성 중에 스레드를 전환할 때 GENERATION_COMPLETE/ERROR 이벤트가 잘못된 스레드에 적용될 수 있는 경합 문제를 수정했습니다.
리비전 히스토리 복구 버튼: Slate의 리비전 히스토리에서 현재 콘텐츠가 선택한 리비전과 다를 때 복구 버튼이 올바르게 나타납니다.
이중 OAuth 팝업: 새로운 Chrome 확장 프로그램 사용자가 처음 로그인할 때 OAuth 팝업이 두 번 뜨는 현상을 수정했습니다.
버전 0.9.705 (2026년 3월 15일)
새로운 기능
- 설정 카테고리 그룹화: 19개의 설정 섹션이 점진적 공개를 위해 5개의 접이식 카테고리로 정리되었습니다. 에이전트 모드 섹션에는 영향을 받는 섹션(도구 설정, 모델 설정, 모양)으로 이동할 수 있는 탐색 링크와 교차 섹션 표시기가 나타납니다. API 제공업체 섹션은 모델 기능 경고와 함께 기본적으로 열립니다.
버그 수정
- 일정 동기화 중복 캘린더: 동일한 이메일에 대해 로그인(ID) 연결과 비공개 연결이 모두 존재할 때 Google Workspace 계정이 동기화 탭에 두 번 표시되던 문제를 수정했습니다. 이제 렌더링 전에 연결 중복이 제거됩니다.
- i18n 설정 카테고리: 설정 카테고리 레이블이 이제 지원되는 모든 언어로 번역됩니다.
Version 0.9.704 (2026년 3월 14일)
새로운 기능
- Microsoft 365 Integration Foundation: Microsoft 스코프 라우팅, Graph API 클라이언트, BYOA 지원 계정 서비스가 추가되었습니다. Microsoft 프로바이더를 위한 스코프 계층 구조 정의 및 도구 스코프 레지스트리 확장이 포함되었습니다. Microsoft가 relay-proxied 프로바이더로 추가되었습니다.
- Rich Inline Rendering (RIR): 채팅 메시지 내에 풍부한 콘텐츠를 인라인으로 렌더링하기 위한 새로운 코덱 아키텍처입니다. 확장 가능한 코덱 인터페이스와 함께 HTML, Markdown, DOCX 코덱을 포함합니다.
- PDF Structure Tree & Layout Analysis: 시맨틱 문서 이해를 위한 Tagged PDF 구조 트리 파서가 도입되었습니다. 태그가 없는 PDF의 경우 휴리스틱 단락 그룹화를 통해 폴백 레이아웃 분석을 제공합니다. 이미지 교체/삽입 및 콘텐츠 오버플로 감지 기능이 추가되었습니다.
- Messaging Mode Selection: Messaging bridge 설정에 기본 모드 선택기가 포함되어, 에이전트가 수신 메시지를 처리할 때 적절한 페르소나로 응답할 수 있습니다.
개선 사항
- Provider Rate Limit Retry: 모든 LLM 프로바이더는 이제 429(속도 제한) 및 529(과부하) 응답 시 즉시 실패하는 대신 지터(jitter)가 포함된 지수 백오프를 사용하여 자동으로 재시도합니다. 최대 3회까지 재시도합니다.
- Google OAuth Scope Superset Matching: 쓰기 스코프가 이제 읽기 스코프 요구 사항을 충족합니다(예:
drive가drive.readonly를 포함). 더 넓은 스코프가 이미 부여된 경우 불필요한 재인증을 방지합니다. - BYOA Full-Scope Initial Auth: Private Connection이 필요한 경우, 초기 인증 흐름에서 두 번 요청(기본 스코프 한 번, 확장 스코프 한 번)하는 대신 필요한 모든 스코프를 미리 요청합니다.
- Google 404-to-Expanded-Access Promotion: BYOA 연결에서 Google Workspace 파일에 대해 404 오류가 발생하면, 막다른 오류 메시지 대신 확장 액세스 프롬프트로 전환됩니다.
- Messaging Credentials Private Sync: Messaging bridge 자격 증명이 이제 기기별로 저장되지 않고 E2E 암호화된 private sync를 통해 기기 간에 동기화됩니다. 동기화 매니페스트가 v10으로 업데이트되었습니다.
- OAuth Wait Extended Timeout: BYOA 및 확장 액세스 OAuth 흐름의 타임아웃이 2분에서 5분으로 연장되어, 사용자가 Google Cloud Console 단계를 완료할 수 있는 충분한 시간을 제공합니다.
- Sparkle Framework Signing: macOS 배포 빌드에서 이제 Sparkle framework의 중첩된 바이너리를 안쪽에서 바깥쪽 순서로 올바르게 서명하여 공증(notarization) 실패 문제를 해결했습니다.
- Tauri Node Binary Bundling: Tauri 설정에서 이제 Windows/Linux 사이드카 실행을 위해 Node.js 바이너리를 리소스로 번들링합니다.
- Messaging Settings Search: 이제 설정 검색창에서 "whatsapp", "telegram", "webhook"과 같은 키워드로 Messaging bridge 섹션을 찾을 수 있습니다.
- Settings Relay Forwarding: 설정 저장 내용이 이제 WebSocket 브리지를 통해 relay 서버로 전달되어, 메시징 자격 증명 및 기타 구성 변경 사항이 서버의 상태 파일에 반영되도록 보장합니다.
버그 수정
- Slate Currency vs Math: 마크다운 표의
$9/mo와 같은 달러 금액이 더 이상 LaTeX 인라인 수학 구분 기호로 오인되지 않습니다. 수학 정규식이 이제 이스케이프된 통화 달러 기호를 존중합니다. - Conversation Page ToastProvider: 팝아웃 대화 탭에
ToastProvider가 누락되어 토스트 알림에 의존하는 기능이 소리 없이 실패하던 문제를 수정했습니다. 이제 프로바이더 트리가 사이드패널과 일치합니다.
Version 0.9.703 (2026년 3월 14일)
새로운 기능
- Google Picker 통합: 팝업/iframe 하이브리드 방식의 전체 Google Drive 파일 선택기, 멀티 뷰 필터(Docs, Sheets, Slides, PDFs), 그리고 작성기(composer) 내 드라이브 참조 칩 기능이 추가되었습니다. Google Picker를 통해 선택된 파일에는 자동으로
drive.file액세스 권한이 부여됩니다. - Google Sheets 네이티브 동기화: 셀 수준의 양방향 편집이 가능한 Google Sheets를 Slate에서 직접 열 수 있습니다. Sheets 코덱은 스프레드시트 그리드 데이터를 TipTap HTML 테이블로 변환하며, Drive
modifiedTime을 통해 충돌을 감지합니다. 읽기, 배치 셀 업데이트 및 구조적 변경(시트 추가/삭제, 셀 병합)을 지원합니다. - Google Slides 읽기 전용 뷰: Google Slides 프레젠테이션이 슬라이드 썸네일과 함께 Slate에서 렌더링되며, 검색 가능하도록 텍스트 콘텐츠를 추출합니다.
- Gmail 배치 가져오기 및 Markdown 변환: Gmail 도구가 이제 메시지 메타데이터를 하나씩 가져오지 않고 배치(한 번에 최대 100개)로 가져옵니다. 5분 간격의 라벨 이름 캐시와 LLM이 더 깔끔하게 처리할 수 있도록 본문을 HTML에서 markdown으로 자동 변환하는 기능이 포함되었습니다.
- 선택 영역 오버레이: 웹페이지에서 텍스트를 선택할 때 "프롬프트에 추가" 버튼이 나타나, 선택한 콘텐츠를 대화에 빠르게 추가할 수 있습니다.
- Relay 오버레이 관리자: 에이전트 오버레이 명령이 이제 브라우저 확장 프로그램을 통해 라우팅되어, 활성 웹페이지에서 에이전트 기반의 UI 오버레이를 구현할 수 있습니다.
- 인라인 빠른 작업(Quick-Tasks) 모델 선택기: 빠른 작업 모델 선택이 별도의 메뉴 대신 모델 선택기 드롭다운에 직접 내장되었습니다.
- Google Drive 기반 Slate DOCX 내보내기: Slate에서 로드된 Google Docs를 이제 DOCX로 내보낼 수 있으며(
readFileContentAsBinary사용), 일반 markdown으로 여는 대신 변경 내용 추적 기능이 포함된 TipTap 비주얼 에디터를 활성화합니다. - Private Connection 설정 마법사: 현재 Google Cloud Console 흐름과 일치하는 전용 "테스트 사용자 추가" 단계가 포함된 개선된 BYOA 마법사를 제공합니다. 동의 화면 하위 단계는 이제 Google의 실제 4단계 아코디언 방식을 따릅니다. 사용자 신원이 확인된 경우 이메일 안내가 개인화됩니다.
- Private Connection 홍보 배너: 에이전트가 확장된 Google 권한(Gmail, Calendar 등)이 필요하지만 Private Connection이 없는 경우, 설정 마법사로 바로 이동할 수 있는 애니메이션 배너가 표시됩니다. 사용자가 설정을 완료하는 동안 에이전트는 일시 중지 상태를 유지하며, 연결이 저장되면 자동으로 재개됩니다.
- 내보내기 충실도 경고: 문서를 다른 형식(예: PDF에서 DOCX로)으로 내보내기 전에, 심각도별(정보, 경고, 심각)로 분류된 항목을 통해 잠재적인 서식 손실을 경고하는 대화 상자가 표시됩니다.
- PDF 주석 추출: 문서 처리 및 재구성 과정에서 PDF 텍스트 주석과 마크업이 추출되어 보존됩니다.
- Reminders 캘린더 동기화: 리마인더 모달이 이제 확장된 액세스 제어와 함께 캘린더 동기화를 지원합니다.
개선 사항
- Google Docs 동기화 충실도: 적절한 태그 매칭(자체 종료 태그, 중첩 불일치 처리)을 통한 서식 스팬 추출 기능과 동시 편집에 대한 충실도 높은 충돌 감지 기능이 개선되었습니다.
- Private Sync 계정 불일치 감지: 동기화 설정의 계정 드롭다운에서 구성된 동기화 이메일이 연결된 Google 계정과 일치하지 않는 경우를 감지하여, "연결되지 않음" 표시와 함께 전환 옵션을 보여줍니다.
- Teams/Enterprise 유효 티어: 라이선스 검증 시 팀/엔터프라이즈 위임의
effectiveTier를 사용하여, 사용자의 티어가 팀 플랜에서 상속된 경우에도 올바른 기능 액세스를 보장합니다. - "Private App" 명칭을 "Private Connection"으로 변경: 사용자에게 노출되는 모든 명칭을 "Private App" 대신 "Private Connection"으로 변경했습니다. 이는 OAuth 통합을 "앱"과 연관 짓지 않는 일반 사용자들에게 더 명확한 표현입니다.
- Google OAuth 권한 범위 조정 (
drive.file): 비 BYOA 사용자의 경우, 모든 상위 Google Drive 권한(drive,drive.readonly,documents.readonly,spreadsheets.readonly,presentations.readonly)이 Google의 앱 검증 요구 사항에 맞춰 더 좁은 범위인drive.file로 대체되었습니다. BYOA 사용자는 전체 권한을 유지합니다. - 권한 선택기 내 Gmail 권한 가시화: Gmail 읽기, 작성, 수정 권한이 이제 모든 사용자의 Google 권한 편집기 내 "민감도가 높은 권한" 항목에서 확인할 수 있습니다(기존에는 BYOA 전용으로 숨겨져 있었음). 이 권한들은 동의 화면에서 승인되며, Gmail 도구가 필요할 때 JIT 방식으로 요청됩니다.
- Google Picker 동의 복구: 외부(예: Google 계정 설정)에서 Google 권한이 취소된 경우, 앱이 만료된 권한을 자동 감지하고 무효화한 뒤 재인증 및 재시도를 수행합니다. (기존에는 403 오류와 함께 소리 없이 실패함)
- 에이전트 Google Drive 안내: 도구 오류 메시지 및 빈 결과 힌트에서, 에이전트가 사용자에게 작성기의 + 버튼을 클릭하고 Google Drive를 선택하도록 안내합니다. (사용 불가능한 도구 작업을 제안하는 대신)
- Slate Drive 선택기 간소화: Slate의 "Google Drive에서 로드" 기능이 이제 파일을 직접 로드하며, 사이드패널 스타일의 "Drive에서 작업" 대 "대화에 추가" 선택 화면을 건너뜁니다.
- 공식 Google Drive 로고: 드라이브 칩과 첨부 파일 메뉴에서 일반적인 녹색 삼각형 대신 공식 Google Drive 로고를 사용합니다.
- 통합 모델 선택기: 헬퍼 모델 선택이 기본 모델로 폴백(fall-through)되며, 단일 통합 모델 드롭다운으로 구성됩니다.
- DOCX 비텍스트 요소 패스스루: DOCX 재구성 시 텍스트 편집 흐름에 포함되지 않는 비텍스트 요소(이미지, 차트, 임베디드 객체)를 보존합니다.
- PDF 멀티 세그먼트 라인 편집: PDF WYSIWYG 에디터가 여러 텍스트 세그먼트에 걸쳐 나뉜 라인을 처리합니다.
- 인증 속도 제한 상향: BYOA 설정 중 빠른 OAuth 토큰 교환을 수용하기 위해 인증 엔드포인트 속도 제한을 분당 10회에서 30회로 상향했습니다.
- OAuth 토큰 엔드포인트 재분류: OAuth 토큰 교환을 인증 속도 제한 버킷에서 일반 버킷으로 이동하여, 다중 권한 승인 흐름 중 스로틀링이 발생하는 것을 방지했습니다.
버그 수정
- iOS 모달 스태킹: 다른 모달(예: 브라우저 오버레이)이 이미 표시된 상태에서 파일 선택기나 Slate 오버레이를 표시할 때 발생하던 크래시를 수정했습니다. 이제 선택기와 오버레이가 최상위 뷰 컨트롤러에 표시됩니다.
- Slate 라인 범위 유효성 검사:
get_slate_content호출 시startLine이 문서 길이를 초과하는 경우, 빈 내용을 반환하는 대신 명확한 오류를 반환합니다. - 서버 경로 탐색(Path Traversal): 저장소 키에 대한 디렉토리 이스케이프 검증을 추가하여, 동기화 저장소 엔드포인트에 대한 경로 탐색 공격을 방지합니다.
- 광고 차단기 정규식 제한: DNR 변환기가 이제 정규식 규칙을 Chrome의 1000개 규칙 제한으로 캡핑하고, RE2의 메모리 제한을 초과하는 대규모 바운디드 수량자(bounded quantifiers)를 삭제하여 확장 프로그램 설치 실패를 방지합니다.
- 확장 액세스 시 OAuth 타임아웃: 에이전트가 확장된 Google 권한(Gmail, Calendar)을 필요로 할 때 발생하던 120초 타임아웃 문제를 수정했습니다. 보류 중인 OAuth 대기 시간이 BYOA 설정을 위해 5분으로 연장되었으며, 설정에서 연결을 완료하면 일시 중지된 에이전트가 자동으로 재개됩니다.
- 채팅 UI 프리징: 채팅 인터페이스를 멈추게 할 수 있었던 중복 비동기 인터벌 및 자동 브로드캐스트 오류를 수정했습니다.
- 클라우드 동기화 다운로드 배치: 클라우드 동기화 다운로드 배치 핸들러의 TypeScript null 체크 오류를 수정했습니다.
- Service Worker 동적 임포트: Chrome MV3 서비스 워커 호환성을 위해 동적 임포트를 정적 임포트로 변환했습니다.
- BYOA 전용 권한 강제:
convert_to_google_doc및convert_to_google_sheet작업이 이제 광범위한 에디터 쓰기 권한 대신drive.file권한만 올바르게 요구합니다. - Drive 칩 형식: 적절한 BYOA 전용 권한 제어가 포함된 드라이브 참조 칩의 3개 세그먼트 형식을 적용했습니다.
- Google Picker CORS: 팝업 권한 흐름의 크로스 오리진 문제를 해결하기 위해 이제 전용 릴레이에서 Picker를 호스팅합니다.
버전 0.9.701 (2025년 3월 6일)
개선 사항
- Ollama 컨텍스트 창 표시기: 로컬 모델을 포함하지 않는 OpenRouter의 모델 목록에 의존하는 대신,
/api/show엔드포인트에서num_ctx를 쿼리하여 Ollama 모델의 컨텍스트 창 사용량 원형 그래프를 렌더링합니다. - Ollama 도구 호출: Ollama의 동적 도구 선택 기능을 수정했습니다.
tool_choice를 API로 전달하고(Ollama v0.5.1부터 지원), 도구가 활성화되었을 때 JSON 손상을 방지하기 위해 생각 모드를 비활성화하며, 기본 모델이 도구 호출을 지원하지 않는 경우 가벼운 비스트리밍 헬퍼 모델로 대체합니다. - OpenRouter 추론 캐시: 스트리밍 제공자에 의해 추론 텍스트가 조기에 삭제되는 문제를 수정했습니다. 이제 캐시 수명 주기는 Anthropic 및 Google 제공자와 동일하게 반복 경계에서
agent-runner가 관리합니다. - PDF WYSIWYG 안정성: 전역 텍스트 정렬이 여러 TextItem에 걸쳐 있는 PDF.js 분할 연산자를 처리합니다. 내보내기 오류를 방지하기 위해 일치하지 않는 스팬(주석/헤더 텍스트)에서는 블록 편집이 비활성화됩니다. CMap 2바이트 디코딩이 더 이상 1바이트 ASCII 글꼴이 포함된 Word 생성 PDF를 손상시키지 않습니다. 연산자 일치 범위 확인을 통해 빈 텍스트 항목에서 인덱스 범위를 벗어나는 것을 방지합니다.
- 데스크톱 플랫폼 감지: 동적 도구 선택기가 데스크톱 감지를 위해
caiiooReminders대신localFolderSync기능을 사용하고, macOS 감지를 위해 Calendar/Reminders 대신appleScript/appleNotes를 사용합니다(Calendar/Reminders는 EventKit을 통해 Apple 기기 간에 공유됨).
버전 0.9.700 (2025년 3월 5일)
새로운 기능
- File Manager: 중첩 폴더, 사용자 태그, 별표 표시 및 전용 File Manager UI를 갖춘 전체 파일 관리 시스템입니다. 첨부 파일을 폴더 계층 구조로 정리하고, 유형별(스크린샷, AI 이미지, 사진)로 필터링하며, 그리드 또는 리스트 모드에서 파일을 검색, 정렬 및 조회할 수 있습니다. 스레드 자동 태깅 기능은 파일을 대화와 연결합니다. manifest v9을 통한 Private sync를 지원합니다.
- Local Folder Sync: 로컬 파일 시스템 폴더와 File Manager 간의 양방향 동기화입니다. Mutation 기반의 재동기화는 2초의 디바운스(debounce)를 거쳐 삭제, 일괄 삭제 및 이동 사항을 디스크에 자동으로 반영합니다. 하위 폴더 이동 감지 기능은 Caiioo 내에서 파일이 재구성될 때 디스크상의 위치를 이동시킵니다. 동기화 트리 내의 하위 폴더로 이동하면 자동 재동기화가 트리거됩니다.
- Cross-Filetype Tracked Changes: DOCX, PDF 및 Markdown 전반에 걸친 통합 승인/거부 워크플로우입니다. 이제 DOCX 편집 사항은 Markdown 및 코드 슬레이트에서 사용되는 것과 동일한 diff 엔진을 통해 변경 내용 추적(tracked changes)으로 기록됩니다. PDF 변경 내용 추적은 비주얼 에디터와 통합됩니다.
resolve_tracked_changes액션을 통해 에이전트가 프로그래밍 방식으로 수정을 승인하거나 거부할 수 있습니다. - PDF WYSIWYG Editing: 렌더링된 PDF 페이지에서 문서와 일치하는 스타일로 직접 텍스트를 편집할 수 있습니다. 텍스트 레이어는 편집 내용을
textItemIndex를 통해 소스 콘텐츠 스트림 연산자와 연결하여 내보내기 시 정밀한 재구성을 수행합니다. 변경 감지를 위한 plainText 베이스라인을 포함합니다. - DOCX Rendering Fidelity: 단락 정렬, 하이퍼링크, 글꼴 색상/크기, 줄 간격, 들여쓰기 및 표 셀 음영이 포함된 풍부한 DOCX 미리보기를 제공합니다. 코드 뷰는 토큰 효율적인 LLM 소비를 위해 Markdown 변환 결과를 보여줍니다.
- Universal Messaging (내부 테스트 전용): 로컬 우선 프라이버시를 유지하며 WhatsApp, Telegram, Slack을 통해 메시지를 주고받을 수 있습니다. 에이전트는 메시지 작성 및 전송, 대화 목록 조회, 스레드 답장을 수행할 수 있으며, 모든 경로는 사용자의 기기를 통해 라우팅됩니다.
- Google Meet Integration:
list_meetings(날짜 범위 필터링으로 최근 회의 검색) 및get_meeting(트랜스크립트 가져오기) 도구를 포함한 멀티 액션 회의 리콜 도구입니다. 자격 증명 보관함(credentials vault) 지원과 함께 전체 OAuth/JIT/범위 승인 파이프라인을 통해 연결됩니다. - Gmail Send Email: 고위험 도구 승인 절차를 거쳐 Gmail API를 통해 이메일을 직접 발송합니다. 액션별 위험 수준 재정의(override)를 통해 초안 작성 액션은 중간 위험으로 유지하면서
send_email은 명시적 확인을 요구하도록 설정할 수 있습니다. - Microsoft BYOA: Microsoft 365를 위한 Bring Your Own App 지원입니다. Microsoft OAuth 연결을 위해 Azure AD 앱 등록을 지원합니다. 테넌트 ID 지원 및 3단계 Azure Portal 설정 마법사를 포함한 멀티 프로바이더 BYOA 레지스트리(Google + Microsoft)를 제공합니다.
- Poe Provider: Poe를 위한 새로운 LLM 프로바이더 통합으로, 모델 목록 조회, 프로바이더별 모델 선택기, vision/tools/reasoning 기능 감지 및 가격 표시를 지원합니다.
- What's New Dialog: API로 제공되는 콘텐츠 파이프라인이 릴리스 노트와 사용자 가이드 페이지를 전달합니다. 업데이트 시 비동기 What's New 대화 상자가 버전 하이라이트를 표시합니다.
- Private Sync Account Selector: 기본 계정 대신 Private sync에 사용할 Google 계정을 직접 선택할 수 있습니다.
- Native TipTap Diff Marks: AI 수정 미리보기를 위해 별도로 사용하던 marked.js 렌더링 오버레이를 네이티브 ProseMirror 마크(DiffAdded/DiffRemoved)로 교체했습니다. 이제 수정 사항이 일관된 타이포그래피를 가진 인라인 변경 내용 추적으로 렌더링되며, 청크 단위의 승인/거부 타겟팅이 가능합니다.
- Mermaid Diagrams: Slate의 TipTap 미리보기 모드 내 코드 블록에서 실시간 Mermaid 다이어그램 렌더링을 지원합니다.
- Help Tool 내 Fuzzy Section Search: 도움말 도구에서 문서 페이지 내의 특정 섹션을 검색할 때 퍼지 매칭(fuzzy matching)을 지원합니다.
개선 사항
- File Manager UX 다듬기: 폴더 동기화 아이콘 표시, 삭제 확인 대화 상자, Shift-클릭 범위 선택, 좁은 너비에서 툴바 줄바꿈 적용, 재로드 시 태그 유지 문제 수정 등이 이루어졌습니다.
- 반응형 Composer 레이아웃: 3구역 플렉스 레이아웃을 통해 좁은 너비에서도 새 스레드 버튼이 화면 밖으로 밀려나지 않도록 방지했습니다. 모드 및 모델 선택기는 단계별 텍스트 숨김 중단점(breakpoint)을 사용합니다. 일반적인 기본 아이콘 대신 커스텀 에이전트 및 AI 칩 아이콘이 적용되었습니다.
- Settings UX: 흐름 개선을 위해 섹션 순서를 재정렬했습니다(Personalization → Credentials → Tool Approvals → Agent Modes → Tool Configuration → Skills Library → Tool Servers → Document Processing → Voice).
- 수정 상태 무결성: 활성 AI 수정 중 대규모 콘텐츠 블록을 삭제할 때 발생하는 손상 문제를 수정했습니다. sourceContent 불변성 유지, 청크 재배치 임계값 0.7로 상향, 오래된 청크 자동 거부 및 버전 기록 무결성 검사를 도입했습니다.
- Agent Loop 안정성: 이전 실행이 새 실행의 컨트롤러를 삭제할 수 있었던 abort controller 레이스 컨디션을 수정했습니다. 이제 취소 신호가 대기 중인 도구까지 전파됩니다. 고립된 실행 상태는 빈 메시지를 남기는 대신 에러를 브로드캐스트합니다.
- Interjection 처리: 서버와 UI에서
getActiveBranchMessages탐색을 통합하여 interjection을 일관되게 건너뛰도록 했습니다. 스트리밍 parentId가 사용자 메시지 대신 interjection을 가리킬 때 후속 작업 후 응답이 사라지는 문제를 수정했습니다. - macOS 네이티브 안정성: 프로세스 에포크(epoch) 추적을 통한 재시작 레이스 컨디션, 재연결 시 URLSession 누수, 파이프 핸들러와 중지 사이의 LineBuffer 데이터 레이스 문제를 수정했습니다.
- Google Sheets 수정:
create_table이 첫 번째 행을 비워두는 대신 열 헤더 이름을 작성하도록 수정했습니다. - 미들웨어 정리: apple-routes, mcp-routes, attachment-routes 전반의 10개 인라인 인증 검사에서
requireAuth미들웨어를 추출했습니다. - 이미지 유형 필터링: File Manager에서 스크린샷, AI 생성 이미지, 사용자 사진을 별도의 필터 옵션과 고유 아이콘으로 구분합니다.
- Mode/Model Picker 일관성: 모드 선택기와 모델 선택기 간의 글꼴 두께 및 아이콘 선 굵기를 동일하게 맞췄습니다.
- Beta Tier 제한: 자격 증명 보관함에서 베타 기능을 티어 체크 뒤로 제한합니다.
- CIDFont 재인코딩: PDF 재구성 시 ToUnicode CMap 테이블을 사용한 CIDFont 인코딩과 맵에 없는 문자에 대한 identity 폴백을 지원합니다.
- PDF 내보내기 명칭 변경: 명확성을 위해 PDF 워크플로우 전반에서 "Download"를 "Export"로 변경했습니다.
버그 수정
- PDF 텍스트 사라짐: 포커스를 잃을 때 PDF 뷰 텍스트가 사라지는 문제와 WYSIWYG 편집 후 내보낼 때 콘텐츠가 깨지는 문제를 수정했습니다.
- PDF 변경 내용 추적 라우팅: PDF 변경 내용 추적이 통합 diff 엔진을 거치면서 PDF 전용 연산자 데이터가 손상되는 문제를 방지했습니다.
- PDF 내보내기 무결성: PDF 다운로드 실패 시 자동으로 markdown 내보내기로 전환되는 대신 진단 정보와 함께 명시적으로 실패하도록 수정했습니다.
- Markdown 표 줄바꿈: Markdown 표 내의
<br>태그가 리터럴 텍스트 대신 실제 줄바꿈으로 렌더링되도록 수정했습니다. - DOCX 추적된 삭제 보존: 비주얼 뷰와 코드 뷰 사이를 전환할 때 DOCX의 추적된 삭제 사항이 제거되는 문제를 수정했습니다.
- 저장된 Markdown의 변경 내용 추적: 저장소에서 로드된 Markdown 슬레이트에서
propose_change실행 시 변경 사항이 표시되지 않던 문제를 수정했습니다. - 거부 시 콘텐츠 복구: Markdown 및 코드 슬레이트에서
resolve_tracked_changes를 거부로 실행할 때 콘텐츠가 올바르게 복구되도록 수정했습니다. - Slate 저장 루프: 변경 내용 추적이 활성화되었을 때 트리거되는 무한 저장 루프를 수정했습니다.
- 메시징 안정성: 라우팅, 답장 스레딩, 프로필 처리, 큐 복원력, 웹훅 서명, 발신자 정리 및 페이로드 제한 문제를 수정했습니다.
버전 0.9.662 (2025년 2월 27일)
새로운 기능
- Bring Your Own App (BYOA): Caiioo의 내장 앱 대신 사용자 본인의 Google OAuth 자격 증명을 사용하세요. 멀티 앱 지원을 통해 팀은 개별 API 키를 유지하면서 조직 전체에서 단일 OAuth 클라이언트를 공유할 수 있습니다. BYOA 연결은 만료된 토큰을 자동으로 감지하고 재인증을 요청합니다.
- Wikilink 탐색: 상호 연결된 지식 베이스 구축을 위해 Slate 문서 간에 Obsidian 스타일의 이중 대괄호 위키링크를 지원합니다. 위키링크를 클릭하여 Slate 사이를 즉시 이동할 수 있습니다.
- Skills 메뉴: Tab 키를 사용한 스킬 삽입, 동적 높이 드롭다운, 변수 칩을 이용한 인라인 편집, 그리고 컴포저에서 전체 CRUD가 가능한 공유 SkillForm 컴포넌트가 추가되었습니다.
- DOCX 다운로드: 변경 내용 추적 기능이 유지된 상태로 Slate 마크다운 및 텍스트 문서를 DOCX 파일로 다운로드할 수 있습니다.
- 표 자동 채우기:
insert_component가 이제 구조화된 데이터에서 표 셀을 자동으로 채워 빈 자리 표시자 표가 생성되는 문제를 해결합니다. - Gemini 3.1 Flash: 기존 Gemini, FLUX, Seedream 모델과 함께 이미지 생성 모델 옵션으로 추가되었습니다.
- 모든 계정 Google Drive 저장: 이제 기본 계정뿐만 아니라 연결된 모든 Google 계정에서 Google Drive 저장이 가능합니다.
- 통합 Diff 엔진: TOCTOU 안전성, 캐싱, 변경 사항별 수락/거부 위젯, 모바일 탭-투-토글 지원을 포함하여 Slate의 변경 추적 Diff 시스템(단계 0~7)을 완전히 재작성했습니다.
개선 사항
- 적응형 Private Sync: 동기화 폴링 속도가 활동에 따라 동적으로 조정됩니다. 다운로드 전용 잠금 최적화로 경합을 줄였습니다.
- OAuth 이메일 캡처: Google OAuth에 항상 ID 스코프를 포함하여 모든 연결 시 사용자의 이메일을 캡처함으로써 일부 계정에서 이메일이 공백으로 표시되던 문제를 수정했습니다.
- 보안 강화: OAuth PKCE 흐름, 에이전트 하위 프로세스 경계, 반복된 인증 실패 시도에 대한 계정별 무차별 대입 잠금 기능을 강화했습니다.
- Browser 칩 레이아웃: Browser 선택 칩의 크기를 줄이고 컨테이너를 넘치는 대신 줄바꿈되도록 수정했습니다.
- 레지스트리 기반 이미지 제공자: 하드코딩된 이미지 제공자 목록을 동적 레지스트리로 교체하여 새로운 모델 추가를 용이하게 만들었습니다.
- 콘텐츠 i18n 파이프라인: 증분 번역 지원과 함께 모든 문서 페이지에 대해 통합된 해시 추적 콘텐츠 동기화를 적용했습니다.
버그 수정
- 미리보기 내 수학 표현식: TipTap 미리보기에서 코드 보기로 전환할 때 수학 표현식이 손상되던 문제를 수정했습니다.
- 미리보기 내 위키링크: TipTap 미리보기와 코드 보기 사이를 전환할 때 위키링크 구문이 제거되던 문제를 수정했습니다.
- 스레드 메시지 사라짐: STATE_PATCH에 의해 스레드 메시지가 제거되거나 대화 도중 모델을 전환할 때 메시지가 사라지는 문제를 수정했습니다.
- 끼어들기 고립 현상: 끼어들기 메시지 필터링 후 고립된 parentId로 인해 발생하던 렌더링 오류를 수정했습니다.
- Private Sync 무한 루프: 동시 컬렉션 항목 클록 충돌 및 thread_data_ 접두사 오염으로 인한 무한 동기화 루프를 해결했습니다.
- BYOA 예외 케이스: 초기화 시 BYOA 설정이 복구되지 않는 문제, 비동기 저장 레이스 컨디션, 확장 프로그램이 launchWebAuthFlow 대신 작동하지 않는 localhost 팝업을 사용하는 문제, 만료된 issuedByClientId 우선순위 문제를 수정했습니다.
- Private Sync 스코프 복구: Google Drive 스코프가 만료되거나 누락되었을 때 Private Sync 잠금 해제가 소리 없이 실패하던 문제를 수정했습니다.
- 중복 스킬: Private Sync 병합 후 중복 스킬이 나타나는 현상을 방지했습니다.
- 변경 내용 추적 라우팅: 에이전트가 수정 상태를 읽을 수 있도록
get_tracked_changes및get_comments를 SlateTool 액션 라우팅에 연결했습니다. - DOCX 다운로드 소스: downloadAsDocx가 라이브 에디터 상태 대신 만료된 아티팩트 콘텐츠를 사용하던 문제를 수정했습니다.
- 지능형 모델 이름 축약: 긴 모델 이름이 컴팩트 피커를 넘치는 문제를 지능형 축약 기능을 통해 수정했습니다.
- 마크다운 링크 렌더링: 렌더링된 마크다운 링크에서 chrome-extension: 및 Caiioo: URL이 차단되던 문제를 수정했습니다.
- 스레드 생성 속도: 불필요한 설정 캐스케이드 조회를 제거하여 스레드 생성 시간을 절반으로 단축했습니다.
- Chrome 탭 제목: 활성 대화 스레드에 따라 동적으로 변하는 Chrome 탭 제목을 복구했습니다.
- 적응형 그리팅 토큰: 추론 모델 사용 시 텍스트가 잘리는 것을 방지하기 위해 적응형 그리팅의 max_tokens를 상향 조정했습니다.
Version 0.9.661 (2025년 2월 25일)
새로운 기능
- Agent Interjection (에이전트 개입): AI가 작동하는 도중에 메시지를 입력하고 Enter를 눌러 가이드를 제공하세요. 에이전트는 다음 결정 시점에 사용자의 가이드를 확인하고 경로를 수정합니다. 작업을 취소하고 다시 시작할 필요가 없습니다. 전송할 텍스트가 있을 때 중지 버튼 옆에 황색 배지의 전송 버튼이 나타납니다.
- API Tool Management (API 도구 관리): API 통합 도구가 이제
save_tool,list_tools,delete_tool을 기본 액션으로 지원하여, 에이전트가 발견한 API를 대화에서 직접 쉽게 관리할 수 있습니다. 무료 사용자는 GET 및 list_tools를 사용할 수 있으며, Pro 사용자는 전체 세트를 사용할 수 있습니다. - Live Token Counter (실시간 토큰 카운터): 토큰 및 비용 사용량이 스트리밍 중에 실시간으로 업데이트되어 각 메시지 하단에 표시됩니다. 특수 비용(이미지 생성, 웹 검색)은 각 도구가 완료됨에 따라 점진적으로 합산됩니다.
- Auto-Expand Tool Cards (도구 카드 자동 확장): 도구 카드가 스트리밍 인자를 받기 시작하거나 승인이 필요할 때 자동으로 확장되며, 성공적으로 완료되면 자동으로 축소됩니다. 오류가 발생하거나 거부된 도구는 검토를 위해 확장된 상태로 유지됩니다.
- Monaco Diff Editor: Slate 코드 수정 사항에 이제 Monaco의 네이티브 인라인 diff 에디터가 사용되며, 변경 사항별 수락/거부 버튼이 제공됩니다. 이는 이전의 커스텀 데코레이션 시스템을 대체합니다.
개선 사항
- Private Sync Auth Recovery (프라이빗 동기화 인증 복구): 만료되거나 취소된 Google 토큰으로 인한 프라이빗 동기화 오류 시, 수동적인 에러 메시지 대신 "Google 재연결" 및 "권한 부여" 버튼이 표시됩니다. 재연결 시 올바른 Drive 권한을 요청하고 적절한 Google 계정을 미리 선택합니다.
- Private Sync Multi-Account (프라이빗 동기화 다중 계정): 프라이빗 동기화 시 이제 처음 연결된 계정 대신 설정된 이메일과 일치하는 Google 계정으로 인증합니다. 여러 Google 계정이 연결되어 있을 때 잘못된 Drive로 동기화되는 문제를 해결했습니다.
- Brand Refresh (브랜드 리프레시): Caiioo 로고에서 파생된 새로운 리버 블루(river blue)와 록 그레이(rock grey) 컬러 팔레트가 앱 전체와 웹사이트의 이전 보라색 테마를 대체합니다.
- OAuth Security (OAuth 보안): 확장 프로그램 패키지에서 Google, GitHub, Slack OAuth 클라이언트 보안 비밀번호(secrets)를 제거했습니다. 이제 토큰 교환은 보안 Cloudflare 릴레이 프록시를 통해 라우팅되어 클라이언트 코드에서 보안 비밀번호를 제거합니다.
- Faster Startup (빠른 시작): 첨부 파일 콘텐츠(이미지, 추출된 텍스트)를 부팅 시가 아닌 요청 시에 로드하여, 첨부 파일이 많은 대화의 초기 로드 시간을 크게 단축했습니다.
- Faster Streaming (빠른 스트리밍): 컨텍스트 창 사용량이 이제 스토리지 왕복 대신 빠른 브로드캐스트 경로를 통해 스트리밍되어, 에이전트 루프당 비동기 I/O 없이 실시간 업데이트를 제공합니다.
- Private Sync Speed (프라이빗 동기화 속도): Google Drive 파일 ID 캐시가 재시작 후에도 유지되어, 첫 동기화 주기에서 전체 파일 목록 API 호출을 제거했습니다.
- Unified Streaming Render Path (통합 스트리밍 렌더링 경로): 스트리밍과 최종 콘텐츠가 이제 단일 렌더링 경로를 통해 흐르므로, 생성이 완료될 때 발생하는 깜빡임을 제거하고 개입 메시지를 보존합니다.
- Cross-Model Switching (교차 모델 전환): 대화 중간에 AI 제공자를 전환할 때(예: Gemini에서 Claude로) 더 이상 "Invalid signature in thinking block" 오류가 발생하지 않습니다. 외부 추론 아티팩트는 자동으로 일반 텍스트로 변환되어, 호환되지 않는 암호화 서명 없이 컨텍스트를 보존합니다.
- Disabled Tool Guidance (비활성 도구 안내): AI가 비활성화된 도구를 사용하려고 할 때, 일반적인 "찾을 수 없음" 오류 대신 실행 가능한 제안(유사한 활성 도구, 활성화 방법)을 받게 됩니다.
- Responsive Composer Layout (반응형 컴포저 레이아웃): 컴포저 툴바에 단계적 노출 방식이 적용됩니다. 모드 선택기, 모델 선택기, 설정, 아젠다, 도움말 아이콘이 잘리지 않고 공간이 허용하는 대로 나타납니다.
- Settings Color Coding (설정 색상 코딩): 설정 섹션에 3색 시스템이 적용됩니다. 커스터마이징 섹션에는 강조 색상을, 나머지는 중립 색상을 교차 사용하여 시각적 그룹화를 명확히 했습니다.
- Onboarding Errors (온보딩 오류): 무료 키 프로비저닝 시 아무 반응이 없는 대신 액션 버튼 아래에 설명적인 에러 메시지가 표시됩니다.
- AI Provider Settings (AI 제공자 설정): 명확성을 위해 "API & Provider" 섹션의 이름을 "AI Provider"로 변경했습니다.
- Extended Free Trial (무료 체험 연장): Pro 체험 기간이 7일에서 14일로 연장되어, 새로운 사용자가 Pro 기능을 탐색할 수 있는 시간을 더 많이 제공합니다.
- Optimistic Branch Switching (낙관적 브랜치 전환): 메시지 브랜치 간 전환 및 메시지 다시 로드 시 스토리지 왕복을 기다리지 않고 UI가 즉시 업데이트됩니다.
- MCP Tool Configuration (MCP 도구 구성): 더 안정적인 도구 설정을 위해 스키마 자동 수정 및 개선된 MCP 도구 구성을 적용했습니다.
버그 수정
- Per-Message Costs (메시지당 비용): 개별 메시지 비용의 합계가 이제 스레드 헤더의 총계와 일치합니다. 헬퍼, OCR, 이미지 생성, 검색 비용이 스레드 요약뿐만 아니라 개별 메시지에도 할당됩니다.
- Interjection Rendering (개입 렌더링): 개입 메시지가 이제 생성이 완료될 때 사라지지 않고 어시스턴트 타임라인 내에 컴팩트한 황색 주석으로 렌더링됩니다.
- Loop Detection (루프 감지): URL이 자연스럽게 3회 이상 반복되는 인용이 많은 응답에서 발생하는 가짜 반복 감지 문제를 수정했습니다.
- Slate Diff Alignment (Slate Diff 정렬): 청크 범위에 관계없이 오버레이 루프가 1행씩만 진행되어 다중 행 청크에서 미리보기 모드의 redline/greenline 정렬이 어긋나던 문제를 수정했습니다.
- Slate Deletion Positions (Slate 삭제 위치): 삽입 이동(insertion shift)의 중복 계산으로 인해 삭제 내용이 쌍을 이루는 삽입 내용 이전이 아닌 이후에 렌더링되던 문제를 수정했습니다.
- Private Sync Fixes (프라이빗 동기화 수정): 코드 분할 청크에서 JIT 스코프 요청이 실행되지 않던 문제와 업로드 후 무한 동기화 루프가 발생하던 문제를 수정했습니다.
- Onboarding Flow (온보딩 흐름): OAuth 흐름이 이제 온보딩을 제대로 완료하며, 트리거 감지에서 하이픈이 포함된 모드 ID를 지원하고, 남은 일수 0일이 null로 강제 변환되지 않습니다.
- Password Reset (비밀번호 재설정): 이메일 링크를 통한 비밀번호 재설정 시 이제 이메일 주소를 확인합니다. 인증 이메일이 만료된 사용자를 위해 인증 재전송 엔드포인트를 추가했습니다.
- License Tier (라이선스 티어): 관리자가 부여한 티어는 있지만 라이선스 행이 없는 사용자가 업그레이드 게이트에 갇히지 않도록 수정했습니다.
- Settings Scroll (설정 스크롤): 학습된 페이지의 브레인 아이콘을 클릭할 때, 상단의 지연 로드된 섹션 때문에 멈추지 않고 정확한 설정 섹션으로 스크롤됩니다.
- Monaco Disposal (Monaco 폐기): diff 에디터 모델 폐기 순서를 수정하여 잔류 참조를 방지하고 Monaco가 TipTap 미리보기를 통해 비쳐 보이는 현상을 수정했습니다.
- Walkthrough Targeting (워크스루 타겟팅): 워크스루 단계가 이제 반응형 컨테이너 쿼리에 의해 숨겨진 요소를 건너뛰며, 왼쪽 상단 모서리의 16x16 픽셀을 강조하는 대신 적절한 요소를 찾습니다.
- Kokoro TTS: 확장 프로그램에서 텍스트 음성 변환이 작동하지 않던 문제를 수정했습니다. offscreen 문서에서 ONNX 런타임 감지에 실패하여 "사용 가능한 백엔드를 찾을 수 없음" 오류가 발생하던 문제였습니다.
- Custom API Tool Save (커스텀 API 도구 저장): Service Worker 컨텍스트에서 금지된 동적
import()로 인해 에이전트가 발견한 API를 커스텀 도구로 저장할 때 확장 프로그램이 충돌하던 문제를 수정했습니다. - Boot Performance (부팅 성능): 모든 설정 액세스 시(부팅 시 20회 이상) 세션 마이그레이션이 실행되어 불필요한 디스크 쓰기와 느린 시작을 유발하던 문제를 수정했습니다.
- Duplicate Storage Broadcasts (중복 스토리지 브로드캐스트): UI 깜빡임을 유발할 수 있는 릴레이/서버 모드의 중복 스토리지 변경 알림을 억제했습니다.
- Cairn Texture Recovery (Cairn 텍스처 복구): 로드와 렌더링 사이에 메모리 내 월드 캐시가 축출될 때 텍스처 생성이 실패하던 문제와, 첨부 파일 기반 텍스처에서 렌더러가 검은색으로 표시되던 문제를 수정했습니다.
- Security Patches (보안 패치): fast-xml-parser(DOCTYPE 엔티티 확장을 통한 DoS) 및 tar(하드링크 탈출 취약점)를 업데이트했습니다.
- MV3 Compliance (MV3 준수): CDN에서 로드하던 vega-embed를 로컬 벤더 번들로 교체하여, 모든 차트 렌더링 코드가 Chrome Web Store 원격 코드 정책을 통과하도록 했습니다.
- Vega-Lite Charts (Vega-Lite 차트): AI가 이제 CDN 로드 HTML 대신 Slate에서 직접 Vega-Lite 시각화를 생성하여, 원격 스크립트 의존성 없이 인터랙티브 차트를 사용할 수 있습니다.
- Google Drive Save (Google Drive 저장): 에이전트가 아닌 Drive 핸들러의 오래된 OAuth 스코프 확인으로 인해 Slate에서 Google Drive로 저장할 때 발생하던 403 오류를 수정했습니다.
- New User Onboarding (신규 사용자 온보딩): 로그인 중 API 키가 자동 프로비저닝될 때 신규 사용자의 온보딩 화면이 완전히 건너뛰어지던 문제를 수정했습니다.
- OpenRouter OAuth Popup (OpenRouter OAuth 팝업): 팝업 차단기가 OAuth 창을 자동으로 닫을 때 "연결 중..." 스피너가 무한히 멈춰 있던 문제를 수정했습니다.
- Trial Banner Copy (체험판 배너 문구): 체험판 배너가 더 이상 모델이 티어에 의해 제한된다고 주장하지 않습니다. Pro 기능(쓰기 권한, 이미지 생성, 커스텀 모드)을 정확하게 설명하도록 업데이트되었습니다.
- DOCX Review Toolbar (DOCX 검토 툴바): 초기 가시성 확보 시까지 스크롤을 지연시켜 문서 검토 컨트롤 표시 시 툴바가 깜빡이는 문제를 수정했습니다.
- Add to Prompt Overlay (프롬프트 추가 오버레이): Content Security Policy에 의해 오버레이 로고가 차단되고 배경 투명도가 테마와 일치하지 않던 문제를 수정했습니다.
- Message Edit/Reload State (메시지 편집/재로드 상태): 메시지 편집, 응답 재로드 또는 브랜치 전환 후 메모리 내 상태가 오래된 상태로 유지되던 문제를 수정했습니다.
- Server Login Hang (서버 로그인 중단): 서버 로그인 흐름 중에 WebSocket 스토리지 작업이 실패하던 문제를 수정했습니다. 이제 인증이 분리되어 로컬 세션이 즉시 작동하며 서버 ID는 백그라운드에서 확인됩니다.
- WebSocket Connection Hang (WebSocket 연결 중단): 초기 WebSocket 연결 중에 AUTH_STATE: ready가 도착하여 인증 프로미스가 유실되고 연결이 완료되지 않던 레이스 컨디션을 수정했습니다.
버전 0.9.655 (2025년 2월 19일)
새로운 기능
- Slack 통합: Slack 워크스페이스를 연결하여 전체 OAuth V2 인증이 포함된 AI 기반 Slack 도구 활성화
- API 도구 자격 증명: 에이전트가 발견한 API를 저장된 자격 증명과 함께 사용자 정의 MCP 도구로 저장하여 대화 전반에서 재사용 가능
- 저장된 API 배지: 에이전트가 생성한 API 도구는 설정에서 "저장된 API" 배지를 표시하여 쉽게 식별 가능
- 대화 가져오기: ChatGPT, Claude, Gemini, Perplexity, Grok에서 대화 가져오기 — 내보내기 파일을 업로드하면 Caiioo가 전체 메시지 기록, 첨부 파일 및 메타데이터와 함께 변환
개선 사항
- 학습된 API 중첩: 학습된 API 도구가 설정의 접을 수 있는 섹션 아래에 그룹화되어 더 깔끔하게 정리됨
- Caiioo 브랜딩: 시각적 일관성을 위해 내장 도구에 Caiioo 아이콘 표시
- 브라우저 인식 링크: 에이전트가 연 URL이 설정에서 선택한 브라우저에서 실행됨
- Slate 클라우드 로드: Google 드라이브에서 Slate 문서를 로드할 때 모호한 오류 대신 JIT OAuth 프롬프트가 트리거됨
버그 수정
- DOCX 편집: 중첩된 스팬에서 단락 실행 정규식 일치 문제를 수정하여 서식이 지정된 DOCX 텍스트 편집 시 콘텐츠가 손상되는 문제 해결
- 검색/교체 안전성: 리팩토링 중 손실된 구조적 HTML 패턴 가드를 복원하여 편집 시 XLSX/DOCX 내부 마크업이 손상되는 것을 방지
- 도구 승인 루프: 단일 에이전트 실행 내에서 동일한 도구에 대해 승인 프롬프트가 반복되는 경합 상태 수정
- 만료된 ID: 라이선스 동기화 중 401 오류 발생 시 만료된 사용자 ID가 지워지지 않던 문제 수정 및 재방문 사용자 온보딩 시 로그아웃 이스케이프 추가
Version 0.9.651 (2025년 2월 17일)
New Features
- 최소 권한 허용: Google Workspace 도구가 이제 광범위한 액세스 대신 각 작업에 필요한 정확한 scope만 요청합니다. 이메일 읽기는 읽기 전용 권한을 요청하며, 이벤트 생성은 캘린더 쓰기 권한만 요청합니다.
- 향상된 권한 대화상자: Just-in-time 인증 대화상자에서 어떤 권한이 요청되는지, 왜 필요한지, 그리고 해당 작업이 읽기 전용인지 읽기-쓰기인지 정확히 보여줍니다.
- 권한 선택기: Google 계정을 수동으로 연결할 때, 사전에 부여할 서비스(Calendar, Gmail, Drive, Docs, Sheets, Slides)와 액세스 수준(읽기 전용 vs 읽기-쓰기)을 선택할 수 있습니다. 기존 연결에 대해서는 '권한 편집' 버튼이 제공됩니다.
- 이미지 결과: 생성된 이미지와 스크린샷이 이제 축소된 프로세스 단계와 최종 답변 사이에 눈에 띄게 렌더링되어, 시각적 출력을 확인하기 위해 도구 호출을 확장할 필요가 없습니다.
Improvements
- Private Sync 안전성: 동시 편집 시 업로드 대신 병합을 위해 다운로드를 수행하며, lock refresh를 통해 소유권을 확인하고, manifest 병합을 통해 조기 삭제 작업으로 인한 데이터 손실을 방지합니다.
- P2P Sync 제거: P2P 실시간 동기화를 제거하여 100MB 이상의 불필요한 WebSocket 트래픽을 없애고 확장 프로그램 성능을 개선했습니다.
- Settings 성능: 설정 패널의 memoization 및 collapse context 격리를 통해 렌더링 속도를 높였습니다.
- DOCX 렌더링: 문서 파서에서 단락 렌더링, 번호 매기기 및 스타일 지원을 개선했습니다.
Bug Fixes
- Google Docs Scope: Google Docs 인덱싱 시 발생하던 "insufficient authentication scopes" 오류를 수정했습니다.
index_document에 명명된 범위(named ranges)를 위한 쓰기 권한이 필요했습니다. - Google Docs 읽기: Docs 권한만 부여되었을 때
read_document및get_document_info가 실패하던 문제를 수정했습니다. 이 작업들은 Drive 읽기 권한도 필요합니다. - Calendar 복사:
copy_event작업이 scope 레지스트리에서 누락되어 JIT 권한 요청이 방해받던 문제를 수정했습니다. - API Key 유지: Pro 체험판 활성화 중
saveCustomMode가 설정 저장 경로에서 충돌을 일으켜 BYOK API key가 조용히 유실되던 문제를 수정했습니다. - Settings Reload Race: 설정 섹션을 축소/확장할 때 스토리지 리로드 사이클이 트리거되어 저장되지 않은 API key가 삭제되던 문제를 수정했습니다.
- Chrome Identity 취소: 증분 scope 요청 중 사용자 취소가 오류와 구분되지 않던 문제를 수정했으며, 웹 OAuth refresh token 획득 후 인증 방법이 올바르게 전환되도록 수정했습니다.
- Private Sync 덮어쓰기: 동시 편집이 발생할 때 Private Sync가 최근 턴을 덮어쓰던 문제를 수정했습니다.
- Viewport 스크린샷: 뷰포트 스크린샷이 최종 응답 텍스트 위에 나타나지 않도록 수정했습니다.
- Agent 조정: 턴 조정, 인지 및 상태 관리 전반에 걸친 7가지 문제를 수정했습니다.
- 변경 내용 추적: 이중 상태 변수 비동기화로 인해 slate 분해 후 변경 내용 추적 모드가 깨지던 문제를 수정했습니다.
- File Manager: 삭제 및 다운로드 작업을 분리된 파일뿐만 아니라 모든 모드에서 사용할 수 있도록 수정했습니다.
- MCP 도구 이름: 도구가 인간이 읽을 수 있는 이름 대신 내부 서버 ID를 사용하던 문제를 수정했습니다.
- Agenda 도구: 동기화 카드에 항상 권한 누락이 표시되던 문제를 수정하고 Google OAuth 연결 시스템에 연결했습니다.
버전 0.9.642 (2025년 2월 16일)
개선 사항
- 새 문서 생성: "새 파일" 드롭다운에서 생성된 새 DOCX, XLSX, PDF 및 RTF 파일은 이제 변경 내용 추적 지원 및 적절한 서식과 함께 완전히 편집 가능합니다.
- Gemini 안정성: 추론 반복 감지 기능을 추가하여 Gemini의 사고 루프를 자동으로 끊고 채팅에 유출된 사고 텍스트가 나타나지 않도록 방지합니다.
- 이미지 처리: DNG RAW 사진 미리보기가 이제 EXIF 방향을 준수하여 업로드된 이미지의 왜곡을 방지하고 올바르게 표시합니다.
버그 수정
- 새 문서 편집 가능성: "새 파일"을 통해 생성된 빈 문서가 편집 가능한 서식 있는 텍스트 편집기가 아닌 정적 미리보기로 렌더링되던 문제를 수정했습니다.
- API 키 감지: 자체 API 키(BYOK)로 전환 시 페이지 새로고침 없이 즉시 적용됩니다.
- 스크린샷 안정성: 첨부 파일 ID 처리 방식을 수정하여 스크린샷 데이터가 손실되거나 손상되는 것을 방지했습니다.
- 탭 그룹화: 브라우저에 비정상적인 창(예: 개발자 도구, 팝업)이 있을 때 발생하던 충돌을 수정했습니다.
- 콘솔 노이즈: 404 오류를 스팸으로 발생시키던 불필요한 llms.txt 탐색을 제거했습니다.
- 도구 시간 초과: Gemini를 사용한 4k 이미지 생성과 같이 장시간 실행되는 도구 호출을 방해할 수 있는 불안정한 keepalive 우회 방법을 제거했습니다.
- 프롬프트 캐싱: 프롬프트 캐시 최적화 중 멀티모달 콘텐츠(이미지/스크린샷)가 누락되던 문제를 수정했습니다.
내부
- 오류 처리, 유형 안전성 및 아키텍처 계층화 전반에 걸쳐 상당한 코드베이스 품질 개선이 이루어졌습니다.
- 핵심 문서 파서를 집중적이고 유지 관리가 가능한 모듈로 모듈화했습니다.
버전 0.9.641 (2025년 2월 14일) - 해피 발렌타인 데이!
개선 사항
- 모델 선택기 티어 메달: 하드코딩된 추천 배지를 5개의 API 기반 티어 메달(Caiioo에 최적, 품질, 안정성, 속도, 가치)로 교체하여 벤치마크 데이터의 금/은/동 순위를 직접 표시
- 스킬 시스템: 내장 스킬을 다시 추가할 수 있는 기본값 복원 버튼 추가
- 프롬프트 캐싱: 비용 절감을 위해 프롬프트 캐싱 추가 최적화
버그 수정
- 브라우저 호환성: Vivaldi 및 기타 비 Chrome 브라우저에서 OAuth 로그인 및 자동 연결 작동
- 비용 추적: 실행 취소 시 비용 및 사용량 데이터가 덮어씌워질 수 있는 경합 상태 수정. 이제 취소되거나 오류가 발생한 실행에서도 비용/사용량 데이터가 보존됨
- 프라이빗 동기화: purgeAllStorage를 완전히 삭제하도록 재작성, 동기화 리스너 경합 수정, 프라이빗 동기화 UI 통합
- i18n: conversation.html 팝업 페이지에 누락된 번역 초기화 추가
- 보안: 종속성 취약점 패치 (qs, @casl/ability, axios, markdown-it)
- 벤치마크 페이지: 벤치마크 페이지 백엔드를 Cloudflare 인증으로 마이그레이션
버전 0.9.65 (2025년 2월 13일)
개선 사항
- MiniMax M2.5 벤치마크: 전체 벤치마크 제품군 완료 — 도구 정확도 91%, 신뢰도 95%(순위 2위), 종합 순위 5위(골드 등급)
- 모델 인텔리전스 API: 기본 응답 제한을 100개에서 500개로 상향하여, 배지를 획득한 모든 모델이 클라이언트에게 표시되도록 함
버그 수정
- 누락된 모델 배지: 확장 프로그램 모델 목록에 나타나지 않던 배지(골드/실버/브론즈) 획득 모델 35개 수정 — Claude Opus 4.6(골드 종합), Claude Sonnet 4.5(실버 종합), Claude Haiku 4.5(브론즈 종합) 포함. 근본 원인: API가 신뢰도 기준 상위 100개 모델만 반환하도록 설정되어 있었으나, 등급은 전체 367개 모델을 기준으로 계산됨. 신뢰도 상위 100위 밖의 모델들은 배지가 자동으로 제거되는 현상 발생.
Version 0.9.64 (2025년 2월 12일)
개선 사항
- Ollama Provider 기능 동등성: OpenRouter와 동일한 수준의 기능 구현 — 중단 신호(abort signal) 지원, 에러 핸들링, 추론 세부 정보, 해결된 모델 ID, 스트리밍 믹스인을 통한 think-tag 처리 지원
- AbortSignal 전파: 하위 프로세스의 SIGTERM/SIGINT 발생 시 진행 중인 LLM API 호출을 취소하도록 개선
- 빌드 타임 스키마 검증: 빌드 시 설정 스키마 검증을 통해 누락된
SETTING_METADATA항목 감지 - 플랫폼 기능 캐싱: 매 접근 시마다 재계산하는 대신 성능 향상을 위해 플랫폼 기능을 캐싱 처리
- 웹사이트 i18n: Trust 페이지 및 요금제 리팩토링 번역을 22개 모든 로캘에 동기화
버그 수정
- 웹사이트 인증: Google 로그인, 이메일 로그인, 회원가입 및 비밀번호 재설정을 위해 기존 Supabase 인증을 직접적인 Cloudflare Worker API 호출로 교체
- Stripe 결제 로캘:
navigator.language(예:en-US)를 Stripe 지원 로캘로 매핑하고 실패 시auto로 대체하여 결제 및 포털의 "Invalid locale" 에러 수정 - 비밀번호 최소 길이: 서버 회원가입, 비밀번호 재설정 및 웹사이트 재설정 페이지 전반에 걸쳐 최소 12자 제한 동기화
- Private Sync 프로필 중복 제거: 로그인 시 이전 동기화 버그로 인해 생성된 중복 프로필을 감지하고 제거
- State Manager 초기화 경합: state-manager의 초기화 경합 조건(race condition) 수정
- Agent 하위 프로세스 정리: Agent 종료 시 좀비 하위 프로세스 정리 로직 추가
- Tab Group/Storage API 가드: 플랫폼별 탭 그룹 및 스토리지 API에 대한 적절한 가드(guard) 적용
- 지리 위치 에러 핸들링: 지리 위치 권한 에러에 대한 예외 처리 개선
- OAuth 갱신 잠금: 동시에 발생하는 OAuth 토큰 갱신 시도 방지
- 설정 저장 Mutex: 동시 설정 저장 시 데이터가 서로 덮어씌워지는 현상 방지
- Agent JSON 파싱 격리: 잘못된 형식의 Agent 출력이 파서를 중단시키지 않도록 격리
- Thread 검색 경합: Thread 검색 결과의 경합 조건 수정
- 스트리밍 버전 만료 확인: 스트리밍 응답 중 버전 만료 여부 확인 로직 추가
- Content Script 타임아웃: Content script 메시지 전달 시 타임아웃 추가
- 멀티모달 컨텍스트 정리: 멀티모달 콘텐츠가 포함된 경우의 컨텍스트 정리(pruning) 로직 개선
버전 0.9.63 (2025년 2월 12일)
버그 수정
- 개인 동기화 모드 변수: 매 동기화 주기마다 레거시 설정 마이그레이션이 실행되어 최근의 로컬 편집 내용(예: 모드 변수 변경)을 오래된 Drive 데이터로 덮어쓰던 문제를 수정했습니다.
버전 0.9.62 (2025년 2월 12일)
새로운 기능
OpenRouter OAuth 원클릭 설정
- PKCE 키 생성: 새로운 원클릭 OpenRouter OAuth 흐름을 통해 사용자가 Caiioo를 떠나지 않고도 API 키를 생성하고 연결할 수 있습니다.
- 온보딩 재설계: OpenRouter OAuth 통합으로 온보딩 및 업그레이드 흐름이 간소화되었습니다.
- 개인정보 보호 경고: 무료 모델 온보딩 옵션에 개인정보 보호 및 학습 데이터 관련 경고가 명확하게 표시됩니다.
세분화된 Private Sync
- 항목별 동기화: MCP 서버, 도구 승인, 프로필, 스킬, 모드, 오버라이드, 리마인더가 이제 전체 컬렉션을 덮어쓰는 대신 개별 항목 수준에서 동기화됩니다.
- 키별 설정 동기화: 설정이 키별로 세분화되어 동기화되므로, 관련 없는 로컬 변경 사항이 원격 데이터에 의해 덮어씌워지는 것을 방지합니다.
- 중복 읽기 제거: 불필요한 네트워크 트래픽을 줄이기 위해 진행 중인 WebSocket 스토리지 읽기 작업의 중복이 제거되었습니다.
개선 사항
- 모드 설정 UX: 오버라이드가 이제 자동 저장되며, 기본값 복원 시 삭제된 모드 변수가 올바르게 복구됩니다.
- 반응형 Composer: 너비가 좁을 때 스킬 버튼이 아이콘 전용으로 축소되며, 스킬 섹션에서 레이아웃 스페이서가 제거되었습니다.
- 지원 티켓: 빌드 버전과 날짜 및 시간이 자동으로 포함됩니다.
- Slate 검색: Slate 도구에 새로운
search_document액션이 추가되었습니다.
버그 수정
- Google Slides/Sheets OAuth: 이제 설정 텍스트를 반환하는 대신 적절한
OAuthAuthorizationRequiredError를 발생시켜 적시(just-in-time) 권한 부여가 가능해졌습니다. - 구성 도구 UI 새로고침: 구성 도구를 통한 에이전트 변경 사항이 이제
STORAGE_CHANGED를 브로드캐스트하여 UI가 즉시 업데이트됩니다. - 도구 승인 모달: React hooks 순서 위반 문제를 수정했습니다 (early return 상단에 useMemo 배치).
- Localhost HTTPS: API 통합 도구가 이제 로컬 HTTPS 서버의 자체 서명된 인증서를 처리합니다.
- 모드 변수 지속성: i18n getter 속성이 스토리지 저장 전에 구체화되지 않아 재로드 시 변수가 사라지던 문제를 수정했습니다.
- Slate 스레드 안전성: 병렬 AI 턴 중에 중복 Slate가 생성되던 Slate 도구의 레이스 컨디션을 해결했습니다.
- Slate DOCX: 변경 내용 추적에서 삭제 표시 가시성 및 베이스라인 손상 문제를 수정했습니다.
- Private Sync 안정성: 동기화 충돌로 인해 편집 내용이 튀거나 사라지는 현상을 제거했습니다.
버전 0.9.61 (2025년 2월 10일)
개선 사항
Slate 에디터 i18n
- 툴바 및 메뉴 번역: 모든 Slate 에디터 툴바 버튼, 컨텍스트 메뉴 및 대화 상자 문자열이 완전히 번역됨
버그 수정
- OAuth 가져오기 시간 초과: 모든 OAuth 토큰 교환 및 갱신 요청에 15초 시간 제한을 설정하여 네트워크 지연 시 무한 대기 방지
- GitHub 개인 이메일: 사용자 프로필 이메일이 비공개일 때 GitHub 연결이 실패하던 문제 수정(이제
/user/emailsAPI에서 가져옴) - OAuth 연결 대화 상자: OAuth 연결 대화 상자를 일반화하고 다중 토큰/연결 버그 수정
- 비밀번호 길이 일관성: 모든 가입 및 재설정 화면에서 비밀번호 최소 12자 요구 사항 동기화
버전 0.9.6 (2025년 2월 8일)
새로운 기능
국제화 (20개 이상의 언어 지원)
- 전체 i18n 지원: Caiioo를 이제 영어, 스페인어, 프랑스어, 독일어, 일본어, 한국어, 중국어, 아랍어, 히브리어, 힌디어 등을 포함한 20개 이상의 언어로 사용할 수 있습니다.
- RTL 언어 지원: 아랍어, 히브리어, 우르두어를 위한 전체 우측 정렬(right-to-left) 레이아웃을 지원합니다.
- UI 언어 설정: 설정에서 선호하는 언어를 선택할 수 있으며, 모든 UI 요소, 도구 라벨 및 상태 메시지가 번역됩니다.
개선 사항
설정 패널 성능
- 지연 로딩(Lazy-Loaded) 섹션: 설정 패널 섹션이 이제 필요할 때 로드되어 초기 렌더링 시간이 단축되었습니다.
- 모듈형 스토리지: 설정을 단일 모놀리식 블롭 대신 섹션별 키로 세분화하여 저장함으로써 읽기/쓰기 성능을 향상시켰습니다.
- 타입 지정 게터(Typed Getters): 내부 설정 액세스 시 변경 세분화 추적이 가능한 강력한 타입의 게터를 사용합니다.
Slate 변경 내용 추적 안정성
- 17가지 리비전 매니저 수정: diff 계산, 수락, 거부 및 영속성 전반에 걸쳐 변경 내용 추적 시스템을 포괄적으로 강화했습니다.
- 일반 텍스트 Diffing: Redline 변경 사항이 이제 원시 markdown 대신 일반 텍스트를 비교하여 더 깔끔하고 정확한 변경 강조 표시를 생성합니다.
- 사용자 변경 사항 유지: 사용자가 수행한 추적된 변경 사항이 이제 페이지 새로고침 후에도 유지됩니다.
- 레이스 컨디션(Race Condition) 수정: 데이터 손실을 방지하기 위해 저장 전 추적된 변경 사항을 강제로 확정(force-bake)합니다.
버그 수정
- Service Worker 충돌: Chrome Service Worker 충돌을 방지하기 위해 112개 이상의 동적
import()호출을 정적 임포트로 교체했습니다. - 모드 환영 메시지: 모드 환영 메시지의 언어, 프로비저닝된 키 감지 및 영속성 문제를 수정했습니다.
- Google 도구 계정 선택: 계정 선택기가 이제 실제 연결된 계정을 동적으로 반영합니다.
- DOCX 중첩 목록: 중첩 목록의 왕복 변환 시 표시 마커 및 내보내기 손상 문제를 수정했습니다.
- LaTeX 수식 렌더링: 통화 달러 기호 이스케이프가 숫자로 시작하는 LaTeX 수식 표현식을 깨뜨리는 문제를 수정했습니다.
- 탭 그룹 생성: 웹 브라우징 도구가 실제로 사용될 때까지 지연된 탭 그룹 생성을 보류합니다.
- Agenda OAuth: 적시(just-in-time) 권한 부여가 올바르게 트리거되도록 OAuth 오류를 다시 발생(re-throw)시킵니다.
- 설정 영속성: 자동으로 저장이 실패하던 6개 설정에 대해 누락된 메타데이터 항목을 추가했습니다.
버전 0.9.5 (2025년 2월 6일)
보안 강화
- 콘텐츠 스크립트 출처 검증: 웹 페이지에서 확정 프로그램으로 보내는 메시지가 caiioo.ai 출처로만 제한되며, 엄격한 동일 출처 검사를 통해 교차 출처 메시지 주입을 방지합니다.
- CSP 강화: 확장 프로그램 페이지의 콘텐츠 보안 정책(CSP)에서 개발 전용 localhost 스크립트 소스를 제거했습니다.
- 인증 응답 범위 지정: 확장 프로그램 인증 응답이 이제 모든 프레임에 브로드캐스팅되는 대신 특정 페이지 출처로만 전송됩니다.
버전 0.9.4 (2025년 2월 4일)
새로운 기능
다국어 음성-텍스트 변환(STT)
- 언어 선택: 설정에서 STT 언어를 선택하여 정확한 비영어 음성 입력 가능
- 90개 이상의 언어 지원: Whisper 및 ElevenLabs와 연동하여 포괄적인 언어 커버리지 제공
실시간 음성 활동 감지(VAD)
- 저지연 VAD: 새로운 Silero VAD v5 통합으로 최소한의 지연 시간으로 실시간 음성 감지
- 스마트 녹음: 음성 활동에 따라 자동으로 녹음 시작 및 중지
- 오탐지 감소: 음성과 배경 소음 간의 구분 능력 향상
제안 표시 토글
- 제안 숨기기/표시: 더 깔끔한 인터페이스를 원할 때 AI 후속 제안을 숨길 수 있는 새로운 토글 추가
- 상태 유지: 설정이 세션 간에 저장되고 기억됨
개선 사항
변경 내용 자동 적용(Auto-Bake)
- Diff 기반 추적: Diff 알고리즘을 사용하여 더 효율적인 변경 사항 추적
- 자동 저장: 긴 편집 세션 동안 데이터 손실을 방지하기 위해 변경 사항을 주기적으로 저장
- 종료 시 스냅샷: 변경 내용 추적 모드 종료 시 보류 중인 모든 변경 사항을 자동으로 적용
향상된 제공자 스트리밍
- Gemini 개선: Google Gemini 모델의 스트리밍 및 추론 기능 향상
- 일관된 동작: OpenRouter 및 기본 제공자 전반에 걸쳐 통합된 스트리밍 동작
버전 0.9.3 (2025년 1월 31일)
새로운 기능
가이드 온보딩 둘러보기
- 대화형 UI 투어: API 키 입력 후 인터페이스의 모든 부분을 안내하는 새로운 단계별 둘러보기 추가
- 3단계 구성: 컴포저(11단계), 설정 패널(7단계), 모드 시스템(5단계)을 다룸
- 스포트라이트 효과: 각 단계에서 관련 UI 요소를 강조하는 집중 스포트라이트 표시
- 대화형 온보딩: 시작부터 경험을 개인화하기 위한 AI 가이드 프로필 구축
프롬프트 기록
- 이전 프롬프트 액세스: 최근 프롬프트가 저장되어 컴포저에서 액세스 가능
- 빠른 재사용: 이전 메시지를 쉽게 재사용하거나 수정 가능
광고 차단 수준
- 세밀한 제어: 광고 차단이 단순한 켜기/끄기 대신 여러 수준을 지원
- 보호 수준 선택: 브라우징 요구 사항에 맞는 차단 수준 선택 가능
DOCX 검토 도구 모음
- 변경 내용 추적 제어: 변경 내용이 추적된 Word 문서를 볼 때 새로운 도구 모음 표시
- 수락/거부 작업: 문서 편집 내용을 쉽게 검토하고 해결
개선 사항
스레드 보관 설정
- 구성 가능한 정리: 자동 정리 전까지 이전 스레드를 보관할 기간 설정
- 저장소 관리: 대화 기록에 대한 더 나은 제어
Caiioo 애니메이션
- 성능 최적화: 렌더링 개선으로 더 부드러워진 애니메이션
- 습기 효과: 수분 포화를 보여주는 새로운 시각적 오버레이
- 직접 파티클 렌더링: 최적화된 파티클 드로잉으로 더 깔끔한 비주얼
프로필 전환
- 향상된 상태 관리: 개선된 프로토콜 처리로 더 안정적인 프로필 전환
- 더 나은 동기화: 프로필 변경 사항이 확장 프로그램 전반에 올바르게 동기화됨
Google Calendar
- 토큰 관리: 캘린더 작업을 위한 액세스 토큰 처리 개선
- 더 안정적인 동기화: 캘린더 통합을 위한 더 나은 OAuth 흐름
버전 0.9.2 (2025년 1월 26일)
새로운 기능
광고 및 추적기 차단
- 내장 광고 차단기: MV3 호환 declarativeNetRequest와 Ghostery 엔진을 사용하여 광고 및 추적기 차단
- 설정에서 토글: 설정 패널에서 광고 차단을 활성화 또는 비활성화
- 필터 목록 업데이트: 안정적인 차단을 위한 필터 목록 자동 캐싱
적시(Just-in-Time) Google 권한
- 점진적 권한 승인: Google 도구 권한을 미리 요청하지 않고 필요할 때만 요청
- 명확한 범위 관리: 누락된 범위에 대해 접근 권한 부여 옵션이 포함된 유용한 오류 메시지 트리거
- 개인정보 보호 강화: 각 도구에 필요한 특정 Google 범위만 요청
개선 사항
Caiioo 애니메이션
- 향상된 물리 엔진: 고도, 속도 및 밀도 힘이 개선된 파티클 역학
- 부드러운 흐름: 파티클이 생성 시 채널 방향을 따라가 뭉침 현상 감소
- 사실적인 쌓임: 자갈이나 댐에 막힐 때 파티클이 자연스럽게 쌓임
Google OAuth 흐름
- 빠른 로그인: 더 빠른 인증을 위해 ID 토큰 검색을 우선시함
- 안정성 향상: 개선된 토큰 처리로 비 Chrome 브라우저에서의 인증 실패 감소
온보딩 및 설정
- 미리보기 모드: 사용자 데이터를 지우지 않고 온보딩 흐름 테스트 가능
- 깔끔해진 무료 티어: 더 이상 사용되지 않는 프로비저닝된 API 키 복구 UI 제거
내부 변경 사항
- 미니게임 시스템: 대화형 인트로 경험을 위한 새로운 MinigameContainer 인프라
- 숨겨진 이스터 에그: 세션 간에 유지되는 미니게임 가시성 상태
Version 0.9.1 (2025년 1월 25일)
New Features
Interactive Water Simulation
- Caiioo Intro: 로딩 화면에 새로운 대화형 유체 시뮬레이션 추가 - 역동적인 S자형 채널을 흐르는 물을 감상해 보세요.
- Draggable Pebbles: 조약돌을 움직여 물의 흐름을 바꾸거나 댐을 만들 수 있습니다.
- Sediment Dynamics: 현실적인 침식 및 퇴적 작용 - 빠른 물살은 퇴적물을 운반하고, 느린 물살은 이를 퇴적시킵니다.
- Theme-Adaptive: 물의 색상이 선택한 테마 색상에 맞춰 자동으로 변경됩니다.
Vega/Vega-Lite Chart Support
- Interactive Visualizations: Slate에서 Vega 및 Vega-Lite 차트를 직접 확인하고 편집할 수 있습니다.
- Data Visualization: 막대 그래프, 선 그래프, 산점도 및 복잡한 다층 시각화 자료를 생성할 수 있습니다.
- Spec Editing: JSON 사양을 편집하고 실시간으로 렌더링되는 변경 사항을 확인할 수 있습니다.
Mermaid Diagram Support
- Diagram Types: 플로우차트, 시퀀스 다이어그램, 클래스 다이어그램, 상태 다이어그램 등을 생성할 수 있습니다.
- Live Preview: 즉각적인 시각적 미리보기와 함께 Mermaid 구문을 편집할 수 있습니다.
- Export Options: 다이어그램은 어떤 크기에서도 선명한 출력을 위해 SVG로 렌더링됩니다.
File Creation Templates
- Quick Create Menu: Slate에서 파일을 생성할 때 일반적인 파일 유형에 대한 템플릿을 제공하는 새로운 드롭다운 메뉴가 추가되었습니다.
- Template Categories: Markdown, 코드 파일, 데이터 형식, 다이어그램 등 다양한 카테고리를 지원합니다.
- One-Click Start: 올바른 구조를 갖춘 새 문서를 즉시 시작할 수 있습니다.
Improvements
API Error Handling
- Visual Notifications: 이제 API 오류가 닫기 가능한 토스트 알림으로 표시됩니다.
- Auto-Dismiss: 취소와 같은 비정상적이지 않은 오류는 몇 초 후 자동으로 사라집니다.
- Clearer Messages: 더 명확한 오류 메시지를 통해 문제를 더 빠르게 식별하고 해결할 수 있습니다.
Platform Capabilities
- Smart Feature Detection: 특정 플랫폼이 필요한 기능(예: macOS의 Apple Calendar)을 이제 자동으로 감지합니다.
- Graceful Fallbacks: 도구가 오류 없이 사용자 환경에 맞춰 유연하게 적응합니다.
- Apple Tool Improvements: Apple Reminders에서 이제 완료 취소 및 리스트 작업을 지원합니다.
Safari & Non-Chrome Browsers
- Better OAuth Flow: Google 로그인 시 브라우저 감지 기능이 개선되었습니다.
- Fallback Mechanism: Chrome 이외의 브라우저에서도 더욱 안정적인 인증 경로를 제공합니다.
버전 0.9.0 (2025년 1월 22일)
새로운 기능
자동 데이터 정리
- 저장소 관리: 보관 기본 설정에 따라 오래된 스레드와 첨부 파일이 자동으로 정리됨
- 구성 가능한 정책: 자동 정리 전까지 데이터를 보관할 기간 설정
GitHub 동기화
- GitHub로 백업: 백업 및 기기 간 액세스를 위해 Caiioo 데이터를 GitHub 저장소에 동기화
- 스마트 충돌 해결: 여러 기기의 변경 사항이 데이터 손실 없이 자동으로 병합됨
- 선택적 동기화:
.gitignore스타일 패턴으로 동기화할 데이터 제어
GitHub 도구
- AI GitHub 통합: AI가 귀하를 대신하여 GitHub와 상호작용 가능 - 이슈 생성, 저장소 탐색, 풀 리퀘스트 관리 등
- 저장소 탐색: AI에게 코드베이스 탐색, 파일 찾기 및 프로젝트 구조 이해 요청 가능
개선 사항
브라우저 자동화
- 향상된 페이지 상호작용: 복잡한 웹 페이지에서 더 안정적인 클릭, 스크롤 및 양식 채우기
- 더 스마트한 도구 선택: AI가 각 작업에 적합한 도구를 더 정확하게 선택
문서 처리
- 더 나은 Word 문서: DOCX 파일의 표, 목록 및 서식 처리 개선
- Google Slides: 슬라이드 서식, 도형 및 레이아웃에 대한 더 많은 제어
설정 및 UI
- 확장된 설정 패널: 더 나은 조직과 더 많은 구성 옵션
- 개선된 스레드 목록: 대화의 정렬 및 필터링 개선
- 위치 권한: 위치 기반 쿼리를 위한 위치 액세스 권한 부여 시 더 명확한 흐름
버전 0.8.9 (2025년 1월 19일)
새로운 기능
Google 슬라이드 통합
- AI 기반 프레젠테이션: 새로운 Google 슬라이드 도구로 AI가 슬라이드 프레젠테이션 생성, 읽기 및 수정 가능
- 전체 슬라이드 제어: 슬라이드 생성, 텍스트 상자, 이미지, 도형 및 표 추가
- 템플릿 지원: 내장 템플릿 사용 또는 빈 프레젠테이션에서 작업
- 공동 편집: 기존 Google 계정 연결과 함께 작동
개선 사항
코드 품질
- TypeScript 수정: 코드베이스 전반의 타입 오류 및 사용하지 않는 import 정리
- 테스트 커버리지: 현재 타입 정의에 맞게 테스트 픽스처 업데이트
버전 0.8.8 (2025년 1월 17일)
새로운 기능
Resemble.ai 텍스트-음성 변환(TTS)
- 전문 음성 합성: 고품질 AI 음성 생성을 위한 새로운 Resemble.ai 통합
- 스트리밍 오디오: 반응형 음성 출력을 위한 실시간 오디오 스트리밍
- 구성 가능한 음성: 여러 전문 음성 옵션 중에서 선택
- 잘림 경고: 합성을 위해 긴 텍스트가 잘릴 때 명확한 피드백 제공
캘린더 동기화 서비스
- 백그라운드 동기화: Google 캘린더와 자동 캘린더 동기화
- 점진적 업데이트: 효율성을 위해 변경된 이벤트만 동기화
- 알람 기반 일정: Chrome 알람을 사용한 안정적인 동기화 일정
개선 사항
데스크톱 앱(Electron)
- 깨우기 감지: Mac이 절전 모드에서 깨어날 때 시스템이 이를 감지하고 OAuth 토큰 자동 갱신
- 향상된 안정성: 장시간 절전 모드 후에도 OAuth 연결 유지
리치 컴포저 입력
- 향상된 구성: 더 나은 서식 지원으로 메시지 입력 개선
- 탭 자동 완성: 더 반응적인 탭 참조 제안
Version 0.8.71 (2025년 1월 15일)
New Features
Thread Search
- 대화 검색: 스레드 목록에 새로운 검색창이 추가되어 제목이나 내용으로 스레드를 빠르게 찾을 수 있습니다.
- 즉시 필터링: 입력과 동시에 필터링되며, 일치하는 스레드가 검색 하이라이트와 함께 즉시 나타납니다.
- Smart Debouncing: 수백 개의 스레드가 있어도 지연이 발생하지 않도록 검색 기능이 최적화되었습니다.
Physics Simulation Tool
- AI 기반 물리 엔진: AI가 물리 계산 및 시뮬레이션을 수행할 수 있는 새로운 물리 도구가 추가되었습니다.
- 포물선 운동: 궤적 계산, 충돌 예측 및 운동 문제 해결이 가능합니다.
- 구조 분석: 구조물의 응력, 보 굽힘(beam bending), 좌굴(buckling) 및 안정성을 분석합니다.
- 재료 특성: 일반적인 엔지니어링 재료(강철, 알루미늄, 나무, 콘크리트 등)의 데이터베이스가 내장되어 있습니다.
- 물리 공식: 운동 에너지, 운동량, 힘, 충격량 계산을 지원합니다.
Cairn World Builder Enhancements
- Physics Engine: 현실적인 시뮬레이션을 위해 Rapier3D 물리 엔진이 완전히 통합되었습니다.
- Joints & Constraints: 바디 사이에 힌지(hinge), 슬라이더(slider), 볼 조인트(ball joint) 및 고정 연결을 생성할 수 있습니다.
- Sensors & Triggers: 객체의 진입/퇴장을 감지하는 센서 영역을 정의할 수 있습니다.
- Character Controller: 중력, 점프, 충돌 반응이 적용된 1인칭 캐릭터를 지원합니다.
- Game Mode: 대화형 탐색을 위해 고정된 타임스텝(fixed timestep)을 가진 실시간 물리가 적용됩니다.
Improvements
Private Sync v2
- 증분 동기화(Incremental Sync): 이제 각 스레드와 첨부 파일이 하나의 큰 파일이 아닌 개별적으로 동기화됩니다.
- 더 빠른 동기화: 변경된 항목만 업로드되어 대규모 라이브러리의 동기화 시간이 획기적으로 단축되었습니다.
- 개선된 충돌 처리: 항목별 벡터 클락(vector clocks)을 통해 더욱 정밀한 병합 해결이 가능합니다.
- API 호출 감소: 스마트 디핑(smart diffing)을 통해 Google Drive API 요청 횟수가 줄어들었습니다.
Sync Reliability
- Extension/Server Parity: 두 플랫폼 모두에서 벡터 클락을 올바르게 추적하도록 첨부 파일 저장소 문제를 수정했습니다.
- Tombstone Filtering: 삭제된 프로필이 이제 extension과 서버 모두에서 올바르게 숨겨집니다.
버전 0.8.70 (2025년 1월 14일)
새로운 기능
개인 동기화 (FREE 티어)
- 기기 간 동기화: Google Drive를 통해 모든 기기에서 스레드, 설정 및 첨부 파일을 동기화하세요.
- 종단간 암호화: 모든 동기화 데이터는 기기를 떠나기 전 사용자의 암호 구문으로 암호화됩니다.
- 자동 백그라운드 동기화: 스마트 디바운싱 기술을 통해 30초마다 변경 사항이 자동으로 동기화됩니다.
- 충돌 해결: CRDT 방식의 벡터 시계를 사용하여 여러 기기 간의 변경 사항이 올바르게 병합되도록 보장합니다.
개선 사항
개인 동기화 효율성
- 폴링 감소: API 호출을 줄이기 위해 동기화 간격을 3초에서 30초로 늘렸습니다.
- 스마트 디바운싱: 변경 사항이 멈춘 후 10초를 기다렸다가 동기화를 시작합니다.
- 진행 중인 작업 보호: AI가 활발히 처리 중인 스레드는 완료될 때까지 동기화에서 제외됩니다.
버전 0.8.69 (2025년 1월 14일)
새로운 기능
Slate 수정 사항 탐색
- 변경 사항 간 탐색: 에디터 내 보류 중인 수정 청크 사이를 이동하는 새로운 탐색 버튼
- 변경 카운터: 보류 중인 수정 사항 내 현재 위치를 보여주는 시각적 표시기(예: "2 of 5")
- 키보드 단축키: Alt+Up/Down을 사용하여 키보드에서 손을 떼지 않고 청크 간 빠르게 탐색
개선 사항
문서 처리
- 원격 OCR 폴백: 로컬 PDF 텍스트 추출이 실패하거나 결과가 좋지 않을 경우, 정확도 향상을 위해 클라우드 OCR을 통해 문서 자동 처리
- 처리 상태: 문서가 원격으로 처리될 때 실시간 피드백 표시
추론 모델 지원
- 다중 턴 추론: 대화 턴 전반에 걸쳐 추론 세부 정보를 더 잘 캐싱하여 확장된 사고 모델의 연속성 향상
- 더 깔끔한 메시지: 렌더링된 메시지에서 내부 시스템 메모를 제거하여 지침 유출 방지
버전 0.8.68 (2025년 1월 11일)
새로운 기능
장기 기억
- 컨텍스트 유지: AI가 이제 대화 전반에 걸쳐 장기 기억을 유지하며, 사용자의 선호도와 워크플로우에 대한 중요한 컨텍스트를 기억합니다.
- 사용량 추적: 상세한 로깅을 통해 토큰 사용량 및 비용 추적 기능이 강화되었습니다.
모델 지능
- 스마트 모델 선택: 새로운 모델 지능 기능이 사용 패턴을 기반으로 최적의 모델을 식별하도록 돕습니다.
- 순위 시스템: 모델이 성능 및 가치 지표에 따라 순위가 매겨집니다.
개선 사항
저장소 신뢰성
- 크로스 플랫폼 저장소: 모델 캐시, 도구 승인, 학습된 페이지가 이제 확장 프로그램, 서버, LAN 모드 전반에서 안정적으로 작동합니다.
- 인증 시간 초과: 릴레이 서버 연결 시 발생하던 잠재적인 멈춤 현상을 수정했습니다. 이제 무한정 대기하는 대신 5초 후 정상적으로 시간 초과 처리됩니다.
- 설정 로드 속도: 확장 프로그램 재로드 후 설정 및 모델 선택기가 더 빠르게 로드됩니다.
콘텐츠 페이지 매기기
- 적절한 페이지 크기: 웹 페이지 콘텐츠가 이제 하드코딩된 기본값이 아닌 실제 모델의 컨텍스트 윈도우(예: 131k 토큰)를 기준으로 분할됩니다. 즉, 고컨텍스트 모델 사용 시 더 큰 페이지 단위로 더 적은 수의 페이지를 보게 됩니다.
버그 수정
- API 키 유지: LAN 모드를 잠시 활성화했다가 비활성화한 후 OpenRouter API 키가 '잊혀지는' 문제를 수정했습니다.
버전 0.8.67 (2025년 1월 7일)
새로운 기능
Kokoro TTS - 로컬 신경망 텍스트 음성 변환
- 고품질 음성: Kokoro는 여러 음성에 걸쳐 자연스러운 음성을 제공하는 로컬 신경망 TTS 모델입니다.
- API 키 불필요: WebGPU/WASM을 사용하여 기기 내에서 완전히 실행되므로 클라우드 서비스나 API 키가 필요하지 않습니다.
- 다양한 음성: 남성/여성 변형을 포함한 미국, 영국 및 기타 억양 옵션 중에서 선택할 수 있습니다.
- 긴 텍스트 지원: 스트리밍 합성을 통해 긴 텍스트를 적절하게 처리하며, 30초에서 끊기는 현상이 없습니다.
- 깨끗한 음성: 말하기 전에 마크다운 서식(굵게, 기울임꼴 등)을 자동으로 제거합니다.
개선 사항
음성 설정
- 통합 음성 섹션: TTS 및 STT 설정이 더 깔끔한 레이아웃으로 통합되었습니다.
- 음성 미리듣기: 선택한 음성을 사용하기 전에 테스트할 수 있습니다.
버전 0.8.66 (2025년 1월 7일)
개선 사항
설정 패널 검색
- 필터 검색: 설정 상단에 새로운 검색 상자가 추가되어 키워드별로 섹션을 빠르게 필터링할 수 있습니다.
- 즉각적인 결과: 입력 시 필터링되며 일치하는 섹션이 즉시 나타납니다.
- 키보드 친화적: 설정을 열면 검색창에 자동으로 포커스가 맞춰집니다.
MCP 서버 신뢰성
- 시작 확인: MCP 서버가 성공을 반환하기 전에 실행 중인지 확인합니다.
- 더 나은 오류 메시지: MCP 서버가 시작 중에 충돌할 경우, 일반적인 실패 메시지 대신 실제 오류가 표시됩니다.
- 예제 수정: 예제 패키지 이름을
@modelcontextprotocol/server-*로 수정했습니다(기존@anthropic/mcp-server-*아님).
macOS 앱 인증
- 자체 검증 토큰: WebSocket 상태 동기화 전에 MCP 서버를 추가할 때 발생하던 401 오류를 수정했습니다.
- 더 빠른 인증: HTTP 엔드포인트가 더 이상 WebSocket 연결을 기다릴 필요가 없습니다.
버전 0.8.65 (2025년 1월 6일)
새로운 기능
ElevenLabs 음성 통합 (BYOK)
- 클라우드 TTS: ElevenLabs를 사용한 고품질 텍스트 음성 변환 - 다양한 음성과 모델 선택 가능
- 클라우드 STT: 실시간 스트리밍(~150ms 지연 시간) 및 90개 이상의 언어를 지원하는 Scribe 전사
- 음성 선택: 설정에서 ElevenLabs 음성 라이브러리를 직접 탐색하고 선택
- 모델 옵션: Flash v2.5(초고속 ~75ms), Turbo v2.5 또는 Multilingual v2(최고 품질) 중에서 선택
- 본인 키 사용: 본인의 ElevenLabs API 키를 사용하며 Caiioo의 추가 비용 없음
다국어 Whisper 모델
- Whisper Tiny Multilingual: 99개 언어를 지원하는 새로운 로컬 STT 옵션(~39MB 다운로드)
- 영어 전용과 동일한 크기: Whisper Tiny English와 동일한 컴팩트한 39MB 크기
- 언어 감지: 음성 언어를 자동으로 감지
Google Docs 향상된 읽기 및 쓰기
- 기본 마크다운: 쓰기 시 텍스트가 기본적으로 마크다운으로 서식 지정됨. 기존 서식을 유지하는 일반 텍스트 삽입의 경우
useMarkdown: false사용. - 풍부한 서식: 마크다운 제목, 굵게, 기울임꼴, 취소선 및 링크를 기본 Google Docs 스타일로 변환
- 목록 및 표: 중첩된 순서 있는/없는 목록 및 마크다운 표 지원
- 제안 추적: 보류 중인 제안이 시맨틱 태그로 표시됨: 삽입의 경우
<ins>추가된 텍스트</ins>, 삭제의 경우<del>제거된 텍스트</del>. 인접한 태그는 교체를 나타냄. - 인라인 댓글: 댓글이 작성자 속성과 함께 인라인으로 표시됨:
<comment author=\"이름\" on=\"인용된 텍스트\">내용</comment>, 스레드의 경우 중첩된<reply>태그 사용
개선 사항
Gemini 확장 생각(Extended Thinking)
- 개선된 생각 서명: 스트리밍 청크 전반에서 Gemini의 thought_signature 처리를 개선하여 다회차 도구 사용 시 확장 생각의 연속성 향상
버전 0.8.64 (2025년 1월 5일)
새로운 기능
Google Sheets 셀 메타데이터
- 하이퍼링크 및 메모 읽기:
includeMetadata: true를 사용하여 셀에서 하이퍼링크, 메모, 데이터 유효성 검사 규칙을 가져올 수 있습니다. - 하이퍼링크 추가: 사용자 지정 표시 텍스트가 포함된 클릭 가능한 하이퍼링크를 추가하는 새로운
update_cell_metadata액션이 추가되었습니다. - 메모 추가: 프로그래밍 방식으로 셀에 메모/댓글을 첨부할 수 있습니다.
- 데이터 유효성 검사: 셀에 드롭다운, 숫자 범위, 텍스트 유효성 검사 및 사용자 지정 수식 규칙을 생성할 수 있습니다.
Safari 타일링 (macOS)
- 스마트 창 배치: 사이드패널에서 링크를 열 때, Safari 창이 사이드패널 옆에 자동으로 배치되어 간편하게 나란히 브라우징할 수 있습니다.
- 화면 공간 최적화: 타일링 로직이 사용 가능한 화면 공간을 기반으로 최적의 Safari 배치 위치를 계산합니다.
- 모드 변경 시 재타일링: 사이드패널 모드가 변경되면 Safari 창이 자동으로 재배치됩니다.
macOS 사이드패널 내 복사/붙여넣기
- 전체 복사/붙여넣기 지원: 이제 macOS 사이드패널 앱에서 복사 및 붙여넣기가 안정적으로 작동합니다.
- 시스템 키보드 단축키: 표준 ⌘C/⌘V 단축키가 예상대로 작동합니다.
개선 사항
macOS 서버 안정성
- 신호 처리: 파이프 신호 처리를 개선하여 예기치 않은 앱 종료를 방지합니다.
- 재시작 안정성: 적절한 정리 작업을 통해 서버 중지 및 재시작 작업이 더욱 안정화되었습니다.
- 연결 안정성: 재시도 로직 및 지수 백오프(exponential backoff)를 통해 OAuth 토큰 갱신 처리가 개선되었습니다.
Safari 확장 프로그램
- 안정적인 브라우저 ID: Safari 확장 프로그램이 이제 안정적인 브라우저 ID를 생성하여 재연결 시 중복 항목이 발생하는 것을 방지합니다.
- 더 깔끔한 재연결: 서버 측 브라우저 등록 시 클라이언트가 제공한 안정적인 ID를 사용하여 더 깔끔한 재연결 처리가 가능해졌습니다.
모델 선택기
- 선택 항목으로 스크롤: 모델 드롭다운을 열 때 현재 선택된 모델 위치로 자동으로 스크롤됩니다.
macOS 앱 내 탭 참조
- 사이드패널에서 작동: 이제 Chrome뿐만 아니라 네이티브 macOS 사이드패널에서도 탭 참조 및 컨텍스트가 작동합니다.
버전 0.8.63 (2025년 12월 31일)
새로운 기능
음성 출력 (텍스트 음성 변환)
- 음성으로 읽기: 이제 Microsoft Edge TTS를 사용하여 AI 응답을 음성으로 들을 수 있습니다.
- 자동 재생 옵션: 설정에서 새로운 AI 응답을 자동으로 읽어주는 기능을 활성화하세요.
- 속도 조절: 재생 속도를 0.5배속에서 2배속까지 조절할 수 있습니다.
- 일시정지/재개: 각 메시지의 일시정지 및 재개 버튼으로 재생을 제어하세요.
로컬 음성 인식 (Whisper)
- Whisper 업그레이드: 더 정확한 음성 입력을 위해 로컬 Whisper 전사 기능을 선택하여 사용할 수 있습니다.
- 모델 다운로드: 오프라인 사용을 위해 Whisper Tiny 모델(~40MB)을 다운로드하세요.
- 개인정보 보호: 오디오는 로컬에서 처리되며 외부 서버로 전송되지 않습니다.
- 대체 수단: Whisper를 사용할 수 없는 경우 Web Speech API로 자동 전환됩니다.
통합 일정 도구
- 단일 도구: 캘린더와 미리 알림 작업을 통합하는 새로운
agenda도구가 추가되었습니다. - 멀티 프로바이더: Google Calendar, Apple Calendar, Apple 미리 알림 및 Caiioo 미리 알림과 연동됩니다.
- 에이전트 편의성: 모든 일정 관리 요구사항을 위한 하나의 도구 인터페이스를 제공합니다.
개선 사항
설정 패널
- 섹션 접기 상태 유지: 섹션의 열림/닫힘 상태가 세션 간에 저장됩니다.
- 음성 설정: TTS 및 STT 기본 설정을 구성하기 위한 새로운 섹션이 추가되었습니다.
버전 0.8.62 (2025년 12월 31일)
새로운 기능
DOCX 목록 지원
- 번호 매기기 목록: 번호가 매겨진 목록이 포함된 Word 문서가 적절한 서식으로 올바르게 렌더링됩니다.
- 글머리 기호 목록: 글머리 기호 목록이 보존되고 정확하게 표시됩니다.
- 중첩 목록: HTML 미리보기에서 다단계 목록 들여쓰기가 유지됩니다.
스프레드시트용 CSV 내보내기
- CSV로 내보내기: XLSX 파일을 CSV로 내보내어 데이터를 쉽게 추출할 수 있습니다.
- 형식 선택: 스프레드시트 첨부 파일을 다운로드할 때 XLSX 또는 CSV 중에서 선택할 수 있습니다.
버전 0.8.61 (2025년 12월 30일)
새로운 기능
도구 승인 워크플로우
- 대화형 승인: 이제 특정 도구는 실행 전 사용자 승인이 필요합니다. 작업을 승인하거나 거부할지 묻는 모달이 표시됩니다.
- 상태 추적: 이제 도구 실행 시 타임라인에 '승인 대기 중(pending approval)' 및 '거부됨(denied)' 상태가 표시됩니다.
- 기본 안전 설정: 민감한 작업은 진행하기 전에 명시적인 사용자 동의를 기다립니다.
현재 위치 변수
- {{currentLocation}}: 프롬프트에 현재 위치 컨텍스트를 추가하기 위한 새로운 변수입니다.
- 지리적 위치 권한: 처음 사용할 때 브라우저의 지리적 위치 권한이 필요합니다.
- 컨텍스트 인식: "내 주변 식당"이나 여행 계획과 같은 위치 기반 쿼리에 유용합니다.
일괄 스레드 관리
- 다중 선택 모드: 선택 모드를 전환하여 여러 스레드를 한 번에 선택할 수 있습니다.
- 일괄 삭제: 선택한 스레드를 한 번의 작업으로 삭제합니다.
- 일괄 보관/내보내기: 여러 스레드를 동시에 보관하거나 내보낼 수 있습니다.
Slate 이미지 뷰어
- 전용 뷰어: 이제 이미지가 Slate 내의 전체 화면 뷰어에서 열립니다.
- 확대/축소 컨트롤: 큰 이미지를 확대/축소하고 이동할 수 있습니다.
- 다운로드 옵션: 이미지를 로컬에 저장할 수 있는 빠른 다운로드 버튼이 제공됩니다.
개선 사항
추론 표시
- 더 나은 집계: 모델의 사고/추론 블록이 중복 없이 적절하게 결합됩니다.
- 더 깔끔한 표시: 확장된 사고 모델의 추론 콘텐츠가 더 안정적으로 표시됩니다.
Ollama 통합
- 스트리밍 추론: 로컬 Ollama 모델의 사고/추론 콘텐츠를 실시간으로 스트리밍합니다.
- 더 나은 모델 처리: Mistral 모델과의 호환성 및 엄격한 메시지 순서 요구 사항이 개선되었습니다.
첨부 파일 관리
- 고아 파일 정리: 어떤 스레드에도 연결되지 않은 고아 첨부 파일을 관리할 수 있는 설정 내 새 대화 상자가 추가되었습니다.
- 스레드에 할당: 고아 첨부 파일을 기존 스레드로 이동할 수 있습니다.
- 일괄 삭제: 고아 파일을 정리하여 저장 공간을 확보할 수 있습니다.
Slate 기본값
- 기본 마크다운: 유형을 지정하지 않고 새 Slate를 생성할 때, 이제 기본값으로 마크다운(.md) 형식이 적용됩니다.
버전 0.8.6 (2025년 12월 19일)
새로운 기능
브라우저 자동화를 위한 대기 작업
- 개별 대기 유형: 브라우저 자동화의 새로운
wait작업에 4가지 특수 대기 모드가 추가되었습니다:timeout- 기본 타이밍을 위한 단순 지연(기본 1000ms, 최대 30000ms)selector- 요소가 나타나거나 사라질 때까지 대기(스피너/로더에 유용)network_idle- fetch/XHR 요청이 완료될 때까지 대기(확장 프로그램 전용)animation- CSS 애니메이션 및 전환이 완료될 때까지 대기
- 스마트 요소 가시성: 선택기 대기는 정확한 가시성 감지를 위해 표시, 가시성, 불투명도 및 offsetParent를 확인합니다.
개선 사항
브라우저 자동화 아키텍처
- 통합 스크립트 실행: 새로운
executeInPage추상화는 Chrome 확장 프로그램 및 릴레이/서버 컨텍스트 전반에서 일관된 동작을 보장합니다. - MAIN 월드 실행: 페이지 수준 JavaScript(fetch, XHR)를 가로채야 하는 작업을 위한 적절한 MAIN 월드 스크립트 실행
- 우아한 성능 저하: 확장 프로그램 전용 기능은 릴레이 모드에서 사용 시 대안이 포함된 유용한 오류 메시지를 제공합니다.
버그 수정
OAuth 토큰 새로 고침
- Chrome 확장 프로그램 토큰 새로 고침: Chrome의 캐시된 OAuth 토큰이 제대로 새로 고쳐지지 않던 오래된 토큰 문제를 수정했습니다. 이제 토큰이 검증되고 재시도 전에 오래된 토큰이 삭제됩니다.
- PKCE 인증 흐름: OAuth 팝업이 암시적 흐름 대신 PKCE를 사용하는 인증 코드 흐름을 사용하여 클라이언트 비밀번호 없이도 적절한 새로 고침 토큰 지원을 활성화합니다.
- 직접 토큰 새로 고침: 새로 고침 토큰이 있는 연결은 백엔드 서버 없이 Google의 토큰 엔드포인트를 사용하여 직접 새로 고칠 수 있습니다.
- 토큰 검증: 취소/유효하지 않은 토큰을 조기에 포착하고 자동 재인증을 트리거하는 토큰 검증 단계를 추가했습니다.
버전 0.8.5 (2025년 12월 19일)
새로운 기능
Apple Calendar 연동
- 네이티브 캘린더 접근: 새로운 Apple Calendar 도구는 EventKit을 통해 macOS 캘린더에 빠르고 네이티브한 접근을 제공합니다.
- 통합 일정: 연결된 모든 계정(Google Calendar + Apple Calendar)의 미리 알림과 캘린더 이벤트를 통합 뷰로 보여줍니다.
- 다중 계정 지원: 여러 Google Calendar 계정과 Apple 캘린더의 이벤트를 동시에 가져옵니다.
학습된 페이지
- 스마트 페이지 학습: 웹사이트의 구조를 캡처하여 Caiioo에게 특정 사이트에 대해 가르칠 수 있습니다.
- URL 패턴 매칭: 학습된 패턴은 동일한 사이트의 유사한 페이지에 자동으로 적용됩니다.
- DOM 스냅샷 저장: 캡처된 페이지 구조는 AI가 복잡한 웹 앱을 더 잘 이해하고 상호작용하도록 돕습니다.
RTF 문서 지원
- 서식 있는 텍스트 편집: Slate에서 직접 RTF(Rich Text Format) 문서를 업로드하고 편집할 수 있습니다.
- 양방향 변환: 서식을 유지하면서 RTF와 HTML 간의 변환이 가능합니다.
- 내보내기 옵션: 편집된 문서를 Pages, Word 또는 기타 워드 프로세서에서 사용할 수 있도록 RTF로 다운로드하세요.
개선 사항
데스크톱 앱 보안
- 릴레이 인증: 확장 프로그램과 데스크톱 서버 간의 안전한 HMAC-SHA256 인증을 적용했습니다.
- 사용자별 토큰: 다중 사용자 보안을 위해 인증 토큰이 이제 사용자 ID와 연결됩니다.
- 보호된 엔드포인트: 모든 민감한 API 엔드포인트에 인증이 필요합니다.
성능
- Swift 헬퍼: Apple 미리 알림, 캘린더 및 메모를 위한 네이티브 Swift 바이너리가 AppleScript보다 10배 빠른 접근 속도를 제공합니다.
- 직접 호출: 데스크톱 컨텍스트에서 실행될 때, Apple 도구는 지연 시간을 줄이기 위해 HTTP 릴레이를 우회합니다.
- 공유 유틸리티: 통합된 릴레이 API 클라이언트를 통해 코드 중복을 제거했습니다.
버그 수정
- 캘린더 이벤트 중복 제거: 여러 캘린더에 나타나는 이벤트가 통합 뷰에서 올바르게 중복 제거됩니다.
- 프롬프트 캐싱: 토큰 추정 중에 캐시 제어 마커가 제거되던 문제를 수정했습니다.
버전 0.8.45 (2025년 12월 18일)
새로운 기능
- 이미지 중복 제거: 대화에 동일한 이미지를 여러 번 업로드하면 AI가 이를 중복으로 인식하고 다시 처리하는 대신 원본을 참조합니다. 이는 컨텍스트 토큰을 절약하고 AI가 동일한 이미지를 참조하고 있음을 이해하도록 돕습니다.
개선 사항
- 문서 중복 제거: 소스 간 문서 매칭이 개선되었습니다. 사용자 업로드, Gmail 첨부 파일 또는 웹 페이지 수집 등 출처에 관계없이 동일한 문서 콘텐츠가 인식됩니다.
버그 수정
- PDF 인증 오류: 보호된 PDF를 가져올 때 인증 오류(401, 403)가 일반적인 추출 실패로 마스킹되던 문제를 수정했습니다. 이제 실제 인증 오류가 유용한 안내와 함께 적절하게 표시됩니다.
버전 0.8.44 (2025년 12월 18일)
버그 수정
- 새로 고침/재생성 버튼: 어시스턴트 메시지에서 새로 고침을 클릭하면 생성 중인 새 응답 대신 이전 응답이 표시되던 문제를 수정했습니다. 이제 UI가 스트리밍 중에 새 분기로 적절하게 전환됩니다.
개선 사항
- 컨텍스트 윈도우 관리: 모든 페이지 매기기 및 컨텍스트 계산에 더 보수적인 토큰 추정(3자/토큰)이 일관되게 사용되어 대형 웹 페이지에서 컨텍스트 오버플로 오류가 발생할 가능성이 줄어듭니다.
버전 0.8.43 (2025년 12월 17일)
개선 사항
타임라인 및 추론 표시
- 완료 시 자동 접기: 추론 블록과 프로세스 타임라인이 생성 완료 시 자동으로 접혀 대화 내용을 깔끔하게 유지하면서도 계속 액세스할 수 있습니다.
- 중간 사고 표시: 도구 호출 간 에이전트의 "생각"이 타임라인에 인라인으로 표시되어 에이전트의 의사 결정 과정에 대한 더 나은 통찰력을 제공합니다.
- 도구 작업 레이블: 도구 호출 시 레이블에 특정 작업이 표시됩니다 (예: "Web Browse" 대신 "Web Browse → click").
도구 결과
- 스크린샷 표시 수정: 스크린샷과 이미지는 이제 도구 결과에서 자동으로 확장되지 않으며, 렌더링된 텍스트 콘텐츠(검색 결과 등)만 자동으로 확장됩니다.
버그 수정
- Ollama CORS: Chrome 확장 프로그램에서 Ollama 사용 시 발생하던 연결 문제를 수정했습니다. 이제 CORS 헤더가 자동으로 처리됩니다.
버전 0.8.41 (2025년 12월 15일)
개선 사항
- 타입 안정성: 서버 저장소 어댑터가 이제 스레드, 스킬, 프로필, MCP 서버 및 라이선스 정보에 대해
any대신 적절한 TypeScript 타입을 사용합니다. - 빌드 시스템: 백업 디렉토리가 이제
caiioo_BACKUP_DIR환경 변수를 통해 선택적으로 사용됩니다(더 이상 하드코딩되지 않음).
버전 0.8.4 (2025년 12월 15일)
새로운 기능
DNG/RAW 이미지 지원
- 카메라 RAW 파일: 카메라나 사진 라이브러리에서 DNG(Digital Negative) 파일을 직접 업로드하세요.
- 자동 미리보기 추출: RAW 파일에서 JPEG 미리보기가 추출되어 빠르게 처리됩니다.
- 원본 품질 보존: AI가 고품질 미리보기로 작업하는 동안 원본 RAW 데이터는 보존됩니다.
향상된 이미지 처리
- 서버 측 압축: 로컬 압축 제한을 초과하는 대용량 이미지는 이제 데스크톱 서버에서 처리됩니다.
- 더 나은 오류 피드백: 이미지 처리 실패 시 시각적 오류 표시기(빨간색 테두리, 경고 아이콘)가 표시됩니다.
- 우아한 대체(Fallback): 오프스크린 문서를 사용할 수 없을 때 압축이 자동으로 서버로 대체됩니다.
개선 사항
- 공유 에이전트 아키텍처: 확장 프로그램과 데스크톱 서버 간에 통합된 에이전트 러너를 공유하여 일관된 동작을 보장합니다.
- 프로토콜 핸들러 통합: 저장소 및 메시지 처리가 이제 공유 프로토콜 핸들러를 사용합니다.
버전 0.8.3 (2025년 12월 13일)
새로운 기능
네이티브 모바일 앱
- Android 앱: WebView와 네이티브 브릿지 채널(CalendarContract, SAF/사진 선택기, AlarmManager, OkHttp 스트리밍)을 갖춘 네이티브 Kotlin 앱(
android-app/) 출시 - 공유 UI: 일관된 경험을 위해 모바일 앱에서도 웹 확장 프로그램과 동일한 React UI를 사용합니다.
- iOS + Android: 일치하는 브릿지 API를 갖춘 네이티브 Swift(iOS) 및 네이티브 Kotlin(Android) 지원
개선 사항
- ID 동기화: 확장 프로그램과 데스크톱 서버 간의 라이선스 및 프로필 데이터 동기화를 개선했습니다.
- 첨부 파일 관리: LAN/릴레이 모드에서 첨부 파일 처리를 개선했습니다.
- 확장 프로그램 클라이언트 추적: 데스크톱 서버가 이제 연결된 확장 프로그램 클라이언트를 타임스탬프와 함께 추적합니다.
제거됨
- Swift 릴레이 앱: macOS 릴레이 기능이 이제 네이티브 앱 서버에서 완전히 처리됩니다 (0.8.2에서 도입).
버전 0.8.2 (2025년 12월 12일)
새로운 기능
크로스 플랫폼 데스크톱 서버
- Caiioo 서버: macOS 전용 Swift 릴레이 앱을 대체하는 새로운 Electron 기반 데스크톱 애플리케이션입니다.
- Windows 지원: 네이티브 Windows 설치 프로그램(NSIS) 및 포터블 실행 파일을 지원합니다.
- Linux 지원: Linux 배포판을 위한 AppImage 및 .deb 패키지를 지원합니다.
- 메뉴 바 통합: 상태 표시기 및 빠른 제어 기능이 포함된 시스템 트레이/메뉴 바 앱을 제공합니다.
플랫폼별 스크립트 실행
- 통합 스크립트 API: 새로운
/api/script엔드포인트가 플랫폼을 자동 감지하고 적절한 스크립트 엔진을 사용합니다. - Windows PowerShell: Windows 시스템 자동화를 위해 PowerShell 스크립트를 실행합니다.
- Linux Bash: Linux 시스템에서 쉘 스크립트(bash/sh/zsh)를 실행합니다.
- macOS AppleScript: 기존의 AppleScript/JXA 지원이 유지됩니다.
크로스 플랫폼 헬퍼
- 데스크톱 알림: 모든 플랫폼에서 네이티브 API를 사용하여 알림을 표시합니다.
- 클립보드 접근: 플랫폼에 관계없이 클립보드 내용을 읽고 씁니다.
- 활성 창 감지: 포그라운드 애플리케이션 및 창 제목을 가져옵니다.
- 시스템 정보: OS, CPU 및 메모리 정보를 검색합니다.
개선 사항
- 자동 빌드 파이프라인: 빌드 중 메인 프로젝트의 버전, 아이콘 및 라이선스가 동기화됩니다.
- 배포 용량 축소: 통합 빌드 준비를 위해 중복된 모바일 앱 코드베이스를 제거했습니다.
버전 0.8.1 (2025년 12월 11일)
새로운 기능
유연한 로그인 옵션
- 다중 인증 방법: Google OAuth, 이메일/비밀번호 또는 라이선스 키로 로그인 - 가장 편리한 방법을 선택하세요
- 계정 연결: Google 계정을 기존 이메일/비밀번호 계정에 연결하여 여러 방법으로 원활하게 액세스
MCP 서버용 사용자 지정 OAuth
- 사용자 고유 OAuth 자격 증명 사용: 사전 등록된 OAuth 클라이언트가 필요한 MCP 서버의 경우, 이제 고유한 클라이언트 ID와 비밀을 제공할 수 있습니다
- 동적 토큰 새로 고침: OAuth 토큰이 자동으로 새로 고쳐져 MCP 서버에 대한 중단 없는 연결 보장
개선 사항
- 문서 처리 표시기: PDF, Word 문서 및 Excel 스프레드시트 처리 시 명확한 시각적 표시기 제공
- 티어별 설정 탐색: 설정 패널이 구독 티어에 따라 관련 옵션을 지능적으로 표시
- 더 나은 OAuth 오류 처리: MCP 서버 OAuth 검색 실패 시 개선된 오류 메시지 제공
Version 0.8.0 (2025년 12월 10일)
New Features
MCP Server Browser & Management
- Browse MCP Servers: Settings 내에서 MCP Registry와 npm의 MCP 서버를 직접 검색하고 설치할 수 있습니다.
- Local MCP Servers: 강화된 개인정보 보호 및 제어를 위해 relay app을 통해 로컬 머신에서 MCP 서버를 실행할 수 있습니다.
- Credential Resolution: MCP 서버가 안전한 인증을 위해 Credentials Vault에서 자격 증명을 가져올 수 있습니다.
- Health Monitoring: 연결된 MCP 서버에 대한 자동 상태 확인 및 상태 표시기 기능이 추가되었습니다.
Profile Management
- Multiple Profiles: 여러 사용자 프로필을 생성하고 전환할 수 있습니다.
- Profile Switcher: composer에서 프로필을 쉽게 전환할 수 있는 드롭다운 메뉴가 추가되었습니다.
- Profile Deletion: 더 이상 필요하지 않은 프로필을 삭제할 수 있습니다.
Google Account Selection
- Account Choice Dialog: Google 서비스를 연결할 때, Chrome 프로필 계정을 선택하거나 다른 Google 계정을 추가할 수 있습니다.
- Web OAuth Flow: Chrome에 로그인되지 않은 계정을 위해 웹 브라우저를 통한 인증 옵션이 제공됩니다.
Enhanced Browser Agent
- Go Back Action: 에이전트가 브라우저 기록에서 뒤로 가기 동작을 수행할 수 있습니다.
- ARIA Snapshot: 더 적은 토큰으로 효율적인 페이지 분석을 위해 접근성 트리 스냅샷을 캡처합니다.
Mobile Apps
- iOS App: 로컬 네트워크에서 Caiioo에 접속하기 위한 네이티브 iOS 클라이언트가 출시되었습니다.
- Android App: 서버 검색 및 WebView 캐싱 기능이 포함된 네이티브 Android 클라이언트가 출시되었습니다.
Multi-Device Sync
- Device Identity: 연결된 각 기기/확장 프로그램은 고유한 ID로 추적됩니다.
- State Synchronization: 연결된 여러 확장 프로그램 간의 실시간 상태 동기화를 지원합니다.
- Web Client Authentication: relay에 연결되는 웹 클라이언트를 위한 보안 인증 기능이 추가되었습니다.
Improvements
- LLM Provider Key Management: Credentials Vault에서 다양한 LLM 제공업체의 API 키를 직접 관리할 수 있습니다.
- MCP Tool Images: 이미지를 반환하는 MCP 도구가 이제 대화창 내에 이미지를 인라인으로 표시합니다.
- PDF Text Detection: PDF 추출 시 텍스트가 깨지거나 간격이 벌어진 현상에 대한 감지 기능을 개선하고 신뢰도 평가를 도입했습니다.
- CORS Bypass for Images: CORS 제한을 우회하기 위해 이제 offscreen document를 통해 이미지를 가져옵니다.
Bug Fixes
- Generation State Tracking: 생성 완료가 정확하게 감지되도록 최종 상태 캡처 기능을 개선했습니다.
버전 0.7.8 (2025년 12월 7일)
새로운 기능
Excel 스프레드시트 지원
- XLSX 가져오기: Excel 스프레드시트(.xlsx)를 대화에 직접 업로드하세요.
- 데이터 추출: 스프레드시트 콘텐츠를 파싱하여 AI가 분석할 수 있도록 제공합니다.
- 왕복 편집: Slate에서 스프레드시트를 편집하고 다시 XLSX 형식으로 내보낼 수 있습니다.
업데이트 소식 대화상자
- 업데이트 알림: Caiioo 업데이트 후, 새 버전의 릴리스 노트를 보여주는 "업데이트 소식" 대화상자가 자동으로 나타납니다.
- 버전별 노트: 서식 있는 기능 목록과 개선 사항을 통해 업데이트에서 변경된 내용을 정확히 확인하세요.
- 방해 금지: 대화상자는 업데이트당 한 번만 나타나며, 처음 설치 시에는 표시되지 않습니다.
버전 0.7.6 (2025년 12월 3일)
새로운 기능
변경 내용 추적 기능이 포함된 Word 문서 지원
- DOCX 가져오기: Word 문서(.docx)를 대화창에 직접 업로드
- 변경 내용 추적 표시: 삽입(녹색) 및 삭제(빨간색 취소선)된 내용을 작성자와 날짜와 함께 마우스 오버 시 확인
- 댓글 지원: 댓글은 노란색으로 강조 표시되며, 마우스 오버 시 댓글 내용과 작성자를 보여주는 툴팁 표시
- Slate 편집: 변경 내용 추적 스타일이 완벽하게 적용된 상태로 Slate에서 DOCX 콘텐츠를 보고 편집
- 다크 모드 지원: 모든 변경 내용 추적 및 댓글 스타일이 라이트 및 다크 테마 모두에서 작동
버전 0.7.4 (2025년 12월 2일)
새로운 기능
FLUX 이미지 생성기
- AI 이미지 생성: OpenRouter를 통해 FLUX AI 모델을 사용하여 텍스트 설명으로 이미지 생성
- 이미지 편집: 첨부 파일 ID와 편집 지침을 제공하여 대화 중인 기존 이미지 편집
- 다중 참조 지원: flux.2-flex 모델로 최대 10개의 이미지 요소를 결합
- 다중 모델: flux.2-pro(빠름, 기본값) 또는 flux.2-flex(최고 품질) 중에서 선택
- 자동 저장: 생성된 이미지는 대화에 저장되고 인라인으로 표시됨
- 비용 추적: 이미지 생성 비용이 별도로 추적되어 스레드 합계에 추가됨
버전 0.7.3 (2025년 12월 1일)
새로운 기능
향상된 모델 선택기
- 통합 모델 선택기: 작곡가(composer)와 설정 전반에서 일관된 모델 선택 경험
- 개인정보 보호 표시기: 방패 아이콘은 ZDR(Zero Data Retention) 모델을 표시하며, 프롬프트가 학습에 사용되지 않음
- 비전 지원: 눈 아이콘은 이미지를 분석할 수 있는 모델을 나타냄
- 추천 모델: 별 아이콘은 추천 모델(Claude Haiku 4.5, Claude Sonnet 4.5)을 강조 표시
- 비용 투명성: 모델 목록에서 백만 토큰당 가격을 직접 확인하여 무료 모델을 쉽게 식별
- 아이콘 범례: 설정의 빠른 참조를 통해 각 표시기의 의미 확인
버전 0.7.2 (2025년 12월 1일)
새로운 기능
PDF 문서 수집
- PDF 직접 업로드: 메시지에 PDF 문서를 첨부하면 Mistral OCR을 통해 자동으로 처리됨
- 고품질 텍스트 추출: 표, 그림, 수식 및 서식이 Markdown으로 보존됨
- 에이전트 문서 수집: 에이전트는 새로운
ingest_document작업을 사용하여 브라우징 중 발견한 PDF URL을 처리할 수 있음 - 영구 저장: 추출된 콘텐츠는 재처리 비용 없이 향후 참조를 위해 저장됨
버그 수정
- 대용량 이미지 첨부: 5MB가 넘는 이미지는 LLM API로 전송되기 전에 자동으로 압축되어, Google/Gemini와 같은 제공업체에서 발생하는 "이미지가 최대 5MB를 초과함" 오류 해결
버전 0.7.0 (2025년 12월 1일)
새로운 기능
멀티 스레드 지원
- 여러 에이전트 동시 실행: 이제 최대 3개의 스레드를 동시에 실행할 수 있음
- 시각적 실행 표시기: 스레드가 활발히 생성 중일 때 사이드바의 스레드 제목 옆에 애니메이션 점이 나타남
- 백그라운드 처리: 에이전트가 포커스를 뺏지 않고 백그라운드에서 작업하므로, 작업 중 자유롭게 브라우징 가능
- 스레드 격리: 각 스레드는 자체 탭과 상태를 독립적으로 추적
에이전트 비간섭
- 제어 유지: 에이전트가 탭을 열거나 페이지를 탐색할 때, 사용자가 다른 탭으로 이동했다면 포커스를 뺏지 않음
- 스마트 탭 인식: 에이전트는 자신이 생성했거나 시작한 탭에서만 작업하며, 실행 중간에 새 탭으로 따라가지 않음
Apple 통합 (macOS)
- Apple Notes: 폴더 전반에서 메모를 읽고, 생성하고, 검색하고, 정리 - AI가 메모 초안 작성 및 편집을 직접 지원
- Apple Reminders: 할 일 목록 및 미리 알림 관리 - AI 지원을 통해 작업 생성, 완료 및 정리
버전 0.6.5 (2025년 11월 30일)
새로운 기능
AI 후속 제안
- 스마트 프롬프트: 어시스턴트가 응답한 후, 대화를 이어갈 수 있도록 AI가 생성한 후속 제안이 나타남
- 컨텍스트 인식: 제안은 대화 컨텍스트와 사용자가 다음에 수행할 작업을 기반으로 함
개선 사항
LAN 릴레이 설정
- 네트워크 주소 표시: 릴레이 서버에 연결되면 설정에서 모바일 장치 연결을 쉽게 할 수 있도록 실제 IP 주소와
.local호스트 이름을 표시 - 간소화된 지침: 서버가 실행되면 연결 정보가 자동으로 나타나므로 터미널을 확인할 필요 없음
버전 0.6.4 (2025년 11월 29일)
버그 수정
Slate 수정 시스템
- 단어 단위 수락/거부: 개별 단어 변경 사항을 후속 변경 사항을 깨뜨리지 않고 안정적으로 수락하거나 거부할 수 있음
- 안정적인 변경 추적: 변경 사항을 수락하면 다른 보류 중인 변경 사항을 클릭할 수 없게 되는 문제 수정
- 미리보기의 Markdown 렌더링: 변경 미리보기에서 원시 별표 대신 Markdown 서식(굵게, 기울임꼴 등)이 렌더링됨
- 무한 루프 수정: 순수 텍스트 추가를 수락할 때 브라우저가 멈추는 현상 수정
- 전체 Diff 표시: 변경 미리보기에서 최소한의 차이점뿐만 아니라 삭제 및 추가된 모든 단어를 표시
버전 0.6.3 (2025년 11월 26일)
새로운 기능
- 기본 사용자 경험: 신규 사용자는 이제 관리자가 아닌 기본 사용자로 시작
- 라이선스 키 업그레이드: 설정에 라이선스 키로 관리자 기능을 잠금 해제할 수 있는 "Pro로 업그레이드" 버튼 추가
- 간소화된 온보딩: 핵심 기능에 집중한 더 깔끔한 첫 사용자 경험
버전 0.6.2 (2025년 11월 26일)
버그 수정
- 생성 시간 초과 복구: UI가 무기한 "생성 중"으로 표시되는 긴 Slate 작업 중 발생하는 조용한 실패 수정
- 백엔드에서 생성 중 활동을 추적하고 2분 동안 진행 상황이 없으면 시간 초과 처리
- 스트리밍 청크, 도구 실행 및 에이전트 결정은 모두 시간 초과를 재설정함
- 생성 중간에 서비스 워커가 다시 시작될 때 자동 복구(고아 상태 감지)
- 시간 초과 발생 시 조용한 멈춤 대신 사용자에게 오류 메시지 표시
버전 0.6.1 (2025년 11월 26일)
새로운 기능
스레드 가져오기/내보내기
- 선택한 스레드 내보내기: 선택 모드를 전환하여 내보낼 특정 스레드를 선택할 수 있습니다.
- 모든 스레드 내보내기: 첨부 파일이 포함된 모든 대화를 클릭 한 번으로 내보낼 수 있습니다.
- 파일에서 가져오기: 내보낸 JSON 파일에서 스레드를 가져올 수 있습니다.
- 선택적 가져오기: 파일에서 가져올 스레드를 선택할 수 있습니다.
- 중복 감지: 이미 존재하는 스레드를 자동으로 감지하며, 건너뛰거나 덮어쓰는 옵션을 제공합니다.
- 첨부 파일 지원: 모든 이미지, PDF 및 파일이 내보내기에 포함됩니다.
- 보관된 스레드 지원: 활성 스레드와 보관된 스레드 모두 내보내기/가져오기가 가능합니다.
개선된 프롬프트 캐싱
- Claude 모델을 사용한 긴 대화에서 캐시 적중률(cache hit rates)이 향상되었습니다.
- 대화 길이에 따라 동적 캐싱 전략이 적응합니다.
Google Workspace 연동
- Google Drive: 파일 및 폴더 검색, 생성, 복사, 이동, 공유가 가능합니다.
- Gmail: 이메일 읽기, 라벨 관리, 초안 작성이 가능합니다 (안전 우선: 초안 작성만 가능하며 자동 전송은 불가).
- Google Calendar: 캘린더 목록 조회, 이벤트 쿼리, 이벤트 생성/업데이트/삭제, 빈 시간대 확인이 가능합니다.
- 인라인 권한 승인: 설정 페이지로 이동할 필요 없이 채팅창에서 직접 Google 액세스 권한을 승인할 수 있습니다.
웹 브라우징 개선
- 화면 위치별로 요소를 클릭할 수 있는 새로운
click_coordinates액션이 추가되었습니다. - 이제 URL이 기본적으로 새 탭에서 열립니다 (탭 덮어쓰기 방지).
- 대화 스레드별로 탭이 자동으로 그룹화됩니다.
- 안정적인 요소 클릭을 위해 CSS 선택자 감지 기능이 향상되었습니다.
모델 선택
- 빠른 전환을 위해 모델 선택기가 작성 영역(composer area)으로 이동되었습니다.
- 모드를 전환해도 선택한 모델이 전역적으로 유지됩니다.
- Vision 기능이 있는 모델은 눈 아이콘으로 표시됩니다.
스트리밍 UI
- 도구 파라미터가 스트리밍되는 동안 실시간으로 표시됩니다.
- 추론/생각(reasoning/thinking) 블록이 점진적으로 표시됩니다.
- 응답 중 "생성 중..." 상태 표시기가 나타납니다.
토큰 사용량 및 비용 추적
- 입력, 출력, 추론 및 캐시된 토큰을 표시합니다.
- 메시지당 비용 및 스레드 누적 비용을 표시합니다.
UI 개선 사항
- 모든 사용자에게 모드 선택기 제공: 관리자가 아닌 사용자도 설정에서 모드를 전환할 수 있습니다.
- 접이식 설정 섹션: 탐색이 용이하도록 설정 패널의 섹션을 접거나 펼칠 수 있습니다.
- AI & 모델 구성 (LLM Provider, API Key, 모델, Temperature, Max Iterations)
- 개인화 (개인 지침, 프로필 변수)
- 에이전트 모드 구성 (모드 선택기, 변수, 지침, 브랜딩, 도구, MCP 서버)
- 모양 설정
- 백업 및 복구
- 문서
- 모드별 테마 색상: 각 내장 모드에 기본 색상 체계가 적용되었습니다.
- Shopping Agent: 녹색
- Travel Agent: 파란색
- Helper Agent: 분홍색
- Caiioo (일반): 보라색
- 크로매틱 모드: 색상 스펙트럼을 점진적으로 순환하는 색상 회전 기능을 활성화할 수 있습니다.
- 테마 재정의 관리:
- 테마가 사용자 정의되었을 때 시각적 표시기가 나타납니다 (모드 전환 시에도 유지됨).
- "모드 기본값으로 저장" 버튼(관리자용)을 통해 테마를 해당 모드의 새로운 기본값으로 저장할 수 있습니다.
- "모드 기본값으로 재설정"을 통해 원래의 모드 테마 색상으로 복구할 수 있습니다.
- 새로운 Caiioo 브랜딩 및 아이콘이 적용되었습니다.
- 모드 선택기가 작성 영역으로 이동되었습니다.
- 새 스레드 버튼에 모드 선택 드롭다운이 표시됩니다.
- 작성 영역 상단 바에 스레드 목록 토글이 추가되었습니다.
- 제어되는 브라우저 탭에 비네트 테두리 효과가 추가되었습니다.
- 제어되는 탭에 플로팅 중지 버튼이 추가되었습니다.
- 드롭다운 메뉴가 화면 가장자리 근처에서 적절하게 위치하도록 조정되었습니다.
버그 수정
- 설정 변경 후 모델 선택기가 즉시 업데이트됩니다.
- 신규 사용자 온보딩 시 이제 Helper Agent가 올바르게 실행됩니다.
- 잘못된 형식의 사용자 정의 변수로 인해 설정 패널이 충돌하던 문제를 수정했습니다.
- 스레드 제목이 변경될 때 탭 그룹 이름이 함께 업데이트됩니다.
- Slate 수락/거절 위젯이 올바른 위치에 표시됩니다.
- 더 많은 모델(Haiku 4.5, Gemini 등)에서 확장된 생각(extended thinking) 기능이 작동합니다.
- "maximum 4 cache_control blocks" 오류를 수정했습니다.
버전 0.3.4 (2025년 11월 24일)
새로운 기능
텍스트 선택 컨텍스트
- 웹페이지에서 텍스트 선택 시 "프롬프트에 추가" 버튼이 나타납니다.
- 선택된 텍스트가 페이지 컨텍스트와 함께 작성기에 칩 형태로 표시됩니다.
- 정밀한 에이전트 상호작용을 위해 DOM 위치를 캡처합니다.
Google Calendar 연동
- 전체 캘린더 관리 (이벤트 목록 조회, 생성, 업데이트, 삭제)
- 모든 캘린더에 걸친 스마트한 가용 시간 검색
- 자연어 시간 파싱 ("내일", "다음 주") 지원
버그 수정
Slate 모드
- 승인/거절 버튼이 더 이상 에디터 콘텐츠 뒤에 숨겨지지 않습니다.
- 단어 단위의 차이점 강조 표시 (전체 줄이 아닌 단어 단위)
- 여러 개의 propose_change 호출이 이제 올바르게 누적됩니다.
- 뷰 전환 시 예기치 않게 원래대로 돌아가는 현상을 수정했습니다.
브랜드 변경
- 서비스 명칭이 "ContextFlow"에서 "Caiioo"로 변경되었습니다.
버전 0.3.0 (2025년 11월 22일)
새로운 기능
모바일 및 LAN 접속
- LAN 서버: 로컬 네트워크의 모든 기기에서 Caiioo에 접속할 수 있습니다.
- 대화 사이드바: 더 넓은 화면을 위해 브라우저 탭에서 대화를 열 수 있습니다.
- 모바일 내보내기: 오프라인 보기를 위해 대화를 독립형 HTML로 내보낼 수 있습니다.
버그 수정
- 심각한 메시지 분기 로직 버그를 수정했습니다.
- 보관된 스레드 관련 작업을 수정했습니다.
버전 0.2.0 (2025년 11월 21일)
새로운 기능
확장된 사고(Extended Thinking) 지원
- Claude 모델에서 확장된 사고/추론 블록 지원
- 모델의 사고 과정을 볼 수 있는 접기 가능한 추론 UI
- 다중 턴 연속성을 위해 추론 세부 정보 캐싱
새로운 LLM 제공업체
- Ollama 통합: Ollama를 통해 로컬 LLM 실행
- 설정 패널에서 제공업체 선택 가능
이미지 형식 지원
- HEIC/HEIF 지원: 호환성을 위해 Apple 이미지 형식이 자동으로 변환됨
UI 개선 사항
- 도구 메뉴 닫을 때 자동 저장
- 설정 패널 구성 개선
버그 수정
- 변수 자동 완성 위치 개선
버전 0.1.x (이전 릴리스)
핵심 기능
- 다중 모델 AI 채팅 (OpenRouter, Anthropic, OpenAI, Ollama)
- 브라우저 자동화 및 웹 스크래핑
- 코드 및 문서 편집을 위한 Slate
- MCP 서버 통합
- 스크린샷 및 비전 기능
- 음성 입력
- 스레드 관리 및 분기
- 프로필 및 모드 시스템