把思考铺在画布上,让 AI 站到画布里来——本地优先的无限画布笔记与研究工具。
Spoor(踪迹)是一张装着 AI 的无限画布。想法、资料、PDF、网页、图片都以卡片落在空间里,用连线表达它们之间的关系;四个性格各异的 AI 人格在这张画布上替你反问、联想、改写与推演,研究实验室则把一个问题拆成计划、逐步检索分析,最后把整份研究摊回画布。
它和聊天机器人的根本区别:AI 的每一次回答都是画布上的一张卡——可以移动、连线、改写、打标签,可以重新生成并翻看历史版本;改了上游的想法,还能顺着连线把下游整条重算一遍。思考的痕迹不会沉进聊天记录里,而是留在空间中,随时接得上。
它和云端白板的根本区别:一切都在你自己的电脑上,而且是文件。每张画布就是数据目录里的一个 .canvas 文件(JSON Canvas 开放格式,Obsidian 直接打得开),随编辑自动更新;把数据目录放进网盘同步文件夹,另一台电脑启动时自动合并改动。模型用你自己的 API Key(存在系统加密存储里)或本地 GGUF。不注册账号,不内置密钥,不上传任何东西。
- 无限画布便签 — 拖拽、缩放、连线,把想法铺在空间里,而不是塞进文件夹。每张卡片左侧是连线入口、右侧是出口,连线走曲线并带箭头,方向一眼能看出来。
- 右键随处新建 — 在画布空白处右键即可建便签、主题卡、生图节点,插入图片/视频/文档,节点落在你点击的位置。
- AI 生图节点 — 连图片进来当参考图,连文本进来当提示词,也可以直接在节点里写。支持火山方舟 Seedream、OpenAI、Gemini(Nano Banana)与自定义 OpenAI 兼容端点;一个服务下可挂多个生图模型,节点上随时切换。生成历史永久保留、可逐张翻看与删除,也能一键「输出为图片节点」再作为下游节点的参考图。
- 跟 AI 说话就能建节点 — 在底部输入栏说「建三个便签,分别写…」,AI 直接把它们放到画布上;问问题则照常生成一张 AI 回答卡。
- 给 AI 带附件 — 输入栏可附加图片与 docx/txt/md:图片作为参考图,文档作为正文上下文。附件只服务这一次提问,不会落到画布上。
- 多个人格 Agent — 真知镜负责反问,编织者负责联想,熨烫师负责文字实验,占星术负责情景推演。
- 上下文 AI 便签 — 选中便签后让 AI 分析,结果会作为新便签留在画布上。
- 多选批量操作 — 框选或多选后右键:全部连到一个节点、合成长文、对齐与等间距分布、打标签、存为模板、批量删除。
- 对象吸附与辅助线 — 拖动时贴近别的卡片的边缘或中线会自动吸附并画出参考线;对象吸附优先于网格。
- 小地图 — 右下角缩略图显示全部卡片与视口位置,点击/拖动直接跳转,可收起。
- 节点标签与颜色 — 右键打标签(卡上显示徽章、可搜索),双击卡片改颜色字体——现在会保存,且随导出走。
- 模板 — 把一组连好线的卡片存成模板,空白处右键随时插入复用。
- AI 卡生成历史 — 每次生成/重生成都留档,卡上左右翻版本、固定某一版为当前内容;重跑不再毁掉旧回答。
- 撤销与重做 —
Ctrl+Z/Ctrl+Shift+Z,覆盖建卡、删卡、移动、拉伸、连线与改字。整组拖拽算一步,长按方向键走一路也算一步。AI 生成期间暂时禁用,等它写完再撤。 - 全套键盘操作 —
Delete删选中、Ctrl+A全选、Ctrl+C/X/V复制剪切粘贴(带连线,跨窗口可用)、Ctrl+D复制、方向键微调(开着网格时按格走,Shift加十倍)、Ctrl+0复位视图、Ctrl+1适应内容。焦点在输入框里时一律让给原生行为。 - 画布内搜索 —
Ctrl+F搜便签正文、主题说明、文件名、生图提示词、标签与人设名,回车逐个跳过去并居中;别的画布里的命中按画布聚合列在下面,点一下就切过去接着找。 - 全局搜索 —
Ctrl+Shift+F一个面板搜全部画布、长文与研究会话,按来源分组,回车直达。 - 标签视图 — 画布顶部标签栏,点亮标签让命中的卡保持、其余淡成幽灵态;标签可重命名、合并、删除,一步撤销。
- 演示模式 — 右键「开始演示」按连线关系逐卡聚焦放映,顺序可调、方向键翻页;区域框上右键就是"只讲这一块"。
- AI 整理画布 — 框选散卡右键「AI 分组整理」,模型按主题聚类,虚影预览确认后落成区域框,一步撤销。
- 人格接力 — 任何有正文的卡右键「让人格接着说」:真知镜挑完刺,让熨烫师接着改。
- 笔记落文件 — 每张画布一个
.canvas文件躺在SpoorData/notes/(Obsidian 可开),随编辑自动镜像;经网盘同步的多设备改动在启动时按卡片级时间戳自动合并,合并前自动快照。 - 数据带得走 — 画布可导出为
.canvas(JSON Canvas 开放格式,Obsidian 能直接打开)、Markdown 包(一篇正文 + 一个assets/)或整张 PNG;.canvas也能导回来,落成一张新画布。 - 备份与恢复 — 设置 → 存储可导出全部数据(画布、长文、人设与偏好,不含密钥),也可一键还原。每天第一次启动会自动在
SpoorData/backups/留一份快照,滚动保留 7 份。 - Research Lab — 把研究问题拆成计划后逐步执行:每一步改写检索子查询、检索、带着前序结论分析,最后汇总成报告;执行前显示预计调用次数,每步进度可见、随时可停。报告可以整块落到画布,题目、计划、论点、结论各成一张卡并圈进一个区域框。
- PDF 阅读与摘录 — 拖进来就能翻页读,划中一段点「摘成便签」,那段文字变成旁边一张卡并自动连回 PDF。读到第几页会记住。
- 网页卡片 — 粘贴一条链接直接成卡:标题、站点、封面、正文摘要都抓回来,摘要同时进 AI 上下文。
- 跨画布传送门 — 右键「链接到画布」得到一张传送卡,双击跳过去;画布历史面板里能看到反链(谁指向当前这张)。
- 沿边重算 — 改了上游便签后右键「重算下游」,顺着连线的 AI 卡与生图节点按依赖顺序重跑;站在 AI 卡上则是「重新生成」。
- 区域框 — 一个带标题的矩形画在卡片后面,拖它就带着框里的卡片一起走。
- 长文综合 — 把多张便签整理成文章草稿、项目说明或研究总结。
- 多画布 — 左上角历史记录里新建、重命名、删除画布(删除需二次确认,会连同该画布的节点与连线一起清掉)。
- 本地文件存储 — 导入的图片/视频/文档原件与 AI 生成的图片都存在
SpoorData/里,数据库只记相对路径。设置 → 存储 可以看占用、筛出未被引用的文件、导出或删除,也可以把数据目录整体迁到自选位置(比如网盘同步文件夹)。 - 四套全局主题 — 设置 → 通用 → 主题,一次切换整个界面:纸感(默认)、夜幕(深色)、极简、新粗野。改的不只是配色——侧边栏、设置面板、画布、连线、便签与主题卡的外壳形态一并跟着换。
- 网格与吸附 — 右下角网格按钮,开启后画布显示 24px 点阵,拖动卡片时自动对齐格点。
- 本地优先 — 画布数据保存在本机 IndexedDB,API Key 保存在本地设置中,不内置任何密钥。
- 桌面应用 — 通过 Tauri 打包,Windows 与 macOS(通用二进制,未签名);本地文件存储与直连模型服务都依赖桌面端能力。
一个手势只做一件事:
| 操作 | 行为 |
|---|---|
| 鼠标左键拖动空白处 | 拖出矩形框选中节点(按住 Shift 追加选择) |
| 按住鼠标中键拖动 | 平移画布 |
| 按住空格 + 左键拖动 | 平移画布(光标变手型,此时拖到卡片上也是拖画布) |
| 滚轮上下滑动 | 以指针为锚点缩放画布 |
| 右键 | 打开菜单(画布 / 节点 / 连线 / 多选各有各的菜单) |
| 卡片右侧 ⊕ 按住拖动 | 拖到另一张卡片上松手即连;松在空白处则当场问要建张什么卡 |
| 卡片右侧 ⊕ 点一下 | 也可以点出口起连,再点另一张卡片收线 |
| 连线途中按 Esc / 右键 | 放弃这根线 |
| 右下角 ▦ | 开关网格显示与卡片吸附 |
| 右下角 ⛶ | 缩放至适应全部内容 |
Ctrl+Z / Ctrl+Shift+Z |
撤销 / 重做(右上角也有按钮) |
Ctrl+F |
画布内搜索,回车逐个跳转 |
Delete / Ctrl+A / Ctrl+D |
删除选中 / 全选 / 复制选中 |
Ctrl+C / Ctrl+X / Ctrl+V |
复制 / 剪切 / 粘贴(连同选区内部的连线) |
方向键 / Shift+方向键 |
微调选中卡片;开着网格时按格走 |
Ctrl+0 / Ctrl+1 |
复位视图 / 缩放至适应全部内容 |
节点内部可滚动的区域(长文 AI 卡、文档节点)滚轮仍然滚内容,不会误触发缩放。输入框内右键保留系统原生菜单,方便复制粘贴。
如果你想写一篇关于"AI 如何改变独立创作者"的文章,可以先把零散想法放成便签:AI 写作、个人品牌、平台依赖、真实经验。然后让真知镜找逻辑漏洞,让编织者找隐藏联系,让熨烫师改写关键句,最后把这些便签合成为文章草稿。
| 方式 | 适合谁 | 怎么做 |
|---|---|---|
| Windows 桌面 | 所有使用者 | 从 Releases 下载 Spoor_*_x64-setup.exe 并安装 |
| macOS 桌面 | Mac 用户 | 下载 Spoor_*_universal.dmg(Intel/Apple Silicon 通用)。包未签名,首次打开需右键 → 打开 |
| 本地开发 | 贡献者 / 二次开发 | npm install → npm run tauri:dev |
网页版已停止维护。浏览器打开构建产物只会看到桌面版引导页;
npm run dev仍可用于开发调试。
首次使用:Spoor 不内置 API Key,需要你自己填一个模型服务。打开应用后点左下角齿轮 → 模型服务 → 选一个预设(火山方舟 / OpenAI / Gemini / 自定义),填入 API 密钥与模型名。每条模型旁边有「测试」按钮,会真发一次请求,当场告诉你能不能通。首次启动时画布上也会有一张引导卡片直接带你过去。
支持的服务商:Google Gemini、OpenAI、Anthropic Claude、DeepSeek、MiMo(小米)、豆包(火山方舟)、自定义 OpenAI 兼容端点,以及桌面端的本地 GGUF。同一个服务下可以挂多个对话模型和多个生图模型。联网搜索可选配秘塔(Metaso)密钥。
本地模型(0.6.0 起即插即用):推理引擎(llama.cpp)随安装包内置,选一个本机的 .gguf 模型文件就能直接对话——运行参数按你的显存、内存与 CPU 自动设置(选完文件当场显示模型信息和「装不装得下」),高级面板可逐项手改。NVIDIA 用户可一键下载 GPU 加速组件(约 500MB);模型按需加载、空闲自动退出,只用在线 API 时零开销。详见本地模型指南。
豆包(火山方舟)的「模型」填的是账号下的推理接入点 ID(形如
ep-xxxxxxxx),不是模型名。
从 cc-switch 导入:如果你已经在用 cc-switch 管理 Claude Code / Codex 的中转配置,点击模型服务页底部的「导入 cc-switch 配置」会自动读取 <用户目录>\.cc-switch\cc-switch.db 中的 providers 表。带密钥的 Claude 与 Codex 条目会被追加进来,已有配置不会被覆盖,重复的条目会跳过;数据库不存在时会直接提示未安装。
Anthropic 与中转站:Base URL 填站点根(https://xxx.com)或带 /v1 都可以,两种写法都认。
密钥只保存在本机,不会上传。
卸载:卸载程序会先问你要不要保留 SpoorData/(生成的图片、导入的文件原件,以及 notes/ 下的画布笔记镜像)。选择保留会把它移到 %LOCALAPPDATA%\Spoor\SpoorData-kept——0.5.0 起画布笔记也镜像在这个目录里,保留它就保留了一切;重装后首次启动会自动从镜像恢复画布。
npm install
npm run tauri:dev # 桌面端开发
npm run dev # 仅前端调试
npm run lint # tsc + i18n 键校验 + 悬停提示守卫
npm test # Vitest
npm run tauri:build # 产出 Windows 安装包npm run lint 除了类型检查,还会跑两个守卫脚本:check-i18n 保证中英两份文案键一致、组件里没有裸文案;audit-tooltips 保证每个纯图标按钮都有悬停提示。加新 UI 时它们会直接拦下遗漏。
spoor/
├── src/ 前端(React 19 + Vite + Tailwind 4)
│ ├── assets/ LOGO 与四个 Agent 图标(agents/)
│ ├── index.css 设计令牌与四套主题的配色(html[data-theme])
│ ├── components/ UI 组件
│ │ ├── canvas/ 画布本体:右键菜单、连线、拖拽节点
│ │ ├── nodes/ 各类节点:便签 / AI 卡 / 生图 / 图片 / 视频 / 文档 / 主题
│ │ ├── settings/ 设置面板各 Tab(通用、模型服务、存储)
│ │ └── ui/ 通用件
│ ├── config/ 持久化配置
│ ├── constants/ 静态表:主题表、服务商预设、默认 Agent、菜单项、节点能力
│ ├── hooks/ 画布交互与 AI 动作的状态逻辑
│ ├── i18n/ 中英文案(键必须一一对应,由 check-i18n 守卫)
│ ├── services/ AI 调用、生图、联网搜索、文件导入、媒体与画布仓储、
│ 撤销栈与可撤销写入、JSON Canvas 与 Markdown 导出、备份、
│ 主题与网格开关的外部 store
│ ├── types/ 跨模块类型
│ ├── utils/ 无副作用纯函数
│ ├── App.tsx 画布主体
│ ├── db.ts Dexie / IndexedDB schema
│ └── main.tsx 入口
├── src-tauri/ Rust 桌面端
│ └── src/ media(本地文件存储)、imagegen(生图)、userfile(用户选定路径的读写)、
│ snapshot(自动快照)、notes(笔记镜像)、keystore(密钥加密)、
│ gguf/hardware/engine/llama_server(本地模型)、cc_switch(配置导入)
├── tests/ Vitest,目录结构镜像 src/
├── scripts/ 构建、发布与 lint 守卫脚本
├── docs/ guide/ 用户指南 · product/ 产品说明
│ dev/ 开发文档 · release/ 发布
└── .github/workflows/ 桌面版发布 CI