A Letaido / docs
DOCUMENTATION

콘솔 + 공개 사이트

레타이두가 구축한 것을 배치하는 두 곳: 하나는 팀을 위한 곳, 다른 하나는 다른 모든 사람을 위한 곳입니다.

Agent-A---Console.gif

1. 콘솔 (내부)

콘솔은 Letaido가 내부 도구를 제공하는 회원 전용 웹 앱입니다. 팀의 비공개 대시보드 공간으로 생각하시면 됩니다.

  • 워크스페이스 멤버만 접근 가능합니다. 익명 방문자는 로그인 화면이 표시됩니다.
  • 앱은 인증 헤더에서 신원을 읽어오므로 모든 페이지에서 누가 보고 있는지 알 수 있습니다(소유자, 관리자, 멤버, 뷰어).
  • 데이터베이스 접근: console_dbconsole_site_db에 대한 전체 읽기/쓰기 권한이 있습니다. site_db에는 접근할 수 없습니다.

콘솔 페이지 구축 시기

  • 출력은 팀 전용입니다.
  • 내부 데이터를 쿼리하거나, 커넥터를 호출하거나, 컨트롤을 표시해야 합니다.
  • 고객에게는 절대 표시되지 않습니다.

보고서, 애플리케이션, 아티팩트

콘솔에서 Letaido가 구축하는 모든 것은 세 가지 범주 중 하나에 속합니다. 콘솔 홈페이지에는 각각에 대한 탭(보고서, 애플리케이션, 아티팩트)과 함께 모든 것을 최신순으로 나열하고 제목 옆에 카테고리를 태그로 표시하는 탭이 있습니다.

2026-06-04_11-44-11.png

구분 정의 팀에서 사용하는 방식 예시
보고서 차트, 표, 필터링된 데이터 뷰 열어서 숫자를 확인하고, 필터링한 후 나갑니다 Ahrefs 브랜드 권위, AI 가시성, 순위 모니터
애플리케이션 다중 페이지 도구 및 복잡한 워크플로우 입력값을 붙여넣고, 파이프라인을 실행하여 결과를 얻은 후, 과거 실행 기록으로 돌아갑니다 배틀카드 생성기, AI 가시성 대시보드, 유료 광고 캠페인 빌더
아티팩트 일회성 항목: 차트, 표, 카피 조각 훑어보고, 복사하고, 공유한 후 넘어갑니다 이메일 미리보기, 홈페이지 블록, AEO 101 섹션, Ahrefs 기능 라이브러리

보고서

보고서는 무언가의 상태를 확인하기 위해 여는 것입니다. 가치는 표시된 데이터에 있으며, 주요 상호작용은 읽기 또는 필터링입니다. 보고서는 일정에 따라 또는 요청 시 데이터 소스에서 새로고침됩니다. 보고서는 /reports/<slug>/에 위치합니다.

"이것이 왜 존재하는가"에 대한 답변이 "X를 한눈에 볼 수 있도록 하기 위해서입니다"(우리 순위의 상태, 이번 주 점유율, 이번 달 브랜드 권위 변화)일 때 보고서를 요청하십시오.

활용 사례

애플리케이션은 작업을 수행하는 데 사용하는 것입니다. 가치는 워크플로에 있으며, 주요 상호작용은 생성, 편집 또는 제작입니다. 애플리케이션은 입력을 받아 다단계 파이프라인을 실행하고, 결과를 저장하며, 팀이 과거 실행 내역으로 돌아갈 수 있도록 합니다. 애플리케이션은 /applications/<slug>/에 위치합니다.

"X를 반복적으로 수행할 때마다 워크플로우를 다시 구축하지 않고도 실행할 수 있도록 하기 위해"라는 답변이 "이것이 왜 존재하는가"에 대한 답변일 때 애플리케이션을 요청하세요(배틀카드 생성, 캠페인 브리프 실행, 카피 제작 등).

아티팩트

아티팩트는 한 번 생성하여 나중에 참조할 수 있는 단일 출력물입니다. 작고 독립적이며, 완전한 앱이나 보고서로 만들 필요가 없는 콘텐츠입니다. 아티팩트는 /artifacts/<slug>/에 저장됩니다.

답변이 "팀이 볼 수 있는 곳이 필요해서"인 경우 아티팩트를 요청하세요 (홈페이지 블록 미리보기, 이번 주 이메일, 기능 라이브러리, 영업용 원페이저 등).

어떤 것을 원하시는지 확실하지 않으신가요?

결과를 설명하면 에이전트가 적절한 버킷을 선택합니다.

  • "경쟁사별 주간 브랜드 권위를 보여주세요." → 보고서.
  • "경쟁사 URL을 붙여넣으면 배틀카드를 받을 수 있는 도구를 만들어주세요." → 애플리케이션.
  • "다음 주 뉴스레터 미리보기를 생성해주세요." → 아티팩트.

2. 공개 사이트(외부)

공개 사이트는 워크스페이스 중 개방된 인터넷에서 접근할 수 있는 부분으로, 팀이 사용하는 콘솔과 완전히 분리되어 있습니다. 이는 워크스페이스 외부의 사람들에게 콘텐츠를 제공하기 위해 존재합니다.

  • URL 패턴: 모든 항목에 /<route> 사용. 일반적인 패턴: 일회성 공유 보고서는 /u/<token>, 검토된 실행은 /r2s/<token>, 이 문서는 /docs/<slug>.
  • 가시성은 워크스페이스 수준 토글로 제어됩니다(아래 모드 참조).
  • 데이터베이스 액세스: site_db 읽기/쓰기(소유). console_site_db 읽기/쓰기. console_db에는 접근 불가.

다음과 같은 경우 공개 사이트 페이지를 구축합니다: - 고객, 잠재 고객 또는 익명 방문자가 무언가를 확인해야 하는 경우. - 이메일이나 Slack 외부에서 공유 가능한 URL이 필요한 경우. - 데이터가 이미 생성되어 있고(콘솔에서 또는 작업을 통해) 단순히 제공하기만 하면 되는 경우.

공개 사이트를 위한 세 가지 모드

공개 사이트에는 세 가지 상태가 있으며, 워크스페이스 UI에서 소유자 또는 관리자가 전환할 수 있습니다. 에이전트 자체는 이러한 상태를 전환할 수 없습니다.

  • off: nginx가 모든 사용자에게 403을 반환합니다. Flask 프로세스는 여전히 실행 중이지만 트래픽이 도달하지 않습니다.
  • authorized: 워크스페이스 멤버와 명시적으로 초대된 게스트가 볼 수 있습니다. 출시 전 검토에 적합합니다.
  • open: URL을 가진 모든 사용자가 볼 수 있습니다. 모든 방문자를 신뢰할 수 없는 것으로 간주합니다.

모드가 open일 때, 에이전트는 추가 기본값을 적용합니다: 모든 방문자 입력에 대한 Pydantic 검증, 방문자별 커넥터 호출 없음(site_db에 캐시 대신 사용), 사이트 표면에 대한 별도의 커넥터 승인, 그리고 표시되는 출력은 저장 전에 정제됩니다.

교차 표면 통신

콘솔과 공개 사이트는 서로 다른 프로세스에서 실행됩니다. 여전히 협력할 수 있지만, 오직 하나의 명시적인 채널인 console_site_db 데이터베이스를 통해서만 가능합니다.

  • 콘솔은 데이터(보고서, 브리프, 아티팩트)를 테이블에 작성합니다.
  • 공개 사이트는 해당 테이블을 읽고 토큰으로 보호된 URL에서 렌더링합니다.
  • 사이트는 상호작용 신호(예: "방문자가 클릭함")를 다시 작성할 수 있으며, 콘솔은 이를 읽습니다.

에이전트는 콘솔 쿼리를 공개 경로를 통해 프록시하려고 시도하지 않습니다. REVOKE는 데이터베이스 계층에 있으며, 어쨌든 실패할 것이고 잘못된 설계이기도 합니다.

Last updated 2026-07-15