jepicaju862-lab90 downloadsA local-first, Notion-like structured block workspace with an independent Obsidian view.
A local-first, Notion-style structured block workspace that lives inside Obsidian.
Website & more plugins → peyote.info · Changelog · 中文文档 ↓

Blockspace Workspace gives Obsidian a real block editor. Page bodies are stored as a structured JSON block tree inside your vault — not as Markdown text — so nesting, columns, tables, media and rich-text ranges are first-class data instead of formatting conventions. Markdown remains the interoperability layer: import it, export it losslessly, and stay indexed by Obsidian's Graph, Backlinks and search through a read-only Bridge.
| Blockspace Workspace | Plain Markdown notes | |
|---|---|---|
| Storage model | Structured JSON block tree (single source of truth) | Single-file text stream |
| Nesting | Real parentId / children tree, sub-tree drag & drop |
Indentation conventions |
| Layout | Native 2–3 column blocks (1:1, 1:2, 2:1, 1:2:1) |
CSS tricks or raw HTML |
| Export | Markdown + sidecar JSON, Word (OOXML + customXml), PDF (Canvas + attachment) |
Plain text export |
| Obsidian ecosystem | Auto-generated read-only Bridge feeds Graph, Backlinks, search, Page Preview | Native |
| Data safety | Journal, snapshots, conflict copies, trash, built-in diagnostics | File system only |
Tab / Shift + Tab change real hierarchy, not visual indentation.
/columns inserts a structured column block: two or three columns with 1:1, 1:2, 2:1, 1:1:1, 1:2:1 presets.
Ctrl/Cmd + F to find, Ctrl/Cmd + H to open replace, with match counts, case sensitivity and whole-word matching.Shift for large steps, double-click or Home to reset.
Available from the page menu, kanban card menu, right-click menu and the command palette. Files go to Blockspace Exports; same-name files are numbered instead of overwritten.
.md) — clean, readable, editable body. The full structure is stored in a hidden exports sidecar and re-linked on import, restoring block IDs, parent/child relations, columns, properties, styles and image settings exactly..docx) — real OOXML, not HTML with a renamed extension. Headings, rich text, lists, tables, columns, links, background colours, image sizing and wrapping become native Word structures, with the complete page data embedded in customXml..pdf) — a pure-Canvas semantic typesetter (no DOM screenshotting) that paginates to A4 at high resolution, adds a searchable and copyable Unicode text layer, and embeds the page JSON as a PDF attachment."Lossless" means the Blockspace semantic data round-trips. Word and PDF cannot carry interactive behaviour such as drag & drop or collapse state, and native Markdown/LaTeX source is preserved verbatim rather than converted into a lossy equivalent.

