본 문서는 영어 원본을 기계 번역한 것입니다. 번역본과 영어 원본 사이에 내용이 상충할 경우 영어 원본이 우선합니다. 영어 원본 보기
버전 0.9.724 (2026년 6월 18일)
0.9.723의 후속 업데이트로, OpenAI를 BYOK(bring-your-own-key) 음성 제공자로 추가하고, 사용자가 완전히 제어할 수 있는 선택적 익명 사용 분석 기능을 도입했습니다. 또한 오디오 및 비디오 첨부 파일에 대한 더 풍부한 미리보기를 제공하며, 도구 사용이 많은 Hub 앱, 스킬 이름, 연결된 서비스 로그인, 그리고 구독 만료 후 실행 시 프리징 현상에 대한 수정을 포함합니다.
새로운 기능
- 공통: OpenAI가 이제 BYOK 음성 제공자로 지원됩니다: OpenAI의 gpt-4o-mini-tts가 모드별 텍스트 음성 변환(TTS) 선택기에 추가되었습니다. 이 음성 서비스는 조종이 가능합니다. 자연어로 억양, 톤 또는 속도를 요청하면(예: "따뜻한 아일랜드 억양으로 읽어줘") 음성이 이를 따릅니다. Settings → Voice에서 OpenAI API 키를 추가하세요.
- 공통: 오디오 및 비디오 첨부 파일에 실제 미리보기가 표시됩니다: 녹음되거나 첨부된 오디오 클립은 일반 파일 아이콘 대신 첨부 파일 칩에 실제 파형을 렌더링하며, 비디오 첨부 파일은 클립에서 추출한 정지 화면을 보여주므로 한눈에 클립을 구분할 수 있습니다. 미리보기는 한 번 생성된 후 재사용됩니다.
- 공통: 선택적 익명 사용 분석 — EEA, 영국 및 스위스에서는 기본적으로 꺼짐: 신뢰성 문제를 찾고 해결하는 데 도움이 되는 익명의 콘텐츠 없는 신호를 공유하도록 선택할 수 있습니다. 예를 들어, 응답이 성공했는지 또는 특정 유형의 오류가 발생했는지 여부와 답변에 대한 명시적인 👍/👎 피드백 등이 포함됩니다. 여기에는 귀하의 대화, 프롬프트, 신원, IP 주소 또는 세션 간에 귀하를 추적하는 식별자가 절대 포함되지 않습니다. 이는 퍼스트 파티 전용(제3자 트래커 없음)이며, 이벤트는 귀하와 연결될 수 있는 정보 없이 저장됩니다. EEA, 영국 및 스위스에서는 직접 켜기 전까지 꺼져 있으며, 그 외 지역에서는 원터치로 끌 수 있는 스위치와 함께 켜져 있습니다. Settings → Privacy & Diagnostics에서 언제든지 변경할 수 있으며, 설정 여부에 따른 비용, 할인 또는 기능 차이는 없습니다.
개선 사항
- 공통: Settings → Voice에서 음성 제공자가 저지연(low-latency)이 아닐 경우 경고를 표시합니다: Gemini 및 OpenAI는 오디오가 재생되기 전에 전체 응답 생성을 완료하므로, 오디오가 도착하는 대로 말을 시작하는 ElevenLabs, Cartesia, Resemble과 달리 긴 응답의 경우 첫 소리가 나오기까지 몇 초의 지연이 발생할 수 있습니다. 이제 느린 제공자 중 하나를 선택하면 음성 선택기 아래에 트레이드오프를 설명하고 더 빠른 옵션을 안내하는 짧은 메모가 표시되어, 지연이 혼란을 주는 대신 예상 가능한 범위 내에 있게 됩니다.
- 공통: 앱에 필요하지 않은 경우 오디오 분석 토글이 숨겨집니다: 마이크 옆의 파형 버튼(실제 녹음 내용을 첨부하여 들을 수 있는 모델이 프롬프트와 함께 검토할 수 있게 함)은 대부분의 작업에 유용하지 않은 틈새 기능입니다. 이제 기본적으로 숨겨지며, 이를 명시적으로 사용하는 모드나 앱에서만 나타나 컴포저가 더 이상 복잡해지지 않도록 합니다. 이전에 녹음 캡처가 설정되어 있었더라도 토글이 숨겨진 동안에는 캡처가 일시 중지되므로, 가시적인 오프 스위치 없이는 아무것도 녹음되지 않습니다.
버그 수정
- 공통: 설치된 Hub 앱이 더 이상 매 턴마다 모든 도구를 보내지 않습니다: 어시스턴트가 사용할 도구를 미리 구성한 앱(의료용, 법률용 등)에서 해당 구성이 무시되어 매 턴마다 전체 도구 목록이 조용히 전송되던 문제를 수정했습니다. 이로 인해 턴이 느려지고 비용이 더 많이 발생했으나, 이제 구성이 정상적으로 적용되어 각 턴에는 관련 도구만 포함됩니다.
- 공통: 내장 스킬이 실제 이름을 표시합니다: 기본 스킬이 적절한 제목 대신 "Skill 1781…"과 같은 플레이스홀더 이름으로 표시되던 문제를 수정했습니다. 이제 스킬에 읽기 쉬운 이름(예: "Summarize Page")이 표시되며, 이미 플레이스홀더로 생성된 스킬도 자동으로 수정됩니다.
- Extension: 프라이빗 릴레이를 통해 사용할 때 연결된 서비스가 조기에 해제되지 않습니다: 프라이빗 릴레이를 통해 연결된 서비스의 로그인을 갱신할 때 세션 토큰이 누락되어 거부됨으로써, 연결이 만료되기 전에 종료된 것으로 표시되던 문제를 수정했습니다. 이제 로그인이 올바르게 갱신됩니다.
- 공통: 구독 만료 후 실행 시 프리징 현상을 수정했습니다: Pro 구독이 만료되거나 취소된 경우, 앱 로드 중에 무료 티어 다운그레이드를 반복하며 멈춰버려 인터페이스가 열리기 전에 프리징되던 문제를 수정했습니다. 이제 다운그레이드가 한 번에 깔끔하게 완료되어 앱이 정상적으로 시작되고 모든 무료 티어 기능을 유지합니다.
버전 0.9.723 (2026년 6월 12일)
새로운 BYOK 음성 제공자, 최신 임상 의사 결정 지원 앱, 개인용 Hub 앱의 인앱 편집 기능, 자체 private relay를 통해 모든 브라우저에서 Caiioo를 사용할 수 있는 기능, 더 명확해진 설정 패널, 자동 포크(forking) 기능이 포함된 지속 모드 편집, 문서 라운드 트립 파이프라인의 실질적인 2차 개선, 모든 AI 제공자에 걸친 스트리밍 안정성 개선, 그리고 보안 강화 작업이 포함된 0.9.722 버전의 타겟 후속 업데이트입니다.
새로운 기능
- 공통: Cartesia가 이제 BYOK 음성 제공자로 추가되었습니다: 텍스트 음성 변환(TTS)을 위한 Cartesia Sonic과 음성 텍스트 변환(STT)을 위한 Cartesia Ink가 이제 모드별 음성 선택기, 최초 사용 TTS / STT 대화 상자 및 실시간 캡션 경로에 포함되었습니다. 설정 → 음성에서 Cartesia API 키를 추가하고, 음성 제공자를 선택할 수 있는 모든 곳에서 Cartesia를 선택하세요.
- 공통: Caiioo 내부에서 포크된 모든 Hub 앱 편집 가능: 설정 → 도구, 모드 및 앱에 개인용 앱(포크된 Hub 앱 및 저장한 앱)을 위한 프리미티브별 편집기가 추가되었습니다. 카드, 뷰, 워크플로우, 스킬, 모드 및 변수 모두에 안전한 기본값이 포함된 전용 편집기가 제공되므로, 포크된 앱의 잘못된 프리미티브가 더 이상 편집기를 중단시키지 않습니다. 또한 에이전트는 새로운
save_session_as_app도구를 통해 유용한 세션을 초안 개인용 앱으로 스냅샷 찍을 수 있습니다. "이것을 앱으로 저장해 줘"라고 말하면 개인용 앱 저장소에 유지되어 나중에 다듬을 수 있습니다. - 공통: 모든 모드의 시스템 프롬프트 편집 — Caiioo가 자동으로 포크해 드립니다: 이제 내장 모드 및 Hub에서 설치된 모드를 포함한 모든 모드의 시스템 프롬프트(또는 전체 정의)를 편집할 수 있습니다. 첫 번째 편집 시 해당 모드의 앱이 개인용 복사본으로 자동 포크되므로, 모드를 전환해도 변경 사항이 유지되며 다른 개인용 앱과 마찬가지로 다른 기기에 동기화됩니다. 복사본이 활성화될 때마다 "…에서 포크됨 — 귀하의 복사본" 배너가 표시되며, 클릭 한 번으로 원본을 복원할 수 있는 초기화 버튼이 제공됩니다. 기존의 커스텀 모드들은 이 시스템으로 자동 마이그레이션됩니다.
- 공통: 의료용 Caiioo (베타): Caiioo for Legal 패턴을 반영한 새로운 커뮤니티 Hub 설치 가능 앱입니다. 감별 진단, 약물 상호작용, SOAP 노트 스킬을 관련 참고 자료와 함께 묶은 임상 의사 결정 지원 팩토리입니다. 클릭 한 번으로 설치 가능하며, 다른 Hub 앱처럼 포크할 수 있습니다.
- 공통: 자체 private relay를 통해 모든 브라우저에서 Caiioo 사용: 로그인되어 있고 데스크톱 relay가 실행 중일 때, 확장 프로그램 없이 브라우저에서 caiioo.ai를 열면 이제 private relay를 통해 동일한 사이드패널 UI가 제공됩니다. 따라서 Chromebook, 공용 컴퓨터 또는 태블릿에서도 Caiioo를 사용할 수 있으며, 모든 도구 호출은 여전히 사용자의 로컬 머신을 통해 라우팅됩니다.
- 공통: 설정 패널 재구성: 고급 설정 레이아웃이 기존 5개에서 계정, 개인화 및 개인정보 보호, AI 설정, 도구 / 모드 및 앱, 데이터 및 동기화, 연결성, 도움말의 7개 사용자 의도 카테고리로 개편되었습니다. 사용자 프로필과 자격 증명 보관함은 전용 계정 카테고리로 이동했고, LAN Relay / API 액세스 / 메시징 게이트웨이는 연결성(인바운드/아웃바운드 네트워크 접점이라는 공통점)으로 그룹화되었습니다. 음성은 AI 설정(도구가 아닌 AI 동작이므로)으로 이동했으며, 백업 / 프라이빗 동기화 / 데이터 관리는 별도의 데이터 및 동기화 카테고리를 형성합니다. 단순 모드 변체에서는 동일한 컨트롤이 6개 카테고리로 축소되며 파워 유저용 컨트롤은 완전히 숨겨집니다.
개선 사항
- 공통: 문서 라운드 트립 — 2차 충실도 개선: Slate / DOCX / PDF / RTF / Google Docs에 대한 또 다른 전수 조사를 통해 긴 라운드 트립 발견 사항 목록을 해결했습니다. 주요 내용: 생성된 변경 내용 추적 기능이 이제 Word에서 유효한 변경 ID를 생성하고 중첩된 변경 마커를 평탄화하여, Word를 열 때 "손상된" 변경 내용 추적에 대한 경고가 발생하지 않습니다. DOCX 메모는 중복 계산되지 않고 ID별로 중복 제거됩니다. DOCX → Markdown 내보내기 시 표 셀의 리터럴
|문자를 이스케이프 처리하여 표가 깨지지 않도록 합니다. RTF 파서는 이제 임베디드 바이너리 세그먼트(\binN)를 올바르게 소비하여 유실된 바이트가 문서의 나머지 부분을 동기화 해제하지 않도록 하며,\uc유니코드 폴백을 적절히 건너뛰고, Windows-1252를 통해\'hh헥사 코드를 디코딩하며, 추적된 수정 사항을 보존하고 이미지 플레이스홀더를 렌더링합니다. PDFToUnicodeCMap은 서로게이트 쌍(surrogate pairs)과 bfrange 배열 / 멀티 유닛 형태를 디코딩합니다(비 BMP 문자 및 이모지가 깨끗하게 추출됨). 변경 내용 추적 접두사 감지는 들여쓰기 및 중첩된 목록 마커와)번호 매기기를 처리합니다. 또한 충실도 매트릭스에서 docx → md/html/rtf 및 pdf → docx 변환 시 메모 유실 여부를 표시하여 라운드 트립이 되지 않는 부분을 미리 확인할 수 있습니다. RTF 내보내기는 대기 중인 추적된 삭제 내용을 리터럴 텍스트로 인라인하는 대신 제거합니다. - 공통: Google Sheets 수식이 Slate 동기화 후에도 유지됨: Slate에서 동기화된 Google Sheet를 편집할 때 더 이상 수식이 계산된 값으로 덮어씌워지지 않습니다. Slate의 변경 내용 추적 해결 기능도 수정되어, 콘텐츠가 이미 대상과 일치할 때 수락/거부가 올바른 텍스트를 커밋합니다.
- 공통: Google Docs 동기화 시 표 셀 단락 무시: 이전에는 동기화 스캐너가 표 셀 내부로 진입하여 잘못된 문서 오프셋을 생성했습니다. 이제 단락 스캔 전에 셀을 건너뛰므로, 표가 포함된 문서에서도 편집 내용이 정확한 위치에 반영됩니다.
- 공통: 가명 처리기(Pseudonymizer)가 기계 생성 ID를 엔드투엔드로 보호: Slate(및 기계 생성 식별자를 내보내는 모든 도구)는 이제 전체 파이프라인에서 유지되는
<!--no-pseudonymize-->마커로 이를 감싸 가명 처리기가 이를 건너뛰게 하고, 화면에 도달하기 전에 마커를 제거할 수 있습니다. 이를 통해 도구 호출의 내부 ID가 한 턴에서 가명 처리되었다가 다음 턴에서 치환 맵에서 누락되어 이를 참조하는 후속 도구 호출이 실패하던 문제를 해결했습니다. - 공통: Self Checker가 이제 서버에서 판정 실행: ⚖ 버튼을 클릭하면 판정 계산이 사이드패널이 아닌 relay로 이동하여 실행되므로, 패널을 닫아도 결과가 완료되고 더 빠르게 반환되며 기기 간에 일관성을 유지합니다. 판정 호출은 원래 턴과 동일한 스레드 수준 가명 처리기를 통해 라우팅되므로, 가명 처리된 메시지에 대한 판정이 판정 모델에 실제 PII를 유출하지 않습니다.
- 공통: 설정 인벤토리의 스킬 / 모드 배지: 설정 → 도구, 모드 및 앱의 각 설치된 스킬에 이제 해당 스킬이 속한 모드가 표시되어, 에이전트가 실제로 어디에서 해당 스킬을 사용할지 한눈에 확인할 수 있습니다.
- 공통: 프로비저닝된 키를 사용하는 무료 티어 사용자의 웹 검색 401 오류 해결: 검색 도구가 자격 증명 확인 절차를 우회하는 코드 경로를 통해 OpenRouter 키를 확인하고 있어, 프로비저닝된 키(BYOK 아님)를 사용하는 사용자에게 간헐적으로 401 오류가 발생했습니다. 이제 모든 호출 지점에서 확인 절차가 실행됩니다.
- 공통: UI 컨텍스트 제공자 속도 향상: 확장 프로그램 UI 컨텍스트 제공자에 결과 캐싱, 지연 모드 로딩, 별칭 확인 및 엄격한 제외 규칙이 추가되어, 대규모 워크스페이스에서 모델 선택기와 모드 선택기가 지연되지 않습니다.
- 공통: ElevenLabs 및 Cartesia에서 음성 재생 속도 슬라이더 작동: ElevenLabs 또는 Cartesia 사용 시 속도 슬라이더가 효과가 없었으며, 설정과 관계없이 항상 일반 속도로 재생되었습니다. 이제 두 제공자 모두 선택한 속도로 음성을 생성합니다. (ElevenLabs는 0.7–1.2배, Cartesia는 0.6–1.5배를 지원하며, 슬라이더는 각 제공자의 범위로 제한됩니다. Resemble 및 Gemini는 속도 제어를 제공하지 않으므로 변경되지 않습니다.)
- 공통: 작성기(composer)에서 STT 모델 로딩 상태 표시: 온디바이스 음성 모델이 다운로드 중이거나 준비 중일 때 작성기에 실제 다운로드 백분율이 표시되며, 동시 로드 요청이 직렬화되어 거의 동시에 발생하는 두 개의 "말하기" 동작이 중복 다운로드를 시작하지 않습니다.
- 공통: 좁은 너비에서도 작성기의 전송 버튼 유지: 이전에는 패널이 매우 좁을 때 전송 버튼이 작성기 밖으로 잘려 나가는 경우가 있었습니다. 이제 너비에 관계없이 고정된 상태를 유지합니다.
- 공통: 원격 사이드패널의 깔끔한 재연결: 새로운 "private relay를 통한 브라우저 기반 Caiioo" 기능을 위해, relay가 이제 원격 브라우저로 응답을 올바르게 전달하고 연결 시 초기 상태 스냅샷을 준비하여, 재연결 시 중단했던 지점과 동일한 상태로 복구됩니다.
- 공통: UI 자산 핸들러의 요청 ID 에코: 응답이 이제 호출자에게 원래 요청 ID를 다시 에코하여, 두 개의 자산 페치가 경합하여 두 번째 결과가 폐기될 때 스피너가 멈추던 버그를 수정했습니다.
- 공통: Caiioo for Legal의 명칭을 "for Legal"로 변경: "for Medicine"이 출시됨에 따라 Legal 앱 이름의 "Caiioo for" 접두사가 불필요해졌습니다. 기존 설치본은 레거시 ID를 통해 계속 작동합니다.
- 공통: 모든 AI 제공자에 걸친 스트리밍 안정성 개선: 모든 제공자의 응답 스트리밍 방식에 대한 심층적인 개선이 이루어졌습니다. 네트워크 패킷에 나뉘어 도착한 응답 조각이 소리 없이 누락되어 Anthropic 모델의 멀티 턴 확장 사고, Gemini 및 GPT-5의 추론 연속성이 깨지거나, 로컬 MLX 모델에서 답변 텍스트가 완전히 유실되던 문제, 그리고 비영어 텍스트나 이모지가 저장된 답변에서 문자로 깨져 보이던 문제가 모든 곳에서 해결되었습니다. 또한 중지 버튼이 이제 Perplexity 검색을 백그라운드에서 끝까지 실행(및 과금)하는 대신 즉시 취소하며, 실행 중지는 이제 여전히 작업 중인 모든 서브 에이전트에게도 전달됩니다. Mistral 모델과 채팅할 때 첨부된 이미지가 전송 중에 손상되던 문제도 해결되었습니다.
- 공통: 스킬에 적절한 이름 부여: 모든 스킬은 이제 설정, 작성기의 스킬 선택기 및 에이전트 자신에게 표시되는 명시적인 표시 이름을 가집니다. 이를 통해 프롬프트 시작 부분이 유사한 스킬들이 구별 불가능한 행으로 겹쳐 보이던 문제를 해결했습니다. 작성기에서 "/"를 입력하면 이름으로 먼저 검색되며, Hub에 게시할 때 모든 스킬에 이름이 필수적으로 요구됩니다.
- 공통: Hub 앱 모드의 전체 구성 유지: 커뮤니티 Hub에서 설치된 모드(for Legal, for Medicine 등)가 에이전트 코어 깊숙한 곳에서 일반 모드로 소리 없이 폴백되어 실행 도중 변수와 도구 구성을 잃어버리던 문제를 수정했습니다. 이제 모든 곳에서 올바르게 확인되며, 정의를 확인할 수 없는 모드는 빈 프롬프트 대신 표준 Caiioo 프롬프트로 폴백됩니다.
- 공통: 프로비저닝된 키(Caiioo 발행) 계정 수정: Caiioo에서 제공한 AI 키를 재발행해도 더 이상 구매한 크레딧이 삭제되지 않으며, 남은 잔액이 새 키로 이전됩니다. 키를 취소하면 이제 성공 보고 전에 제공자 측에서 실제로 취소됩니다. 무제한 잔액 계정은 이제 숫자 대신 "Unlimited"를 표시하며 더 이상 자동 크레딧 구매를 트리거하지 않습니다. 또한 새 기기에서 키를 복원하는 동안 발생하는 일시적인 로그인 문제는 실패 처리하는 대신 재시도합니다.
- 공통: 무료 티어 모델 선택 최신화: 무료 티어 모델 목록에서 제공자가 단종한 무료 모델을 더 이상 제안하지 않습니다. 이전에는 이를 선택하면 즉시 오류가 발생했습니다.
- 공통: 비디오 생성 시 각 모델의 실제 기능 우선 확인: 비디오 도구는 이제 제공자로부터 직접 각 모델의 실시간 기능 시트(지원되는 가로세로 비율, 지속 시간, 해상도 및 참조 프레임 수용 여부)를 읽어 요청을 제출하기 전에 유효성을 검사합니다. 따라서 지원되지 않는 조합은 긴 대기 시간 후가 아니라 즉시 명확한 메시지와 함께 실패합니다. 참조 이미지로부터 애니메이션을 만드는 기능은 이제 모든 모델이 수용하는 형식으로 전송됩니다.
- 공통: 가명 처리기 범위 확대 — 스레드 제목 및 헬퍼 호출: 가명 처리기가 켜져 있으면 자동 생성된 대화 제목과 소규모 내부 AI 헬퍼 호출도 클라이언트와 relay 모두에서 메시지와 동일한 보호 경로를 거칩니다. 따라서 스레드 제목이 모델에 실명을 유출할 수 없습니다. 서브 에이전트의 답변도 이제 화면에 대체 이름 대신 실제 값을 표시합니다.
- 공통: GitHub 동기화의 비영어 콘텐츠 및 동시 편집 처리: 악센트 기호나 비라틴 문자가 포함된 GitHub 동기화 파일이 더 이상 깨져서 도착하지 않으며, 마지막 동기화 이후 GitHub에서 이동된 파일에 변경 사항을 푸시할 경우 소리 없이 덮어쓰는 대신 충돌을 표시합니다.
- 공통: 일시적인 서버 오류로 인한 로그아웃 방지: 일일 백그라운드 로그인 갱신 중 일시적인 서버 오류가 발생하면 세션이 삭제되고 로그아웃되던 문제가 있었습니다. 이제 실제 자격 증명 거부 시에만 로그아웃되며, 일시적인 오류의 경우 유예 기간 동안 세션을 유지합니다.
- 공통: 원격 브라우저 클라이언트의 깔끔한 부팅: 일반 브라우저에서(private relay를 통해) caiioo.ai를 열 때 로그인 중 긴 연결 오류 메시지가 더 이상 표시되지 않으며, 업데이트 후 UI가 항상 오래된 캐시 복사본 대신 최신 상태로 로드됩니다.
- macOS, iOS, Android: 콜드 스타트 모델 예열: 온디바이스 음성 및 STT 모델이 이제 처음 사용할 때 지연 로딩되는 대신 앱 부팅 중에 예열되어, 몇 초간의 첫 호출 지연 시간을 없앴습니다. 이제 마이크를 처음 탭할 때 거의 즉각적으로 반응합니다.
- iOS: App Store §3.1.1 판매 라우팅 준수: 모든 외부 결제 접점(Stripe 결제 버튼, 앱 외부를 가리키는 "결제 관리" 링크)은 iOS 체크를 통해 차단됩니다. 따라서 iOS 클라이언트는 Apple의 안티 스티어링(anti-steering) 정책에 맞춰 디지털 구독에 대해 인앱 StoreKit 구매만 제공합니다.
- iOS, macOS: 오래된 Safari 확장 프로그램 등록으로 인한 relay 경로 동결 방지: Apple의 WebKit이 앱 업데이트 후에도 여러 개의 Safari 확장 프로그램 등록을 오래된 상태로 남겨둘 때, Caiioo는 이제 이를 방치하여 동결시키는 대신 대체된 중복 항목을 제거합니다. 따라서 relay 기반 Safari 확장 프로그램이 수동 재설치 없이도 계속 작동합니다.
- Android: 오래된 미디어 권한 정리: 매니페스트에서
READ_MEDIA_IMAGES가 제거되었으며, LiteRT GPU 라이브러리에 의해 암시적으로 추가된 레거시 권한들이 삭제되었습니다. 따라서 앱의 런타임 권한 요청이 사용자가 실제로 동의한 내용에 가깝게 최소화되었습니다.
보안
- 공통: 가져오기, 렌더링 및 로깅에 대한 강화 작업: 정교하게 제작된 Word 문서 및 대화 가져오기 아카이브가 압축 트릭을 통해 메모리를 고갈시킬 수 없도록 조치했습니다(엄격한 크기 제한 및 더 안전한 문서 파싱). 악의적으로 구조화된 ChatGPT 내보내기 파일이 더 이상 가져오기 도구를 멈추게 하지 않습니다. 문서(Slate) 페이지의 세 가지 교차 사이트 스크립팅(XSS) 위험을 해결했습니다. 서버는 이제 모델이 제안한 URL이 내부 또는 개인 네트워크 주소를 가리키는 경우 페치를 거부합니다. 필터 규칙의 패턴이 매처(matcher)를 잠글 수 있는 경우 해당 규칙은 거부됩니다. 또한 결제 웹훅 디버그 로그에 더 이상 비밀 정보가 기록되지 않습니다.
버그 수정
- 공통: 음성 제공자 API 키가 올바른 위치에 표시됨: 클라우드 제공자를 음성 텍스트 변환(STT)용으로만 사용하는 경우(예: 받아쓰기 엔진으로 Cartesia Ink 사용), 해당 API 키 필드가 STT 선택기 옆이 아닌 텍스트 음성 변환(TTS) 섹션에 남아 있었으며, TTS 음성을 다른 제공자로 전환한 후에도 계속 표시되었습니다. 이제 각 제공자의 키 필드는 단일 음성 제공자 정의에 따라 실제로 해당 기능을 사용하는 선택기(입력 vs 출력) 아래에 렌더링됩니다.
- 공통: Cartesia 및 Gemini 음성에서 자동 읽기 기능 작동: TTS 음성이 Cartesia 또는 Google Gemini일 때 "답변 소리 내어 읽기" 토글이 활성화되지 않던 문제를 수정했습니다. 두 제공자 모두 다운로드를 기다리는 온디바이스 모델로 잘못 분류되어 있었습니다. 이제 제공자의 API 키(및 필요한 경우 음성)가 설정되면 자동 읽기가 올바르게 켜집니다.
- 공통: Cartesia 받아쓰기가 모든 곳에서 작동: 이제 Cartesia Ink를 STT 엔진으로 사용할 때 API 키가 설정되면(다운로드를 기다리는 로컬 모델로 취급되는 대신) 확장 프로그램, 네이티브 앱 및 relay 기반 설정(macOS 또는 private relay를 통한 웹 클라이언트) 전반에서 준비된 것으로 올바르게 인식됩니다. 이전에는 relay가 "cartesia"를 온디바이스 모델로 로드하려고 시도했습니다.
- 공통: Gemini 음성 재생 시작 시간 단축: Google Gemini TTS가 이제 답변을 문장 단위로 읽어주므로, 전체 답변이 합성될 때까지 기다리지 않고 첫 문장 후에 재생이 시작됩니다. 이는 ElevenLabs, Cartesia, Resemble, Kokoro와 동일한 방식입니다. (Gemini API는 한 번에 전체 발화를 생성하므로, 분할 작업은 저희 측에서 처리하며 속도 슬라이더도 이제 Gemini에 적용됩니다.)
- 공통: 음성 재생 오류가 무음 대신 표시됨: 답변 소리 내어 읽기가 실패할 때(API 키 누락/유효하지 않음, 호환되지 않는 Resemble 음성/모델, 제공자 거부 등), 이제 콘솔 로그에만 남고 무음으로 실패하는 대신 화면 메시지로 이유가 표시됩니다. 메시지는 조치 가능합니다(예: "선택한 Resemble.ai 음성은 'chatterbox-turbo' 모델을 지원하지 않습니다. Chatterbox 호환 음성을 선택하세요…").
- 공통: 더 명확해진 Resemble.ai 음성/모델 오류: 선택한 Resemble 음성이 선택한 모델을 지원하지 않을 때, 이제 원시 내부 오류 페이로드 대신 정확한 내용과 해결 방법을 표시합니다.
- 공통: 최신 iPhone의 HEIC/HEIF 사진 변환 복구: 최근 iPhone 사진(HEIC/HEIF) 첨부 시 "지원되지 않는 형식" 오류와 함께 보기 가능한 이미지가 아닌 일반 파일 첨부로 폴백되던 문제를 수정했습니다. 내장 이미지 변환기가 오래되어 최신 iPhone의 사진(특히 고해상도 및 HDR 샷)을 읽을 수 없었습니다. 최신 디코더로 교체되어 HEIC/HEIF 첨부 파일이 다시 JPEG로 변환되어 인라인으로 표시됩니다.
- 공통: 비디오 및 음악 도구가 항상 실시간 모델 목록을 광고함: 비디오 및 음악 도구가 LLM에 세 개의 번들 폴백 ID만 보여주던 문제를 수정했습니다. relay 서브 프로세스 내부에서 실시간 OpenRouter 비디오/음악 레지스트리를 가져오는 턴별 백그라운드 예열 작업이 경합을 일으켜 도구 설명이 전송되기 전까지 완료되지 않는 경우가 많았습니다. 이제 서브 프로세스 부팅 시 캐시된 레지스트리 상태가 비디오 및 음악 모델 서비스를 준비시키므로, 도구는 항상 현재 라인업(Kling, Hailuo, Wan 등)을 표시하며 사용자가 선택한 모델은 턴별 네트워크 라운드 트립 없이 확인됩니다.
- 공통: Test Runner 멀티 모델 벤치마크가 유의미한 점수 반환:
runLLMJudge = true로 "이 모델들 비교" 벤치마크를 실행할 때, 스위트 수준 경로가 테스트별evaluation설정만 확인하고 실행 전체 플래그를 무시하여 소리 없이 0점과 입력 순서 순위를 생성하던 문제를 수정했습니다. 이제 두 신호 중 하나라도 있으면 게이트가 작동하며, 판정 기능은 켜져 있지만 루브릭이 제공되지 않은 경우 기본 루브릭(사실성 + 완결성 + 명확성 + 유용성)이 적용됩니다.test_runner도구의get_result및export_transcript액션도 이제runId또는testId중 하나만 누락되었을 때runId and testId are required라고 거부하지 않고, 실제 누락된 필드 이름을 명시합니다. - 공통: iOS 및 Safari에서 음성 재생이 완전히 무음이 되던 문제: 답변을 소리 내어 읽을 때 앱을 재시작하기 전까지 소리가 전혀 나지 않던 경우가 있었습니다. 오디오 엔진이 일시 중단된 상태로 시작되어 깨어나지 못했기 때문입니다. 이제 재생 시 소리가 안정적으로 출력됩니다.
- 공통: 설정한 시간에 일일 알림 실행: 예를 들어 오전 9:00로 설정된 반복 알림이 매일 알림을 생성한 시점에 실행되도록 틀어지던 문제를 수정했습니다. 이제 반복 일정은 예약된 시작 시간에 고정됩니다.
- macOS, 데스크톱: 예약된 작업 알림 정상 수신: 예약된 작업이 완료되어 알림을 시도할 때 macOS 및 Windows/Linux 데스크톱 앱이 소리 없이 알림을 누락하던 문제를 수정했습니다. 이제 정상적인 시스템 알림으로 표시됩니다.
- 공통: 가입 실패가 더 이상 무음으로 처리되지 않음: 가입 중 인증 이메일을 보낼 수 없는 경우, 가입이 성공한 것처럼 보이지만 이메일이 오지 않는 대신 즉시 명확한 오류를 표시합니다.
- 공통: 좁은 패널에서 작성기의 "+" 첨부 메뉴 재표시: 매우 좁은 너비에서 전송 버튼을 유지하기 위한 이전 수정 사항이 의도치 않게 첨부 메뉴를 가려버렸습니다. 이제 두 항목 모두 정상적으로 표시됩니다.
- 공통: BYOK Anthropic 사용자를 위한 Claude 모델 이름 복구: 오래된 내부 모델 이름 매핑으로 인해 자체 Anthropic 키로 특정 Claude 모델을 선택할 때 "모델을 찾을 수 없음" 오류가 발생하던 문제를 수정했습니다. 이제 모델 이름이 Anthropic에 그대로 전달됩니다.
- 공통: 멀티 스텝 앱 워크플로우 내부의 실패한 단계가 워크플로우를 중단시킴: 실패한 중첩 워크플로우가 부모에게 성공으로 보고되어 워크플로우의 오류 처리 브랜치가 실행되지 않던 문제를 수정했습니다. 이제 실패가 올바르게 전파됩니다.
버전 0.9.722 (2026년 5월 22일)
이번 릴리스는 오랫동안 기다려온 세 가지 기능인 Pseudonymizer, Community Hub, 그리고 Messaging Gateway를 모든 사용자에게 공개하는 첫 번째 버전입니다. 세 기능 모두 수개월간 테스터 프로그램을 통해 안정화되었으며, 아래의 주요 내용은 공개 출시 소식과 함께 추가된 새로운 기능 및 수정 사항을 다룹니다.
새로운 기능
- 공통: Pseudonymizer 정식 출시: Caiioo의 온디바이스 개인정보 필터가 사용자가 입력한 내용에서 이름, 이메일, 전화번호, 주소, ID, 조직, 도시 및 기타 민감한 값을 감지하여 모델에 전달되기 전 실제와 유사한 가짜 값으로 교체합니다. 이후 결과가 돌아올 때 로컬에서 다시 복원하므로, 화면의 대화창에는 여전히 실제 값이 표시됩니다. 모델은 실제 값을 결코 볼 수 없으며, 도구 호출(tool calls)은 복원된 후의 실제 값을 바탕으로 실행됩니다. 전송 버튼 옆의 새로운 방패 아이콘으로 활성화할 수 있습니다. 회색은 비활성, 파란색은 개인 데이터 필터(Personal Data Filter), 청록색은 PHI / Limited Data Set, 에메랄드색은 PHI / Safe Harbor 모드입니다. 활성화 중에는 선택한 모드 색상의 얇은 링이 입력창을 감싸 시각적으로 알려주며, 값이 교체된 메시지 아래에는 "🛡 pseudonymized — N substitutions" 칩이 나타납니다. 이 칩을 클릭하면 어떤 실제 값과 가짜 값이 매칭되었는지 카테고리 라벨과 함께 확인할 수 있습니다. 데이터 사용 계약(Data Use Agreement) 없이 공유 가능한 비식별 데이터셋이 필요한 경우를 위해 엄격한 PHI / Safe Harbor 서브 모드(HIPAA §164.514(b)(2): 연도 제외 날짜, 상세 지번 주소, 89세 초과 연령 등도 제거)를 포함합니다. (이 기능은 이전에 "Anonymizer"로 불렸으나, GDPR 제4조 5항에서 "익명화(anonymization)"를 일방향의 가역 불가능한 변환으로 정의하고 있고, 본 기능은 설계상 복원이 가능하여 화면에 실제 이름이 표시되므로 기술적으로 더 정확한 용어인 "Pseudonymizer"로 명칭을 변경했습니다.)
- 공통: Community Hub 출시: Caiioo의 기능을 확장하는 도구, 모드, MCP 서버 및 완성된 앱을 클릭 한 번으로 설치할 수 있는 새로운 마켓플레이스입니다. 확장 프로그램 내부 또는 caiioo.ai/hub에서 둘러볼 수 있습니다. 출시 카탈로그에는 Slack (Caiioo Slack 앱으로 한 번만 로그인하면 되며, 수동 앱 설정이나 개발자 모드가 필요 없음), Notion, Linear, GitHub, Atlassian, PandaDoc, Microsoft 365, Legal Data Hunter (110개국 이상의 1,800만 개 이상의 판례, 법령 및 학설 문서), 그리고 자체 서비스 로그인을 통해 인증되는 18개의 추가 자동 등록 MCP 서버가 포함되어 있습니다. 비밀번호를 복사하여 붙여넣거나 개발자 모드를 설정할 필요가 없습니다. 각 패키지는 설치 버튼을 클릭하기 전에 도구, 모드, 스킬, MCP 서버, 변수 등 설치되는 항목을 미리 보여줍니다.
- 공통: 도구 네트워크 액세스 — 도구가 기기를 벗어날 때 명시적 동의: 로컬 채팅 제공자(Ollama, MLX)를 선택하는 것은 대화 내용이 기기에 머물도록 하는 의도적인 프라이버시 선택입니다. 이전에는 원격 제공자를 거치는 도구(이미지 생성, 음악, 비디오, Perplexity 웹 검색)들이 이러한 경계를 알림 없이 넘나들었습니다. 이제 Caiioo는 첫 시도 시 실행을 멈추고, 도구 이름과 데이터를 전송할 제공자 이름을 명시한 승인/취소 카드를 인라인으로 표시하며, 제공자별로 사용자의 결정을 기억합니다. 설정 → 개인화 및 프라이버시 → 도구 네트워크 액세스에서 언제든지 권한을 철회할 수 있습니다.
- 공통: Messaging Gateway 출시 (Pro): 이제 Caiioo가 고객과 지인들이 실제로 사용하는 플랫폼인 WhatsApp Business, Messenger, Telegram, iMessage, Signal, Viber, Beeper에서 메시지에 답장할 수 있습니다. 설정 → 메시징의 단일 게이트웨이에서 구성 가능합니다. 각 채널은 서비스당 한 번만 입력하면 되는 해당 제공자의 표준 봇/비즈니스 자격 증명을 사용합니다. 대화별로 에이전트의 표시 방식을 선택할 수 있습니다. Auto (에이전트가 모든 사람에게 응답하며, 사용자가 해당 스레드에 입력하는 내용은 다음 답변을 가이드하는 코칭으로 처리됨), Direct (에이전트가 자동 응답하지만, 사용자가 입력하는 내용은 사용자 본인의 이름으로 상대방에게 전달됨), 또는 Takeover (에이전트가 완전히 물러나고 사용자가 직접 대화함) 모드가 있습니다. 이미지, 오디오, 비디오 첨부 파일은 양방향으로 모델에 전달되므로, "고객이 방금 보낸 이 사진에 무엇이 들어있어?"라고 묻고 동일한 채널에서 답변할 수 있습니다. Slack은 Community Hub에서 별도의 MCP 패키지로 제공되므로 Messaging Gateway가 아닌 허브에서 설치하십시오.
- 공통: My Day (Beta): 허브에서 설치 가능한 두 번째 앱으로, 오늘의 일정, 읽지 않은 이메일, 최근 문서를 하나의 대시보드로 불러오는 클릭 한 번의 모닝 브리핑 기능입니다. 입력창 버튼으로 브리핑을 실행하면 에이전트가 동일한 대시보드 뷰에 결과를 렌더링하며, 항목 확장, 답장 초안 작성, 딥워크(deep-work) 시간 예약 등의 후속 스킬을 제공합니다.
- 공통: Storybook Builder (beta): 허브에서 설치 가능한 또 다른 앱입니다. 스타일, 독자층, 연령대 및 자유 형식의 개요를 선택하면 에이전트가 등장인물을 설계하고, 캐릭터 일관성을 유지하기 위한 참조 초상화를 그리며, 산문과 삽화가 포함된 각 페이지를 생성하고, 가장 좋은 페이지에서 표지를 추출하여 완성된 책을 읽기 쉬운 스크롤 레이아웃 뷰어로 렌더링합니다. 모든 Hub 앱과 마찬가지로 포크(fork)가 가능하므로 마스터 프롬프트를 커스텀하거나 스타일 옵션을 변경할 수 있습니다.
- 공통: Free 플랜에 데스크톱 앱 포함: 이전에는 macOS 및 Windows / Linux 데스크톱 앱을 사용하려면 Pro가 필요했습니다. 이제 Free 사용자도 모든 플랫폼의 데스크톱 앱에 로그인할 수 있습니다. 플랫폼 자체는 무료이며, Pro는 여전히 Pro 전용 기능(이미지 생성, 원격 MCP 서버, 예약된 작업 등)으로 차별화됩니다.
- 공통: Pro Mobile 단종 — 웹, 데스크톱, 모바일 통합 $9 Pro 티어: iOS 및 Android의 $2.99 Pro Mobile 인앱 결제가 폐지되었습니다. 이제 월 $9의 단일 Pro 티어로 Chrome, Edge, macOS, Windows, Linux, iOS, Android 등 모든 플랫폼의 모든 Caiioo 클라이언트를 사용할 수 있으며, 별도의 모바일 SKU나 복잡한 권한 확인 절차가 필요 없습니다. 기존 Pro Mobile 구독자는 추가 비용 없이 Pro로 승계되며 기존의 모든 기능을 유지합니다. 새로운 모바일 설치 시에는 웹사이트와 동일하게 인앱 결제창에 $9 Pro 티어만 표시됩니다.
- 공통: Caiioo for Legal (beta): Community Hub에서 클릭 한 번으로 설치하면 계약서 마크업, 레드라인 초안 작성, 거래 문서 작성, 메모 및 의견서, 변론, 배치 플레이북 검토 등 15가지의 실무 법률 스킬이 활성화됩니다. 이는 수십 개의 일반 조항에 대해 선호(Preferred) / 차선(Fall-back) / 결렬(Walk-away) 등급을 갖춘 두 개의 포괄적인 협상 플레이북(매수 측 및 매도 측)을 기반으로 합니다. 변수는 작업 중인 스레드 내로 범위가 제한되므로, 각 사건은 다음 사건으로 데이터가 유출되지 않고 고유한 의뢰인, 상대방, 관할권 및 입장을 유지합니다.
- 공통: Self Checker — 새로운 ⚖ 버튼으로 답변 평가: 이제 모든 어시스턴트 답변의 액션 바에 ⚖ 버튼이 표시됩니다. 이 버튼을 클릭하면 사용자의 요청에 대해 해당 답변의 점수를 매깁니다. 평가자(judge)는 전체 턴(사용자 프롬프트, 모든 도구 호출의 입력 및 출력, 첨부 이미지, 어시스턴트의 답변)을 확인하고, 결정론적 체크(정확히 일치, 포함, 정규식, 숫자 범위, 산술)를 작성 및 실행하여 인라인으로 판정 카드를 렌더링합니다. 키를 보유한 제공자를 선택할 수 있으며, 평가자의 LLM 비용은 대화의 누적 합계에 합산되므로 숨겨진 요금이 없습니다.
- 공통: Test Runner — 나만의 예시 목록으로 Caiioo 테스트 (Pro): Caiioo에 프롬프트 목록과 각 답변의 채점 방식(포함되어야 할 문자열, 응답이 일치해야 할 패턴, 사용되어야 할 특정 도구, 또는 정의한 기준에 따라 답변을 1-10점으로 채점하는 두 번째 모델)을 제공합니다. Caiioo는 각 프롬프트를 새로운 대화에서 실행하고 어시스턴트의 답변, 호출된 도구, 소요 시간 및 비용을 캡처한 다음 CSV로 내보낼 수 있는 통과/실패 보고서를 렌더링합니다. 새로운 모드, 모델 또는 설치된 Hub 앱이 예상대로 작동하는지 점검하는 데 유용합니다.
- 공통: Hub 앱에 기성 참조 자료 포함 가능: 이제 Community Hub 패키지에 자체 Slate 템플릿, PDF 및 기타 참조 파일을 번들로 포함할 수 있습니다. 예를 들어 Caiioo for Legal을 설치하면 두 개의 협상 플레이북이 라이브러리에 바로 추가되어, 에이전트가 첫 번째 턴부터 해당 플레이북을 기준으로 계약서를 마크업할 수 있습니다.
- 공통: My Apps — 모든 Hub 앱을 포크하여 직접 편집: 설정 → 도구, 모드 및 앱에 있는 새로운 My Apps 패널에서 Community Hub 앱을 개인 복사본으로 포크하고 도구, 스킬, 모드, 카드, 뷰, 워크플로, 템플릿 첨부 파일, 변수 등 모든 기본 요소를 전용 에디터로 편집할 수 있습니다. 또한 에이전트가 유용한 대화를 초안용 개인 앱으로 스냅샷을 찍어 사용자가 정교하게 다듬을 수 있도록 도와줍니다.
- 공통: Hub 앱 기기 간 동기화: Mac에서 Community Hub 패키지를 설치하면 iPhone에도 표시되며 그 반대도 마찬가지입니다. 개인 앱(포크하거나 저장한 앱)도 동기화됩니다. 패키지별 벡터 클록(vector clocks)을 사용하여 다른 기기의 최신 설치본을 덮어쓰지 않도록 보장합니다.
- 공통: Hub 설정의 각 앱 요소 섹션화: 도구, 모드 및 앱 섹션에 기존의 도구 구성 및 에이전트 모드와 더불어 카드, 뷰, 워크플로, 템플릿 첨부 파일 등 4개의 새로운 섹션이 추가되었습니다. 각 섹션은 설치된 앱이 실제로 제공하는 항목의 읽기 전용 인벤토리이며, 소스 출처가 표시되어 어떤 Hub 패키지가 특정 스킬, 모드 또는 카드를 가져왔는지 확인할 수 있습니다.
- 공통: 모델이 스킬을 인식: 이전에는 스킬이 UI 전용이었습니다. 스킬 칩을 클릭하면 메시지에 텍스트가 붙여넣어졌지만 모델 자체는 이를 인식하지 못했습니다. 이제 각 모드는 사용 가능한 스킬(이름, 설명, 프롬프트 본문)을 시스템 프롬프트에 주입하므로, "이 PDF에 대해 계약 분석 스킬을 사용해줘"와 같은 문구가 실제로 작동합니다.
- 공통: 서브 에이전트 카드가 메인 채팅에 인라인으로 렌더링: 서브 에이전트가 카드(Self Checker 판정, 생성된 차트, 구조화된 결과 뷰)를 생성하면, 해당 카드는 상위 대화로 전달되어 서브 에이전트의 텍스트 결과 옆에 인라인으로 렌더링됩니다. 이는 서브 에이전트 첨부 파일이 작동하는 방식과 동일합니다.
- 공통: Google Sheets — 14개의 새로운 액션: 데이터 붙여넣기(CSV / TSV / HTML), 텍스트를 열로 분할, 공백 제거, 중복 제거, 기준 및 정렬 규칙이 포함된 툴바 필터 적용 또는 해제, 행 또는 열 이동, 셀 범위 삽입 및 삭제, 편집자 권한으로 범위 보호, 이름이 지정된 범위 정의 및 업데이트, 개발자 메타데이터 첨부, 조건부 서식 미세 조정, 최신 ColorStyle 팔레트 사용 등을 채팅창을 떠나지 않고 수행할 수 있습니다.
- 공통: Google Docs에 실제 댓글, 다중 탭 지원 및 스마트 칩 인식 추가: 문서의 모든 사용자에게 표시되는 기본 Docs 댓글을 추가, 답장, 해결 및 삭제할 수 있습니다. 이제 다중 탭 문서가 올바르게 작동합니다. 에이전트는 모든 탭을 하나의 공간으로 뭉뚱그리지 않고 정확한 탭에서 읽고 씁니다. 스마트 칩(사람, 링크, 수식, 페이지 나누기, 날짜 칩)을 인식하여 검색 및 편집 작업이 정확한 위치에 수행됩니다. 동시 편집 시에는 알림 없이 덮어쓰는 대신 명확한 오류 메시지와 함께 실패 처리됩니다.
- macOS: 음성 재생(Kokoro TTS) 1초 이내 시작: macOS의 WebView 내부에서 모델이 로드되지 않아 온디바이스 음성이 알림 없이 실패하던 문제가 있었습니다. 이제 음성은 데스크톱 앱의 헬퍼 프로세스를 통해 실행되며 문장 단위로 스트리밍되므로, 시스템이 바쁜 상태에서도 재생 버튼을 클릭한 후 약 1초 이내에 첫 문장을 들을 수 있습니다.
- Web:
caiioo://링크를 통한 Hub 패키지 설치: 이제 caiioo.ai에서 설치를 클릭하면 Chrome 확장 프로그램이나 네이티브 앱 중 실제로 보유한 클라이언트로 직접 연결됩니다. 두 가지 모두 설치된 경우 선택 창이 표시됩니다. Community Hub 설치 모달은 설치 버튼을 누르기 전에 도구, 모드, 스킬, MCP 서버, 변수 등 패키지의 페이로드를 상세히 보여줍니다. - Desktop: Linux AppImage가
caiioo://URL 스킴 등록: AppImage 빌드를 사용하는 Linux 사용자는 이제 시스템 패키지 설치 없이 첫 실행 시 URL 스킴이 등록되어 caiioo.ai에서 클릭 한 번으로 Hub 앱을 설치할 수 있습니다.
개선 사항
- 공통: Slate 안정성 및 왕복 충실도(round-trip fidelity) 점검: 리치 텍스트 에디터, diff 엔진, 버전 기록, Word 가져오기/내보내기 전반에 걸쳐 약 40개의 개별 버그를 해결했습니다. 사용자가 편집 중인 문서에 AI 제안이 도착해도 변경 내용 추적(tracked changes)이 손상되지 않으며, 버전 기록 스냅샷은 이제 진정한 고정 복사본이 됩니다. 콘텐츠가 대상과 일치할 때 수정 사항이 멈추지 않고 올바르게 해결되며, AI 제안은 다른 작성자의 편집 내용을 덮어쓰지 않고 기존 레드라인과 병합됩니다. Word 파일에서 변경 사항을 수락하거나 거부하면 저장소에 영구 반영됩니다. 리치 텍스트 내보내기 시 이모지 및 기타 보충 평면(supplementary-plane) 문자를 처리하며, diff 엔진은 텍스트가 일치할 때 삭제와 수정을 혼동하지 않습니다.
- 공통: Slate — 선택 영역 내의 모든 변경 내용 추적 수락 또는 거부: Slate 검토 툴바의 새로운 ✓ Sel / ✗ Sel 버튼은 Word의 "단락 선택 후 내부의 모든 변경 사항 수락" 동작을 구현합니다. 영역을 하이라이트하고 클릭 한 번으로 겹치는 모든 변경 내용 추적을 해결할 수 있습니다. 또한 diff 엔진은 공백이나 문장 부호로만 구분된 인접한 편집 사항을 하나의 수락/거부 단위로 병합하여, AI의 재작성 내용을 검토할 때 수백 번 클릭해야 하는 번거로움을 줄였습니다.
- 공통: Word 문서 가져오기 / 내보내기 충실도: .docx 파서에 대한 약 110개의 버그 수정을 통해 명시적인 "해제" 토글을 무시하던 문자 서식, 깨진 스타일 상속, 누락된 테마 색상 확인, 손실된 단락 들여쓰기, 잘못 처리된 위첨자/아래첨자/숨겨진 텍스트, 제목 뒤의 잘못된 목록 번호 매기기, 추출된 텍스트에서 누락된 탭 및 줄 바꿈 구분 기호, 추출되지 않던 임베디드 이미지, 내보내기 시 임베디드 이미지 참조 손실 문제를 해결했습니다. Markdown 내보내기는 이제 CommonMark 규격에 맞는 목록 들여쓰기를 사용합니다.
- 공통: PDF 왕복 및 렌더링 감사: PDF 파이프라인 감사를 통해 왕복 시 인라인 이미지, 16진수 문자열, 자간을 보존하고, 상속된 페이지 리소스를 올바르게 확인하며, 이미지 교체 시 투명도 마스크, 디코드, 의도(intent) 및 보간(interpolation) 플래그를 유지합니다. Windows 글꼴이 기본적으로 인코딩할 수 없는 특수 문자(유로 기호, 스마트 따옴표, 상표권)를 구제하고, PDF 임베디드 글꼴의 이모지 및 기타 보충 평면 문자를 올바르게 처리하며, OCR 오류를 무시하지 않고 표시합니다. Slate PDF 뷰어는 페이지를 지연 렌더링(lazy rendering)하여 다중 페이지 PDF를 훨씬 빠르게 열며, 대용량 PDF를 처음 열 때 파일을 반복적으로 가져오지 않습니다.
- 공통: PDF 내보내기 시 인코딩 불가능한 문자 보존: 선택한 글꼴로 인코딩할 수 없는 특수 문자가 있어도 전체 내보내기를 중단하는 대신 소스 PDF의 문자를 그대로 유지합니다.
- 공통: Pseudonymizer 정확도 및 범위 업그레이드: 개인 데이터 감지 모델을 로캘 인식 파이프라인으로 재학습하여 중국어 및 더 넓은 범위의 비라틴 스크립트를 훨씬 더 잘 처리합니다. 이름 범위가 스크립트 경계를 넘어 중간 이니셜, 앞부분의 경칭, 연속된 한글, 한자, 가나, 아랍어까지 올바르게 확장되어 이름의 일부가 유출되는 문제를 해결했습니다. 새로운 안전망(safety-net) 2차 패스가 전송 전 누락된 항목을 포착합니다. 동일한 라벨의 파편화된 범위는 교체 전 병합됩니다. 다국어 도시 및 회사 이름 감지가 이제 프로덕션에 적용되었습니다. 계산기 도구의 숫자 출력은 더 이상 이름으로 오분류되지 않습니다.
- 공통: Pseudonymizer 환각 조사기: 어시스턴트의 답변에서 세션의 교체 맵에 없는 가짜 형식의 이름을 스캔합니다. 일치하는 항목이 있으면 모델이 이름을 지어냈을 가능성이 높음을 의미합니다. 기존의 유출 조사기와 결합하여 모델이 신원에 대해 언급한 내용에 대한 전체적인 뷰를 제공합니다.
- 공통: Pseudonymizer 다국어 가짜 값: 도시 이름, 회사 이름, 인명에 대해 로캘에 적합한 대체 값을 생성합니다. 스페인어 프롬프트에는 스페인어 스타일의 가짜 값이, 일본어 프롬프트에는 일본어 스타일의 가짜 값이 생성되는 식입니다.
- 공통: Pseudonymizer 30개 이상의 소규모 정확성 수정: 다회차 감사를 통해 스크립트 범위 공백, 디버그 로그 노이즈, 세션 간 유출, URL 트리밍 버그, 정책 예외 사례, 감사 로그 프라이버시, 복원 견고성, 사용자 사전의 유니코드 처리, self-only 모드에서의 구조적 PII 유출 등 수십 개의 낮음, 중간, 높음 심각도 문제를 해결했습니다.
- 공통: Telegram 메시지 서식 렌더링: Telegram 브릿지를 통해 전송되는 메시지는 이제 별표, 백틱, 깨진 "text (url)" 구문 대신 Telegram 고유의 굵게, 기울임꼴, 코드, 링크 스타일을 사용하여 서식이 지정됩니다. Telegram에서 수신되는 이미지는 비전 기능이 있는 모델로 올바르게 전달되며, 에이전트가 미리 서식을 지정한 메시지는 브릿지에 의해 재지정되지 않습니다.
- 공통: 캘린더 동기화 범위 확대: 백그라운드 동기화가 기본 Google 캘린더만 반복하던 문제를 수정했습니다. 이제 팀 및 가족 캘린더를 포함하여 표시되는 모든 캘린더가 동기화됩니다. 이벤트 페이지네이션을 올바르게 따라가므로 첫 페이지 이후의 이벤트가 누락되지 않으며, 이벤트 시간대는 UTC로 정규화되지 않고 보존됩니다. 종일 이벤트가 올바르게 고정되며, Apple Calendar 처리에 Apple Reminders도 포함됩니다.
- 공통: Calendar / Agenda 도구 정확성: 캘린더 생성/업데이트/삭제/목록 전반의 19개 버그를 해결했습니다. 특히 종일 이벤트 날짜가 UTC가 아닌 로컬 시간대를 기준으로 도출되므로, 금요일로 설정한 이벤트가 동부 표준시 등에서 목요일로 표시되던 문제가 해결되었습니다.
- 공통: Gmail 도구 안정성 점검: 잘못된 계정 결과, 깨진 답장 스레드, "Doe, John" 스타일의 수신인 이름 손상, 숨겨진 인증 실패를 유발하던 5개의 버그를 수정했습니다. 이제 Gmail 및 외부 메일 클라이언트(Outlook, Apple Mail, Thunderbird) 모두에서 답장 스레드가 올바르게 연결됩니다. 초안 업데이트 시 기존 대화 스레드가 유지됩니다.
- 공통: 보낸 사람, 카테고리, 기간, 첨부 파일, 읽지 않음 상태별 Gmail 검색: 이전에는 "지난주 Bob이 보낸 첨부 파일이 있는 읽지 않은 이메일 찾기" 요청 시 모델이 Gmail의 정확한 검색 연산자 구문을 기억해야 했으며, 성공할 때까지 다른 문구로 동일한 쿼리를 재시도하곤 했습니다. 이제 Gmail 도구는 일급 필터 파라미터(
from,subject,label,hasAttachment,isUnread,isImportant,category,7d/1m/1y와 같은newerThan/olderThan,after/before날짜)를 노출하므로 에이전트가 첫 시도에 정확한 필터를 선택합니다. - 공통: Google Drive 도구 안정성 점검: 바이너리 파일을 텍스트로 읽지 않도록 거부, 공유 드라이브 폴더 경로 지원, 대규모 폴더 목록의 페이지네이션 표시, Slides를 PPTX 내보내기에 매핑, 공유 옵션에서 깨진 "owner" 역할 제거, 이동 시 대상 폴더 필터링 수정 등 12가지 사항을 수정했습니다. Drive 전송 캐시는 정리 실패 시 링크가 영구적으로 공개되는 것을 방지하기 위해 24시간 후 공개 링크를 만료시킵니다.
- 공통: Google Drive — 전체 폴더 경로, 공유 드라이브, 내보내기, 소유권 이전, 링크 검색: 이제 Drive 작업 시 불투명한 폴더 ID뿐만 아니라 사람이 읽을 수 있는 폴더 경로(
Engineering/Specs/Q3)를 사용할 수 있습니다. 공유 드라이브를 기본 대상으로 지원하며, Docs / Sheets / Slides를 특정 MIME 유형(PDF, DOCX, XLSX, PPTX)으로 내보낼 수 있습니다. 사용자 간 파일 소유권을 이전하고, '링크가 있는 모든 사용자' 및 공개 링크를 표시하여 사용자가 직접 복사하지 않아도 에이전트가 "이 파일의 공유 가능한 URL이 뭐야?"라고 답할 수 있습니다. - 공통: Google Slides 텍스트 편집 위치 정확도: Slides 도구가 "텍스트 끝"을 나타내기 위해 사용하던 999999 매직 넘버를 API가 거부하던 문제를 수정했습니다. 이제 실제 텍스트 길이를 조회하고 적절한 범위를 구성하므로 부분 인덱스 편집(예: "5번째 문자부터 스타일 적용")이 의도대로 작동합니다.
- 공통: Google Sheets — 30개 이상의 소규모 정확성 수정: 범위 파싱 시 따옴표가 포함된 시트 이름과 내부 문장 부호, 무제한 참조(A:A, 1:10), Z열 이후의 열을 처리합니다. 이미지 업로드 시 셀 내용을 지우는 대신 실제
=IMAGE()수식을 작성합니다. HTML 가져오기 시 아스트랄 평면(astral-plane) 문자를 포함한 명명된 엔티티, 10진수 및 16진수 엔티티를 디코딩합니다. 차트가 시트 정보 리더를 충돌시키지 않으며, 검색 시 절대 열 문자를 보고하고 시트별 오류를 표시합니다. 시트 diff는 이제 추가와 삭제를 모두 올바르게 내보냅니다. - 공통: 모든 Hub 앱에서 변수 대화상자 작동: 입력창의 "변수 열기" 버튼이 특정 앱에 고정되어 있던 문제를 수정했습니다. 이제 Hub 매니페스트를 기반으로 작동하므로, 변수 대화상자를 제공하는 모든 앱은 고유한 버튼과 라벨을 갖게 됩니다.
- 공통: 모든 리더에서 개인 앱 노출: 포크하거나 저장한 개인 앱은 이제 입력창뿐만 아니라 에이전트가 읽는 모든 곳에서 스킬, 모드, MCP 서버, 도구, 뷰 및 변수를 제공합니다. 이제 개인 앱은 Hub에서 설치한 앱과 동일한 일급 앱으로 취급됩니다.
- 공통: Hub 삭제 시 모든 항목 제거: Hub 앱을 삭제하면 해당 패키지의 모드, 입력창 버튼, 스킬, 템플릿 첨부 파일, 모드 변수 패치, 캐시된 시스템 비활성 목록, 그리고 사용 중이었던 경우 해당 패키지의 활성 모드까지 모두 제거됩니다. 삭제 후 선택 창에 고립된 모드가 남지 않습니다.
- 공통: Hub 설치 시 중복 경고: 설치하려는 패키지의 스킬, 모드, MCP, 도구 또는 뷰가 이미 보유한 항목과 중복되는 경우, 설치 시 토스트 알림으로 충돌을 알려주어 사용자가 결정할 수 있도록 합니다. 중복 표시기는 Hub 설치 목록과 설정 인벤토리의 각 행에 표시됩니다.
- 공통: 사건 범위 작업을 위한 스레드별 변수 오버레이: 이전에는 모드 변수가 모든 대화에 고정되어 있었으나, 이는 사건별 작업(각 법률 사건, 각 고객 계약, 각 프로젝트가 서로 다른 컨텍스트인 경우)에 적합하지 않았습니다. 이제 각 스레드는 고유한 변수 오버레이를 가질 수 있으므로, 에이전트가 한 스레드에서는 사건 A를, 다음 스레드에서는 사건 B를 혼동 없이 처리할 수 있습니다.
- 공통: Hub 설치 시 필요한 로그인마다 탭이 쏟아지는 문제 해결: 여러 제공자를 사용하는 Hub 앱 설치 시 제공자별로 로그인 탭이 순차적으로 열리던 문제를 수정했습니다. 이제 설치가 빠르게 완료되며, 남은 로그인은 탭을 쌓아두는 대신 필요할 때 하나씩 요청합니다.
- 공통: 클라우드 동기화 견고성: 팀 동기화 키 도출 시 개인 이메일 대신 조직 ID와 패스프레이즈를 사용합니다. 이를 통해 동일한 팀의 모든 멤버가 동일한 키를 도출하여 서로의 항목을 실제로 복호화할 수 있습니다(이전에는 이 기능이 작동하지 않았습니다). 동기화 타이머, 벡터 클록 및 매니페스트 잠금도 강화하여 중복 동기화로 인한 상태 손상을 방지했습니다.
- 공통: 재발급된 프로비저닝 키에 대해 "Caiioo 계정 사용" 버튼 작동: 이전에는 BYOK로 전환하거나 복호화 실패로 인해 프로비저닝된 OpenRouter 행이 비활성화된 경우 설정 버튼이 작동하지 않았습니다. 이제 서버에 행이 없다고 판단되면 새 행을 생성하므로, 버튼을 통해 항상 작동하는 키를 복원할 수 있습니다.
- 공통: OpenRouter 키 필드와 설정 동기화: API 키 입력란이 페이지가 처음 렌더링될 때의 값을 유지하는 대신, 상위 컴포넌트가 새로운 값(예: "Caiioo 계정 사용" 클릭 후)을 전달할 때 즉시 새로고침됩니다.
- 공통: 모드 설정 변경 시 입력창 버튼 리로드: 변수 버튼 등 입력창의 액션 버튼들이 채팅을 다시 로드할 필요 없이 모드 설정 변경 시 즉시 새로고침됩니다.
- 공통: 에이전트 도구가 Slate를 읽기 전 최신 편집 내용 확인: AI 도구가 실행될 때(Slate 업데이트, 수정, 변경 내용 추적 해결 등) 사용자가 여전히 타이핑 중인 경우, 도구는 편집기 내용이 저장소로 플러시될 때까지 기다립니다. 이를 통해 1초 전의 오래된 스냅샷이 아닌 사용자가 실제로 보고 있는 내용을 바탕으로 작동합니다.
- 공통: 인라인 카드의 콘텐츠 맞춤 크기 조정: Self Checker 판정 카드 및 기타 인라인 카드가 고정된 크기를 차지하는 대신 실제 콘텐츠에 맞춰 늘어나며, 흰색 배경을 강제하는 대신 상위 앱의 테마(라이트 또는 다크)를 따릅니다.
- 공통: 플로팅 액션 버튼 기본 위치를 왼쪽 상단으로 변경: 플로팅 ⚖ 및 🛡 버튼(및 모든 커스텀 플로팅 버튼)이 오른쪽의 전송 버튼을 가리지 않도록 기본적으로 입력창의 왼쪽 상단에 배치됩니다. 여전히 원하는 위치로 드래그할 수 있습니다.
- 공통: 사용자 프로필 및 모드 변수 업데이트 시 알 수 없는 필드 거부: 이전에는 에이전트가
_clientName과 같이 실제로는 어디에도 적용되지 않는 변수 이름을 임의로 생성할 수 있었습니다. 이제 업데이트 시 스키마에 키가 존재해야 하며, 그렇지 않으면 명확한 오류를 반환합니다. - 공통: 온보딩 시작 화면 단순화: 첫 실행 시 기존의 긴 온보딩 양식 대신 Free, Pro 구독, 또는 평가판이 포함된 BYOK(Bring Your Own API key)의 세 가지 명확한 옵션을 보여줍니다. Composer, 설정 또는 Slate를 처음 열 때 관련 컨트롤을 안내하는 짧은 대화형 투어가 실행됩니다.
- 공통: 로그인 단계 단축: 이전에는 Caiioo 접속 전 확인된 신원과 활성 라이선스 체크가 모두 필요했습니다. 이제 중복된 라이선스 확인 단계가 제거되어 로그인만 하면 바로 접속할 수 있습니다. 라이선스 상태는 여전히 Pro 전용 기능(이미지 생성 등)의 사용 여부를 결정하지만, 앱을 여는 것 자체를 막지는 않습니다.
- 공통: 설정 검색 시 고급 섹션 노출: "고급" 접기 메뉴 아래에 있는 설정을 검색할 때 섹션이 닫혀 있어 결과가 표시되지 않던 문제를 수정했습니다. 이제 검색 바가 일치하는 닫힌 섹션을 펼쳐서 보여주며, 새로운 "모두 접기" 버튼으로 한 번에 되돌릴 수 있습니다.
- 공통: 친절해진 제공자 카탈로그: 새로 출시된 OpenRouter 무료 티어 모델들이 모델 선택 창에서 우선순위로 표시되며, 지원 중단된 모델들은 목록을 어지럽히지 않도록 소프트 제거(soft-removed)되었습니다.
- 공통: 모든 네이티브 플랫폼에서 호스트 언어 감지: macOS, iOS, Android 및 Tauri 셸이 실행 시 OS 인터페이스 언어를 감지하여 사이드패널에 전달합니다. 이를 통해 사용자가 수동으로 설정하지 않아도 첫 실행 번역이 올바른 언어로 표시됩니다. 23개 비영어권 로캘에 대해 약 10,000개의 번역 문자열이 추가되었습니다.
- macOS: 단일 인스턴스 실행 강제: 이미 앱이 실행 중일 때
caiioo://링크를 통해 두 번째 macOS 앱이 실행되지 않도록 합니다. 이는 macOS Launch Services에 두 개의 복사본이 등록되어 있는 경우(주로 이전 설치의 잔재)에도 적용됩니다. - macOS: Homebrew로 설치된 MCP 서버 실행 지원: macOS 15+는 공증된 앱이 Homebrew가 설치하는 모든 항목에 추가하는 "provenance" 속성을 가진 바이너리를 실행하는 것을 차단합니다. 이제 Caiioo는 실행 권한 거부 시 해당 속성을 자동으로 제거하므로, Homebrew로 설치된 로컬 MCP 서버(파일 시스템, 메모리, fetch 등)가 수동 정리 없이도 작동하기 시작합니다.
- macOS, iOS: 콜드 런치(cold launch) 시
caiioo://를 통한 Hub 설치 안정화: 앱이 처음 실행될 때caiioo://설치 링크를 탭하면 WebView의 첫 로드와 충돌하여 설치 의도가 무시되던 문제를 수정했습니다. 이제 앱이 준비될 때까지 설치 의도가 유지되어 설치가 완료됩니다. - iOS: Apple의 새로운 "쓰기 전용" 캘린더 권한 준수: iOS 17에서 도입된 세 번째 캘린더/미리 알림 권한인 "쓰기 전용(write-only)"은 Caiioo가 기존 항목을 보지 않고도 이벤트와 미리 알림을 생성할 수 있게 해줍니다. 이전에는 이를 "거부됨"으로 처리했으나, 이제 쓰기 전용 액세스를 올바르게 사용하여 해당 권한만 부여한 사용자도 에이전트에게 일정 예약을 요청할 수 있습니다.
- iOS: 인앱 결제 확인 불가 시 메시지 명확화: 결제 확인 실패 시 일반적인 오류 대신 구체적인 이유를 표시하며, Apple의 StoreKit 가이드라인에 따라 트랜잭션을 알림 없이 종료하지 않습니다.
- Android: 파일 저장 시 앱 프리징 현상 해결: Android 파일 저장 선택 창을 통해 대용량 파일을 쓸 때 UI 스레드에서 실행되어 느린 저장소에서 앱이 몇 초간 멈추던 문제를 수정했습니다. 이제 쓰기 작업은 UI 스레드 외부에서 발생합니다.
- Android: 스트리밍 네트워크 응답 시 청크 전전 헤더 전달: 오래 걸리는 스트리밍 호출 시 본문 청크가 도착하기 전에 헤더를 먼저 전달하여 간헐적인 스트림 실패 문제를 해결했습니다.
- Android: 온디바이스 전사 속도 및 메모리 효율 개선: Whisper / Moonshine 오디오 캡처 경로에서 박싱된 리스트 대신 기본 float 버퍼를 사용하여 메모리와 CPU 사용량을 줄였습니다. 모델 로드, 언로드, 전사 및 캐시 정리가 공유 락(shared lock)을 통해 직렬화되므로, 전사 도중 모델을 전환해도 앱이 충돌하지 않습니다.
- Desktop: Windows / Linux 셸의 안정성 및 보안 감사: Tauri 셸 전반에 대한 점검을 통해 기능을 신뢰할 수 있는 사이드패널로만 제한(방문한 임의의 페이지가 권한이 필요한 명령을 호출하지 못하도록 함)하고,
caiioo://Hub 설치 브릿지의 HTML 이스케이프를 강화했으며, "Node.js를 찾을 수 없음" 메시지를 명확히 표시하고 여러 견고성 수정을 적용했습니다. - Desktop, macOS: 온디바이스 음성 및 음성 모델 다운로드 작동: 데스크톱 앱의 WebView 콘텐츠 보안 정책(CSP)이 huggingface.co로부터의 다운로드를 차단하여 Kokoro 음성 및 Whisper 음성-텍스트 변환 모델이 처음 사용 시 로드되지 않던 문제를 수정했습니다. 이제 정책에서 huggingface.co를 허용합니다.
- Extension: 설정 → 도구, 모드 및 앱 이름 변경 및 재구성: 기존의 "도구 및 기능" 카테고리가 "도구, 모드 및 앱"으로 변경되었으며, 고급 섹션에서 "연결성(Connectivity)" 카테고리가 분리되었습니다.
- Web: 23개 언어에 대한 가격 안내 문구 정교화: 웹사이트의 Free / Pro 기능 설명에 대한 편집 검토를 통해 비영어권 로캘의 내용을 최신 영어 원문과 일치시켰습니다. 법적 문서의 "최종 업데이트" 날짜를 갱신했습니다.
보안
- 공통: 로그인 강화: 로그인 및 자격 증명 보관 파이프라인 감사에서 발견된 여러 취약점을 해결했습니다. Google ID 토큰은 이제 Caiioo의 자체 클라이언트 ID로 발행된 경우에만 수락됩니다(임의의 Google OAuth 클라이언트 토큰으로 로그인할 수 있던 허점 차단). Apple 로그인은 이제 Apple이 반환한 nonce를 Caiioo가 생성한 것과 대조하여 검증합니다. Google 및 Apple 로그인은 외부 신원을 이메일 미인증 계정에 자동으로 연결하는 것을 거부합니다("섀도우 가입" 탈취 차단). 리프레시 토큰 엔드포인트는 이제 취소된 토큰을 거부하므로 로그아웃된 토큰을 새 토큰으로 교환할 수 없습니다. OAuth 토큰 발행 엔드포인트는 이제 라이브 전달자(bearer) 토큰을 요구합니다. OAuth 콜백 페이지 자체도 여러 스크립트 주입 벡터에 대해 강화되었습니다.
- 공통: 모든 설정에 대한 프로필별 격리: 특정 코드 경로에서 설정 레이어가 동일한 설치 내의 여러 로그인 간에 단일 버킷을 공유하여, 한 계정에서 입력한 자격 증명이 다른 계정의 뷰로 유출될 수 있던 문제를 수정했습니다. 이제 모든 설정 읽기 및 쓰기는 엄격하게 프로필별로 수행되며, 업그레이드 후 첫 실행 시 기존 공유 버킷은 삭제되고 클라우드 동기화는 해당 레거시 버킷의 업로드 또는 다운로드를 거부합니다.
- Extension: 로컬 브릿지 자동 검색 옵트인 방식 변경: 이전에는 Chrome 확장 프로그램이 localhost에서 발견되는 모든 Caiioo 데스크톱 앱에 무조건 연결되었습니다. 이제 설정에서 로컬 브릿지 액세스를 명시적으로 켰을 때만 연결되므로, 공용 컴퓨터에서 다른 사용자가 설치한 데스크톱 앱이 사용자의 확장 프로그램 세션에 알림 없이 연결되는 것을 방지합니다.
- macOS, iOS: 주입 공격에 대비한
caiioo://설치 브릿지 강화:caiioo://hub/install/<id>URL을 처리하는 JavaScript의 수동 문자열 이스케이프가 작은따옴표만 처리하던 문제를 수정했습니다. 악의적으로 제작된 패키지 ID가 문자열 리터럴을 벗어나 WebView에서 임의의 스크립트를 실행할 수 있던 위험을 전체 JSON 이스케이프로 대체하여 해결했습니다. - iOS, macOS, Extension: 검증된 Caiioo OAuth 앱을 사용하는 Google 로그인 흐름: 비공개 동기화, 캘린더, Gmail, Drive 및 기타 Workspace 도구를 위해 Google을 연결할 때 iOS, macOS 및 Chrome / Edge 확장 프로그램에서 "이 앱은 확인되지 않음" 경고가 표시되던 문제를 수정했습니다. 이는 해당 플랫폼들이 여전히 오래된 미검증 Google Cloud 프로젝트를 통해 인증하고 있었기 때문입니다. 이제 모든 플랫폼이 Caiioo의 검증된 Google 프로젝트를 엔드투엔드로 사용하므로, Google 동의 화면에서 경고 대신 적절한 Caiioo 브랜딩과 검증된 앱 녹색 체크 표시를 볼 수 있습니다. 1회성 재로그인 필요: 기존 iOS 및 macOS 사용자는 이번 업데이트 후 앱을 처음 열 때 자동으로 로그아웃되며 다시 로그인해야 합니다. 이전 로그인 토큰은 이전 Google 프로젝트에서 발행된 것이므로 이월할 수 없습니다.
버그 수정
- macOS: Safari 연결 시 "브라우저 연결되지 않음" 경고 해제: Safari 확장 프로그램을 Mac 앱에 연결해도 브라우저 제어를 사용할 수 없다는 오래된 경고가 남아있던 문제를 수정했습니다. 또한 Safari, Edge, Firefox가 모두 작동함에도 불구하고 경고문에 Chrome만 언급하던 문제를 수정했습니다. 이제 앱은 모든 연결된 브라우저를 카운트하며(Safari는 다른 브라우저와 다른 채널로 연결되어 누락되었음), 브라우저가 연결되는 즉시 경고가 사라지고 문구에서 Chrome만 특정하지 않습니다.
- 공통: 선택한 최신 이미지 모델 사용 가능: 이미지 모델 선택 창에 계정으로 생성 가능한 모든 모델(Recraft 등 최신 모델 포함)이 표시되었으나, 생성기가 라이브 목록이 아닌 오래된 내장 목록을 기준으로 확인하여 "알 수 없는 이미지 모델" 오류가 발생하던 문제를 수정했습니다. 이제 생성기는 결정 전 라이브 모델 목록을 새로고침하므로 선택 창에 보이는 모든 모델을 사용할 수 있습니다. 또한 기본 모델이 FLUX.2 [pro]에서 더 빠르고 저렴하며 범용적인 FLUX.2 [flex]로 변경되었습니다.
- 공통: Word 문서 내의 변경 내용 추적 수락 및 거부 정상 작동: .docx 기반 Slate 내부의 변경 내용 추적에 대해 수락 또는 거부를 클릭할 때 문서 위치를 변경 ID로 사용하던 문제를 수정했습니다. 이는 실제 저장된 변경 ID와 일치하지 않아 시각적으로만 상태가 바뀌고 저장이 되지 않았습니다. 이제 정상적으로 수정되었습니다.
- 공통: Slate의 손상된 템플릿 설치 처리: 적절한 래퍼 없이 제공된 Hub 설치 Slate 템플릿이 뷰어에서 복구 없이 "아티팩트 로드 중" 상태로 멈추던 문제를 수정했습니다. 이제 템플릿은 로드 시 자동 복구되며, 템플릿이 실제로 손상된 경우 뷰어에 명확한 오류를 표시합니다.
- 공통: Self Checker 판정 중복 설명 방지: Self Checker가 판정 카드를 렌더링할 때 에이전트가 답변 텍스트로도 점수를 설명하여 동일한 판정이 화면에 두 번 표시되던 문제를 수정했습니다. 카드가 렌더링될 때 산문 형태의 요약은 억제됩니다.
- 공통: Self Checker의 이미지 첨부 파일 인식: 평가자가 이미지 첨부 파일을 텍스트로 디코딩하여 결과적으로 무의미한 데이터를 평가에 사용하던 문제를 수정했습니다. 이제 이미지 첨부 파일은 실제 이미지로 평가자에게 전달되므로, 이미지 내용에 따라 정확성이 결정되는 턴도 올바르게 채점됩니다.
- 공통: Self Checker 최신 판정만 표시: ⚖ 클릭 시마다 이전 카드를 제거하지 않고 새 판정 카드를 추가하여 채팅창에 중복된 카드가 쌓이던 문제를 수정했습니다. 이제 각 턴에는 가장 최근의 판정만 표시되며, × 버튼으로 지울 수 있습니다.
- 공통: 미리 알림 동기화 대화상자의 Outlook 이벤트 렌더링: 미리 알림 모달의 플랫폼 감지 경로에서 내부 "microsoft_calendar" 소스 값이 유출되던 문제를 수정했습니다. 이제 모달은 추론 경로를 사용하여 출처에 관계없이 이벤트를 올바르게 렌더링합니다.
- 공통: 대용량 Gmail 첨부 파일의 안정적 전달: 대용량 Gmail 첨부 파일(25MB 파일은 base64 인코딩 후 약 33MB)이 프로세스 간 메시지 한도를 초과하여 알림 없이 누락되던 문제를 수정했습니다. 이제 런타임은 초과된 페이로드에 대해 임시 파일을 사용하므로 첨부 파일이 정상적으로 전달됩니다.
- 공통: PandaDoc MCP 설치 복구: PandaDoc의 MCP 엔드포인트 경로 변경에 맞춰 Caiioo의 카탈로그 항목을 새 엔드포인트로 업데이트했습니다.
- 공통: 워크플로 렌더링 단계에서 문자열 출력을 첨부 파일로 오인하는 문제 해결: 한 워크플로 단계의 문자열 출력을 View 단계로 전달할 때 모든 문자열을 첨부 파일 ID로 처리하여 실패하던 문제를 수정했습니다. 이제 참조로 전달된 문자열과 리터럴 첨부 파일 ID를 구분합니다.
- 공통: 브라우저 전용 환경에서 구독 상태 확인 중단 현상 해결: 데스크톱 브릿지가 없는 환경에서 agenda 도구가 캐시 미스 발생 시마다 브릿지를 탐색하여 "가져오기 실패" 오류를 발생시키던 문제를 수정했습니다. 이제 탐색은 데스크톱 브릿지에 실제로 도달 가능한 경우에만 수행됩니다.
- 공통: 에이전트 백그라운드 프로세스의 깔끔한 종료: 이전 릴리스의 변경 사항으로 인해 에이전트의 백그라운드 프로세스가 완료 후에도 열려 있어, 대화 제목 자동 생성 등 턴 이후의 작업이 차단되던 문제를 수정했습니다. 이제 프로세스가 깔끔하게 종료되어 제목 생성 및 기타 후속 단계가 예상대로 실행됩니다.
- 공통: 모드 선택 창에서 실험실 및 관리자 전용 모드 숨김: 내부용 "lab" 모드 및 관리자 전용으로 표시된 모드가 사용자용 모드 선택 창에 유출되던 두 가지 경로를 수정했습니다.
- 공통: 저장 시 중복된 Hub 설치 항목 제거: 설치 파이프라인의 경합으로 인해 동일한 패키지에 대해 두 개의 항목이 작성될 수 있던 문제를 수정했습니다. 이제 패키지 슬러그(slug)를 기준으로 중복을 제거하여 저장하며, 기존 중복 항목은 다음 읽기 시 복구됩니다.
- 공통: 커스텀 모드 ID와 Hub 설치 항목의 충돌 방지: 커스텀 모드 ID에 대해 저장소 키를 권위 있는 식별자로 사용하여, Hub에서 설치된 모드가 사용자가 편집한 복사본이 이미 존재하는 키에 배치될 때 발생하는 충돌 유형을 제거했습니다.
- 공통: 서브 에이전트 첨부 파일 및 카드의 메인 채팅 전달: 이미지, 차트, Self Checker 판정 또는 기타 첨부 파일을 생성한 서브 에이전트가 결과를 보이지 않는 서브 에이전트 스레드에 남겨두고, 상위 대화에서는 공백을 메우기 위해 URL을 임의로 생성하던 문제를 수정했습니다. 이제 서브 에이전트의 첨부 파일과 카드는 에이전트 러너의 실행 중간 정리 과정에서 메인 스레드로 올바르게 전달되어, 요청을 보낸 위치에 결과가 표시됩니다.
- 공통: 지연 렌더링된 페이지의 PDF 읽기: PDF 청크가 생성될 당시 아직 렌더링되지 않았던 페이지에 대해서도 "원본 텍스트 보기" 팝업이 정상 작동합니다.
- macOS: 네이티브 앱에서 Slack, Notion, Linear 등 Hub OAuth 로그인 완료: HTTPS 전용 OAuth를 사용하는 Hub MCP 서버(Slack, Notion, Linear 등)가 http:// 콜백을 거부하여 로컬 릴레이로 리다이렉트할 수 없던 문제를 수정했습니다. 이제 macOS 앱은 이러한 흐름을 Caiioo 클라우드 릴레이의
/oauth/callback으로 라우팅한 후, 기존 사용자별 채널을 통해 인증 코드를 로컬 릴레이로 다시 전달합니다. 이를 통해 네이티브 앱 내부에서의 로그인이 확장 프로그램과 동일하게 작동합니다. 저장된 프로필이 아직 로컬 릴레이의 ID 제공자에 연결되지 않은 기존 설치를 수정하는 1회성 마이그레이션이 포함됩니다. - 공통: 서브 에이전트 실행 중 "사용자에게 묻기" 중단 현상 해결: 서브 프로세스 내부에서
ask_user를 호출한 에이전트가 프로세스 간에 도달할 수 없는 공유 메모리 싱글톤에 접근하여, 질문이 표시되지 않고 실행이 취소될 때까지 멈춰 있던 문제를 수정했습니다. 이제 협업 컨트롤러는 스레드별로 관리되어, 질문이 메인 에이전트 루프에서와 마찬가지로 채팅창에 정상적으로 표시됩니다. - 공통: 네이티브 macOS Calendar / Notes / Reminders 헬퍼 갱신: 헬퍼 바이너리를 최신 macOS SDK로 업데이트하여 0.9.721에서 미리 알림 동기화 시 간헐적으로 잘못된 항목이 보이던 문제를 해결했습니다.
- Extension: 확장 프로그램 내부의 Self Checker 판정 카드 렌더링: 카드 템플릿 내부의 인라인 스크립트가 확장 프로그램의 콘텐츠 보안 정책에 의해 차단되던 문제를 수정했습니다. 이제 카드는 확장 프로그램의 샌드박스 페이지를 통해 라우팅되어 올바르게 렌더링됩니다.
- 공통: SVG 드로잉을 이미지로 변환 시 텍스트 표시: 로고, 다이어그램 또는 차트와 같은 SVG를 이미지로 렌더링할 때 Chrome 확장 프로그램과 macOS 앱에서 모든 텍스트(워드마크, 라벨, 캡션)가 누락되어 공백으로 남던 문제를 수정했습니다(모바일 앱에서만 정상 렌더링되었음). 이제 Caiioo는 굵은 글씨를 포함한 대체 글꼴(sans-serif, serif, monospace)을 제공하므로 &, ™ 및 악센트 기호를 포함한 텍스트가 그려진 대로 정확하게 표시됩니다. 드로잉에서 요청한 글꼴을 사용할 수 없는 경우 사라지는 대신 깔끔한 sans-serif로 대체됩니다.
버전 0.9.721 (2026년 5월 15일)
새로운 기능
- Common: 요금제가 Free 및 Pro로 통합되었으며, Pro 사용자에게는 월 $5의 OpenRouter 크레딧 보너스 제공: 별도의 Platform 및 Pro Mobile 등급을 폐지하고 모든 Platform 전용 기능(Apple Calendar / Reminders / Notes, 암호화된 프라이빗 릴레이, API 액세스 프리뷰, 네이티브 음성 받아쓰기, 브라우저 UI)을 Pro로 통합했습니다. 웹사이트, 계정 페이지 및 확장 프로그램 내 요금제 패널이 이제 깔끔한 Free / Pro 2개 카드 레이아웃으로 변경되었습니다. 이번 변경의 일환으로, 매월 Pro 결제 시(Stripe 또는 Apple) 기존 잔액 외에 $5의 크레딧이 프로비저닝된 OpenRouter 키에 추가로 충전됩니다. 기존 Platform 구독자는 추가 비용 없이 Pro로 자동 승계되며 기존의 모든 기능을 유지합니다. OpenRouter 크레딧 구매 하한선도 낮아졌습니다. 최종 사용자는 이제 기존의 $0.80 최소 수수료 할증 없이 5.5%의 실비 수수료만 부담하면 됩니다.
- Common: Slack을 이제 Community Hub에서 원클릭으로 설치 가능: 독립형 Slack 연동 기능이 제거되었습니다. 이제 Slack은 Notion, Linear, GitHub 등과 마찬가지로 Community Hub에서 설치합니다. Hub의 Slack 패키지에서 'Install'을 클릭하고 Caiioo Slack 앱으로 한 번만 로그인하면 공식 Slack MCP 서버가 즉시 연결됩니다. 수동 앱 설정이나 개발자 모드가 필요 없습니다.
/caiioo및/caiioo-help와 같은 슬래시 명령어를 봇이 초대된 모든 채널에서 사용할 수 있습니다. - Common: Workspace Files 도구: 새로운 샌드박스 파일 도구를 통해 에이전트가 지정된 워크스페이스 폴더 내의 파일을 읽고, 쓰고, 편집하고, 검색할 수 있습니다. 에이전트는 해당 폴더를 벗어날 수 없으며, 이 도구를 통해 네트워크에 접속할 수 없습니다. 읽기 기능은 Office 형식(docx/xlsx/pptx)과 PDF를 자동으로 파싱합니다. Settings → Tools → Workspace Files에서 폴더를 설정하면 에이전트가 즉시 이를 인식합니다.
- Common: Pseudonymizer를 위한 PHI Safe Harbor 서브모드: Pseudonymizer의 PHI 모드에서 이제 두 가지 서브모드를 제공합니다. Limited Data Set(기존의 16개 카테고리 제거, 기본값)과 Safe Harbor(연도 이외의 특정 날짜, 전체 지리적 주소, 89세 이상의 연령까지 제거하는 더 엄격한 HIPAA §164.514(b)(2) 표준)입니다. Pseudonymizer 설정 또는 새로운 채팅 내 토글에서 서브모드를 선택하세요. Safe Harbor는 데이터 사용 계약(Data Use Agreement) 없이 공유할 수 있는 비식별 데이터 세트가 필요할 때 적합한 선택입니다.
- Common: Pseudonymizer 정식 출시: 입력한 내용에서 이름, 이메일, 주소, ID 및 기타 민감한 값을 감지하여 모델에 전달되기 전 실제와 유사한 가짜 값으로 교체하는 Pseudonymizer가 이번 릴리스를 통해 테스터 프로그램을 마치고 Free 플랜을 포함한 모든 플랜에서 사용할 수 있게 되었습니다. Settings → Privacy → Pseudonymizer에서 활성화하거나 새로운 채팅 내 방패 아이콘 토글을 사용하세요. 모델은 실제 값을 절대 볼 수 없으며, 도구 호출이 실행되기 전 로컬에서 마스킹이 해제되므로 출력 결과의 정확성은 유지됩니다.
- Common: Pseudonymizer 채팅 내 컨트롤: Pseudonymizer가 더 이상 Settings 메뉴 안에 숨어 있지 않습니다. 전송 버튼 옆의 방패 아이콘(회색 = 꺼짐, 파란색 = Personal Data Filter, 청록색 = PHI/Limited Data Set, 에메랄드색 = PHI/Safe Harbor)을 통해 활성 모드를 한눈에 확인하고, Settings와 동일한 모드 선택 팝오버를 열 수 있습니다. Pseudonymizer가 켜져 있으면 입력창 주위에 모드 색상과 일치하는 1픽셀 링이 표시되어 상태를 상기시켜 줍니다. 값 교체가 발생한 각 턴이 끝나면 메시지 아래에 "🛡 pseudonymized — N substitutions" 칩이 나타납니다. 이를 클릭하면 카테고리 레이블과 함께 어떤 실제 값과 가짜 값이 교체되었는지 정확히 확인할 수 있습니다.
- Common: 다른 기기의 브라우저를 컴퓨터에 연결: 새로운 페어링 프로세스를 통해 휴대폰, 태블릿 또는 다른 노트북의 브라우저에서 Caiioo를 안전하게 사용하면서 모든 작업은 메인 컴퓨터에서 실행할 수 있습니다. Settings → Connections → Caiioo Bridge → "Pair a device"에서 5분간 유효한 단회용 6자리 코드를 생성하세요. 다른 기기에서 동일한 URL을 열고 코드를 입력하면 해당 기기가 계속 페어링된 상태로 유지됩니다. 무차별 대입 공격(Brute-force) 방지를 위해 IP당 분당 10회로 시도가 제한되며, 메인 컴퓨터에서 서버를 재시작하면 모든 기기가 깔끔하게 재페어링됩니다.
개선 사항
- Common: 소스 캘린더별로 일정 항목에 색상 스트라이프 표시: Reminders / Agenda 창의 각 이벤트 카드에 해당 캘린더의 색상과 일치하는 스트라이프가 표시되어, 해당 항목이 업무용, 개인용 또는 공유 캘린더 중 어디에서 온 것인지 한눈에 알 수 있습니다. 현재 Google Calendar에 적용되었으며, Apple 및 Microsoft는 데이터 피드에서 캘린더 색상을 노출하는 대로 지원될 예정입니다.
- Common: 정확한 셀 이름을 지정하지 않고도 AI가 Google Sheet를 읽을 수 있음: 기존 Google Sheets 읽기 도구는 에이전트가
Sheet1!A1:D200과 같이 정확한 셀 범위를 지정하지 않으면 실행을 거부했습니다. 이제 모델이 시트 전체 또는 통합 문서의 모든 시트를 요청할 수 있으며, 도구가 스스로 레이아웃을 파악합니다. 기본 제공되는 1,000행 제한을 통해 거대한 스프레드시트가 모델의 컨텍스트 창을 초과하지 않도록 방지합니다. 시트가 제한된 경우 응답을 통해 모델에 알림으로써 다음번에 더 작은 범위나 더 많은 행 수를 요청할 수 있게 합니다. - Common: Community Hub에서 OAuth 도구 설치 시 자동으로 로그인 창 열림: 로그인이 필요한 Hub 패키지(Notion, Linear 등)를 추가할 때, 기존에는 카드가 "OAuth required" 상태로 멈춰 있어 "Sign in" 버튼을 별도로 클릭해야 했습니다. 이제 설치 시 자동으로 로그인 탭이 열립니다. 'Install' 클릭을 동의로 간주하며, "Opening sign-in for X…"라는 문구로 탭이 열리는 이유를 설명합니다. 수동 'Sign in' 버튼은 백업용으로 유지됩니다.
- Common: Settings → Connections에서 다른 기기를 위한 실제 네트워크 주소 표시: "Connect from other devices on your network" 패널이 macOS 앱에서 해당 컴퓨터에서만 작동하는 루프백 주소인
127.0.0.1:3847을 표시하여, 사용자가 다른 기기에서 접속할 수 없는 주소를 복사하는 문제가 있었습니다. 이제 패널에 브리지 자체의 실제 LAN IP와.local네트워크 이름이 표시됩니다. 또한 "Allow access from other devices" 토글이 꺼져 있을 때는 주소를 숨겨 작동하지 않는 주소가 표시되지 않도록 했습니다. - Common: 웹 검색 시 Google의 AI Overview를 안정적으로 캡처: 웹 브라우징 도구의 Google 스크래퍼가 간혹 빈 AI Overview 블록을 반환하거나 노이즈가 섞인 우측 "Sources" 텍스트 및 인라인 스크립트를 가져오는 문제가 있었습니다. 추출 로직을 Google의 안정적인 섹션 마커로 재설정하고, 반환 전 스크립트 콘텐츠와 우측 영역을 제거하여 에이전트가 읽기 쉬운 답변만 볼 수 있도록 했습니다.
- Common: Pseudonymizer가 회사 이름도 보호: Pseudonymizer가 이제 조직 이름을 보호 엔티티로 처리하여, 법적 접미사 스타일(Inc., LLC, GmbH)과 "파트너 대 브랜드" 구조를 유지하면서 실제와 유사한 가짜 이름으로 교체합니다. 도시 및 소규모 지역 이름("Springfield", "St. Albans")도 주요 카테고리로 감지되어 활성 모드에 따라 교체되거나 제거될 수 있습니다.
- Common: Pseudonymizer에 도시 및 지역에 대한 스페인어, 프랑스어, 독일어 등 다국어 지원 추가: 개인 정보 감지 모델이 23개 언어의 도시 이름에 대해 수동으로 작성된 다국어 데이터로 재학습되었습니다. 이를 통해 영어가 아닌 언어로 프롬프트를 작성하는 사용자도 영어 사용자와 동일한 수준의 보호를 받을 수 있습니다.
- Common: iOS에서 Pseudonymizer 모델 다운로드 진행 상황 표시: iOS에서 PHI / Personal Data 감지기를 처음 다운로드할 때 진행 상황을 알 수 없어 멈춘 것처럼 보일 수 있었습니다. 이제 하트비트 진행 로그가 추가되어 다운로드가 진행 중임을 확인할 수 있습니다.
- Common: 서브에이전트가 이름으로 모델 카탈로그 검색 가능: 서브에이전트 도구 설명을 제한된 용량 내로 유지하기 위해, 내장된 카탈로그에는 제공업체별 상위 10개 모델만 포함됩니다. 서브에이전트가 해당 목록 이외의 모델이 필요한 경우, 이름 조각(예: "haiku")으로 새로운
search_models액션을 호출하여 정확한 카탈로그 ID, 가격 및 기능 플래그를 가져올 수 있습니다. 이를 통해 모델은 자주 사용되지 않는 모델에 대해서도 구체적인 ID를 선택할 수 있습니다. - Common: 커스텀 MCP 서버가 자격 증명 보관함에 친숙한 이름으로 표시: 커스텀 MCP 서버에 로그인할 때 자격 증명 보관함에 원시 연결 URL이 표시되어 식별이 어려웠습니다. 이제 보관함에 사용자가 지정한 친숙한 서버 이름이 표시되며, 이름이 설정되지 않은 경우에만 URL로 대체됩니다.
- Common: Community Hub에 Legal Data Hunter 추가: 110개국 이상의 1,800만 개 이상의 판례, 법령 및 학설 문서를 연결하는 Legal Data Hunter가 Community Hub 패키지에 추가되어 원클릭 MCP 설치가 가능해졌습니다.
- Web: 신뢰 페이지에 SOC 2 Type I 배지 추가: Caiioo가 SOC 2 Type I 감사를 통과했습니다. caiioo.ai의 신뢰 페이지에 기존 보안 공시와 함께 AICPA SOC 2 배지가 표시됩니다.
- iOS: iOS가 텍스트 필드에 추가하는 키보드 툴바 숨김: iOS가 웹 텍스트 필드 키보드 상단에 추가하는 이전/다음 화살표 및 '완료' 버튼이 입력창의 수직 공간을 상당히 차지했습니다. 해당 바를 숨겼으며(Apple 공개 API만 사용하므로 App Store 보안 기준 준수), 페이지를 새로고침한 후에도 숨김 상태가 유지됩니다.
보안
- Common: 로컬 브리지는 기본적으로 컴퓨터 내부에 유지되며 LAN 액세스는 선택 사항임: stdio MCP 및 데스크톱 전용 도구를 구동하는 로컬 브리지가 기존에는 모든 네트워크 인터페이스에서 대기(listen)했습니다. 이로 인해 공용 Wi-Fi 네트워크에서 다른 기기가 세션 토큰을 요청한 후 권한이 필요한 "셸 명령 실행" 엔드포인트를 호출할 위험이 있었습니다. 이제 브리지는 기본적으로 본인의 컴퓨터에서만 대기합니다. 다른 기기에서 사용하려면 Settings → Connections에서 "Allow access from other devices on your network"를 켜고 새로운 코드 흐름(위 내용 참조)으로 기기를 페어링해야 합니다. LAN 액세스가 켜져 있더라도 세션 토큰은 본인의 기기에서 오는 요청에만 발급되므로, 동일한 Wi-Fi를 사용하는 타인이 접근할 수 없습니다.
- Common: Pseudonymizer가 Perplexity로 실제 값이 유출되는 것을 차단: Pseudonymizer가 켜져 있고 에이전트가 이미 교체된 식별자(이름, 이메일, 주소 등)가 포함된 쿼리로 Perplexity 검색을 실행하려고 하면, Caiioo는 마스킹을 해제하여 Perplexity로 보내는 대신 검색을 차단하고 명확한 설명을 표시합니다. Perplexity는 제3자 LLM 서비스이며, Pseudonymizer의 목적은 이러한 값이 LLM 서비스에 도달하지 않도록 하는 것입니다. 검색을 실행하려면 해당 턴에서 Pseudonymizer를 끄거나 보호된 값을 피해서 다시 작성하세요.
- Common: 스프레드시트 파서를 유지 관리되는 라이브러리로 교체 (GHSA-4r6h-8v6p-xvw6): Caiioo가
.xlsx첨부 파일을 파싱하는 데 사용하던 라이브러리에 프로토타입 오염(prototype-pollution) 취약점이 보고되었으며 더 이상 유지 관리되지 않습니다. 이를 잘 유지 관리되는exceljs라이브러리로 교체했습니다. 스프레드시트 업로드 및 파일 워크스페이스의.xlsx읽기는 이전과 동일한 콘텐츠를 반환합니다.
버그 수정
- Common: 서버 재시작 후 브라우저가 "Loading Caiioo… 0/0"에서 멈추는 현상: 호스트 서버가 연결된 브라우저와 아직 종단간 암호화(E2EE) 세션을 갖지 못한 경우(서버가 방금 재시작되었거나 브라우저의 첫 연결인 경우), 브라우저가 서버의 키 교환 시작 요청을 무시하여 암호화된 메시지가 복호화되지 않고 UI 로딩이 멈추는 문제가 있었습니다. 이제 브라우저가 키 교환 요청에 올바르게 응답하며 사이드패널이 정상적으로 로드됩니다.
- Common: 이미 부여한 Google 권한을 Caiioo가 계속 요청하는 현상: 대화 도중(형제 도구, 설정 패널 또는 다른 기기에서의 동기화를 통해) Google 권한을 부여했을 때, 에이전트의 메모리 내 계정 복사본이 이를 인지하지 못해 동일한 권한을 다시 요청하는 경우가 있었습니다. 이제 Caiioo는 권한 누락에 대해 경고하기 전에 계정 정보를 한 번 더 다시 읽어 대화 도중 부여된 권한이 즉시 반영되도록 합니다.
- Common: 7개 언어에서 AI가 "English"로 안내되는 현상: 로캘 코드와 언어 이름 간의 내부 매핑이 지원되는 24개 언어 중 17개만 포함하고 있었습니다. UI를 아랍어, 히브리어, 힌디어, 벵골어, 우르두어, 터키어 또는 네덜란드어로 설정한 사용자의 경우 시스템 프롬프트가 실제 UI 언어 대신 "respond in English"라고 안내되었습니다. 이제 매핑이 완료되었으며, 회귀 테스트를 통해 이 문제가 재발하지 않도록 했습니다.
- Common: Reminders 동기화 대화 상자에서 번역된 레이블 대신 원시 텍스트 코드가 표시되는 현상: Reminders / Agenda 동기화 대화 상자의 Caiioo 카드에서 모든 언어에 대해 번역된 텍스트 대신
reminders.sync.CaiiooName과 같은 리터럴 플레이스홀더가 렌더링되던 문제를 수정했습니다. - Common: 대화 도중 추가 권한 부여 시 Google 로그인이 반복되는 현상: 에이전트가 아직 권한이 없는 Google 스코프(Drive, Sheets 등)가 필요하여 사이드바 탭에서 권한 부여를 요청했을 때, 새로운 로그인이 에이전트를 동일한 스코프를 다시 요청하는 상태로 되돌리는 경우가 있었습니다. 이제 OAuth 흐름이 새로 부여된 스코프를 기존 연결에 덮어쓰지 않고 올바르게 병합하여, 한 번의 승인으로 충분하도록 수정되었습니다.
- Common: 서브에이전트 첨부 파일이 메인 채팅에 표시됨: 서브에이전트의 도구가 이미지, 파일 또는 기타 첨부 파일을 생성했을 때, 기존에는 서브에이전트의 보이지 않는 스레드에만 저장되어 메인 대화에는 아무것도 표시되지 않았습니다. 이로 인해 상위 모델이 공백을 메우기 위해 URL을 지어내는 경우가 있었습니다. 이제 서브에이전트 첨부 파일이 상위 스레드에 자동으로 연결되어 다른 도구 결과와 마찬가지로 인라인으로 렌더링됩니다.
- Common: Pseudonymizer 감지기 2차 패스를 통해 1차에서 놓친 이름 캡처: Pseudonymizer는 이제 전송 전, 마스킹되어야 하지만 누락된 실제 값이 있는지 메시지를 다시 확인하는 빠른 2차 감지 패스를 실행합니다. 모델이 놓치기 쉬운 보호 카테고리에 대한 이중 안전장치입니다.
- Common: Pseudonymizer의 My Identifiers 플레이스홀더에 실제 이름이 표시되지 않음: Settings → Pseudonymizer → My Identifiers 필드에 계정의 실제 이름이 예시 플레이스홀더로 표시되어 정보 유출처럼 보이고 설정을 혼란스럽게 하던 문제를 수정했습니다. 일반적인 플레이스홀더로 교체되었습니다.
- Common: 다크 테마에서 Pseudonymizer 알약 텍스트 가독성 개선: 사용자 메시지 아래의 "🛡 pseudonymized" 알약이 다크 테마에서 라이트 모드 텍스트 색상을 사용하여 거의 보이지 않던 문제를 수정했습니다.
- Extension: 사이드패널 "Get current location" 작동 불능 수정: Chrome 매니페스트에 위치 권한이 누락되어 브라우저가 사용자에게 묻기도 전에 사이드패널의 위치 요청이 "Permission denied"를 반환하던 문제를 수정했습니다. 권한이 추가되었으며, 이제 위치 요청 시 브라우저 프롬프트가 정상적으로 표시됩니다. 기존 사용자는 업데이트 시 일회성 권한 요청을 받게 됩니다.
- iOS: 등급 통합 후 구독 페이지에서 Pro만 판매: iOS 인앱 결제창에 일시적으로 폐지된 Pro Mobile 및 Platform 등급이 계속 표시되어 사용자가 지원되지 않는 요금제에 가입할 수 있었던 문제를 수정했습니다. 이제 결제창에서 웹사이트와 동일한 Pro 등급만 판매합니다. 기존 Pro Mobile / Platform 구독자는 추가 비용 없이 Pro로 계속 인정됩니다.
- iOS: 페이지 로딩 중 탐색 시 드물게 발생하는 크래시 수정: 페이지 로딩이 완료되기 전에 탐색이 취소될 때(예: 이전 페이지가 끝나기 전에 링크 탭) iOS에서 크래시가 발생할 수 있었습니다. 모든 오류 경로를 이미 보호된 동일한 헬퍼를 통해 라우팅하도록 수정하여, 취소된 로드가 닫힌 페이지에 결과를 전달하려고 시도하지 않도록 했습니다.
- Web: 인앱 브라우저(Slack / X / LinkedIn / Instagram) 및 iOS Safari 내 로그인 작동: caiioo.ai가 다른 앱 내의 링크를 통해 열렸을 때 팝업 방식의 Google 로그인이 실패하는 문제가 있었습니다. 인앱 브라우저가 팝업을 차단하거나 원래 페이지와의 연결을 끊기 때문입니다. 모바일 및 인앱 브라우저에서는 이제 팝업 대신 자체 브라우저 세션을 통한 전체 페이지 리디렉션을 사용하여 로그인을 완료하고 시작했던 페이지로 돌아옵니다. 데스크톱 팝업 로그인은 변경되지 않았습니다.
- Web: 태블릿 및 긴 이름에 대한 Community Hub 디자인 다듬기: 웹사이트의 탐색 바가 태블릿 너비(최대 1024px)에서 로고를 침범하는 대신 햄버거 메뉴로 전환됩니다. Hub 패키지 모달 제목이 닫기 버튼 아래로 겹치지 않도록 수정했습니다. "Coming Soon" 알약이 좁은 너비에서 깔끔하게 줄바꿈됩니다. 도구 아이콘은 긴 내부 슬러그(예: "customerio")가 아이콘 박스를 벗어나는 대신 이모지, 회사 웹사이트의 로고, 첫 글자 아바타 순으로 대체 표시됩니다.
- Web: Community Hub에서 각 패키지의 실제 작성자 표시: 기존에는 Hub의 모든 패키지가 실제 제작자와 관계없이 "by caiioo"로 표시되었습니다. 이제 작성자에 실제 유지 관리자("Model Context Protocol", "oraios" 또는 벤더 브랜드)가 반영되며, 직접 제작한 도구 및 모드에만 "Caiioo"가 표시됩니다. 아직 완전히 연결되지 않은 연동 기능 카드는 작동할 때까지 Hub에서 숨겨져, 설치 즉시 오류가 발생하는 카드가 보이지 않도록 했습니다.
- Web: 사이트맵의 "리디렉션이 있는 페이지" 경고 발생 중단: Search Console에서 caiioo.ai의 모든 페이지를 리디렉션으로 표시하던 문제를 수정했습니다. 사이트맵에 실제 사이트에서 사용하는 후행 슬래시(trailing slash)가 없는 URL이 나열되어 있었기 때문입니다. 이제 사이트맵이 표준(canonical) URL과 일치하며 언어별 대체 페이지를 포함하므로, 검색 엔진이 사이트 전체를 리디렉션된 것으로 간주하지 않습니다.
버전 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 아티팩트에서 이제 jsdelivr, unpkg 등 신뢰할 수 있는 HTTPS CDN을 통해 Chart.js나 D3와 같은 공용 라이브러리를 로드할 수 있습니다. 데이터 페칭(Data fetching)은 여전히 동일 출처(same-origin)로 제한되므로, 첨부 데이터를 slate로 전달하려면
bind_data를 사용하십시오. - Common: Personal Intuition 진행 상황 명시: 백필(Backfill) 실행 시 완료될 때까지 무반응 상태로 있는 대신, 설정 패널에 스레드별 진행 상황(예: "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 서버 통합
- 스크린샷 및 비전 기능
- 음성 입력
- 스레드 관리 및 분기
- 프로필 및 모드 시스템