foam

foambubble活跃维护

在 VSCode 里用 Markdown 搭建个人知识库,笔记之间自动建立双向链接并生成关系图,适合喜欢 Zettelkasten 卡片笔记法的人。

A personal knowledge management and sharing system for VSCode

[email protected]发布于 2026-11-06 15:52 UTC17,477star +6 / 7 天793fork同步于 2026-11-10 17:25 UTC

怎么上手

由 README 提炼,执行前请确认
在 VS Code 扩展市场安装 Foam 扩展;或从 foam-template 生成 GitHub 仓库后克隆并用 VS Code 打开,按提示点击 Install all 安装推荐扩展
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 VS Code 和 GitHub 的个人知识管理与分享系统,用 wikilink 把 Markdown 笔记连成可导航的知识图谱

在 VSCode 里用 Markdown 搭建个人知识库,笔记之间自动建立双向链接并生成关系图,适合喜欢 Zettelkasten 卡片笔记法的人。

核心能力

  • 用 Foam: Show Graph 命令可视化笔记之间的连接图
  • 支持 [[wikilink]] 自动补全、别名与段落级引用
  • 重命名文件时自动同步更新指向它的链接
  • 用 Backlinks 面板查看当前笔记被哪些笔记引用及上下文
  • 支持多目录同名文件,自动选用最短唯一标识并诊断歧义链接

容易踩的坑

项目自述仍处于 alpha 阶段,部分功能可能出错;使用模板方式需先登录 GitHub 并克隆仓库,且建议将仓库设为 private 以保护笔记;同名文件跨目录时可能产生歧义 wikilink,需按诊断提示修正

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本[email protected]
  1. [email protected]最新正式版2026-11-06 · 2026-11-06 15:52 UTC

    Minor Changes

    • foam.files.ignore is no longer read, in VS Code or the CLI. Move its globs to foam.files.exclude.

      In @foam/core, foamConfigFromVsCodeSettings no longer reads foam.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.linkFormat set to link, the completed wikilink becomes a Markdown link
  2. [email protected]2026-11-06 · 2026-11-06 15:52 UTC
    查看更新说明

    Minor Changes

    • foam.files.ignore is no longer read, in VS Code or the CLI. Move its globs to foam.files.exclude.

      In @foam/core, foamConfigFromVsCodeSettings no longer reads foam.files.ignore.

  3. [email protected]2026-11-06 · 2026-11-06 15:52 UTC
    查看更新说明

    Minor Changes

    • foam.files.ignore is no longer read, in VS Code or the CLI. Move its globs to foam.files.exclude.

      In @foam/core, foamConfigFromVsCodeSettings no longer reads foam.files.ignore.

  4. [email protected]2026-11-04 · 2026-11-04 16:11 UTC
    查看更新说明

    Minor Changes

    • Daily notes go where the daily note template's filepath puts them, and otherwise to journal/YYYY-MM-DD.md, in VS Code and foam daily alike (#1759):

      • The deprecated foam.openDailyNote.directory, filenameFormat, fileExtension and titleFormat settings 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 daily stops with the same advice. foam.openDailyNote.onStartup is unchanged.
      • Without a template or those settings, VS Code now creates daily notes in journal/ instead of the workspace root, and foam daily in journal/ instead of journals/. Existing notes stay where they are, but $FOAM_PREVIOUS_DAILY_NOTE only looks in journal/.
      • 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 daily now fills in $FOAM_TITLE and $FOAM_PREVIOUS_DAILY_NOTE, honours foam.dateLocale, and needs --trust to run a JavaScript template (daily-note.js).

      In @foam/core, prepareDailyNote and dailyNoteRule are exported. getLegacyDailyNoteSettings replaces partsFromDailyNoteSettings and the getDailyNote* config getters, and resolveDailyNote takes those settings as an argument.

    • 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 #ta completes a section, not a tag
      • Emoji tags such as #❤️ complete
      • Frontmatter tags complete on any line of the tags value, not only within the first 50 lines
      • Picking a suggestion after [[a [[b replaces the right text

      In @foam/core, completionAt is exported.

    • "Convert Wikilink to Markdown Link" handles links to a folder's index note, relative wikilinks and [[#Section]] links. With foam.completion.linkFormat set to link, 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.exclude leaves 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 reading files.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 orphans and foam list placeholders are faster for the same reason.

      In @foam/core, getOrphans is exported and FoamWorkspace gains getIdentifiers.

    • 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

  5. [email protected]2026-11-04 · 2026-11-04 16:04 UTC
    查看更新说明

    Patch Changes

    • Embedded notes (![[note]]) and foam-query results 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.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Foam

    All Contributors

    Version Downloads Visual Studio Marketplace Installs Ratings Discord Chat Ask DeepWiki

    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.

    Graph Visualization

    Link Autocompletion

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

    Link Autocompletion

    Sync links on file rename

    Foam updates the links to renamed files, so your notes stay consistent.

    Sync links on file rename

    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.

    Unique identifier autocompletion

    Wikilink diagnostic

    Link Preview and Navigation

    Link Preview and Navigation

    Go to definition, Peek References

    See where a note is being referenced in your knowledge base.

    Go to Definition, Peek References

    Navigation in Preview

    Navigate your rendered notes in the VS Code preview panel.

    Navigation in Preview

    Note embed

    Embed the content from other notes.

    Note Embed

    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.

    Templates

    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.

    Backlinks Panel

    Tag Explorer Panel

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

    Tag Explorer Panel

    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.

    Orphans and Placeholder Panels

    Syntax highlight

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

    Syntax Highlight

    Daily note

    Create a journal with daily notes.

    Daily Note

    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.

    Generate references

    Commands

    • Explore your knowledge base with the Foam: Open Random Note command
    • Access your daily note with the Foam: Open Daily Note command
    • Create a new note with the Foam: Create New Note command
      • This becomes very powerful when combined with note templates and the Foam: Create New Note from Template command
    • See your workspace as a connected graph with the Foam: Show Graph command

    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:

    1. Create a single Foam workspace for all your knowledge and research following the [[Getting started]] guide.
    2. 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)
    3. Use Foam's shortcuts and autocompletions to link your thoughts together with [[wikilinks]], and navigate between them to explore your knowledge graph.
    4. 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:

    1. Log in on your GitHub account.
    2. Create a GitHub repository from foam-template. If you want to keep your thoughts to yourself, remember to set the repository private.
    3. Clone the repository and open it in VS Code.
    4. 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!