字
字节笔记本
2026年2月22日
Deta Surf:开源个人 AI 笔记本
Deta Surf 是一款开源的个人 AI 笔记本应用,帮助用户整理文件和网页,并从中智能生成笔记。该项目采用本地优先、开放数据的设计理念,支持用户自由选择 AI 模型(包括本地模型),目前已有 3.2k stars。
项目简介
Deta Surf 由 Deta 团队开发维护,是一个开源的个人知识管理工具。它将文件管理、网页收藏和 AI 笔记功能整合在一起,让用户可以在一个应用中完成从资料收集到知识整理的全流程。项目主要使用 TypeScript 和 Svelte 编写,基于 Electron 构建桌面应用。
核心特性
- 多媒体资源库:通过 SFFS(Surf Flat File System)实现本地存储,支持各种文件格式的管理和预览
- 智能笔记系统:支持
@-mention引用资源、网页搜索、自动引用等功能,让笔记与资料无缝关联 - Surflets:无需编码即可生成交互式应用,将笔记转化为可操作的微型工具
- AI 集成:支持自带 API Key、云端模型或本地 LLM,用户可自由选择适合的 AI 服务
- 分屏视图:支持标签页、侧边栏、并排查看,提供灵活的工作空间布局
- 文件管理:将文件和网页直接整合到思维流中,实现知识的有机组织
技术栈
| 技术 | 用途 |
|---|---|
| Svelte | 前端框架,构建响应式用户界面 |
| TypeScript | 主要编程语言(占比 43.9%) |
| Rust | 性能关键模块(占比 15.9%) |
| Electron | 桌面应用框架 |
| Tiptap | 富文本编辑器 |
安装指南
前置要求
- Node.js >= 18
- Rust 工具链(用于编译原生模块)
- pnpm >= 8(推荐)
安装步骤
bash
# 克隆仓库
git clone https://github.com/deta/surf.git
cd surf
# 安装依赖
pnpm install
# 构建应用
pnpm build
# 启动开发模式
pnpm dev打包发布
bash
# 打包桌面应用
pnpm package
# 创建发布版本
pnpm make快速开始
场景 1:YouTube 笔记生成
- 在 Surf 中打开 YouTube 视频链接
- 使用 AI 功能生成视频摘要
- 自动提取关键时间戳和要点
- 将笔记与视频关联保存
场景 2:PDF 问答
- 导入 PDF 文档到资源库
- 在笔记中使用
@引用该 PDF - 向 AI 提问关于文档内容的问题
- 获取带引用来源的智能回答
场景 3:创建 Surflet 应用
- 在笔记中描述想要的应用功能
- 使用 AI 生成 Surflet 代码
- 无需部署即可在应用中运行
- 与笔记数据实时交互
使用示例
基础用法:整理网页资料
markdown
# 研究笔记
今天阅读了关于 AI 发展的文章:
@[网页链接] 这篇文章提到:
- 大模型参数规模持续增长
- 多模态能力成为新趋势
- 本地部署需求日益增加
需要进一步研究 @[相关论文.pdf] 中的实验数据。高级用法:AI 辅助研究
markdown
# 项目调研
基于 @collection{参考资料},请分析:
1. 当前市场的主要竞争者
2. 技术发展趋势
3. 潜在的机会点
要求:每个观点都需要标注来源链接。配置说明
AI 模型配置
Surf 支持多种 AI 模型配置方式:
| 配置方式 | 说明 |
|---|---|
| 自带 API Key | 使用自己的 OpenAI、Anthropic 等 API Key |
| 云端模型 | 连接 Deta 提供的云端 AI 服务 |
| 本地 LLM | 通过 Ollama 等工具连接本地模型 |
数据存储
- 所有数据默认存储在本地文件系统
- 采用开放的 SFFS 文件格式
- 支持导出和备份
- 可选择同步到云端(可选)
注意事项
- 本地优先:项目设计为本地优先,核心数据存储在本地,确保隐私和安全
- 开放数据:采用开放数据格式,用户完全拥有自己的数据
- 模型选择自由:支持云端模型或本地 LLM,适应不同网络环境和隐私需求
- 商标限制:Deta 品牌名称和徽标有独立的使用限制,不受 Apache 2.0 许可证保护
许可证
- 主要许可证:Apache 2.0
- 例外:
@ghostery/adblocker-electron补丁采用 MPL-2.0 许可证
项目链接
- GitHub 仓库:https://github.com/deta/surf
- 官方网站:https://deta.surf
- 文档中心:https://github.com/deta/surf/tree/main/docs
分享: