项目自述仍处于 alpha 阶段,部分功能可能出错;使用模板方式需先登录 GitHub 并克隆仓库,且建议将仓库设为 private 以保护笔记;同名文件跨目录时可能产生歧义 wikilink,需按诊断提示修正
foam
foambubble活跃维护在 VSCode 里用 Markdown 搭建个人知识库,笔记之间自动建立双向链接并生成关系图,适合喜欢 Zettelkasten 卡片笔记法的人。
A personal knowledge management and sharing system for VSCode
在 VS Code 扩展市场安装 Foam 扩展;或从 foam-template 生成 GitHub 仓库后克隆并用 VS Code 打开,按提示点击 Install all 安装推荐扩展README 未说明
基于 VS Code 和 GitHub 的个人知识管理与分享系统,用 wikilink 把 Markdown 笔记连成可导航的知识图谱
在 VSCode 里用 Markdown 搭建个人知识库,笔记之间自动建立双向链接并生成关系图,适合喜欢 Zettelkasten 卡片笔记法的人。
核心能力
- 用 Foam: Show Graph 命令可视化笔记之间的连接图
- 支持 [[wikilink]] 自动补全、别名与段落级引用
- 重命名文件时自动同步更新指向它的链接
- 用 Backlinks 面板查看当前笔记被哪些笔记引用及上下文
- 支持多目录同名文件,自动选用最短唯一标识并诊断歧义链接
容易踩的坑
Minor Changes
-
foam.files.ignoreis no longer read, in VS Code or the CLI. Move its globs tofoam.files.exclude.In
@foam/core,foamConfigFromVsCodeSettingsno longer readsfoam.files.ignore. -
The "Foam: Clear Cache", "Foam: Update Graph" and "Foam: Copy To Clipboard Without Brackets" commands are removed.
Patch Changes
-
Link completion works in VS Code's Markdown Editor (#1763, #1765):
- Picking a note, section or block no longer ends with "The completion was inserted, but its follow-up command failed"
- Notes in folders stay in the list as you type their name
- With
foam.completion.linkFormatset tolink, the completed wikilink becomes a Markdown link
-
- [email protected]2026-11-06 · 2026-11-06 15:52 UTC
查看更新说明
Minor Changes
-
foam.files.ignoreis no longer read, in VS Code or the CLI. Move its globs tofoam.files.exclude.In
@foam/core,foamConfigFromVsCodeSettingsno longer readsfoam.files.ignore.
-
- [email protected]2026-11-06 · 2026-11-06 15:52 UTC
查看更新说明
Minor Changes
-
foam.files.ignoreis no longer read, in VS Code or the CLI. Move its globs tofoam.files.exclude.In
@foam/core,foamConfigFromVsCodeSettingsno longer readsfoam.files.ignore.
-
- [email protected]2026-11-04 · 2026-11-04 16:11 UTC
查看更新说明
Minor Changes
-
Daily notes go where the daily note template's
filepathputs them, and otherwise tojournal/YYYY-MM-DD.md, in VS Code andfoam dailyalike (#1759):- The deprecated
foam.openDailyNote.directory,filenameFormat,fileExtensionandtitleFormatsettings are no longer used. If yours would place or title a note differently, VS Code asks before creating it and offers to write a template that does what they did;foam dailystops with the same advice.foam.openDailyNote.onStartupis unchanged. - Without a template or those settings, VS Code now creates daily notes in
journal/instead of the workspace root, andfoam dailyinjournal/instead ofjournals/. Existing notes stay where they are, but$FOAM_PREVIOUS_DAILY_NOTEonly looks injournal/. - Date snippets link to the file name the template gives the note, and a template using
${FOAM_DATE_FORMAT:...}more than once gets each format. foam dailynow fills in$FOAM_TITLEand$FOAM_PREVIOUS_DAILY_NOTE, honoursfoam.dateLocale, and needs--trustto run a JavaScript template (daily-note.js).
In
@foam/core,prepareDailyNoteanddailyNoteRuleare exported.getLegacyDailyNoteSettingsreplacespartsFromDailyNoteSettingsand thegetDailyNote*config getters, andresolveDailyNotetakes those settings as an argument. - The deprecated
-
Notes open in the editor you associated with Markdown in
workbench.editorAssociations, such as VS Code's Markdown Editor (#1742). Open Daily Note, Open Random Note and Show Similar Notes used to open the text editor regardless.Foam now requires VS Code 1.136 or later.
Patch Changes
-
Link, section and tag completion follow the rules Foam uses to read notes (#1757):
- No link suggestions in frontmatter, after the
|of a wikilink, or after an escaped\[[ [[note #tacompletes a section, not a tag- Emoji tags such as
#❤️complete - Frontmatter tags complete on any line of the
tagsvalue, not only within the first 50 lines - Picking a suggestion after
[[a [[breplaces the right text
In
@foam/core,completionAtis exported. - No link suggestions in frontmatter, after the
-
"Convert Wikilink to Markdown Link" handles links to a folder's index note, relative wikilinks and
[[#Section]]links. Withfoam.completion.linkFormatset tolink, picking a folder from completion no longer ends in a "Resource not found" error (#1744 - thanks @Morikko) -
A note deleted or moved while Foam was reading it no longer comes back under its old path, along with backlinks from a file that is gone (#1758).
-
foam.files.excludeleaves out installed packages by default:**/site-packages/**/*,**/.direnv/**/*,**/vendor/bundle/**/*and**/.yarn/**/*(#1689). Python environments and similar folders were being indexed as thousands of notes since Foam stopped readingfiles.watcherExclude. -
Adding a missing heading, adding tags through the MCP server and reading template metadata now find frontmatter that follows blank lines, and no longer take a
---that is never closed for frontmatter. -
The workspace load timings in Foam's log add up to the load time: reads running in parallel were counted many times over (#1689)
-
Updating links on rename no longer corrupts notes that mix Windows and Unix line endings (#1733)
-
The Orphans and Placeholders panels no longer freeze VS Code on every save in workspaces with many notes sharing a file name, such as
README.md(#1689).foam list orphansandfoam list placeholdersare faster for the same reason.In
@foam/core,getOrphansis exported andFoamWorkspacegainsgetIdentifiers. -
Markdown links that start with
/and contain percent-encoded characters, such as[Plan](/Planning%20System.md), resolve to the note instead of a placeholder (#1752 - thanks @tompscanlan) -
[[folder]]wikilinks in the Markdown preview link to the folder's index note, as Ctrl/Cmd+Click already did, instead of showing as a placeholder (#1749) -
Finding templates and saved
-
- [email protected]2026-11-04 · 2026-11-04 16:04 UTC
查看更新说明
Patch Changes
- Embedded notes (
![[note]]) andfoam-queryresults in the preview render with the rest of the preview's features again, such as syntax highlighting and other extensions' Markdown support (Mermaid diagrams, for example). - Foam runs on VS Code 1.110 or later again, so it installs on Cursor and other editors based on older VS Code versions. Notes open in VS Code's Markdown Editor only where your editor has it.
- Embedded notes (
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Foam
Foam is a personal knowledge management and sharing system built on Visual Studio Code and GitHub.
You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web.
Foam is free, open source, and extremely extensible to suit your personal workflow. You own the information you create with Foam, and you're free to share it, and collaborate on it with anyone you want.
Features
Graph Visualization
See how your notes are connected via a graph with the Foam: Show Graph command.

Link Autocompletion
Foam helps you create the connections between your notes, and your placeholders as well.

Sync links on file rename
Foam updates the links to renamed files, so your notes stay consistent.

Unique identifiers across directories
Foam supports files with the same name in multiple directories. It will use the minimum identifier required, and even report and help you fix existing ambiguous wikilinks.


Link Preview and Navigation

Go to definition, Peek References
See where a note is being referenced in your knowledge base.

Navigation in Preview
Navigate your rendered notes in the VS Code preview panel.

Note embed
Embed the content from other notes.

Support for sections
Foam supports autocompletion, navigation, embedding and diagnostics for note sections.
Just use the standard wiki syntax of [[resource#Section Title]].
Link Alias
Foam supports link aliasing, so you can have a [[wikilink]], or a [[wikilink|alias]].
Templates
Use custom templates to have avoid repetitve work on your notes.

Backlinks Panel
Quickly check which notes are referencing the currently active note. See for each occurrence the context in which it lives, as well as a preview of the note.

Tag Explorer Panel
Tag your notes and navigate them with the Tag Explorer. Foam also supports hierarchical tags.

Orphans and Placeholder Panels
Orphans are notes that have no inbound nor outbound links. Placeholders are dangling links, or notes without content. Keep them under control, and your knowledge base in a better state, by using this panel.

Syntax highlight
Foam highlights wikilinks and placeholder differently, to help you visualize your knowledge base.

Daily note
Create a journal with daily notes.

Generate references for your wikilinks
Create markdown references for [[wikilinks]], to use your notes in a non-Foam workspace.
With references you can also make your notes navigable both in GitHub UI as well as GitHub Pages.

Commands
- Explore your knowledge base with the
Foam: Open Random Notecommand - Access your daily note with the
Foam: Open Daily Notecommand - Create a new note with the
Foam: Create New Notecommand- This becomes very powerful when combined with note templates and the
Foam: Create New Note from Templatecommand
- This becomes very powerful when combined with note templates and the
- See your workspace as a connected graph with the
Foam: Show Graphcommand
Recipes
People use Foam in different ways for different use cases, check out the recipes page for inspiration!
Getting started
Already using Obsidian? An Obsidian vault is usually already a Foam workspace — see Coming from Obsidian.
Whether you want to build a Second Brain or a Zettelkasten, write a book, or just get better at long-term learning, Foam can help you organise your thoughts if you follow these simple rules:
- Create a single Foam workspace for all your knowledge and research following the [[Getting started]] guide.
- Write your thoughts in markdown documents (I like to call them Bubbles, but that might be more than a little twee). These documents should be atomic: Put things that belong together into a single document, and limit its content to that single topic. (source)
- Use Foam's shortcuts and autocompletions to link your thoughts together with
[[wikilinks]], and navigate between them to explore your knowledge graph. - Get an overview of your Foam workspace using the [[Graph Visualisation]], and discover relationships between your thoughts with the use of [Backlinking].
You can also use our Foam template:
- Log in on your GitHub account.
- Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private.
- Clone the repository and open it in VS Code.
- When prompted to install recommended extensions, click Install all (or Show Recommendations if you want to review and install them one by one).
This will also install Foam, but if you already have it installed, that's ok, just make sure you're up to date on the latest version.
Requirements
High tolerance for alpha-grade software. Foam is still a Work in Progress. Rest assured it will never lock you in, nor compromise your files, but sometimes some features might break ;)
Known Issues
See the issues on our GitHub repo ;)
Release Notes
See the CHANGELOG.
Learn more
Head over to the 👉Foam documentation site to see Foam in action and read the rest of the documentation!
Quick links to next documentation sections
You can also browse the docs folder.
License
Foam is licensed under the MIT license.
Contribution Guide
See the Contribution Guide
Code of conduct
See the Code of Conduct
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!