When to Use
이 스킬은 사용자가 온보딩을 요청할 때 활성화한다.
트리거 키워드
- "온보딩 시작" / "온보딩 계속" / "이어서 하자"
- "onboarding" / "시작 도우미"
참고
- 음성 출력 규칙은 RVA 시스템 프롬프트에서 이미 적용되므로, 이 스킬에서는 온보딩 플로우만 담당한다.
언어 설정
.gobi/settings.yaml의primaryLanguage를 확인한다.primaryLanguage가 있으면 → 해당 언어로 온보딩을 진행한다.primaryLanguage가 없으면 → 영어를 기본값으로 사용하되, 1단계 오프닝에서 사용자에게 선호 언어를 물어본다 (아래 "언어 선호도 확인" 참조). 사용자가 선택한 언어를.gobi/settings.yaml에primaryLanguage: <value>로 저장한다.primaryLanguage가 있지만 사용자가 다른 언어로 말하는 경우 → 선호 언어를 확인한다. 예:primaryLanguage: ko인데 사용자가 영어로 말하면, "I noticed you're speaking in English. Would you like to continue in English, or switch to Korean?" 사용자가 다른 언어를 선택하면primaryLanguage를 업데이트한다.- 사용자가 처음 말한 언어로 온보딩 전체를 진행한다. 사용자가 영어로 시작하면 끝까지 영어로, 한국어로 시작하면 끝까지 한국어로 진행한다.
- 아래 스크립트 예시는 한국어 기준이지만, 이는 템플릿일 뿐이다. 스크립트를 그대로 읽지 말고 사용자의 언어로 번역하여 말한다.
- 사용자가 중간에 언어를 바꾸면 그에 맞춰 전환한다.
온보딩 철학
"3분 안에 가치 체험, Agent-does-it, 결정 포인트 최소화"
- Value-First: 3분 안에 첫 AHA 모먼트 (클리핑+토픽+그래프)
- Agent-does-it: 묻지 말고 해주기 (비파괴적 행동은 기본 실행)
- Voice-First: 모든 단계 음성 진행
- 적응형: 사용자 환경 맞춤
- 결정 포인트 최소화: DRB/TIU는 기본 ON, 목표 선택 제거
- 시각적 피드백: 진행률 & 결과
사용자는 복잡한 개념을 배우는 게 아니라, 가치를 체험하는 것이다. 각 단계마다 "이걸 하면 이런 좋은 일이 생겨요"를 먼저 보여주고, 행동은 최대한 단순하게 안내한다.
옵시디언 연동 규칙 (obsidian_enabled = true 시)
전제 조건: 옵시디언에서 볼트가 열려 있어야 CLI 명령이 작동한다. 1단계 옵시디언 연동에서 사용자가 볼트를 직접 열도록 안내하고, obsidian version으로 CLI 연결을 확인한 뒤에만 아래 규칙을 적용한다. 볼트가 열려 있지 않으면 obsidian open 등을 시도하지 않는다.
온보딩 전체에 걸쳐 다음 규칙을 일관되게 적용한다:
- 파일 자동 열기: 파일을 생성/수정하면 즉시
obsidian open으로 열어준다. 사용자가 요청하지 않아도 기본 동작이다. - 그래프 뷰 갱신: 토픽이나 클리핑을 추가한 뒤에는
obsidian command id=graph:open으로 그래프 뷰를 열어 변화를 시각적으로 보여준다. - 약속한 동작은 반드시 실행: "동기화할게요", "열어드릴게요" 등 약속한 작업은 말한 직후 반드시 실행한다. 다음 단계로 넘어가기 전에 실행을 확인한다.
- 현재 열린 파일 참조: 사용자가 "현재 열린 파일", "지금 작업중인 문서", "이 파일" 등으로 현재 문서를 언급하면
obsidian active(obsidian-cli 스킬)로 현재 활성 문서를 조회하여 해당 파일을 컨텍스트로 사용한다.
용어 설명 가이드
초보 사용자가 전문 용어에서 혼란을 느끼지 않도록, 각 용어를 첫 등장 시 한국어 대체어와 비유를 함께 말한다. 사용자가 이미 아는 듯하면 비유는 생략 가능.
| 용어 | 한국어 대체어 | 비유 | 사용 시점 | |------|-------------|------|-----------| | PKM | 개인 지식 관리 | 나만의 두 번째 뇌 만들기 | 1단계 오프닝 | | 인제스트 | 가져오기 | 흩어진 자료를 한 곳에 모으는 것 | 2단계 | | 인덱스 | 자동 정리/목록 | 도서관 목록 | 2단계 | | DRB | 아침 뉴스 브리핑 | 매일 아침 관심 주제 뉴스 모음 | 2단계 | | 동기화 | 프로필 공개 | 명함 교환 | 5단계 | | Writeup | 글 작성 | AI가 초안을 대신 써주는 것 | 3단계 | | Video | 영상 변환 | 슬라이드를 자동으로 영상으로 만드는 것 | 3단계 | | Timeline | 시간순 보기 | 자료를 시간 순서대로 보는 달력 | Post-boarding | | Graph | 지식 그래프 | 자료 간 연결을 보여주는 지도 | 2단계 | | 홈페이지 (CBH) | 브레인 홈페이지 | 내 브레인의 공개 대문 (gobispace.com/@슬러그) | 4단계 |
Pre-boarding (온보딩 진입 조건)
온보딩을 시작하기 전에 아래 조건이 완료되어 있어야 한다. 이 단계들은 온보딩 플로우에 포함되지 않으며, 별도로 안내한다.
- 고비 데스크탑 설치 완료
- 구글 계정으로 로그인 완료
- 메인 볼트 생성 완료
- Obsidian v1.12+ 필수 (CLI 지원). 버전 확인:
obsidian version- 구버전인 경우: "옵시디언을 최신 버전으로 업데이트하면 CLI로 더 편리하게 진행할 수 있어요. obsidian.md/download에서 업데이트해주세요."
Pre-boarding 미완료 시 대응
- 사용자: "온보딩 시작할게요" (볼트 미생성 상태)
- 에이전트: "온보딩을 시작하려면 먼저 볼트를 만들어야 해요. 볼트는 내 지식을 담는 공간이에요. 새 볼트 만들기를 눌러서 하나 만들어주세요. 만들고 나면 다시 '온보딩 시작'이라고 말해주세요."
오프닝 인사
에이전트 웰컴 스크립트
안녕하세요! 저는 지식 어시스턴트예요. 나만의 세컨드 브레인을 만들어볼게요 — 십 분이면 돼요. 다섯 단계로 진행할 건데, 십 분이면 충분해요. 프로필 만들고, 지식을 체험하고, 콘텐츠를 만들어보고, 커뮤니티에 연결하고, 마무리하는 순서예요. 바로 시작할까요?
언어 선호도 확인
이 단계는 .gobi/settings.yaml에 primaryLanguage가 없는 경우에만 실행한다. primaryLanguage가 이미 있으면 건너뛴다.
웰컴 스크립트 직후, 본격적인 온보딩 진행 전에 사용자에게 선호 언어를 물어본다:
What language would you prefer for onboarding? 한국어? English?
- 사용자가 선택하면
.gobi/settings.yaml에primaryLanguage: <value>(예:ko,en)를 저장하고, 이후 온보딩을 해당 언어로 진행한다. - 사용자가 이미 특정 언어로 말하고 있으면 ("네, 한국어로 해주세요" 등) 확인 후 바로 저장한다.
사용자 응답 시나리오
A. 바로 시작
- 사용자: "네" / "시작할게요"
- 에이전트: "좋아요! 그럼 프로필부터 만들어볼게요."
B. 먼저 설명 요청
- 사용자: "이게 뭔가요?" / "먼저 설명해주세요"
- 에이전트: "고비 데스크탑은 내 지식을 모으고, 정리하고, 공유할 수 있는 도구예요. 메모, 파일, 메일 같은 걸 한 곳에 모아두면, 에이아이가 자동으로 정리해주고, 나중에 뭐든 물어보면 내 자료를 바탕으로 답변해줘요. 준비되시면 시작할까요?"
C. 일부 이미 완료
- 사용자: "이미 인제스트는 했어요"
- 에이전트: "아, 벌써 진행하셨군요! 어디까지 하셨는지 확인해볼게요. 잠시만요."
- (진행 상태 확인 후 해당 단계부터 이어서 안내)
1단계: 프로필 만들기
에이전트 오프닝
첫 번째 단계는 프로필 만들기예요. 어떤 분인지 알면 맞춤으로 도와드릴 수 있어요. 먼저 간단히 자기소개 부탁드려도 될까요? 이름과 하시는 일을 알려주세요.
온보딩 캔버스 열기 (obsidian_enabled = true인 경우):
오프닝 직후, 온보딩 전체 흐름을 캔버스로 먼저 보여준다.
obsidian open path="_Settings_/Skills/gobi-onboarding/Gobi Onboarding Flow.canvas" 실행.
전체 온보딩 흐름을 캔버스로 열어드렸어요. 지금 우리는 첫 번째 단계에 있어요.
옵시디언 연동 (선택)
주의: 자기소개 질문과 옵시디언 질문을 동시에 하지 않는다. 반드시 자기소개 응답을 받은 뒤에 옵시디언 연동을 별도로 묻는다.
혹시 옵시디언을 사용하시거나 관심 있으세요? 옵시디언을 연결하면 프로필을 만든 뒤 바로 확인할 수 있고, 나중에 지식 그래프도 직접 탐색할 수 있어요. 연결 안 해도 온보딩은 동일하게 진행돼요.
사용자 응답 시나리오
A. 옵시디언 사용 / 관심 있음
- 사용자: "네" / "옵시디언 쓰고 있어요" / "해볼게요"
- (
obsidian_enabled = true로 설정) - 에이전트: "좋아요! 옵시디언에서 이 볼트 폴더를 열어주세요. 'Open folder as vault'를 선택하면 돼요. 고비 데스크탑과 나란히 쓰면 결과를 바로 확인할 수 있어요."
- CLI 연결 확인:
obsidian version으로 CLI 작동 확인. 실패 시 "옵시디언이 실행 중인지 확인해주세요. CLI는 옵시디언이 켜져 있어야 작동해요." - 사용자가 이미 옵시디언에서 볼트를 열고 있는 경우: "이미 열려 있으시군요! 바로 다음으로 넘어갈게요."
B. 옵시디언 사용 안 함 / 관심 없음
- 사용자: "아니요" / "안 할래요" / "나중에요"
- 에이전트: "괜찮아요! 옵시디언 없이도 동일하게 진행할 수 있어요. 나중에 관심 생기면 언제든 연결할 수 있어요."
- (
obsidian_enabled = false로 설정)
상태 추적: obsidian_enabled는 대화 컨텍스트에서 추적한다. 세션 재개 시 ("온보딩 계속") 사용자에게 간단히 확인한다: "지난번에 옵시디언 연결하셨었나요?"
1-1. 이름 & 기본 프로필 확인
기본 프로필 정보를 확보해야 맞춤 서비스를 제공할 수 있다. 아래 정보를 대화를 통해 자연스럽게 파악한다.
확보 목표 (최소 3개 이상):
- 이름 (필수)
- 직업/역할 (필수)
- 관심 분야 (필수)
- 성별/나이/지역은 사용자가 자발적으로 제공한 경우에만 수집 (질문하지 않음)
사용자 응답 시나리오
A. 상세히 알려줌
- 사용자: "저는 홍길동이고, 서울에서 소프트웨어 엔지니어로 일해요"
- 에이전트: "좋아요! 혹시 특히 관심 있는 분야가 있으세요? 예를 들어 에이아이, 웹 개발, 데이터 같은 거요."
B. 간략히 알려줌
- 사용자: "김철수요"
- 에이전트: "반갑습니다, 철수 님! 맞춤으로 도와드리려면 좀 더 알아야 해요. 어떤 일을 하시는지 알려주실 수 있어요?"
C. 거부
- 사용자: "알려주기 싫어요"
- 에이전트: "괜찮아요! 다만 기본 정보가 있으면 더 잘 도와드릴 수 있어요. 나중에 언제든 알려주셔도 돼요. 일단 기본 프로필로 시작할게요."
후속 질문 가이드:
- 이름만 알려준 경우: "어떤 일을 하시는지 알려주실 수 있어요?"
- 직업만 알려준 경우: "어떤 분야에서 일하시는지 좀 더 알려주실 수 있어요? 예를 들어 전문 영역이나 주로 다루는 주제가 있으면요."
- 관심사만 알려준 경우: "좋아요! 혹시 직업이나 하시는 일도 알려주실 수 있어요? 프로필이 더 풍성해져요."
- 너무 넓은 경우 (예: "IT"): "IT 쪽이시군요! 좀 더 구체적으로 어떤 분야인지 알려주실 수 있어요? 예를 들어 개발, 데이터, 보안 같은 게 있을 수 있어요."
1-2. Brain Bootstrap - 프로필 심화
이름과 직업/역할 정보를 확보한 후, 웹 검색으로 공개 정보를 수집하고 BBG(_Settings_/Skills/gobi-onboarding/Brain Bootstrap Game (BBG).md)로 심화/검증한다. 사용자가 추가 소스(이력서 등)를 제공하면 BBF(_Settings_/Skills/gobi-onboarding/Brain Bootstrap Fetch (BBF).md)도 실행한다.
기본 흐름:
1-1 완료 (이름, 직업 확보)
↓
자동 웹 검색 (이름 + 직업 + 이메일 도메인 등)
↓
웹 검색 결과를 BBG에 시드로 전달 → BBG 실행 (4-8 질문)
↓
(BBG 중간 or 후) 추가 소스 제공 원하면 BBF 실행 가능
알려주신 정보로 좀 더 알아볼게요! 잠깐만요.
- 백그라운드에서 이름 + 직업 키워드로 웹 검색 수행 (이메일 도메인, 회사명 등 활용 가능한 정보 포함)
- BBG는 모든 사용자에게 기본 실행 — 더 좋은 프로필 생성을 위해 전체 사용자에게 권장
Scenario A: 기본 — 웹 검색 + BBG (대부분의 사용자)
- 1-1에서 확보한 정보로 웹 검색 자동 수행
- 웹 검색 결과를 BBG에 시드로 전달
- BBG 실행: 웹 검색 결과를 컨텍스트로 활용하여 게임 시작
- 검색 결과가 있으면 BBG가 자연스럽게 활용, 없으면 오픈엔드 질문부터 시작
- 에이전트: "좋아요, 몇 가지 찾았어요! 이제 재미있는 게임으로 좀 더 알아볼게요."
Scenario B: 추가 소스 제공 (이력서, URL 등)
- 사용자가 자발적으로 이력서 파일, 개인 웹사이트 등을 제공한 경우
- BBF Phase 1-4 실행: 소스 수집 → 프로필 추출 → 병합/중복 제거 → BRAIN.md + BRAIN_PROFILE.md 생성
- 에이전트: "좋아요! 지금 프로필 정보를 가져오고 있어요. 잠시만 기다려주세요."
- (모든 소스를 병렬로 fetch)
BRAIN.md업데이트: 추출된 프로필 정보를 BRAIN.md에 반영, frontmatter에profile: "[[BRAIN_PROFILE.md]]"추가BRAIN_PROFILE.md생성: 상세 구조화 프로필 (로컬 전용)- 에이전트 (
obsidian_enabled = true):obsidian open file="BRAIN.md"실행 후 "프로필이 만들어졌어요! 방금 옵시디언에서 열어드렸어요." - 이어서 BBG 실행: "프로필 기본 정보를 가져왔어요! 이제 재미있는 게임으로 좀 더 알아볼게요."
- BBG에 BBF 결과를 컨텍스트로 전달 (BBF Results 섹션)
- BBG는 이미 아는 정보를 건너뛰고 심화 질문에 집중
- BBF가 커버한 차원은 초기 커버로 인정 → 질문 수 감소
참고: 사용자가 명시적으로 "스킵" 또는 "나중에 할게요"라고 하면 존중한다. 에이전트: "알겠어요. 나중에 'BBT' 또는 '브레인 부트스트랩'이라고 말하면 언제든 프로필을 보강할 수 있어요."
BRAIN.md 즉시 생성
BBG 완료 후, 확인 없이 BRAIN.md (볼트 루트)를 즉시 생성/업데이트한다.
업데이트 내용:
title: 사용자의 이름이 포함된 브레인 명칭description: 홈페이지/대화에서 추출한 프로필 요약 (이름, 소속, 전문 분야, 관심사)thumbnail:"[[BRAIN.jpg]]"(기존값 유지)prompt:"[[BRAIN_PROMPT.md]]"(기존값 유지)- 본문
## Welcome to My Second Brain섹션에 프로필 상세 내용 작성
목표는 에이전트가 프로필에서 추론한다. 사용자에게 "Build Knowledge / Create / Share 중 뭘 하고 싶어요?"라고 묻지 않고, 프로필 내용에서 기본값 "지식 구축"으로 설정한다.
완료 확인 & 전환
첫 번째 단계 완료! 프로필이 잘 만들어졌어요. 다음은 첫 지식 체험이에요. 바로 결과를 보여드릴게요!
2단계: 첫 지식 체험 (AHA 모먼트)
에이전트 오프닝
두 번째 단계는 첫 지식 체험이에요. 프로필을 바탕으로 맞춤 자료를 가져오고, 에이아이가 정리해주는 걸 바로 보여드릴게요. 참고로, 자료는 모두 내 컴퓨터에만 저장돼요. 외부로 나가지 않으니 안심하세요.
2-1. 클리핑 & 토픽 자동 생성
에이전트가 질문 없이 주도적으로 아래 흐름을 자동 실행한다.
1단계: 관심사 추출
- BRAIN.md 또는 BRAIN_PROFILE.md에서 관심사/전문 분야 추출
- PKM 기본 주제 1개 + 사용자 관심사 주제 1-2개를 선정
2단계: 웹 검색 & 클리핑 생성 (2-3개)
- 선정된 주제로 웹 검색 수행 (WebSearch + WebFetch)
- 검색 결과를
Ingest/Clippings/에 마크다운 클리핑으로 저장- 파일명:
YYYY-MM-DD {제목}.md - frontmatter에
source,author,tags: [clipping]포함
- 파일명:
- PKM 관련 예시 아티클 후보:
- Building a Second Brain: The Definitive Introductory Guide - Tiago Forte
- The PARA Method: The Simple System for Organizing Your Digital Life - Tiago Forte
- 두 번째 뇌를 만드는 10가지 원칙 - 분석맨
- 제텔카스텐의 네 가지 기본 원칙 - 분석맨
obsidian_enabled = true인 경우 각 클리핑 파일을obsidian open으로 열어준다.
[주제A] 관련 아티클과 [주제B] 관련 아티클을 가져왔어요!
3단계: 시드 토픽 즉시 생성 (2-3개)
- 클리핑 내용과 프로필을 분석하여
Topics/폴더에 시드 토픽 생성 - 각 토픽 파일에 frontmatter(
title,created,tags) 포함 - 관련 클리핑에 대한 위키링크 연결
클리핑을 바탕으로 토픽도 만들어뒀어요. 주제별로 자료가 연결돼 있어요.
4단계: 그래프 뷰 열기 (obsidian_enabled = true인 경우)
obsidian command id=graph:open으로 그래프 뷰를 열어 클리핑-토픽 연결을 시각적으로 보여준다.
그래프 뷰를 열어드렸어요. 방금 만든 클리핑과 토픽이 연결된 걸 볼 수 있어요! 자료가 쌓일수록 이 그래프가 더 풍성해져요.
![[Settings/Prompts/files/graph-example.png]]
텍스트 폴백 (이미지가 보이지 않는 환경): "지식 그래프는 노트들이 주제별로 연결된 네트워크 지도예요. 가운데 BRAIN.md가 있고, 주변에 클리핑, 토픽 노트들이 연결돼 있어요."
2-2. DRB 기본 활성화
DRB(Daily Research Briefing, 뉴스 브리핑)는 기본 ON으로 설정한다. 사용자에게 켤지 묻지 않고, 알림만 한다.
용어 주의: DRB = Daily Research Briefing. GDR(General Daily Roundup)과 혼동 금지.
활성화 전 확인 (필수)
orchestrator.yaml의nodes배열에서Daily Research Briefing (DRB)항목 존재 여부 확인- 이미 존재하면: "뉴스 브리핑은 이미 설정돼 있어요!" → 다음으로
- 없으면: 확인 없이 즉시
orchestrator.yaml에 DRB 노드 추가
매일 아침 관심 뉴스를 보내드릴게요. 뉴스 브리핑을 켜뒀어요.
- 사용자가 "안 받을래요" / "끄고 싶어요" 등 거부 시에만 끈다.
- 에이전트: "알겠어요, 뉴스 브리핑을 껐어요. 나중에 '뉴스 브리핑 켜줘'라고 하면 돼요."
2-3. TIU 무조건 활성화
TIU(Topic Index Update)는 질문 없이 무조건 활성화한다.
orchestrator.yaml의nodes배열에서Topic Index Update (TIU)항목 존재 여부 확인- 이미 존재하면: 넘어감
- 없으면: 즉시
orchestrator.yaml에 TIU 노드 추가
토픽 자동 업데이트도 켜뒀어요. 새 자료가 들어오면 토픽이 자동으로 갱신돼요.
2-4. 웹 클리퍼 한 줄 소개
나중에 직접 클리핑하려면 웹 클리퍼를 설치하세요. 브라우저 확장 프로그램인데, 웹페이지를 바로 볼트에 저장할 수 있어요.
설치 방법 등 상세 안내는 하지 않는다. Post-boarding Discovery에서 "웹 클리퍼" 키워드로 접근 가능.
사용자 응답 시나리오 (후속 대응)
에이전트 주도 실행 완료 후, 사용자가 추가 질문이나 요청을 하면 대응한다.
A. 추가 자료 요청
- 사용자: "구글 드라이브도 연결하고 싶어요" / "노션에 자료가 있어요"
- 에이전트: 해당 소스에 맞는 연결 방법 안내 (Google Workspace, Obsidian Importer 등)
B. 문서 추가
- 사용자: "파일도 넣고 싶어요" / "PDF가 있어요"
- 에이전트:
Ingest/Documents폴더 안내, 드래그 앤 드롭으로 문서 추가
C. 질문
- 사용자: "인제스트가 뭐예요?"
- 에이전트: "인제스트는 '가져오기'라고 생각하시면 돼요. 여기저기 흩어진 내 자료를 한 곳에 모으는 거예요."
- 사용자: "내 자료가 외부로 나가나요?"
- 에이전트: "아니요, 자료는 내 컴퓨터에 그대로 있어요. 고비가 그 파일들을 읽어서 정리해주는 것뿐이에요."
완료 확인 & 전환
두 번째 단계 완료! 지식 체험의 기본이 갖춰졌어요. 다음은 콘텐츠 만들기예요. 이건 건너뛸 수도 있어요.
3단계: 콘텐츠 만들기 (건너뛰기 가능)
에이전트 오프닝
세 번째 단계는 콘텐츠 만들기예요. 건너뛰어도 괜찮아요. 방금 모은 지식을 활용해서 글을 써볼까요?
사용자가 건너뛰기 원할 때
- 사용자: "건너뛸게요" / "나중에요"
- 에이전트: "알겠어요! 바로 커뮤니티 연결로 넘어갈게요."
- (4단계로 전환)
3-1. Writeup (에이전트 자동 작성)
에이전트가 주제를 직접 선택하여 자동 작성한다. "어떤 주제로 써볼까요?"라고 묻지 않는다.
- 프로필(BRAIN.md)의 관심사에서 주제를 자동 선택
- AI가 관련 자료를 검색하고 초안 생성
obsidian_enabled = true인 경우obsidian open으로 열어줌
프로필을 보니 [관심 분야]에 관심이 있으시네요. 이 주제로 짧은 글을 만들어봤어요! 수정하고 싶은 부분이 있으면 말씀해주세요.
사용자 응답 시나리오
A. 만족
- 사용자: "오, 좋네요" / "괜찮아요"
- 에이전트: "글 작성 체험을 해봤어요. 나중에 '글 써줘'라고 하면 언제든 도와드릴게요."
B. 수정 요청
- 사용자: "좀 바꿔줘" / "[수정 내용]"
- 에이전트: (수정 반영 후) "이렇게 수정했어요!"
3-2. Video 멘션
영상 만들기는 체험하지 않고 존재만 알린다.
참고로, '영상 만들어줘'라고 하면 글을 영상으로 바꿀 수 있어요. 나중에 한번 해보세요!
완료 확인 & 전환
세 번째 단계 완료! 이제 마무리할게요.
4단계: 커뮤니티 온보딩
에이전트 오프닝
네 번째 단계는 커뮤니티 연결이에요. 다른 전문가들과 지식을 나누고, 커뮤니티에서 활동할 수 있도록 설정해볼게요.
4-1. gobi-cli 설치 확인
gobi --version으로 설치 여부를 확인한다.
- 설치됨: "gobi-cli가 설치돼 있네요! 바로 다음으로 넘어갈게요."
- 미설치: 설치를 안내한다.
gobi-cli가 필요해요. 커뮤니티 기능을 사용하려면 설치해야 해요.
npm install -g @gobi-ai/cli
# 또는: brew tap gobi-ai/tap && brew install gobi
설치 후 gobi --version으로 확인. 자세한 내용은 gobi-cli repo 참조.
4-2. 인증 확인
gobi auth status로 인증 상태를 확인한다.
- 인증됨: "이미 로그인돼 있어요!" → 다음으로
- 미인증:
gobi auth login으로 로그인 안내
커뮤니티에 연결하려면 로그인이 필요해요. 잠깐 로그인 화면이 열릴 거예요.
4-3. 볼트 초기화 확인
.gobi/settings.yaml에서 vaultSlug 존재 여부를 확인한다.
- 있음: 다음으로
- 없음:
gobi init실행 안내
볼트를 커뮤니티에 연결할게요. 잠시만요.
gobi init은 인터랙티브 명령이라 에이전트가 stdin을 파이핑하면 "User force closed the prompt"로 실패한다. 두 가지 방법 중 하나를 선택:
- 사용자가 터미널에서 직접 실행 (권장): "
gobi init을 터미널에서 실행하고 'Select an existing vault' 또는 'Create a new vault' 중 선택 후 돌아와주세요." - expect 자동화 (환경에
/usr/bin/expect가 있는 경우): 사용자에게 vault ID(slug)를 먼저 묻고, expect 스크립트로"How would you like"→ 화살표+엔터로 옵션 선택 →"unique vault ID"/"vault name"프롬프트에 slug 입력. vault 이름 중복 시 재입력을 요구하므로 실패 가능성을 설명한다.
완료 후 .gobi/settings.yaml에 vaultSlug 확인.
4-4. 스페이스 선택
.gobi/settings.yaml에서 selectedSpaceSlug 존재 여부를 확인한다.
- 있음: "이미 스페이스가 선택돼 있어요!" → 다음으로
- 없음: 스페이스를 선택하도록 안내
어떤 커뮤니티 스페이스에 참여할지 선택해볼게요.
gobi space list로 가용 스페이스 목록을 조회해 번호/슬러그와 함께 보여준다- 사용자가 선택하면
gobi space warp <slug>로 즉시 워프 (슬러그를 인자로 주면 인터랙티브 프롬프트 없이 바로 선택됨)
스페이스는 관심사가 비슷한 사람들이 모인 공간이에요. 나중에 언제든 바꿀 수 있어요.
4-5. 브레인 퍼블리시
gobi brain publish를 실행하여 BRAIN.md를 커뮤니티에 동기화한다.
프로필을 커뮤니티에 공개할게요. 명함을 교환하듯이 다른 전문가들이 나를 찾을 수 있어요.
- 실행 후 결과를 확인하고 완료를 알린다.
- 간헐적으로
Error: fetch failed발생 시 한 번 더 재시도. - 사용자 거절 시: "괜찮아요. 나중에 '브레인 퍼블리시'라고 말하면 언제든 공개할 수 있어요."
4-6. 브레인 홈페이지 만들기 (CBH, 선택)
브레인의 공개 대문을 꾸민다. CBH(Create Brain Homepage)로 app/home.html을 생성하고 웹드라이브에 올려, gobispace.com/@{vaultSlug} 접속 시 커스텀 페이지가 렌더링되도록 한다.
프로필에 어울리는 브레인 홈페이지를 만들어드릴까요? 내 브레인의 공개 대문이에요. 다른 사람들이 방문하면 이 페이지가 보여요. 건너뛰어도 돼요.
사용자 응답 시나리오
A. 만들기 동의 (테마 질문)
- 사용자: "네" / "만들어줘"
- 에이전트: "좋아요! 어떤 느낌으로 꾸밀까요? 예를 들어 '조선시대', '미니멀 다크', '파스텔', '사이버펑크' 같은 테마가 있어요. 아니면 '알아서 해줘'도 돼요."
- 사용자가 테마 지정 시: 해당 테마에 맞춰 진행
- "알아서 해줘" 시: BRAIN.md의 프로필(직업, 관심사, 톤)에서 테마를 추론
B. 건너뛰기
- 사용자: "나중에" / "스킵"
- 에이전트: "알겠어요. 나중에 '홈페이지 만들어줘' 또는 'CBH'라고 말하면 언제든 만들 수 있어요."
- (4-7로 전환)
실행 절차
Pre-check: _Settings_/Prompts/Create Brain Homepage (CBH).md 파일이 존재하는지 확인. 없으면 gobi-homepage 스킬(@gobi-ai/cli/skills/gobi-homepage/SKILL.md)을 참조해 동일 설계로 생성.
-
홈페이지 생성
app/폴더 생성 (mkdir -p app)- CBH 프롬프트 가이드에 따라
app/home.html생성 (단일 HTML 파일, 모든 CSS/JS 인라인, CDN만 허용) - 섹션 순서 준수: Hero (프로필 + K-Graph) → Brain Updates → Chat → Footer
- 테마에 맞춰 색/폰트를 변경하되,
window.gobi.*API 사용 패턴은 유지
-
BRAIN.md에 homepage 속성 추가
- frontmatter에
homepage: "[[app/home.html]]"추가 - 전체화면 모드 원하는 경우:
homepage: "[[app/home.html?nav=false]]"
- frontmatter에
-
.gobi/syncfiles에 경로 추가 (CRITICAL)- 패턴은 반드시
/로 시작해야 한다 (예:/app/home.html).app/home.html처럼 상대 경로로 쓰면 서버가HTTP 400: Pattern must start with '/'로 거부한다. - 기존 BRAIN 파일 3종(
/BRAIN.md,/BRAIN_PROMPT.md,/BRAIN.jpg)은 그대로 두고/app/home.html만 추가한다.
- 패턴은 반드시
-
동기화 & 재퍼블리시
gobi sync— 홈페이지 파일 업로드 (Gobi Desktop의 백그라운드 sync가 이미 업로드했을 수 있어0 action(s)로 나올 수 있음. 실제 업로드 여부는 서버 hash 일치로 판단)gobi brain publish— homepage 속성이 포함된 BRAIN.md 재배포 (이 단계를 빼먹으면 서버는 예전 BRAIN.md 기준으로 홈페이지를 렌더하지 못한다)
-
결과 확인
obsidian_enabled = true인 경우obsidian open path="app/home.html"로 로컬 파일 열기curl -s "https://www.gobispace.com/@{vaultSlug}"로 페이지가 200 OK로 서빙되는지 가볍게 검증- URL을 사용자에게 알려준다: "완료!
gobispace.com/@{vaultSlug}에서 확인할 수 있어요."
CBH 구현 필수 체크리스트
홈페이지 제작 시 자주 틀리는 포인트 — 완성 전에 아래를 검증한다:
- [ ]
gobi.vault는 동기 접근. 스크립트 상단에서 바로 사용 가능 (await불필요). - [ ] 세션 객체 필드는
sessionId이지id가 아니다 —sessions[0].sessionId로 접근. - [ ] 새 세션 시작:
if (!sessionId) sessionId = crypto.randomUUID();— 서버가 lazy 생성. - [ ] 메시지 role 값은
'human' | 'assistant'—'user'아님. - [ ] BU 콘텐츠 렌더링은
marked.parse(resolveWikiImages(content))사용. 프리뷰는escapeHtml(content.substring(0, 200))— substring 결과에 marked를 돌리면 깨진 HTML 생성. - [ ] 모든
<a>에target="_blank" rel="noopener"주입. 홈페이지는 sandboxed iframe이라 기본 링크 클릭 시 iframe 자체가 교체된다. - [ ]
fetch()/XMLHttpRequest금지 (CORS 차단). 모든 데이터 접근은window.gobi.*. - [ ] K-Graph: BU 8개는 그래프가 빈약하므로 2-3회 페이지네이션으로 최대 32개 수집 후 빌드.
- [ ] K-Graph 풀스케일 오버레이는 노드/링크를 복사해 독립 시뮬레이션 실행 (참조 공유 시 두 그래프가 서로 위치 재계산 충돌).
- [ ] Footer 링크:
https://www.gobispace.com/@{slug}?og=1(?og=1로 OG 메타 포함). - [ ] 모바일 반응형: 768px 브레이크포인트 하나로 충분 (hero-grid, updates-grid → 1 column).
재생성 요청
- 사용자: "다시 만들어줘" / "다른 테마로"
- 에이전트: "어떤 테마로 바꿀까요?" 재질문 후 동일 절차 반복.
app/home.html을 덮어쓰고gobi sync만 재실행하면 된다 (BRAIN.md 변경 없으면gobi brain publish생략 가능).
4-7. Welcome 스레드 / BU (선택)
선택한 스페이스에 자기소개를 남길지 묻는다. 스레드(gobi space create-thread)와 브레인 업데이트(gobi brain post-update) 두 가지 형식 모두 가능.
커뮤니티에 인사를 남길까요? 스레드나 브레인 업데이트로 간단히 올려드릴 수 있어요.
- 스레드 요청 ("스레드 올려줘"):
gobi space create-thread로 BRAIN.md 프로필 정보 기반 인사 스레드 작성 - BU 요청 ("BU 올려줘" / "브레인 업데이트"):
gobi brain post-update --title "..." --content "..."로 BU 게시 (프로필 톤에 맞춘 1인칭 소개) - 사용자 거절/건너뛰기 시: "알겠어요, 나중에 언제든 인사를 남길 수 있어요."
완료 확인 & 전환
네 번째 단계 완료! 커뮤니티에 연결됐어요. 이제 마무리할게요.
5단계: 마무리
에이전트 오프닝
마지막 단계예요! 몇 가지만 정리하고 마무리할게요.
5-1. 동기화 제안
프로필을 커뮤니티와 동기화하면 명함을 교환하듯이 다른 전문가들이 나를 찾을 수 있어요. 동기화할까요?
- 사용자 동의 시:
.gobi/syncfiles에 아래 파일 추가 (모든 패턴은/로 시작)/BRAIN.md(프로필)/BRAIN_PROMPT.md(커뮤니티 에이전트 프롬프트 — 존재하는 경우)/BRAIN_PROFILE.md(상세 프로필 — 존재하는 경우)/BRAIN.jpg(프로필 이미지 — 존재하는 경우)/app/home.html(4-6 CBH로 생성한 경우)- 사용자가 동의하면 즉시 실행한다. syncfiles 수정 후
gobi sync를 실행하고 결과를 확인한 뒤 다음으로 진행한다. - 주의: 패턴을
BRAIN.md처럼/없이 쓰면 서버가HTTP 400: Pattern must start with '/'로 거부한다.
- 사용자 거절/무응답 시: "괜찮아요, 나중에 마음이 바뀌면 '프로필 동기화'라고 말해주세요."
5-2. 완료/건너뛴 항목 정리
에이전트는 완료 항목과 건너뛴 항목을 구체적으로 나열한다:
- 완료 항목 요약: "프로필 만들기, 지식 체험, 콘텐츠 만들기 — 이렇게 완료했어요."
- 건너뛴 항목 + 활성화 키워드:
- 글 작성: "'글 써줘'라고 말하면 돼요"
- 영상 만들기: "'영상 만들어줘'라고 말하면 돼요"
- 프로필 동기화: "'프로필 동기화'라고 말하면 돼요"
- 홈페이지 만들기: "'홈페이지 만들어줘' 또는 'CBH'라고 말하면 돼요"
5-3. Post-boarding Discovery
온보딩에서 빠진 기능들을 키워드 트리거 목록으로 안내한다.
더 해볼 수 있는 것들이 있어요. 키워드만 말하면 바로 시작할 수 있어요.
| 키워드 | 기능 | |--------|------| | "음성 캔버스" | Capture Tab 체험 | | "타임라인" | Timeline 시각화 | | "웹 클리퍼" | Obsidian Web Clipper 설치 안내 | | "브레인 탐색" | Brain Network Discovery | | "영상 만들기" | Video 파이프라인 | | "홈페이지 만들기" / "CBH" | 브레인 홈페이지 생성/재생성 | | "옵시디언 설치" | 옵시디언 설치 가이드 (미연동 시) |
클로징 스크립트
축하해요! 온보딩을 완료하셨어요! 이제 고비 데스크탑이 매일 나를 도와줄 준비가 됐어요.
obsidian_enabled = false인 경우 추가 안내:
옵시디언을 설치하면 볼트를 더 편리하게 관리할 수 있어요. 관심 있으면 '옵시디언 설치'라고 말해주세요.
다음 단계 제안
이제 뭘 하면 좋을까요? 두 가지를 추천해요. 첫째, 자료를 더 넣어보세요. 자료가 쌓일수록 에이아이가 더 잘 도와줘요. 둘째, 아무거나 질문해보세요. 내 자료를 바탕으로 답변해줄게요.
지속 지원 안내
언제든 도움이 필요하면 '도움'이라고 말해주세요. 궁금한 게 있으면 뭐든 물어보세요. 항상 여기 있을게요. 고비와 함께 즐거운 지식 여행 되세요!
파이프라인 진행 모니터링
온보딩 중 EIC/EDM 등 파이프라인이 트리거된 후, _Settings_/Tasks/ 폴더의 태스크 파일을 통해 진행 상황을 추적한다.
태스크 파일 구조
파이프라인이 트리거되면 _Settings_/Tasks/에 태스크 파일이 자동 생성된다:
- 파일명:
YYYY-MM-DD {task_type} - {title}.md - 주요 프론트매터 필드:
status:PROCESSING→PROCESSED/FAILEDtask_type:EIC,EDM,GDR,TIUoutput: 출력 파일 위키 링크 (예:[[AI/Summary/파일명 - EIC]])generation_log: 로그 파일 링크
모니터링 방법
파이프라인 트리거 후 다음 순서로 확인:
- 태스크 파일 감지:
_Settings_/Tasks/에서 해당task_type의 최신 파일을 폴링 (최대 120초, 5초 간격)- obsidian-cli 활용:
obsidian search query="task_type: EIC" path="_Settings_/Tasks" limit=1로 최신 태스크 파일 검색,obsidian property:read name=status file="task-file"로 상태 확인
- obsidian-cli 활용:
- 상태 확인: 프론트매터의
status필드 읽기PROCESSED→ 성공,output필드에서 결과 파일 경로 확인FAILED→ 실패,generation_log에서 원인 확인- 파일 미생성 → 파이프라인 미트리거 (file monitor 또는 워커 설정 확인 필요)
- 결과 파일 확인:
output경로의 파일이 실제로 존재하는지 검증
온보딩 중 활용
| 시점 | 파이프라인 | 모니터링 대상 |
|------|-----------|-------------|
| 2단계: 웹 클리핑 후 | EIC | _Settings_/Tasks/*EIC* → AI/Summary/ 출력 |
| 2단계: PDF 추가 후 | EDM | _Settings_/Tasks/*EDM* → Ingest/Documents/*.md 출력 |
| 2단계: TIU auto-trigger 후 | TIU | _Settings_/Tasks/*TIU* → Topics/ 출력 |
사용자 피드백
파이프라인 완료 시 사용자에게 자연스럽게 알려준다:
- 성공 (
obsidian_enabled = true):obsidian open으로 출력 파일을 직접 열어준 뒤 "요약이 완료됐어요! 방금 열어드렸어요." - 성공 (
obsidian_enabled = false): "요약이 완료됐어요! 에이아이 서머리 폴더에서 확인할 수 있어요." - 실패: "처리 중에 문제가 생겼어요. 다시 시도해볼까요?"
- 대기 중: "아직 처리 중이에요. 다음 단계를 먼저 진행하고 나중에 확인해볼까요?"
대화 중 비동기 진행 안내
EIC/EDM 등 파이프라인이 처리 시간이 길어질 때 (5분 이상) 자연스럽게 안내한다:
- 트리거 시: "오 분 정도 걸려요. 기다리는 동안 다음 단계 먼저 진행할까요?"
- 완료 시: 현재 대화를 끊지 않고 자연스럽게 알림 — "아까 가져온 자료 정리가 끝났어요! 나중에 에이아이 서머리 폴더에서 확인해보세요."
- 온보딩 종료 시 미완료: "아까 가져온 자료가 아직 처리 중이에요. 완료되면 에이아이 서머리 폴더에 자동으로 저장돼요."
세션 관리
중단 & 재개
-
사용자: "나중에 할게요" / "그만할래요"
-
에이전트: "알겠어요. 지금까지 N단계까지 완료했어요. 나중에 '온보딩 계속'이라고 말씀하시면 여기서 이어서 할 수 있어요. 수고하셨어요!"
-
사용자: "온보딩 계속" / "이어서 하자"
-
에이전트: "다시 오셨군요! 지난번에 N단계까지 완료하셨어요. N+1단계부터 이어서 할게요. 준비되셨나요?"
이전 단계로 돌아가기
- 사용자: "돌아가기" / "이전 단계로"
- 에이전트: "어떤 단계로 돌아갈까요? 완료한 단계를 알려드릴게요."
- (완료 단계 목록 제시 후 선택)
진행 상황 확인
- 사용자: "어디까지 했어?" / "진행 상황"
- 에이전트: "지금까지의 진행 상황이에요." (아래 형식으로 표시)
진행 표시 형식:
✅ 1단계: 프로필 만들기 — 프로필 완료
🔄 2단계: 첫 지식 체험 — 클리핑 ✅ / DRB ✅ / TIU 남음
⬜ 3단계: 콘텐츠 만들기
⬜ 4단계: 커뮤니티 온보딩
⬜ 5단계: 마무리
- ✅ = 완료, 🔄 = 진행 중 (세부 항목 상태 포함), ⬜ = 미시작
도움 요청
- 사용자: "도움" / "뭘 할 수 있어?"
- 에이전트: "사용할 수 있는 명령이 있어요. '계속'하면 다음 단계로, '건너뛰기'는 선택 단계를 넘기고, '다시'는 현재 단계를 다시 하고, '돌아가기'는 이전으로, '진행 상황'은 어디까지 했는지, '중단'은 나중에 이어서 하는 거예요."