Show HN: Deta Surf – 오픈 소스 및 로컬 우선 (local-first) AI 노트북
요약
Deta Surf는 로컬 우선(local-first) 방식의 오픈 소스 AI 노트북입니다. 사용자의 사고 흐름을 방해하지 않도록 웹, PDF, YouTube 등 다양한 미디어를 통합하여 AI와 함께 연구하고 사고할 수 있는 환경을 제공합니다.
핵심 포인트
- 로컬 우선 데이터 저장 및 오픈 포맷 지원
- Svelte, TypeScript, Rust 기반의 멀티 플랫폼 지원
- YouTube, PDF, 웹 검색 등 다양한 미디어 통합 기능
- SFFS 엔진을 통한 투명한 로컬 스토리지 관리

Deta Surf: 당신의 AI 노트북
Deta Surf는 모든 파일과 웹을 당신의 사고 흐름(stream of thought) 속으로 직접 가져오는 AI 노트북입니다.
이 도구는 수동 검색, 창 및 탭 열기, 스크롤, 문서 편집기로 복사 및 붙여넣기와 같은 단순 반복 작업(grunt work)을 최소화하면서, 연구와 사고를 동시에 진행할 수 있도록 설계되었습니다.
Surf는 주로 Svelte, TypeScript 및 Rust로 구축되었으며, MacOS, Windows 및 Linux에서 실행됩니다. 데이터는 오픈 포맷(open formats)으로 로컬에 저장되며, 오픈 소스(open source)입니다.

동기 (Motivation)
대부분의 애플리케이션은 노트, 웹사이트 또는 PDF와 같은 단일 작업이나 단일 미디어 유형에 집중합니다. 실제 사고 과정은 아이디어를 연결하고 합성하기 위해 다양한 출처의 미디어를 동시에 다루는 것을 필요로 합니다. 우리는 사람들이 모든 미디어를 아우르며 더 잘 생각할 수 있도록 돕고자 합니다.
Surf는 사용자를 위해 개인적이고 개방적인 방식으로 구축되었습니다. 이는 로컬 우선(local first) 데이터, 오픈 데이터 포맷(open data formats), 오픈 소스(open source), 그리고 AI 모델에 대한 개방성을 의미합니다. 더 읽어보기.
설치 (Installation)
자세한 지침은 설치 가이드를 확인하세요.
소스 코드 빌드 및 로컬 개발을 보려면 CONTRIBUTING.md를 참조하세요.
요약 (TL;DR) - 시도해 볼 것들
- YouTube 노트: YouTube 영상을 방문하여 질문하기
- PDF 노트: PDF를 열고 질문하기
- 애플릿 생성: "앱 생성(app generation)" 도구를 사용하여 앱 요청하기
- 웹 검색 기능이 포함된 노트: "웹 검색(web search)" 도구를 사용하고 질문에 "search"를 포함하여 질문하기
기능 (Features)
멀티미디어 라이브러리 및 노트북 (Multi-Media Library & Notebooks)

거의 모든 미디어를 컴퓨터 내의 개인 라이브러리에 오픈되고 투명한 포맷으로 저장하세요.
- 로컬 파일, 웹의 사이트 및 링크(YouTube, Tweets 등)를 지원하거나, Surf에서 직접 미디어를 생성할 수 있습니다.
- 이 라이브러리를 노트북(Notebooks)으로 구성할 수 있습니다.
- 라이브러리의 상당 부분을 오프라인에서 열고 사용할 수 있습니다.
- 라이브러리를 사용하여 Surf의 AI 기능을 구동할 수 있습니다.
Surf의 라이브러리는 SFFS (Surf Flat File System)라고 불리는 로컬 스토리지 엔진을 기반으로 구축되었으며, 데이터는 개방적이고 투명한 형식으로 저장됩니다.
스마트 노트 (Smart Notes)

수많은 창을 열거나, 클릭하고, 스크롤하거나, 문서(또는 챗봇)에 복사하여 붙여넣는 과정 없이도 여러분의 디지털 자산을 탐색하고 사고할 수 있습니다.
- 어떤 탭, 웹사이트 또는 라이브러리 내의 리소스에서도
@-mention을 통해 자동 생성할 수 있습니다. - 웹 검색을 실행하여 조사를 수행하고, 그 결과를 노트로 가져올 수 있습니다.
- 웹페이지의 특정 섹션, 비디오의 타임스탬프, 또는 PDF의 페이지 등 원본 소스로 딥링크(deeplink)된 통합 인용 (citations) 기능을 제공합니다.
- Surflets를 사용하여 코드 작성 없이 대화형 애플리케이션을 생성할 수 있습니다.
- 다른 애플리케이션의 이미지, 표 또는 데이터를 붙여넣으면 Surf가 이를 이해하고 통합합니다.
- 노트에서 풍부한 서식 (rich formatting), 코드 블록, 할 일 목록 (to-do lists) 등을 사용할 수 있습니다.
탭, 분할 뷰 및 사이드바 (Tabs, Split View & Sidebar)

Surf는 쉬운 탐색을 위해 탭, 분할 뷰 (split view), 사이드바를 중심으로 구축되었습니다.
- 로컬 노트, 파일 또는 웹 페이지를 탭에서 엽니다.
- 분할 뷰를 통해 여러 리소스를 나란히 놓고 보거나 상호작용할 수 있습니다.
- 사이드바를 통해 노트북과 노트에 빠르게 접근할 수 있습니다.
Surflets (앱 생성)

Surf는 코드로 보조되는 개념이나 데이터를 시각화, 이해 또는 탐색할 수 있도록 대화형 앱릿 (applets)을 코딩할 수 있습니다.
AI

Surf의 노트와 Surflets는 사용자가 선택한 대규모 언어 모델 (Large Language Models, LLM)에 의해 구동됩니다.
- 인기 모델 사용을 위한 본인 소유의 API 키 (Bring your own key) 지원
- 클라우드 모델 추가
- 로컬 언어 모델 (Local Language Models) 사용
단축키 (Shortcuts)
가장 일반적인 단축키를 여기에서 확인하세요.
보안 (Security)
보안 관련 우려 사항을 보고하려면 https://github.com/deta/surf/security/policy 를 참조하세요.
기여하기 (Contributing)
프로젝트 기여에 대한 자세한 내용과 코드베이스 (codebase) 개요는 CONTRIBUTING.md를 참조하세요.
행동 강령 (Code of Conduct)
저희의 행동 강령에 대한 자세한 내용은 CODE_OF_CONDUCT.md를 참조하세요.
라이선스 (License)
이 프로젝트의 소스 코드는 다음 예외 사항을 포함하여 Apache 2.0 라이선스(Apache 2.0 license) 하에 배포됩니다:
- @ghostery/adblocker-electron 패키지에 대한 당사의 패치는 업스트림 (upstream) 프로젝트의 라이선스와 일치하는 Mozilla Public License 2.0 (MPL-2.0)을 따릅니다.
- 특정 파일에는 기본 라이선스를 무효화하는 자체적인 특정 라이선스 헤더가 포함될 수 있습니다.
파일 또는 디렉토리에 별도로 명시되지 않는 한, 모든 코드는 기본적으로 Apache 2.0 라이선스를 따릅니다.
Apache 2.0 라이선스에 대한 자세한 내용은 LICENSE를 참조하세요.
참고: Deta 이름과 로고는 Apache 2.0 라이선스의 적용을 받지 않습니다.
감사 (Acknowledgements)
이 프로젝트는 다음과 같은 오픈 소스 패키지들을 사용합니다 (전체 목록은 아닙니다):
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Design Systems의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기