Deta Surf is a free, open source browsers & extensions project written in TypeScript and released under Apache-2.0. It has 3,570 GitHub stars, 251 forks and 32 open issues, and was last pushed 24 days ago. On this registry it ranks #50 of 65 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available. It gained 6 stars over the last 6 tracked days.

What is Deta Surf?

What it is

Deta Surf is an open-source AI notebook and browser workspace. It combines tabs, split view, a sidebar, local files, web pages, and generated notes in one application. The project lives in the productivity and browser-extension ecosystem, and it is built primarily with Svelte, TypeScript, and Rust. It runs on MacOS, Windows, and Linux.

The concrete problem it addresses is fragmented research and note-taking. Many tools separate notes, websites, PDFs, videos, and chatbots, so users search, open windows, scroll, copy, and paste manually. Surf keeps these media in one local library and lets notes draw from them. It stores data locally in open formats through SFFS, the Surf Flat File System, and supports cloud and local language models.

Key capabilities

  • It stores local files, websites, links, videos, tweets, and user-created media in a private library organized into notebooks.
  • It supports offline use for much of the library and uses stored media to power AI features.
  • It generates smart notes from tabs, websites, and library resources through at-mentions and automatic note creation.
  • It integrates web search into notes and returns results inside the notebook workflow.
  • It includes citations that deep-link to original sources, such as webpage sections, video timestamps, and PDF pages.
  • It creates interactive applets called Surflets without requiring users to write code.
  • It supports rich formatting, code blocks, to-do lists, pasted images, tables, and data from other applications.

Who uses it and how

  • Researchers and students can open YouTube videos or PDFs in tabs and ask questions directly from notes.
  • Knowledge workers can organize files and web pages into notebooks, then generate notes from selected sources.
  • Technical users can use the local-first library and open formats while working across MacOS, Windows, and Linux.
  • AI users can bring their own key for popular models, add cloud models, or use local language models through Ollama.
  • Users can use Surflets to build interactive tools for exploring data or concepts.

Getting started

The README points to an installation guide for setup and contributing instructions for building from source and local development. It does not list a package manager, Docker image, or hosted option.

When to use it — and when not to

Surf fits users who want one local notebook for files, web pages, PDFs, videos, and AI notes, especially when open formats and model choice matter. It is less suitable for users who need a hosted web application, a package-manager install, or a Docker deployment. The project is new, has open issues, and does not describe managed infrastructure, so self-hosters must install and maintain the desktop application and model access themselves.

project readme (upstream, from github) — read inline

splash

Website - Discord


Deta Surf: Your AI Notebook

Deta Surf is an AI notebook that brings all your files and the web directly into your stream of thought.

It’s meant for simultaneous research and thinking that minimizes the grunt work: manually searching, opening windows & tabs, scrolling, copying and pasting into a document editor.

Surf is primarily built in Svelte, TypeScript and Rust, runs on MacOS, Windows & Linux, stores data locally in open formats, and is open source.

split

Motivation

Most applications are focused on a single task, or a single media type: notes, websites, or PDFs. Real thinking requires juggling media across sources to make connections and synthesize ideas. We want to help people think better, across all their media.

Surf is built to be personal and open, in service of the user. This means local first data, open data formats, open source, and openness with respect to AI models. Read more.

Installation

Checkout the installation guide for detailed instructions.

For building from source and local development, see CONTRIBUTING.md.

TL;DR - Things to try

  • YouTube Notes: visit a YouTube video and ask a question
  • PDF Notes: open a PDF and ask a question
  • Create an applet: use the "app generation" tool and ask for an app
  • Notes that search the web: use the "web search" tool and ask a question with "search" in it

Features

Multi-Media Library & Notebooks

notebooks

Store almost any media in a private library on your computer, in an open and transparent format.

  • Support for local files, sites & links from the web (YouTube, Tweets & more), or create media directly in Surf.
  • Organize this library into Notebooks.
  • Open and use much of your library offline.
  • Use your library to power Surf’s AI features.

Surf's library is built on a local storage engine called SFFS (Surf Flat File System), which stores data in open and transparent formats.

Details on the library.

Smart Notes

smart-notes

Explore and think across your digital stuff without opening up a bunch of windows, clicking, scrolling and copying & pasting into your document (or chatbot).

  • @-mention and auto-generate from any tab, website or any resource in your library.
  • Trigger web searches to do research, and bring the results back in your notes.
  • Integrated citations deeplinked to original sources, whether a section on a webpage, a timestamp in a video, or a page in a PDF.
  • Generate interactive applications without writing code using Surflets.
  • Paste in images, tables or data from other applications and have Surf understand and incorporate them.
  • Use rich formating, code blocks, to-do lists and more in your notes.

Read more.

Tabs, Split View & Sidebar

split

Surf is built around tabs, split view and a sidebar for easy navigation.

  • Open local notes, files or web pages in tabs.
  • Split view allows you to view and interact with multiple resources side by side.
  • The sidebar provides quick access to your Notebooks & notes.

Surflets (App Generation)

surflets

Surf can code interactive applets to help you visualize, understand or explore concepts or data that are aided with code.

Read more.

AI

models.png

Surf’s notes and Surflets are powered by large language models of your choice.

  • Bring your own key for popular models
  • Add a cloud model
  • Use Local Language Models

Read more.

Shortcuts

Find the most common shortcuts here.

Security

To report a security concern, please see https://github.com/deta/surf/security/policy

Contributing

See CONTRIBUTING.md for details on contributing to the project and an overview of the codebase.

Code of Conduct

See CODE_OF_CONDUCT.md for details on our code of conduct.

License

The source code for this project is licensed under the Apache 2.0 license, with the following exceptions:

  1. Our patch for the @ghostery/adblocker-electron package is licensed under the Mozilla Public License 2.0 (MPL-2.0), consistent with the upstream project's licensing.
  2. Select files may contain their own specific license headers that override the default license.

Unless otherwise specified in the file or directory, all code defaults to the Apache 2.0 license.

See LICENSE for more details about the Apache 2.0 license.

Note: The Deta name and logos are not covered by the Apache 2.0 license.

Acknowledgements

This project makes use of the following open source packages (not a comprehensive list):

Frequently asked questions

Is Deta Surf free to use?

Deta Surf is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Deta Surf do?

Browser and notebook combined with local-first AI

What is Deta Surf written in?

Deta Surf is primarily written in TypeScript. Its source is publicly available at https://github.com/deta/surf, and it has 3,570 GitHub stars.