CAKE20

AI Web PaaS

AI Chat

현재 웹사이트에 연결된 Codex 또는 Claude가 에디터 안에서 직접 수정하고 검증합니다.

사용자 AI 계정 연결

  • ChatGPT 구독 계정으로 Codex를 연결하거나 OpenAI·Anthropic API 키를 연결할 수 있습니다.
  • API 키와 ChatGPT 로그인 runtime은 사용자별 AES-256-GCM 암호화 상태로 Manager DB에 저장합니다.
  • Codex runtime은 인증 상태를 우선 보존하고 최근 세션부터 50MB 안에 저장합니다. 제외된 오래된 세션은 다음 사용 시 새 세션으로 안전하게 전환합니다.
  • AI 작업 완료·강제중단 후 30분 동안 후속 요청이 없으면 해당 thread를 자동 초기화합니다. 같은 계정의 모든 thread가 만료되면 runtime 세션도 정리하며 로그인 정보, 채팅과 작업 로그는 유지합니다.
  • 연결된 AI가 여러 개면 웹사이트마다 사용할 AI를 선택합니다. 연결 창은 연결 방식, 계정 이메일 또는 API 키 끝자리와 현재 사용 중 상태를 표시합니다.
  • AI 연결을 해제하면 해당 연결의 현재 대화 thread도 함께 정리합니다.

웹사이트를 이미 아는 내장 에이전트

AI Chat은 새 대화에서 현재 웹사이트 ID와 이름, package.json, README.md 요구사항, 공통 지침과 최근 대화를 전달합니다. 이후에는 package.json 또는 README.md가 변경됐을 때만 해당 내용을 다시 전달하며, 전용 Cake20 MCP로 현재 소스·설정·로그·데이터를 직접 확인합니다.

  • 파일 변경과 테스트는 웹사이트에 한정된 Cake20 MCP 도구로만 수행합니다.
  • Codex 작업 디렉터리는 읽기 전용·네트워크 차단으로 열고 변경은 사이트에 한정된 MCP의 경로·활동 기록 규칙을 통과시킵니다.
  • Claude도 일반 도구를 비우고 현재 웹사이트의 MCP 도구만 허용합니다.

작업 중 대화와 제어

  • 단순 인사·확인·짧은 설명과 바로 답할 수 있는 읽기 전용 질문은 Plan 없이 즉시 답변하며 Plan 카드도 만들거나 열지 않습니다.
  • 단일 화면 캡처와 한두 단계 수정·진단은 Plan 없이 바로 처리합니다. 독립적인 복잡한 단계가 3개 이상일 때만 전체 Plan을 표시합니다. 각 단계는 시작할 때 진행 중, 끝날 때 완료로 순서대로 갱신되며 오류·중단 상태와 완료된 Plan도 대화 기록에 남습니다.
  • 현재 Plan은 채팅 스크롤 영역 상단에 떠 있는 카드로 표시합니다. 접으면 진행 중 단계를 우선한 한 줄만 보이고, 모두 완료되면 마지막 단계를 표시하며 별도로 닫을 수도 있습니다.
  • AI 응답에는 별도 완료 배지를 붙이지 않으며, 이미지나 영상만 남기지 않고 짧은 완료 설명을 함께 제공합니다.
  • 대화 내용이 화면 높이보다 짧으면 입력창 바로 위의 아래쪽부터 쌓고, 새 대화가 추가될수록 기존 내용을 위로 밀어 올립니다. 화면을 넘으면 기존처럼 스크롤합니다.
  • 요청 분석 요약, 작업 순서, 실행 도구, 대상 파일·조회 조건과 완료 상태를 채팅의 AI 진행 카드에 실시간으로 쌓아 표시합니다. AI가 작성한 설명도 작업 완료 전부터 작성 즉시 표시합니다.
  • 작업 중에도 후속 요청을 대기열에 넣고 수정·삭제하거나 현재 작업을 중지한 뒤 바로 보낼 수 있습니다. 대기 메시지의 바로 전송은 현재 작업 중지와 해당 메시지 전송을 한 번의 동작으로 연속 처리합니다.
  • 입력창 오른쪽 전송 아이콘은 현재 선택한 AI가 작업 중이면 정지 아이콘으로 바뀌고 오렌지색으로 강조되며 다른 탭이나 사이트에서 시작한 작업도 중지합니다. 작업 중에도 Enter로 후속 요청을 대기열에 보낼 수 있습니다.
  • 입력창에 PNG·JPEG·GIF·WebP 이미지를 붙여넣거나 이미지, PDF, 텍스트·소스 파일을 끌어 놓아 최대 10개·합계 8MB까지 요청에 첨부할 수 있습니다.
  • AI는 답변에 이미지, MP4·WebM 영상과 YouTube 플레이어를 최대 6개까지 직접 표시할 수 있습니다. 이미지는 눌러 원본으로 열고 영상은 채팅 안에서 재생합니다. YouTube 재생이 인증 확인으로 막히면 외부 열기 버튼으로 새 브라우저에서 이어서 볼 수 있습니다.
  • 사이트 소스의 public·app/assets 미디어와 안전한 HTTPS 주소만 표시하며, YouTube 주소는 영상 ID를 검증한 뒤 현재 사이트 origin을 지정한 플레이어로 변환합니다. 임의 HTML이나 iframe 코드는 실행하지 않습니다.
  • 대화의 HTTP·HTTPS 주소는 마우스를 올리고 Ctrl 또는 Cmd를 누르는 동안 링크로 활성화되며 클릭하면 별도 브라우저 팝업으로 엽니다.
  • 스크립트와 Chat 사이의 경계선을 위로 끌면 코드 본문을 최소 30px만 남기고 대화 영역을 넓힐 수 있습니다.
  • 첨부 원본은 웹사이트 tmp 내부에서 현재 AI 요청 동안만 유지하고 즉시 삭제하며, 대화 기록에는 파일명·형식·크기만 남깁니다.
  • AI 진행 카드나 입력창의 정지를 누르면 생각 중인 응답, 진행 중인 MCP 요청과 Preview를 어느 단계에서든 함께 취소합니다.
  • 같은 AI 계정이 다른 사이트나 탭의 요청을 처리 중이면 오류 메시지의 버튼으로 해당 작업을 중지하고 현재 메시지를 자동으로 다시 보냅니다.
  • 대화는 사용자·웹사이트·AI별로 최대 100개 메시지를 유지합니다.
  • 로그 창의 Chat 로그는 현재 웹사이트에서 실행한 모든 내장 AI 요청을 사용자와 AI 연결에 관계없이 함께 표시하며 대화를 초기화해도 유지합니다.
  • search_chat_history는 현재 사용자와 웹사이트 범위에서 이전 AI 요청을 검색합니다.
  • AI가 수정한 파일은 에디터가 작업 중 추적하고 완료되면 현재 Preview를 자동으로 새로 고칩니다.
  • Chat은 Console 탭으로 전환해도 대화와 진행 출력을 유지합니다. AI가 응답 중이면 MCP 명령이 채팅 화면을 자동 전환하지 않습니다.
  • MCP 수정 중 회전 점선은 로그가 아니라 AI코딩 버튼에 표시됩니다.