[[Page]], [[Page#Heading]], [[Page#^blockId]] and ![[Page#^blockId]] all resolve through one reference layer; Blockspace pages open in the workspace, everything else is handed to Obsidian.((blockId "label")) references are converted to structured references as you type or paste.blockspace:// link, or inspect block-level backlinks from the block menu.Ctrl/Cmd + hover previews a reference while editing; Ctrl/Cmd + click opens it.Blockspace Bridge/*.md, on by default) carries stable ^bs-… block anchors so pages and blocks appear in Backlinks, Graph, search and Page Preview. .blockspace/pages/*.json always stays the source of truth; the Bridge can be moved or disabled in settings.Ctrl/Cmd + E switches between block editing and native reading mode, which projects the page to Markdown and hands it to Obsidian's renderer — wikilinks, embeds, math, code highlighting, callouts, Mermaid and compatible post-processors included./markdown inserts an atomic native Markdown block for anything that must survive verbatim: block math $$…$$, complex HTML, footnotes, H4–H6.$a^2+b^2=c^2$ lives in normal text blocks and renders through Obsidian MathJax..md note → 在 Blockspace 中打开 to import it as a structured page; opening it again reuses the same page instead of duplicating it, and follows renames.**bold**, *italic*, `code`, ~~strike~~, ==highlight== or [text](url) converts inline as you close the syntax./ menu with Chinese/English aliases, fuzzy matching and recency-aware ordering.From Obsidian (recommended)
Manual
main.js, manifest.json and styles.css from the release page.<your vault>/.obsidian/plugins/blockspace-workspace/.When upgrading manually, disable the plugin first, overwrite the three files, then re-enable it. Never delete the .blockspace folder in your vault.
Ctrl/Cmd + N to create a page and start typing — #, ##, -, 1., [], > convert as you type./ for the block menu: /table, /columns, /toc, /image, /markdown, /toggle.Tab / Shift + Tab to nest, and the six-dot handle to drag a block and its children.| Command | What it does |
|---|---|
| 打开工作台 | Open the Blockspace workspace view |
| 新建页面 | Create a page |
| 快速切换页面与操作 | Quick switcher for pages and actions |
| 查找当前页面文本 / 查找并替换当前页面文本 | Find / find & replace in the current page |
| 打开页面检查器 | Open the native sidebar inspector |
| 切换专注模式 | Toggle focus mode |
| 切换 Obsidian 原生 Markdown 阅读模式 | Toggle native Markdown reading mode |
| 导入当前 Markdown 文件 | Import the active Markdown note |
| 导出当前页面为无损 Markdown / Word / PDF | Lossless export of the current page |
| 撤销当前页面操作 / 重做当前页面操作 | Undo / redo |
| 打开诊断与恢复 | Diagnostics and recovery |
| Shortcut | Action |
|---|---|
Ctrl/Cmd + F / Ctrl/Cmd + H |
Find / find and replace in page |
Ctrl/Cmd + E |
Block editing ↔ native reading mode |
Ctrl/Cmd + K |
Quick switcher (or add a link when text is selected) |
Ctrl/Cmd + N / Ctrl/Cmd + S |
New page / save now |
Ctrl/Cmd + Z / Ctrl/Cmd + Shift + Z |
Undo / redo |
Ctrl/Cmd + Enter |
Toggle to-do, or collapse/expand a section or container |
Ctrl/Cmd + A |
Select all blocks (outside text editing) |
Ctrl/Cmd + D / Ctrl/Cmd + Shift + D |
Duplicate selected block(s) |
Ctrl/Cmd + Shift + F |
Focus mode |
Tab / Shift + Tab |
Indent / outdent |
Alt + ↑/↓ |
Move block or sub-tree |
Enter / Shift + Enter |
Split block / line break inside a block |
Esc |
Close overlays, then exit text editing and select the block |
/ |
Block command menu |
Ctrl/Cmd + B I U Shift + S K \ |
Bold, italic, underline, strikethrough, link, clear formatting |
Everything lives in your vault. Nothing is sent anywhere.
.blockspace/
├── workspace.json page index and active page
├── pages/ structured page data (source of truth)
├── journal/ recovery journal for unfinished saves
├── snapshots/ per-page history snapshots
├── recovery/ conflict and error recovery copies
└── trash/ deleted pages
Default companion folders: Blockspace Exports (exports), Blockspace Assets (uploads), Blockspace Bridge (read-only Bridge), Blockspace Notes (optional native Markdown sync, off by default). All paths are configurable in settings.
Page format version is 8. Pages created by 0.3–0.17.0 open directly and are upgraded losslessly on the next normal save. Changing the data folder requires restarting the plugin.
Recommendations: include .blockspace in your sync and backup; don't hand-edit page JSON while the plugin is running; if something looks wrong, open 打开诊断与恢复 before deleting anything in journal, recovery or snapshots.
Ctrl/Cmd + click to open); full bookmark cards exist as a separate block type.MarkdownView, TFile or frontmatter may not work against Blockspace's virtual source path.Other plugins and project updates live at peyote.info.
Copyright © 2026 Blockspace.
Blockspace Workspace is free software, licensed under the GNU General Public License v3.0 or later. You may use, study, share and modify it; if you distribute a modified version, it must be released under the same licence with its source code available. There is no warranty, to the extent permitted by law.
Full version history in the changelog.
本地优先的 Notion 式结构化块工作台,运行在 Obsidian 内部。
官网与更多插件 → peyote.info · 更新日志 · English ↑
Blockspace Workspace 为 Obsidian 带来真正的块编辑器。页面正文以结构化 JSON 块树保存在 Vault 中,而不是 Markdown 文本,因此嵌套、分栏、表格、媒体与富文本区间都是一等数据,而非排版约定。Markdown 仍然是互操作层:可导入、可无损导出,并通过只读 Bridge 继续被 Obsidian 的关系图谱、反链和搜索索引。
| Blockspace Workspace | 普通 Markdown 笔记 | |
|---|---|---|
| 存储模型 | 结构化 JSON 块树(唯一事实源) | 单文件纯文本流 |
| 嵌套 | 真实 parentId / children 树,子树整体拖拽 |
依赖缩进约定 |
| 布局 | 原生两栏 / 三栏块(1:1、1:2、2:1、1:2:1) |
CSS 技巧或裸 HTML |
| 导出 | Markdown + sidecar JSON、Word(OOXML + customXml)、PDF(Canvas + 附件) |
纯文本导出 |
| Obsidian 生态 | 自动生成只读 Bridge,接入图谱、反链、搜索与页面预览 | 原生支持 |
| 数据安全 | Journal、快照、冲突副本、回收站、内置诊断 | 仅依赖文件系统 |
Tab / Shift + Tab 改变真实层级,而不是视觉缩进。
/分栏、/双栏 或 /columns 插入结构化分栏块:两栏、三栏,支持 1:1、1:2、2:1、1:1:1、1:2:1 比例预设。
Ctrl/Cmd + F 查找,Ctrl/Cmd + H 展开替换,支持结果计数、区分大小写与全词匹配。Shift 大步移动,双击把手或 Home 复位。
页面菜单、看板卡片菜单、右键菜单与命令面板均可导出。文件保存到 Blockspace Exports,同名文件自动递增编号,不覆盖已有导出。
.md)——正文干净、可读、可编辑;完整结构保存在隐藏的 exports sidecar 中,重新导入时自动关联,精确恢复块 ID、父子关系、分栏、属性、样式与图片设置。.docx)——生成真正的 OOXML,而不是改后缀的 HTML。标题、富文本、列表、表格、分栏、链接、背景色、图片尺寸与环绕都转换为 Word 原生结构,同时在 customXml 中嵌入完整页面数据。.pdf)——不依赖 DOM 截图的纯 Canvas 语义排版器,按 A4 高分辨率分页,附带可搜索、可复制的 Unicode 文本层,并把页面 JSON 作为 PDF 关联附件嵌入。“无损”指 Blockspace 语义数据可完整往返。Word 与 PDF 无法承载拖拽、折叠状态等交互行为;原生 Markdown / LaTeX 源码原样保留,不会伪造为可能失真的等价物。

