본문으로 건너뛰기
0
r/jeffnews HN 약 7분

Spacedrive v3: 로컬 퍼스트 데이터 엔진

open-source

요약

4년간 $2M 시드, 37K 스타, 60만 다운로드를 거친 Spacedrive가 v3로 피벗함. 크로스 플랫폼 파일 매니저에서 로컬 퍼스트 데이터 엔진으로 전환. 모든 데이터 소스를 인덱싱하고 프롬프트 인젝션 스크리닝, 콘텐츠 분류, 신뢰 계층을 거쳐 안전하게 검색 가능하게 만듦.

기사 전체 정리

4년간의 여정

오픈소스 공개 후 4년. $2M 시드 투자, GitHub 스타 37,000개, 다운로드 60만 회를 거쳐 v3가 나왔음. Spacedrive v3는 로컬 퍼스트 데이터 엔진으로, 모든 데이터 소스를 인덱싱해서 한 곳에서 검색 가능하게 만듦.

v1, v2의 실패와 교훈

  • v1: 크로스 플랫폼 파일 매니저 알파. 50만 다운로드, GitHub Rust 프로젝트 중 30위. 하지만 12명의 팀에 $2M, 3년을 쏟고도 인프라 부채로 무너졌음
  • v2: 솔로 파운더의 클린룸 재작성. macOS/iOS 앱도 만들었고, 싱크·P2P·WASM 확장까지 구현. Rust 18만 3천 줄. 아키텍처는 건전했지만 5개 플랫폼 파일 매니저의 표면적이 너무 넓었음. 각 플랫폼마다 파일시스템 시맨틱, 드래그앤드롭 API, 썸네일 파이프라인, 권한 모델이 전부 다르니까 혼자서는 감당 불가능했음
  • 두 버전 모두 안정 릴리스에 도달하지 못함
  • 핵심 교훈: 가장 가치 있는 부분은 파일 브라우저가 아니라 인덱스였음

v3의 구조: 프로세싱 파이프라인

모든 데이터가 검색 인덱스에 들어가기 전에 4단계 파이프라인을 통과함. 이게 핵심 기능임.

  • 1단계 - 안전성 스크리닝: Meta의 Prompt Guard 2를 로컬 CPU에서 실행. 청크당 50ms 미만. 프롬프트 인젝션으로 분류된 레코드는 격리함. OWASP LLM 취약점 1위가 바로 프롬프트 인젝션인데, 이메일 같은 외부 데이터를 인덱싱하면 누구든 임의의 텍스트를 검색 코퍼스에 넣을 수 있으니 인제스트 시점에 차단하는 것임
  • 2단계 - 콘텐츠 분류: 품질 점수(0.0~1.0), 노이즈 감지, 카테고리 태깅. 이메일 서명, Slack 봇 메시지, CI 알림 같은 저품질 콘텐츠는 검색 순위에서 밀리거나 에이전트 쿼리에서 제외됨
  • 3단계 - 어댑터별 처리: 이메일은 서명 제거 및 스레드 중요도 점수 매김. Slack은 봇 감지. 파일은 콘텐츠 해싱 및 텍스트 추출
  • 4단계 - 검색 인덱싱: 1~3단계를 통과한 레코드만 FTS5 풀텍스트 인덱스와 LanceDB 벡터 인덱스에 들어감

신뢰 계층과 프라이버시

  • 데이터 소스별 신뢰 등급 부여: authored(본인 작성), collaborative(공유 워크스페이스), external(이메일처럼 외부인이 내용 통제 가능 → 엄격한 스크리닝 적용)
  • 리포지토리별 가시성 설정(private, shared, agent-excluded) 가능. AI 에이전트가 어떤 데이터를 보는지 데스크톱 앱에서 확인할 수 있음

VDFS (가상 분산 파일시스템)

파일은 원래 위치에 그대로 둠. Spacedrive는 메타데이터 + BLAKE3 해시 + 추출된 텍스트만 저장함. 로컬 파일이 이메일, 노트 등과 함께 검색 가능해지는 구조임. v1이 약속했던 멀티디바이스 싱크는 로드맵에 있지만 현재 제품 사용에 필수는 아님.

런치 어댑터 11개

Gmail, Apple Notes, Chrome 북마크, Chrome 히스토리, Safari 히스토리, Obsidian, OpenCode, Slack Export, macOS 연락처, macOS 캘린더, GitHub. 모두 UTC 정규화된 날짜를 생성하고 커서 기반 증분 동기화를 지원함.

