关于 dotstell
dotstell 是开源个人知识图谱,供希望集中管理笔记、联系人、任务、书签和会议的人使用,并以实体关联和 AI 问答组织个人信息。其 MCP 服务通过可撤销的只读令牌开放这些内容的搜索与读取。
主要功能
- 01关联笔记、联系人、任务和书签
- 02通过 Wikilinks 与知识图谱连接内容
- 03跨内容搜索与语义搜索
- 04基于个人资料进行 AI 问答和写作
- 05导入与导出多种个人数据
适用场景
- 01整理会议记录并将行动项转为关联任务
- 02按人物或项目查找相关笔记与书签
- 03让编码工具只读搜索个人知识
- 04将现有 Markdown 笔记导入并导出备份
MCP 相关
MCP 服务允许 Codex、Claude Code、Cursor 和 Claude Desktop 使用可撤销的只读令牌搜索和读取笔记、书签、任务、联系人及会议。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://dotstell.app/api/mcpclaude mcp add --transport http com-dotstell-dotstell https://dotstell.app/api/mcp{"mcpServers":{"com-dotstell-dotstell":{"type":"http","url":"https://dotstell.app/api/mcp"}}}在 Cursor 中打开{"servers":{"com-dotstell-dotstell":{"type":"http","url":"https://dotstell.app/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-dotstell-dotstell":{"type":"http","url":"https://dotstell.app/api/mcp"}}}{"mcpServers":{"com-dotstell-dotstell":{"serverUrl":"https://dotstell.app/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://dotstell.app/api/mcp需要授权工具
详细介绍
你的知识散落各处。Dotstell 将它们连接起来。
捕捉 · 连接 · 提问
笔记 · 人物 · 任务 · 书签 · Wikilinks · 知识图谱 · 会议 · 语音听写 · AI 聊天与写作 · MCP 服务 · 导入与导出 · 本地 Ollama
Dotstell 是什么?
Dotstell 是一款开源的个人知识图谱——一个可以撰写笔记、跟踪人物、管理任务、保存书签,并通过可视化图谱将它们全部关联起来的统一空间。它内置了一个能够理解你整个知识库的 AI 层。
大多数效率工具都围绕捕捉构建。Dotstell 则围绕连接构建——如今也围绕对话构建。
捕捉你的想法、会议笔记和研究内容。将它们连接到人物、任务和书签,构建一个伴随你不断成长的知识图谱。向 AI 提问,它会根据你自己的笔记而非互联网作答——与它聊天、获取人物情报、生成文字,并发现你已经掌握的知识。
你写下的一切、你认识的每个人、你做过的每件事——全部关联在一个不断演进的知识图谱中。现在,AI 也能理解其中的一切。
它能回答一个其他工具无法回答的问题:
“关于这个人、这个项目、这个决定——此刻,结合完整背景,我究竟知道些什么?”
支持项目
Dotstell 免费、可自托管,并以开源方式开发。如果它为你节省了时间,或者你认同我们的愿景:
- 为仓库点星 — 这是你能做的最有帮助的一件事。它能让更多人发现 Dotstell,也让我们知道这项工作值得继续。
- 提交 Issue — Bug 报告和功能请求将影响接下来的开发方向。
- 贡献代码 — 欢迎各种技能水平的贡献者;请参阅贡献指南。
- 分享给他人 — 告诉那些需要更好方式来组织工作的人。
对于一个早期的 OSS 项目,每一颗星、每个 Issue 和每个 PR 都确实意义重大。
功能
捕获
| 功能 | 描述 | |
|---|---|---|
| 📑 | 富文本笔记 | 斜杠命令、表格、代码块、清单、图片、目录和 PDF 导出;子笔记、笔记标签页、颜色标签、置顶和拖动排序 |
| 📓 | 笔记本 | 将笔记整理到命名的彩色分类中;已删除的笔记会在回收站中保留 30 天 |
| 🎙️ | 会议 | 粘贴或上传 Zoom、Teams 或 Meet 的会议记录(.vtt、.srt、.txt),也可以粘贴粗略笔记,然后获取摘要、决策、行动项和待解决问题;行动项会变为关联任务。也可以录制会议——参见 docs/MEETINGS.md |
| 🗣️ | 语音听写 | 用 12 种语言向任意笔记口述。快速模式使用浏览器,支持语音标点(“逗号”“问号”“换行”)和自动大写;高准确度模式使用 Whisper 类模型,并使用你自己的 OpenAI、Groq 或 Gemini 密钥。文字会随着口述实时显示在可拖动的工具栏上,手机上也能使用 |
| 🔖 | 智能书签 | 保存任意 URL——自动获取标题、描述和网站图标;支持从 Chrome、Firefox 或 Safari 批量导入 |
| ✅ | 任务与优先级 | 看板和列表视图,支持优先级、截止日期和时间、提醒及逾期警报 |
| 👥 | 联系人与一对一沟通 | 跟踪联系人,直接为联系人附加笔记、任务和背景信息;在笔记中用 @mention 提及他们 |
连接
| 功能 | 描述 | |
|---|---|---|
| ⬡ | 维基链接与反向链接 | 在任意笔记中输入 [[ 即可链接到另一篇笔记;反向链接和未链接的提及会自动更新 |
| 🔗 | 手动关联 | 将任意实体与其他实体关联起来——笔记 → 联系人、书签 → 任务,等等 |
| 🌐 | 知识图谱 | 以可视化地图呈现所有内容;维基链接和手动关联会显示为实时连线,并包含 AI 发现的缺失关联和聚类 |
| 🔍 | 通用搜索 | 使用 Ctrl+K 打开命令面板,搜索笔记、联系人、任务和书签;还可按含义进行语义搜索 |
| 🏠 | 仪表板 | 逾期警报、任务进度、近期笔记和书签、知识健康状况及 AI 摘要 |
询问
| 功能 | 描述 | |
|---|---|---|
| ✨ | AI 聊天、写作与辅助 | 基于你的笔记、书签和任务进行聊天;使用模板起草内容或改进现有文本;行内改写、扩写和修正;智能标题、自动标签、摘要、相关笔记和联系人智能分析。支持 Ollama(本地且私密)、OpenAI、Anthropic、Gemini 或 Groq |
| 🔌 | 连接 AI 工具(MCP 服务) | 让 Codex、Claude Code、Cursor 和 Claude Desktop 使用可撤销的只读令牌搜索和读取你的笔记、书签、任务、联系人和会议——参见 docs/MCP.md |
数据由你掌控
| 功能 | 描述 | |
|---|---|---|
| 📤 | 导出与不受厂商锁定 | 一键将所有内容导出为 zip:包含带维基链接和 front matter 的 Markdown 笔记(可在 Obsidian 中打开)、联系人、任务(Markdown 和 CSV)、可导入浏览器的书签,以及无损 JSON 备份——参见 docs/EXPORT.md |
| 📥 | 导入 | 导入 Markdown(Obsidian、Notion、Bear、Joplin、Logseq)、Evernote(.enex)、Google Keep(Takeout)和联系人(.vcf、.csv);笔记本、标签、日期和 [[wikilinks]] 均会保留。先预览,支持一键撤销——参见 docs/IMPORT.md |
| 🖥️ | Web、桌面和手机 | 可在浏览器中使用,也可作为约 10 MB 的桌面应用在 Windows、macOS 和 Linux 上使用,或在手机和平板上使用;提供 12 种主题 |
| 🏠 | 可自托管 | 使用你自己的 Supabase 项目和任意 Node.js 主机——参见 docs/DEPLOYMENT.md |
截图
可在 dotstell.com 查看应用的实时预览——着陆页包含交互式知识图谱、仪表板模型和功能介绍。
在 dotstell.app 试用在线应用,或下载桌面版,适用于 Windows、macOS 和 Linux。
开始使用
前置条件
- Node.js 20.9+
- pnpm —
npm install -g pnpm我们使用 pnpm 而非 npm/yarn,因为它速度快得多(全局存储采用硬链接,不会重复下载同一个软件包),会生成可确定的
pnpm-lock.yaml,并且 Tauri CLI 工具链的桌面版构建也要求使用它。锁文件已提交到版本库——请始终使用pnpm install,而不要使用npm install,以保持锁文件一致。 - 免费的 Supabase 账号
1. 克隆
git clone https://github.com/dotstell/dotstell.git
cd dotstell
2. 安装依赖
pnpm install
3. 设置 Supabase
-
在 supabase.com 创建新项目
-
前往 SQL Editor 并运行
supabase/schema.sql,创建所有表、策略和触发器。新项目只需这一个文件。对于现有数据库,请按顺序应用尚未运行的迁移:
supabase/migrations/
├── add_notebooks_table.sql
├── add_notes_soft_delete.sql
├── 002_bookmarks_enhancements.sql
├── 003_bookmark_visits.sql
├── 004_notes_parent.sql
├── 005_notes_sort_pin.sql
├── 006_notes_color.sql
├── 007_notebooks_constraints.sql
├── 008_ai_embeddings.sql ← vector(768) columns on notes + bookmarks (AI semantic search)
├── 009_ai_match_functions.sql ← pgvector cosine similarity RPC functions
├── 010_tasks_embedding.sql ← vector(768) column on tasks + match_tasks() (tasks in AI Chat RAG)
├── 011_fix_function_search_paths.sql
├── 012_mcp.sql ← MCP tokens and the read-only functions behind the MCP server
└── 013_data_api_grants.sql ← explicit table grants (needed on new Supabase projects from 30 Oct 2026; safe to run on any)
- 从 Settings → API 复制项目 URL 和 anon key
4. 配置环境
cp .env.local.example .env.local
编辑 .env.local:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
处于企业 SSL 代理之后? 请将
NODE_TLS_REJECT_UNAUTHORIZED=0添加到.env.local。不要在生产环境中设置此项。
5. 运行
pnpm dev
打开 http://localhost:3000,创建账号并开始连接你的知识。
AI 功能
Dotstell 提供完整的 AI 层。所有功能均支持五种服务提供商选项:
| 服务提供商 | 聊天 | 嵌入 | 备注 |
|---|---|---|---|
| Ollama(本地) | ✅ | ✅ | 免费、私密,在你的设备上运行 |
| OpenAI | ✅ | ✅ | GPT-4o、text-embedding-3-small |
| Anthropic | ✅ | — | Claude 模型;请使用单独的嵌入服务提供商 |
| Google Gemini | ✅ | ✅ | 免费额度充足 |
| Groq | ✅ | — | 推理速度极快;请使用单独的嵌入服务提供商 |
AI 功能:
- 会议助手 — 粘贴或上传 Zoom、Teams 或 Meet 会议转录(也可以录制会议),获取摘要、决策和行动项;还可将行动项转为关联任务
- 语音听写 — 快速(使用你的浏览器,支持口述标点和自动大写,仅限英语)或 高准确度(使用你自己的 OpenAI、Groq 或 Gemini 语音密钥,由模型添加标点和大写);两种方式均支持手机
- 连接 AI 工具(MCP 服务) — 让 Codex、Claude Code、Cursor 和 Claude Desktop 使用可撤销的只读令牌读取你的笔记、书签、任务、联系人和会议(参见 docs/MCP.md)
- AI 写作助手 — 使用 8 种起始模板(大纲、会议笔记、每日记录、研究笔记、OoO 邮件、提案、状态更新、邮件草稿)或自定义提示词,从头起草笔记;还可通过一键操作改进现有笔记(改进英语表达、使其正式、精简内容、扩写、全面重写)
- AI 聊天 — 侧滑面板,支持 RAG(语义搜索会从你的笔记、书签和任务中检索依据,为回答提供支撑)、“此笔记”和“所有知识”模式,以及用于联系人信息的“联系人”选项卡
- 行内辅助 — 选择文本 → 重写 / 扩写 / 缩短 / 修正语法 / 生成大纲 / 创建清单 / 解释
- 智能标题和自动标签 — 写作时建议标题和最多 5 个相关标签
- 笔记和书签摘要 — 一键生成项目符号或段落形式的摘要
- AI 知识摘要 — 在仪表板面板中汇总你最近的笔记动态
- 语义相关笔记 — 侧边栏面板显示与你正在阅读的笔记相似的笔记
- 联系人智能分析 — 搜索你所有笔记和书签中提及某人的内容,并生成结构化简报
- 图谱智能分析 — 找出知识图谱中缺失的链接、笔记聚类和可建立连接的空缺
API 密钥仅存储在浏览器的 localStorage 中。dotstell 的服务器绝不会存储或记录这些密钥:通过 dotstell API 路由发送的请求仅会携带该次请求所需的密钥,并通过 TLS 将其传递给你选择的 AI 服务提供商。语音转文本(录音和高准确度听写)会直接从你的浏览器发送到服务提供商。
将 Ollama 与在线应用搭配使用 — 本地 AI Agent
托管应用 dotstell.app 运行于 https://。现代浏览器会阻止 https:// 页面直接访问 http://localhost(《私有网络访问》规范)。要在在线应用中使用 Ollama,请运行 Dotstell Local AI Agent——一个轻量、零依赖的 Node.js 代理,可添加浏览器所需的安全标头。
请按以下顺序操作:
步骤 1 — 安装并启动 Ollama
如果尚未安装,请从 ollama.com 下载 Ollama,然后确保它正在运行:
- Windows: Ollama 通常会作为后台服务自动启动。在浏览器中打开
http://127.0.0.1:11434——如果页面显示“ O llama is running”,即可继续。如果没有显示,请在“开始”菜单中找到 Ollama 并启动,或在终端中运行ollama serve。 - macOS / Linux: 如果 Ollama 尚未在后台运行,请运行
ollama serve。
Windows 提示: 如果
ollama serve返回bind: Only one usage of each socket address,说明 Ollama 已在运行——直接跳过此步骤。
步骤 2 — 拉取模型 (仅首次需要)
Dotstell 需要两类模型——一个用于聊天/写作,另一个用于语义搜索(RAG)。请从每一列中各拉取一个模型:
| 用途 | 模型 | 大小 | 备注 |
|---|---|---|---|
| 聊天 | gemma4:e4b | ~4B | 在 dotstell 的会议测试中速度最快、准确度最高;可在 8 GB 显卡上运行——推荐 |
| 聊天 | qwen3.5:4b | 4B | 准确度相当,速度稍慢 |
| 聊天 | phi4-mini | 3.8B | 体积小,在 CPU 上运行速度快 |
| 聊天 | qwen2.5:3b | 3B | 性能出色,支持多语言 |
| 聊天 | llama3.2 | 3B | 稳定可靠的全能模型 |
| 聊天 | deepseek-r1:7b | 7B | 推理质量最佳——需要 GPU |
| 聊天 | qwen2.5:7b | 7B | 质量出色且支持多语言——需要 GPU |
| 嵌入 | nomic-embed-text | — | 语义搜索、“相关笔记”和任务感知 AI 聊天所必需 |
ollama pull gemma4:e4b
ollama pull nomic-embed-text
具备思考能力的模型(Qwen 3.5、Gemma 4 等)可以正常使用:dotstell 会关闭思考功能,以便快速回复。你可以在 AI 设置中模型选择器下方启用 回答前允许模型思考;但回复速度会慢得多。
没有 GPU? 请使用 3–4B 模型(
phi4-mini、qwen2.5:3b、llama3.2)。仅使用 CPU 时,7B 模型运行速度较慢。
步骤 3 — 启动 Dotstell Local AI Agent
无需克隆此仓库。可直接通过 npx 运行(需要 Node.js 18+):
npx @dotstell/agent
使用 Ollama 搭配 dotstell 时,请保持此终端窗口打开。Agent 运行于 http://127.0.0.1:12345,仅限环回访问——无法从你的设备外部访问。
步骤 4 — 打开 dotstell.app → AI 设置 → 选择 Ollama (Local)
检测到 Agent 后,设置弹窗会显示绿色的 “Local Agent is running” 徽标。所有 AI 功能——聊天、写作助手、行内辅助、摘要、人物智能、AI 摘要——都会自动通过 Agent 路由。
运行 Agent 的其他方式:
# Download the single file directly (no npm):
curl -o dotstell-agent.mjs https://raw.githubusercontent.com/dotstell/dotstell/main/packages/agent/index.mjs
node dotstell-agent.mjs
# If you already have the repo cloned:
node packages/agent/index.mjs
有关环境变量、故障排查和安全详情,请参阅 packages/agent/README.md。
在本地运行 dotstell 时(
localhost:3000),无需使用 Agent。PNA 限制仅在访问在线版https://dotstell.app时适用。
技术栈
| 层 | 技术 |
|---|---|
| 框架 | Next.js 16(App Router、React 19) |
| 语言 | TypeScript 5 · Rust(桌面外壳) |
| 样式 | Tailwind CSS v4 |
| 数据库 | Supabase(PostgreSQL 17.6 + 行级安全) |
| 身份验证 | Supabase Auth(JWT) |
| 富文本编辑器 | Tiptap v3 |
| 图可视化 | React Flow v11 |
| 桌面端 | Tauri v2(原生 WebView 封装,安装包约 10 MB) |
| 图标 | Lucide React |
有关系统设计、数据模型、安全模型和关键设计决策的完整介绍,请参阅 docs/ARCHITECTURE.md。
项目结构
完整的目录树注释见 docs/ARCHITECTURE.md。
| 目录 | 用途 |
|---|---|
src/app/ | Next.js App Router 页面和 API 路由(身份验证、笔记、AI、书签、任务等) |
src/components/ | 按领域分组的 React UI 组件(ai/、editor/、graph/、layout/ 等) |
src/hooks/ | 数据获取和行为 hooks |
src/lib/ | AI 客户端、Supabase 客户端、速率限制器、TipTap 扩展;meetings/(转录和摘要)、voice/(听写和语音转文本)、mcp/(MCP 服务)、导入和导出 |
src-tauri/ | Rust / Tauri v2 桌面外壳 |
supabase/ | Schema SQL 和增量迁移 |
packages/agent/ | Dotstell Local AI Agent——零依赖 Node.js Ollama 代理 |
路线图
| 功能 | 状态 |
|---|---|
| 笔记、联系人、任务、书签 | ✅ 已上线 |
| Wikilinks + 反向链接 | ✅ 已上线 |
| 知识图谱 | ✅ 已上线 |
| 桌面应用(Windows、macOS + Linux) | ✅ 已上线 |
| AI 层——聊天、辅助、语义搜索、联系人智能、摘要、会议摘要 | ✅ 已上线(v0.4.0) |
| 通过 Ollama 使用本地 AI——在线应用和本地开发环境均可使用 | ✅ 已上线(v0.4.0) |
| AI 写作助手——从头起草(8 种模板)+ 改进现有内容 | ✅ 已上线(v0.5.0) |
| 导入(Markdown、Evernote、Google Keep、联系人)和完整导出 | ✅ 已上线(v0.7.0) |
| 会议——转录摘要、决策和行动项、听写、录音 | ✅ 已上线(v0.8.0) |
| MCP 服务——AI 工具可读取你的知识,只读,支持撤销令牌 | ✅ 已上线(v0.9.0) |
| 听写:适合手机使用的工具栏、高精度引擎、语音标点和大写 | ✅ 已上线(v0.9.1) |
MCP Registry 列表(com.dotstell/dotstell) | ✅ 已列出(v0.9.1) |
| 浏览器扩展——保存网页并剪辑到 dotstell | 🔜 下一步(v0.10.0) |
| 文档(各项目的文档) | 🔜 即将推出 |
| 集成(Slack、Teams 等) | 🔜 计划中 |
| 移动应用 | 🔜 计划中 |
参与贡献
欢迎贡献,我们由衷感谢。
- Bug 报告和功能请求——请提交 issue
- 代码贡献——对于任何重要改动,请先提交 issue,以便我们就方案达成一致
- 文档、设计、测试——欢迎随时贡献,无需事先讨论
完整指南请参阅 CONTRIBUTING.md。
自托管
Dotstell 专为可自托管而设计。你需要:
- 一台 Node.js 服务器(或 Vercel / 任意 Next.js 主机)
- 一个 Supabase 项目(或自托管的 Supabase)
完整指南——包括数据库、环境、Supabase 身份验证设置、运行方法以及各项功能所需条件——请参阅 docs/DEPLOYMENT.md。
许可证
GNU Affero 通用公共许可证 v3.0 — AGPL-3.0
这意味着你可以自由使用、修改和分发 Dotstell,包括自托管。如果你将修改后的版本作为网络服务运行,则必须向该服务的用户提供修改后的源代码。
© 2026 Dotstell
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。