외부 AI에서 내부 AI로 업무 인계

계정에 연결된 Cake20 MCP 주소를 사용하는 외부 AI는 작업 결과와 현재 맥락을 에디터의 내장 AI Chat에 직접 인계할 수 있습니다. 사용자가 대화 내용을 복사해 다시 설명하지 않아도 같은 웹사이트의 활성 AI 대화에 인계 내용과 내부 AI 답변이 함께 저장됩니다.

  • 외부 AI는 소스 수정·커밋·검수를 마치고 finish_work로 수정 상태를 완료한 뒤 handoff_to_ai를 호출합니다.
  • 인계에는 사용자 목표, 완료 사항, 주요 결정, 검증 결과, 남은 문제와 권장 다음 작업을 포함합니다.
  • 내부 AI는 ‘외부 AI에게 업무를 모두 전달받았습니다. 이제는 저와 함께 진행하시면 됩니다.’라는 확인으로 시작하고 인계 상태를 요약합니다.
  • 인계 호출 중에는 소스·설정·데이터·Git·운영을 변경하지 않고 사용자의 다음 지시를 기다립니다. 이후 사용자가 AI Chat에서 새 요청을 보내면 내부 AI가 화면과 소스를 확인하며 작업을 이어갑니다.
  • handoff_to_ai는 내부 AI에는 노출하지 않아 AI끼리 재귀 호출하지 않으며, 계정 정보가 포함된 외부 MCP 주소에서만 사용할 수 있습니다.

요청할 때만 사용하는 Preview 확인

Cake20 AI Chat은 사용자가 현재 요청에서 화면 캡처나 시각 확인을 명시한 경우에만 전용 Preview 브라우저를 열어 렌더링된 화면과 브라우저 오류를 확인할 수 있습니다.

일반 구현·테스트·완료 보고에서는 이미지 토큰을 쓰는 Preview 도구를 호출하지 않고 소스, 대상 테스트, 준비도 검사, 요청과 로그로 검증합니다.

  • open_preview와 interact_preview는 현재 요청의 명시적인 시각 확인에만 사용합니다.
  • 명시적인 요청으로 캡처한 Preview 이미지는 해당 AI Chat 응답에 자동 표시합니다.
  • 사용자 요청 없이 반응형 화면이나 조작 상태를 반복 캡처하지 않습니다.

요청 범위와 실행 권한

  • 사용자가 구현·수정·복구를 요청하면 해당 결과에 필요한 일반 소스 변경, Git 커밋과 검수는 별도 승인 창 없이 이어서 수행합니다.
  • DB·Redis와 Storage 변경은 현재 요청에서 지정한 대상과 범위 안에서만 실행하고, 전체 삭제처럼 요청에 포함되지 않은 파괴 작업은 수행하지 않습니다.
  • 운영 배포, 소유권 이전과 웹사이트 삭제처럼 결과 범위가 큰 작업은 현재 요청에 명시되어 있을 때만 실행합니다.
  • Secret 값은 응답과 활동 기록에 남기지 않으며 설정에서 요구한 이름만 확인할 수 있습니다.

AI는 현재 사용자 요청을 실행 권한의 기준으로 사용합니다. 요청한 결과를 크게 바꾸는 추가 작업은 임의로 확대하지 않습니다.

화면 편집 기능과 연결

  • 콘텐츠관리에서 직접 저장할 수 없는 동적 문구와 외부 이미지를 현재 화면 문맥과 함께 AI Chat으로 보냅니다.
  • 배포점검의 오류·경고 하나 또는 전체 결과를 AI Chat 요청으로 보냅니다.
  • 검수 공유의 미해결 화면 댓글을 위치와 경로가 포함된 수정 요청으로 묶어 보냅니다.
  • AI는 열린 에디터의 페이지·파일 선택, Preview 새로고침, 시작·종료와 Console·Chat 전환을 제어해 작업 결과를 같은 화면에 보여 줍니다.