[[页面]]、[[页面#标题]]、[[页面#^块ID]] 与 ![[页面#^块ID]] 进入统一引用解析;Blockspace 页面在工作台内打开,其余目标交给 Obsidian。((块ID "显示文本")) 会立即转为结构化块引用,不显示源码。blockspace:// 块链接、查看块级反链。Ctrl/Cmd + 悬停 预览引用,Ctrl/Cmd + 点击 打开。Blockspace Bridge/*.md),包含稳定的 ^bs-… 块锚点,使页面和块进入反链、图谱、搜索与页面预览。.blockspace/pages/*.json 始终是唯一事实源,Bridge 可在设置中更改目录或关闭。Ctrl/Cmd + E 在块编辑与原生阅读模式之间切换:阅读模式把整页块树投影为 Markdown 交给 Obsidian 渲染,支持 Wikilink、附件嵌入、公式、代码高亮、Callout、Mermaid 及兼容的后处理器。/markdown 插入原子块,用于必须原样保留的内容:块级公式 $$…$$、复杂 HTML、脚注、H4–H6。$a^2+b^2=c^2$ 可直接写在普通文本块中,由 Obsidian MathJax 渲染。.md 笔记 → 在 Blockspace 中打开,首次执行导入为结构化页面,之后按来源路径打开已有页面,不产生重复副本,且跟随重命名。**粗体**、*斜体*、`代码`、~~删除线~~、==高亮==、[文字](地址) 会在闭合时立即转换为行内格式。/ 菜单支持中英文别名、模糊匹配与最近使用排序。在 Obsidian 内安装(推荐)
手动安装
main.js、manifest.json 和 styles.css。<你的 Vault>/.obsidian/plugins/blockspace-workspace/。手动升级时请先停用插件,覆盖上述三个文件后再启用。不要删除 Vault 中的 .blockspace 目录。
Ctrl/Cmd + N 新建页面并开始输入,#、##、-、1.、[]、> 会即时转换为对应块。/ 打开块菜单:/表格、/分栏、/目录、/图片、/markdown、/折叠。Tab / Shift + Tab 调整层级,拖动六点把手可移动块及其子块。| 命令 | 说明 |
|---|---|
| 打开工作台 | 打开 Blockspace 工作台视图 |
| 新建页面 | 新建页面 |
| 快速切换页面与操作 | 页面与操作快速切换器 |
| 查找当前页面文本 / 查找并替换当前页面文本 | 页内查找 / 查找替换 |
| 打开页面检查器 | 打开原生右侧栏检查器 |
| 切换专注模式 | 切换专注模式 |
| 切换 Obsidian 原生 Markdown 阅读模式 | 切换原生阅读模式 |
| 导入当前 Markdown 文件 | 导入当前 Markdown 笔记 |
| 导出当前页面为无损 Markdown / Word / PDF | 无损导出当前页面 |
| 撤销当前页面操作 / 重做当前页面操作 | 撤销 / 重做 |
| 打开诊断与恢复 | 诊断与恢复面板 |
| 快捷键 | 操作 |
|---|---|
Ctrl/Cmd + F / Ctrl/Cmd + H |
页内查找 / 查找并替换 |
Ctrl/Cmd + E |
块编辑 ↔ 原生阅读模式 |
Ctrl/Cmd + K |
快速切换器(选中文字时为添加链接) |
Ctrl/Cmd + N / Ctrl/Cmd + S |
新建页面 / 立即保存 |
Ctrl/Cmd + Z / Ctrl/Cmd + Shift + Z |
撤销 / 重做 |
Ctrl/Cmd + Enter |
切换待办状态,或折叠 / 展开章节与容器 |
Ctrl/Cmd + A |
非文字输入状态下选择全部块 |
Ctrl/Cmd + D / Ctrl/Cmd + Shift + D |
复制所选块 |
Ctrl/Cmd + Shift + F |
专注模式 |
Tab / Shift + Tab |
增加 / 减少缩进 |
Alt + ↑/↓ |
移动块或子树 |
Enter / Shift + Enter |
拆分块 / 块内换行 |
Esc |
逐层关闭浮层,最后退出文字编辑并选择当前块 |
/ |
打开块命令菜单 |
Ctrl/Cmd + B I U Shift + S K \ |
加粗、斜体、下划线、删除线、链接、清除格式 |
全部数据保存在 Vault 内,不会上传到任何地方。
.blockspace/
├── workspace.json 页面索引与当前页面
├── pages/ 页面结构化主数据(唯一事实源)
├── journal/ 尚未完成保存的恢复日志
├── snapshots/ 按页保存的历史快照
├── recovery/ 冲突和异常恢复副本
└── trash/ 删除页面的回收文件
默认配套目录:Blockspace Exports(导出)、Blockspace Assets(上传附件)、Blockspace Bridge(只读 Bridge)、Blockspace Notes(可选的原生 Markdown 同步,默认关闭)。全部路径均可在设置中修改。
当前页面格式版本为 8。0.3–0.17.0 创建的页面可直接打开,并在下次正常保存时无损升级。修改数据目录后需要重启插件才会生效。
建议: 将 .blockspace 纳入同步和备份;不要在插件运行期间手工修改页面 JSON;出现异常时先打开 打开诊断与恢复,不要直接删除 journal、recovery 或 snapshots。
Ctrl/Cmd + 点击 打开),完整链接卡片由独立的书签块提供。MarkdownView、TFile 或 Frontmatter 的第三方插件,可能无法在 Blockspace 的虚拟来源路径下工作。其他插件与项目动态见 peyote.info。
Copyright © 2026 Blockspace。
Blockspace Workspace 是自由软件,采用 GNU 通用公共许可证 v3.0 或更新版本。你可以自由使用、研究、分享和修改本插件;如果分发修改后的版本,必须同样以本许可证发布并提供源代码。本软件不提供任何担保(在法律允许的范围内)。
完整版本历史见更新日志。