기술 스택

  • Rust + Tokio + SQLite(sqlx) + LanceDB + FastEmbed(all-MiniLM-L6-v2, 로컬 실행) + BLAKE3
  • 암호화된 시크릿 저장소: redb + AES-256-GCM + Argon2id
  • 테스트 68개로 모든 서브시스템 커버
  • 코어는 순수 Rust 라이브러리 크레이트(spacedrive-core). CLI, Tauri 2 데스크톱 앱, Spacebot이 이 크레이트를 소비하는 구조. 서버 의존성 없음. 단일 바이너리. 모든 데이터는 ~/.spacedrive/에 로컬 저장

Spacebot 연동과 비즈니스 모델

  • Spacebot은 spacedrive-core를 Rust 크레이트로 직접 링크함. IPC나 프로토콜 오버헤드 없음
  • Spacebot의 메모리 시스템은 에이전트의 "생각"이고, Spacedrive 데이터는 에이전트가 "아는 것"에 해당함
  • 코어는 영원히 무료·오픈소스. Spacedrive 자체의 비즈니스 모델은 없고, Spacebot(비즈니스 모델이 있는 제품)의 지식 레이어 역할임
  • 3월 20일에 비공개 리포에서 spacedriveapp/spacedrive 퍼블릭 리포로 마이그레이션 완료됨

핵심 포인트

  • v1(12명 팀, $2M, 3년)과 v2(솔로 클린룸 재작성, 18만 3천 줄 Rust) 모두 안정 릴리스에 실패. 핵심 교훈: 가장 가치 있는 건 파일 브라우저가 아니라 인덱스
  • 4단계 프로세싱 파이프라인: Prompt Guard 2로 인젝션 스크리닝(청크당 <50ms), 콘텐츠 분류(품질 0.0~1.0), 어댑터별 처리, FTS5+LanceDB 검색 인덱싱
  • 신뢰 계층(authored/collaborative/external)과 리포별 가시성 설정으로 AI 에이전트의 데이터 접근 제어
  • 런치 시 어댑터 11개: Gmail, Apple Notes, Chrome, Safari, Obsidian, OpenCode, Slack Export, macOS 연락처/캘린더, GitHub
  • 코어는 영원히 무료·오픈소스. Spacebot(AI 에이전트)의 지식 레이어로서 비즈니스 모델을 가짐. 3월 20일 퍼블릭 리포 전환 완료

인사이트

v1·v2의 실패에서 '파일 매니저의 표면적은 솔로 파운더가 감당 불가능하다'는 교훈을 얻고 인덱스라는 핵심 가치에 집중한 피벗이 인상적임. 프롬프트 인젝션 스크리닝을 1등 시민 기능으로 넣은 것은 AI 에이전트 시대에 로컬 데이터 도구가 가야 할 방향을 제시함.

댓글

댓글

댓글을 불러오는 중...

open-source

Microsoft가 공개한 Rust 트레이닝 자료 — 초급부터 전문가까지 7개 코스

Microsoft가 배경 언어별 입문서 3권과 심화/전문가/실무 과정 4권으로 구성된 Rust 트레이닝 자료를 GitHub에 공개했다. 각 권마다 15-16개 챕터, Mermaid 다이어그램, Playground 연습문제를 포함한다.

open-source

RK3588 GPU 안에 숨어있는 Cortex-M7 MCU를 뜯어보고 Rust/gdb/MicroPython까지 올려본 이야기

RK3588의 Mali-G610 GPU 내부에 990MHz로 동작하는 Cortex-M7 MCU가 있으며, 이 펌웨어가 커널 대신 GPU 작업을 관리함. 메모리 접근의 3단 계층 구조, 인터럽트 시스템, 펌웨어 이미지 포맷을 분석하고, 실제로 Rust 정적 라이브러리, gdb 디버깅, MicroPython까지 MCU 위에서 구동하는 과정을 상세히 다룸.

open-source

오픈소스가 전부를 줬고, 줄 것이 남지 않을 때까지 — Requests 창시자의 고백

Python Requests 라이브러리 창시자 Kenneth Reitz가 오픈소스가 준 커리어, 정체성, 그리고 진단되지 않은 양극성 장애와 맞물린 정신건강 위기를 솔직하게 회고한 에세이.

open-source

IBM Z/LinuxONE 오픈소스 2월 리포트 — Cassandra부터 Terraform까지 27개 검증

IBM이 s390x 메인프레임에서 27개 오픈소스 소프트웨어 호환성을 검증한 월간 리포트. upterm, Python websockets 등이 새로 s390x 지원을 시작했고, Open Mainframe Project가 Mainframe Software Hub를 발표함.

open-source

1년간 OS를 밑바닥부터 만든 개발자 — 부트로더에서 Doom 포팅까지

MONOLITH이라는 OS를 처음부터 만든 1년간의 개발 일지. GDT/IDT 초기화부터 시작해 메모리 관리, 유저스페이스, IPC, 데스크톱 환경까지 구현하고 최종적으로 Doom 포팅에 성공함.