TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Open-source NotebookLM alternative. Chat with your sources with citations, and turn them into reports, flashcards, quizzes, mind maps and slide decks, with your own OpenAI, Anthropic or Gemini key or local Ollama / LM Studio models. Local-first, no account.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An open-source, bring-your-own-model alternative to NotebookLM. Chat with your sources, and turn them into reports, flashcards, quizzes, tables and diagrams, using the AI model you choose.
Website · Get started · Docs · Roadmap
better-vault is a free, open-source alternative to Google NotebookLM (now Gemini Notebook). It is a research notebook: you add sources such as PDFs, web pages, notes and text files to a notebook, and work with them using the AI model you choose.
Chat with your sources and get answers that cite the passages they came from. Switch to Web mode to let the model search the internet with its provider's built-in search.
Create study material in the Studio: reports, flashcards, quizzes, data tables, mind maps, slide decks, infographics and Anatomy figures, each with a dialog of options much like NotebookLM's. A whiteboard in the style of Excalidraw is there for your own diagrams, or for drawing over a figure or an infographic.
Choose your model from OpenAI, Anthropic and Google with your own key, or run a local model through Ollama or LM Studio. Nothing is locked to one vendor.
Keep your data on your device. The web app stores everything in your browser's IndexedDB, and the desktop app for macOS, Windows and Linux keeps it in a SQLite file on your computer. There is no account and no server database, and your keys only leave your device to reach the model you picked.
| Studio tool | What you get | Download as |
|---|---|---|
| Reports | Briefing doc, study guide, blog post, your own format, or a format suggested for your sources; read as a document with a table of contents and citations | Word, Markdown |
| Flashcards | Flip cards with keyboard shortcuts, shuffle and "knew it / still learning" tallies | Word, CSV (Anki) |
| Quiz | Multiple-choice questions with hints, explanations and a score | Word, Markdown |
| Data table | Facts from your sources in rows and columns | Excel, CSV |
| Mind map | An interactive tree like NotebookLM's: open branches, click a topic to ask about it in the chat. Plus 11 more diagram kinds (flowchart, timeline, cause and effect, …) drawn with Pele | PNG, SVG, Mermaid |
| Slide deck | A presentation from your sources: a detailed deck to read, or a presenter deck with speaker notes. Present it full screen | PowerPoint, PDF |
| Infographic | A one-page picture drawn by your provider's image model (OpenAI GPT Image or Google Gemini), from a cited brief written from your sources | PNG, original image |
| Anatomy | An interactive isometric figure of a real object whose working explains your sources, drawn with Anatomy's kit: point at a part to read what it does, step through how it works, take it apart | PNG, SVG |
| Whiteboard | A blank board with Excalidraw's tools and shortcuts: shapes, arrows, pen, text and pictures, in a hand-drawn style. Annotate opens a mind map, Anatomy figure or infographic on a board to draw over it. No model needed | PNG, SVG, JSON |
Audio and video overviews are out of scope.
Download the installer for macOS, Windows or Linux from better-vault.dev/download or the latest release, install it and open it. It updates itself when a new version comes out. The desktop docs cover installing and moving your notebooks over.
Requirements: Node.js 20.9 or newer, with npm 10 (included with Node.js).
git clone https://github.com/better-vault/better-vault.git
cd better-vault
npm install
npm run dev
Open http://localhost:3000, then Settings → AI providers and paste an API key, or point it at a local model. No .env file is needed.
npm run build
npm start
ollama pull llama3.2).http://localhost:11434 for Ollama, http://localhost:1234 for LM Studio).Local models work when better-vault runs on the same machine as the model server. Web search is only available with providers that have it built in (OpenAI, Anthropic, Google).
Notebooks, sources, chats, Studio outputs and API keys stay on your device: in your browser's IndexedDB in the web app, or in better-vault.sqlite in the app's data folder in the desktop app. Settings → Data exports and imports notebooks as a JSON file, which also moves them between the two.
Each request sends your key to the app's own API route, which passes it to the provider and never stores or logs it. If you host better-vault for other people, they use their own keys in their own browsers.
Two optional environment variables tighten a public deployment:
| Variable | Default | Effect |
|---|---|---|
BETTER_VAULT_ALLOW_LOCAL_PROVIDERS | true | Set to false to turn off Ollama and LM Studio, whose address comes from the user and would make the server fetch it. |
BETTER_VAULT_ALLOW_PRIVATE_URLS | false | Set to true to let web-page sources point at private or local network addresses (only for trusted, private installs). |
Next.js 16 · Vercel AI SDK 7 · Panel UI · shadcn/ui · Pele · Hugeicons · i18next · Dexie · Electron · Tailwind CSS 4
Contributions are welcome, from typo fixes to new Studio tools. Please read CONTRIBUTING.md first. In short:
feat/…, fix/…, docs/…).npm run lint && npm run typecheck && npm test && npm run i18n:check && npm run build
If your change touches the server, storage or anything else the desktop app depends on, run the checks in desktop/ too (see CONTRIBUTING.md).Contributors and AI coding agents should also read AGENTS.md, which explains the project's concepts and rules.
The UI is fully translatable with i18next. English is the source language. To add a language:
locales/en/ to locales/<code>/ (for example locales/fr/) and translate the values, not the keys.lib/i18n/resources.ts.lib/i18n/config.ts, with dir: "rtl" for right-to-left scripts.npm run i18n:check to find missing or extra keys, then open a pull request.Found a bug or have an idea? Open an issue and pick a template:
A bug report asks what happened, the steps to reproduce it, your browser or desktop system, and the provider and model you used. A feature request asks for the problem you want solved and how you imagine it working. The translation template is for offering or requesting a new language.
Please search existing issues first, and never paste API keys into an issue. Security problems should be reported privately, as described in SECURITY.md.
MIT © 2026 the better-vault contributors. Third-party code keeps its own license (see LICENSE).