프로젝트 소개

rowboatlabs/rowboat

Stars 10686 · Forks 972 · License Apache-2.0 · Primary Language TypeScript

로컬 Markdown 지식 그래프를 바탕으로 이메일, 회의, 노트, 외부 도구를 연결해 실제 업무 결과물을 만드는 AI 코워커 저장소다.

한눈에 보는 핵심 포인트

포인트메모
기억 중심 설계사람, 프로젝트, 결정, 약속을 장기적으로 누적
로컬 우선 저장Markdown vault 기반, 편집 가능, 백링크 지원
실무 출력 지향브리프, 이메일, 문서, PDF 슬라이드 생성
연동 범위 넓음Gmail, Calendar, Drive, Fireflies, Exa, MCP, Composio
선택 기능 풍부음성 입력/출력, 웹 검색, 외부 도구 확장

무엇을 하는 저장소인가

역할해석
입력이메일, 캘린더, 회의 노트, 음성 메모업무 맥락 수집
저장Obsidian 호환 Markdown vault사람이 직접 읽고 수정 가능한 기억 저장소
연결백링크, 관계 정보사람-프로젝트-결정 연결
탐색Qdrant, RAG필요한 맥락 재검색
실행문서, 메일, 브리프, 슬라이드 생성실제 산출물 생산
확장MCP, Composio외부 SaaS, 내부 도구 연결

핵심 메모:

  • “메모 앱”보다 “업무용 기억 시스템”에 가까움
  • 기억이 모델 내부가 아니라 파일 형태로 남음
  • 자동 요약보다 관계 보존이 더 중심
  • 결과물 생성과 업무 실행까지 이어짐

빠른 시작

단계작업메모
1공식 다운로드 페이지에서 최신 설치 파일 받기macOS, Windows, Linux 지원
2.env.example를 기준으로 환경 변수 준비OpenAI, DB, 도구 키 포함
3Google 연동이 필요하면 google-setup.md 확인Gmail, Calendar, Drive
4선택 기능용 API 키 파일 배치~/.rowboat/config/*.json
5컨테이너로 실행docker-compose.yml 기준, 세부 커맨드는 확인 필요
6앱에서 메일, 회의, 노트 연결지식 그래프 축적 시작

선택 기능 파일 예시:

기능파일
음성 입력~/.rowboat/config/deepgram.json
음성 출력~/.rowboat/config/elevenlabs.json
웹 검색~/.rowboat/config/exa-search.json
외부 도구~/.rowboat/config/composio.json

공통 형식:

{"apiKey":"<key>"}

주의:

  • docker-compose.ymlrowboat, mongo, redis, qdrant, rag-worker, jobs-worker가 확인됨
  • rowboat_agents, copilot, chat_widget 등은 주석 처리 상태
  • 정확한 로컬 진입 명령은 스냅샷에 없어서 확인 필요

폴더 구조

경로역할메모
README.md프로젝트 개요와 설치 안내가장 먼저 볼 문서
.env.example환경 변수 샘플실행 전 기준점
docker-compose.yml로컬 서비스 구성Mongo, Redis, Qdrant 포함
google-setup.mdGoogle 연동 가이드Gmail, Calendar, Drive 연결
start.sh시작 스크립트실제 진입점 후보
build-electron.sh데스크톱 빌드 스크립트Electron 계열 패키징 추정
Dockerfile.qdrantQdrant용 Docker 정의벡터 저장소 초기화용 추정
CLAUDE.md작업 규칙/운영 메모내용은 확인 필요
LICENSEApache-2.0 라이선스배포 조건 확인용
.github/CI 및 워크플로자동화 설정
apps/실제 애플리케이션 묶음하위 구조는 일부 추정
apps/rowboat본체 앱docker-compose.yml 빌드 대상
apps/docs문서 사이트docker-compose.yml 빌드 대상
apps/experimental/*실험 서비스주석 처리된 서비스 기준 추정
assets/정적 리소스로고, 이미지 등 추정

실행 흐름

단계흐름관련 구성
1사용자 입력 수집이메일, 회의 노트, 음성 메모
2외부 연동 수집Gmail, Google Calendar, Drive, Fireflies
3Markdown vault 갱신사람이 읽을 수 있는 기억 누적
4관계 연결사람, 프로젝트, 결정, 약속 간 링크 생성
5검색 및 재조합Qdrant, RAG
6결과 생성브리프, 메일, 문서, PDF 슬라이드
7외부 작업 실행MCP, Composio, 로컬 도구

운영 역할 메모:

  • MongoDB: 상태와 영속 데이터
  • Redis: 작업 큐와 백그라운드 처리
  • Qdrant: 벡터 검색과 관련 문맥 검색
  • rag-worker: 문서/파일 처리 계열 작업
  • jobs-worker: 일반 작업 처리 계열 작업

기술 스택

범주기술역할
언어TypeScript본체 구현
실행/배포Docker, Docker Compose로컬 멀티 서비스 실행
저장소MongoDB영속 데이터
큐/캐시Redis비동기 작업
벡터 검색QdrantRAG 기반 검색
AI 모델OpenAI API, Provider 설정추론 엔진
로컬/호스티드 모델Ollama, LM Studio, 외부 모델교체 가능한 모델 소스
연동 규격MCP외부 도구 연결
자동화 연동ComposioSaaS 도구 연결
Google 연동Gmail, Calendar, Drive API업무 컨텍스트 수집
음성Deepgram, ElevenLabs입력/출력 음성
웹 검색Exa리서치 검색
데스크톱 패키징build-electron.sh 기준 Electron 계열 추정설치형 배포

먼저 읽을 파일

파일이유우선순위
README.md프로젝트 목적, 기능, 설치 흐름1
.env.example필요한 환경 변수 목록2
google-setup.mdGoogle 서비스 연결 절차3
docker-compose.yml실제 실행 서비스와 의존성4
start.sh시작 방식 확인5
CLAUDE.md저장소 전용 작업 규칙6
build-electron.sh데스크톱 빌드 경로7
Dockerfile.qdrant벡터 저장소 준비 방식8

용어 사전

용어이 저장소에서의 의미
local-first데이터가 로컬에 먼저 남는 방식클라우드 종속 최소화
knowledge graph관계 중심 지식 구조사람, 프로젝트, 결정 연결
vault노트 묶음 저장소Markdown 파일 집합
backlinks역링크노트 간 양방향 연결
RAG검색 후 생성관련 맥락을 먼저 찾고 답 생성
MCP도구 연결 표준외부 서비스 플러그인 연결
live notes자동 갱신 노트@rowboat로 만드는 추적 노트
Composio외부 SaaS 연동 계층API 키 기반 연결
Fireflies회의 노트 서비스회의 맥락 소스
Obsidian-compatibleObsidian과 호환되는 형식일반 Markdown으로 관리 가능

Mermaid 다이어그램

flowchart TD
  A[이메일·회의·노트] --> B[연동 수집]
  B --> C[Markdown vault]
  C --> D[지식 그래프]
  D --> E[RAG / 검색]
  E --> F[브리프·메일·문서]
  E --> G[PDF 슬라이드]
  F --> H[업무 실행]
  G --> H
flowchart LR
  U[사용자] --> R[rowboat]
  R --> M[(MongoDB)]
  R --> X[(Redis)]
  R --> Q[(Qdrant)]
  R --> O[모델 API]
  R --> G[Google API]
  R --> T[MCP / Composio]
  X --> W[worker]
  Q --> W