乐于分享
好东西不私藏

Obsidian 13 款高效插件使用与协作

Obsidian 13 款高效插件使用与协作

Obsidian 高效插件生态:13 款插件使用手册与协作关系

发布于 2026 年 5 月

先下载:https://obsidian.md/download

Obsidian是一个笔记软件,但它不仅仅是笔记软件。它有几个特点,非常适合法律工作者:

第一,本地优先。 所有文件都存在你自己的电脑上,是普通的Markdown文件。你可以用任何文本编辑器打开,不依赖任何平台。

第二,插件生态。 Obsidian有丰富的插件系统,我们可以通过安装AI插件,把它变成一个智能工作台。

第三,知识图谱。 Obsidian能自动分析笔记之间的关联,生成可视化的知识图谱。这对于法律知识管理非常有用。

第〇层:地基 —— 先装,保护数据和打通渠道  1. Obsidian Git      → 数据安全的底线  2. BRAT              → 打通其他插件的安装渠道  3. Style Settings    → 界面定制的基础设施第一层:效率核心 —— 日常使用最频繁的工具  4. Templater         → 自动化笔记创建  5. Notebook Navigator → 替代原生文件管理器  6. Custom Frames     → 将 Web 应用嵌入工作台第二层:数据引擎 —— 把笔记变成可查询的数据库  7. Dataview          → 稳定的数据查询引擎  8. Datacore          → 下一代数据引擎(可选)第三层:内容与AI —— 扩展信息输入和智能处理  9.  Obsidian Clipper  → 网页内容剪藏  10. Claudian          → AI 代理深度集成  11. Inscribe          → AI 行内写作辅助第四层:可视化 —— 用视觉增强思维表达  12. Excalidraw        → 图表绘制与视觉思维  13. 3D Embed          → 三维模型嵌入展示

Obsidian 的社区插件生态是其最强大的特性之一。但面对成千上万的插件,如何选择、安装、组合,让它们协同工作而不是各自为战,是每个进阶用户都会遇到的挑战。

本教程精选 13 款经过验证的 Obsidian 插件,将它们按功能分为五个层次——基础设施层、数据与模板层、可视化与创意层、导航与组织层、AI 协作层——逐层讲解安装配置、核心用法、常见陷阱,最后演示如何将它们组合成完整工作流。

无论你是刚接触插件的初学者,还是已经使用多年但希望系统化知识的进阶用户,这本手册都能帮你把碎片化的插件知识整合成一个可理解的框架。


第1章 Obsidian 插件生态全景——这 13 款插件为什么这样分组

把插件想象成工具箱里的工具。如果你把所有工具胡乱堆在一个抽屉里,要用的时候就得翻半天。但如果你按功能分类——锤子扳手放一层、螺丝和钉子放一层、测量工具放一层——那么每次开工都能快速找到需要的东西。

插件也是同样的道理。13 款插件,按它们在 Obsidian 生态中扮演的角色,可以分为五个层次。

1.1 五层架构模型

从下往上,每层为上层提供支撑:

  • 基础设施层
    (第 2 章):BRAT(安装通道)、Obsidian Git(版本同步)、Style Settings(外观定制)。这三款插件是所有其他插件稳定运转的根基。
  • 数据与模板层
    (第 3 章):Templater(模板引擎)、Dataview(数据查询)、Datacore(下一代数据引擎)。它们让笔记从散落的文字变成可查询的结构化数据。
  • 可视化与创意层
    (第 4 章):Excalidraw(绘图)、3D Embed(模型嵌入)、Custom Frames(外部应用嵌入)。它们突破纯文字的局限,把图像、模型和外部工具带入笔记。
  • 导航与组织层
    (第 5 章):Notebook Navigator(高效文件浏览)、Clipper(网页剪藏)。它们解决同一个核心问题:快速找到已有内容,高效收集外部内容。
  • AI 协作层
    (第 6 章):Claudian(AI 代理)、Inscribe(行内补全)。它们让 AI 成为你的写作和思考伙伴。

1.2 插件间的依赖关系速览

有些插件之间存在强推荐关系:

  • BRAT → Claudian、Datacore
    :这两款插件未上架官方社区市场,必须通过 BRAT 安装。
  • Style Settings → Notebook Navigator
    :NN 的官方文档明确推荐安装 Style Settings 来定制外观颜色。
  • Notebook Navigator 建议的快捷键重绑定
    :NN 强烈建议将默认的 Cmd+N 从 Obsidian 的"新建笔记"重绑定到 NN 的"新建笔记",否则新笔记会创建到根目录而非当前选中文件夹。
  • Templater → Dataview
    :Templater 可以生成结构化的 YAML 前置元数据,Dataview 索引并查询这些数据。

1.3 如何规划自己的插件组合策略

五个层次不必全部安装。根据你的使用场景选择合适的组合:

  • 写作型用户
    :基础设施层(Git 保障安全)+ Templater(模板加速)+ Inscribe(补全辅助)
  • 知识管理型用户
    :数据层(Dataview 查询体系)+ 导航层(NN 高效定位)+ Clipper(收集)
  • 创意型用户
    :可视化层(Excalidraw 绘图 + 3D Embed 模型)+ AI 层(Claudian 深度加工)
  • 开发者型用户
    :全层部署,尤其是 BRAT(尝鲜)+ Datacore(JSX 视图)+ Claudian(MCP 扩展)

1.4 本章自检

  • 你能不翻回上文,说出五层架构的名称吗?
  • 你能指出哪两款插件必须通过 BRAT 安装?
  • 根据你自己的使用场景,你会优先安装哪几个层?

第2章 基础设施层——让 Obsidian 稳定运转的三块基石

基础设施层是其他所有插件依赖的基础:BRAT 提供安装通道,Git 提供版本安全,Style Settings 提供外观控制。把这三块基石打好,上层插件才能稳定运转。

2.1 BRAT:从 GitHub 安装与自动更新 Beta 插件

BRAT(Beta Reviewers Auto-update Tool)解决的问题很简单:很多优秀的插件(比如本教程中的 Claudian 和 Datacore)尚未上架 Obsidian 官方社区市场,只通过 GitHub 分发预发布版本。BRAT 让你可以直接从 GitHub 安装并自动更新这些插件。

安装 BRAT 本身:在社区插件市场中搜索 "BRAT" 或 "obsidian42-brat" 即可安装。

添加 Beta 插件的完整流程

  1. 打开设置 → BRAT
  2. 点击"Add Beta Plugin"
  3. 粘贴 GitHub 仓库的 owner/repo 路径(例如:YishenTu/claudian
  4. 选择版本策略:Latest(自动跟随最新版)或 Frozen(锁定到指定版本)
  5. BRAT 自动下载 GitHub Release 中的 main.jsmanifest.jsonstyles.css

日常更新操作

  • 命令面板 → "BRAT: Check for updates" → BRAT 检查所有 Beta 插件是否有新版本
  • 也可以点击功能区的 BRAT 图标触发更新检查
  • 更新后 Obsidian 自动重新加载插件

Frozen Version 固定版本:当你依赖某个插件的特定行为,不希望被新版本破坏时,可以在 BRAT 设置中将该插件的版本策略改为 Frozen,并指定版本号。这相当于给你的插件上了"保险"。

GitHub Token 配置:未认证的 GitHub API 每小时只能请求 60 次。如果你安装了大量 Beta 插件或在开发中频繁测试,建议在 BRAT 设置中添加一个 GitHub Personal Access Token(权限至少 public_repo 或 Contents: read-only),将频率上限提升到 5000 次/小时。

obsidian://brat 协议:插件开发者可以生成 obsidian://brat 协议的链接。点击这样的链接,Obsidian 会自动打开 BRAT 并跳转到添加插件界面——对于分发测试版本非常方便。

常见问题:BRAT v2.0+ 只从 GitHub Releases 获取插件。如果插件没有创建 Release,只有源码文件,BRAT 无法安装。

2.2 Obsidian Git:让 Vault 自动同步与版本回溯

Obsidian Git 把整个 Vault 变成一个 Git 仓库,自动提交、拉取、推送,让你随时能回溯到任何历史版本。

初始化仓库与认证配置

  1. 安装后,命令面板 → "Initialize a new repo" 初始化 Git 仓库
  2. 配置远程仓库:将你的 Vault 关联到 GitHub/GitLab 等远程仓库
  3. 认证方式:
    • HTTPS
      :在 Git 设置中输入用户名和 Personal Access Token
    • SSH
      :配置 SSH 密钥对(推荐,更安全)

Auto commit-and-sync 定时同步

这是 Obsidian Git 最常用的功能。在设置中:

  • 备份间隔
    :设置每隔多少分钟自动执行 commit → pull → push 三步操作
  • 启动时自动拉取
    :打开 Obsidian 时自动从远程拉取最新版本
  • 提交信息模板
    :可自定义提交信息(默认自动生成)

Source Control View 与 History View

  • Source Control View
    :类似 VS Code 的源代码管理面板。可以分段暂存(stage)文件、查看逐行变更、输入提交信息。适合需要精细控制提交内容的用户。
  • History View
    :浏览所有提交历史,按作者、时间、文件筛选。双击某次提交可以查看当时改动的完整 diff。
  • Diff View
    :对比当前文件和任意历史版本的差异,支持并排和行内两种模式。

编辑器行内标记:启用"Editor Gutter Signs"后,编辑器行号区域会出现颜色标记——绿色表示新增行,蓝色表示修改行,红色表示已删除行。让你直观看到当前文件的变更轨迹。

移动端限制与 Linux 须知

  • 移动端:Obsidian Git 在 iOS/Android 上非常不稳定,因为它使用纯 JavaScript 实现的 isomorphic-git,性能和兼容性远不如系统原生 Git。不建议在移动设备上依赖 Git 同步。
  • 移动端不支持 SSH 认证,只能使用 HTTPS。
  • Linux Snap/Flatpak 版本:由于沙箱限制存在文件系统访问问题。建议使用 AppImage 版本。

2.3 Style Settings:用图形界面控制一切外观参数

Style Settings 把 CSS 变量变成可视化的图形控件——颜色选择器、滑块、开关、下拉菜单——让你不需要懂 CSS 就能精细调整 Obsidian 的外观。

安装与自动发现:安装后无需额外配置。Style Settings 会自动扫描以下位置的 CSS 文件,寻找 /* @settings */ 声明块:

  • snippets/
     目录中的 CSS 片段
  • 当前启用的主题文件
  • 插件的 CSS 文件

@settings 块语法

在任意 CSS 文件中添加如下格式的注释块,Style Settings 就会生成对应的 UI 控件:

css/* @settings

name: 我的主题调整
id: my-theme-tweaks
settings:
    -
        id: compact-mode
        title: 紧凑模式
        description: 减少元素间距
        type: class-toggle
        addCommand: true
    -
        id: accent-color
        title: 主题色
        type: variable-color
        format: hex
        default: '#1B365D'
    -
        id: base-font-size
        title: 基础字号
        type: variable-number-slider
        default: 16
        min: 12
        max: 24
        step: 1
        format: px
*/

控件类型速查表

类型
作用
典型场景
heading
可折叠的分组标题
组织设置分组
class-toggle
开关,控制 CSS 类名开关
开启/关闭某个样式效果
class-select
下拉菜单,选择 CSS 类名
主题变体切换
variable-text
文本输入 → CSS 变量
自定义字体名
variable-number
数字输入 → CSS 变量
边距、尺寸
variable-number-slider
滑块数字输入
行宽、间距
variable-select
下拉选择 → CSS 变量
字体选择
variable-color
颜色选择器
强调色、背景色
variable-themed-color
亮暗双主题颜色选择器
需要暗亮主题各一套颜色
info-text
纯文本信息展示
说明文字

颜色选择器的 8 种格式hex(十六进制)、rgbrgb-valuesrgb-split(RGBA 四变量)、hslhsl-valueshsl-splithsl-split-decimal。选择哪种格式取决于你的 CSS 实现需求——如果只需要纯色,hex 最简单;如果需要透明度组合,rgb-split 或 hsl-split 更灵活。

插件 CSS 变量的自动发现:插件作者可以在插件的 CSS 文件中声明 /* @settings */ 块,Style Settings 会自动发现并显示这些设置项。这意味着任何 CSS-capable 的插件都可以通过 Style Settings 实现用户自定义界面。

2.4 三块基石的协同

这三款插件彼此独立,但放在一起形成了一套完整的"基础设施":

  1. BRAT 安装
    你在社区市场找不到的插件(如 Claudian、Datacore)
  2. Git
     定时自动同步整个 Vault,包括所有插件的配置文件和模板
  3. Style Settings
     让你以图形方式调整 Obsidian 的每一个视觉细节

2.5 本章自检

  • 能否用 BRAT 安装一个 GitHub 仓库的 Beta 插件?
  • 能否配置 Git 的 auto commit-and-sync 定时同步?
  • 能否在任意 CSS 文件中编写一个 @settings 声明块,生成一个颜色选择器?

第3章 数据与模板层——让信息流动起来的引擎

这一层的三部曲是:Templater 负责创建结构化的笔记,Dataview 负责查询这些数据,Datacore(作为 Dataview 的下一代演进)让数据可以实时编辑。三人配合,形成一条从创建到查询到交互的完整数据流水线。

3.1 Templater:超越内置模板的自动化引擎

Templater 替代 Obsidian 自带的模板插件。它的核心优势不是"插入一段文字",而是"在创建笔记时执行任意代码"——包括读取文件、调用 API、弹出交互对话框、甚至创建其他文件。

安装建议:安装后建议在设置中禁用 Obsidian 的核心"模板"插件,避免冲突。

核心语法:四种模式

<% tp.date.now() %>           → 插值模式:执行表达式并输出结果
<%* await tp.file.rename(...) %> → 执行模式:运行代码,不输出
<%+ templateName %>           → 动态模式:运行时解析模板
<%- -%>                       → 空白控制:修剪首尾空白

tp. 核心模块速查*:

模块
常用函数
用途
tp.datenow()
tomorrow()yesterday()weekday()
日期时间,支持 moment.js 格式
tp.filetitle
contentpath()folder()cursor()create_new()rename()include()
文件操作
tp.systemprompt()
suggester()multi_suggester()clipboard()
交互对话框
tp.frontmatter
读写 YAML 前置元数据
结构化数据操作
tp.webdaily_quote()
random_picture()
网络内容获取
tp.hookson_all_templates_executed()
所有模板执行后的回调
tp.obsidian
直接访问 Obsidian API
深度集成
tp.app
获取 app 实例(Obsidian 应用对象)
执行命令等

实战模板示例:带交互的日记模板

<%*
let project = await tp.system.prompt("今天的项目是什么?");
let mood = await tp.system.suggester(["很好""一般""不好"], ["great""okay""bad"]);
%>
---
date: <% tp.date.now("YYYY-MM-DD"%>
project: <% project %>
mood: <% mood %>
---
# <% tp.date.now("dddd, MMMM Do, YYYY") %>

### 今日计划

### 项目进度:<% project %>

### 今日笔记

Folder Templates 配置(推荐):

  1. 在设置中指定"Template folder location"
  2. 启用"Trigger Templater on new file creation"
  3. 配置 Folder Templates:将特定模板绑定到特定文件夹。例如 Daily/ 文件夹 → 模板/日记模板.md
  4. 这样,你在 Daily/ 文件夹中新建笔记时,Templater 自动应用绑定的模板

重要提醒:Folder Templates 和 File Regex Templates 是互斥的,启用一个会自动禁用另一个。通常 Folder Templates 更直观,适合大多数用户。

安全警告:Templater 执行的 JavaScript 代码拥有完整的 Obsidian API 权限。只运行来自可信来源的模板。尤其注意 tp.system.prompt() 可能执行的动态代码注入风险。

3.2 Dataview:把 Vault 变成可查询的数据库

Dataview 的核心思想:你的每篇笔记都有一条"元数据记录"——标题、创建时间、标签、前置元数据中的任何字段。Dataview 索引这些记录,让你用类似 SQL 的语法(DQL)或 JavaScript API(DataviewJS)进行查询。

元数据的三个来源

来源一:YAMLfrontmatter(推荐,结构化最强)
---
author:张三
published:2024
tags: [技术教程]
rating:8
---

来源二:InlineFields(正文中的键值对,灵活)
今天的心情::[好]
阅读进度::65%
**书名**::《思考快与慢》

来源三:ImplicitFields(自动生成,无需声明)
file.name,file.folder,file.path,file.size
file.ctime,file.cday,file.mtime,file.mday
file.tags,file.etags,file.aliases
file.inlinks,file.outlinks,file.tasks

DQL 四种查询类型

LIST                                    → 由链接组成的列表
TABLE field1, field2                    → 带列标题的表格
TASK                                    → 交互式任务列表(可勾选)
CALENDAR dateField                      → 日期分布日历图

DQL 数据命令管道(按顺序拼接)

dataviewTABLE author, rating AS "评分", file.cday AS "创建日期"
FROM #books
WHERE rating >= 7
SORT rating DESC
LIMIT10

完整的管道顺序:FROM(数据源)→ WHERE(过滤)→ SORT(排序)→ GROUP BY(分组)→ FLATTEN(展开数组)→ LIMIT(限制数量)。

DataviewJS 示例(适合复杂逻辑)

dataviewjs// 按标签分组图书并显示评分
for (let group of dv.pages("#book").groupBy(p => p.genre)) {
  dv.header(3, group.key || "未分类");
  dv.table(["书名""评分""作者"],
    group.rows
      .sort(k => k.rating, 'desc')
      .map(k => [k.file.link, k.rating, k.author])
  );
}

Inline DQL 与 Inline JS 的轻量用法

今天日期:`= date(today)`
本页修改时间:`$= dv.current().file.mtime`
评分大于 8 的书数量:`= length(filter(rows, (r) => r.rating > 8))`

字段名清洗规则:Dataview 会对元数据字段名进行清洗——空格变成短横线、转小写。例如 My Rating 变成 my-rating。如果查询时发现字段名不对,尝试用 row() 语法或查 Dataview 文档中的字段名清洗表。

安全警告:DataviewJS 与 Templater 一样,拥有完整的插件访问权限。DQL 是安全的(沙箱化),但 DataviewJS 需要你信任脚本来源。

3.3 Datacore:Dataview 的下一代演进

Datacore 由 Dataview 的作者 blacksmithgu 开发,是 Dataview 的"重新想象"——不是替代品(至少目前还不是),而是更强大、更灵活的第二代。

Dataview 与 Datacore 的核心差异

对比维度
Dataview
Datacore
查询语言
DQL(类 SQL)
Expression Language(子集)+ JS/JSX/TSX
视图类型
静态,由 DQL 决定
React 组件,完全交互
编辑能力
只读(任务勾选除外)
实时行内编辑
索引粒度
整页
段落、块、行、画布项目、任务
性能
基线
宣称 2-100 倍提升
分页
不支持
内置(10-250+ 可配)

重要提示:Datacore 目前是 Beta 版本(v0.1.29),处于"技术用户阶段"——需要 JavaScript/TypeScript 知识。DQL 等价语法尚未上线。如果你不是开发者,建议先掌握 Dataview,等 Datacore 成熟后再迁移。

dc.useQuery() React Hook 基本用法

datacorejsxreturn function View() {
  const pages = dc.useQuery("#project");
return <dc.Table
    columns={[
      { id: "名称", value: page => page.$link },
      { id: "状态", value: page => page.value("status") },
      { id: "截止日期", value: page => page.value("deadline") }
    ]}
    rows={pages}
    pageSize={20}
  />;
}

dc.useFile() 与 dc.useCurrentFile()

datacorejsxreturnfunction View() {
  const file = dc.useCurrentFile();
return (
<div>
<p>当前文件路径:{file.$path}</p><p>标签:{file.$tags?.join(", ") || "无"}</p>
</div>

  );
}

与 Dataview 共存的注意事项:Dataview 和 Datacore 可以同时安装,但它们各自维护独立的索引——这意味着双倍的内存消耗。如果你两者都装,确保理解这一点。

3.4 数据流水线的实际运作

一个完整的数据流水线示例:

  1. Templater 创建
    :你创建一个笔记时,Templater 自动填入 YAML frontmatter(如 projectstatusdeadline 等字段)
  2. Dataview 查询
    :在仪表板笔记中,DQL 查询 FROM #project WHERE status = "进行中" 生成项目进展表格
  3. Datacore 可编辑展示
    (进阶):Datacore JSX 视图展示同样的数据,并且你可以在视图中直接编辑字段值

3.5 本章自检

  • 能否用 Templater 创建一个带交互对话框和 YAML frontmatter 的模板?
  • 能否用 Dataview DQL 写一条 TABLE 查询,包含 FROM/WHERE/SORT/LIMIT 四个命令?
  • 能否用 DataviewJS 按某个维度分组并渲染表格?
  • 能否说出 Datacore 相比 Dataview 的三个关键差异?

第4章 可视化与创意层——从文字到图形的跃迁

有些信息用文字表达不够直观。Excalidraw 让你在笔记中直接画图,3D Embed 让三维模型嵌入文档,Custom Frames 把外部 Web 应用变成 Obsidian 的内置面板。三者各有专长,形成完整的"可视化工具箱"。

4.1 Excalidraw:Obsidian 中的第一类绘图公民

Excalidraw 不仅仅是一个画图工具。它的 .excalidraw 文件是合法的 Markdown 文件——这意味着它可以有 frontmatter,可以被 Dataview 索引,可以包含双向链接。你的画不再是孤立图片,而是 Obsidian 知识网络中的一等公民。

绘图基础

  • 元素类型:矩形、椭圆、菱形、箭头、自由手绘、文本、图片
  • LaTeX 公式:在画布中直接插入数学公式
  • 自定义笔:支持在侧边栏固定常用笔和荧光笔
  • 模板:新建绘图时可以选择默认样式、颜色板、字体

双向链接——最强大的功能

在绘图文本框中使用:
笔记名称          → 自动建立到笔记的链接,重命名笔记时链接自动更新
![drawing.excalidraw](drawing.excalidraw) → 在笔记中嵌入完整绘图(支持尺寸和对齐参数)
![drawing.excalidraw](drawing.excalidraw)  → 带自定义尺寸和对齐

Block Reference 与 Section Reference

![myfile#^blockref](myfile#^blockref)     → 嵌入绘图中的某一段文字
![myfile#section](myfile#section)       → 嵌入绘图中某个区域

Script Engine 与 40+ 自动化脚本

Excalidraw 内置了脚本引擎,可以从脚本库安装 40+ 个预置脚本。典型的脚本包括:

  • 转换为思维导图布局
  • 自动给元素编号
  • 批量调整样式
  • 从文本生成流程图

ExcalidrawAutomate API——跨插件协作的桥梁

这是本教程中最重要的一个 API。ExcalidrawAutomate 可以从 Templater 的 <%* %> 块和 DataviewJS 中调用,实现"数据驱动的自动绘图"。

从 Templater 调用:

javascript<%*
const ea = ExcalidrawAutomate;
ea.reset();
ea.style.strokeColor = "#1B365D";
ea.addRect(-150, -50450300);
ea.addText(-10070, tp.date.now("YYYY年MM月"));
await ea.create();
%>

从 DataviewJS 调用:

javascriptconst ea = ExcalidrawAutomate;
ea.reset();
const projects = dv.pages("#project WHERE status = '进行中'");
projects.forEach((p, i) => {
  ea.addText(-200, i * 60, p.file.name);
});
await ea.createSVG();

Frontmatter 控制项:在 .excalidraw 文件的 frontmatter 中可以配置:

yaml---
excalidraw-link-prefix:"📍"
excalidraw-link-brackets:true
excalidraw-default-mode:view
excalidraw-export-transparent:true
excalidraw-export-dark:true
excalidraw-export-pngscale:2
---

Publish 兼容:Excalidraw 不支持 Obsidian Publish。如果需要发布包含绘图的笔记,配置自动导出 PNG/SVG 副本。

4.2 3D Embed:在笔记中嵌入交互式 3D 模型

如果你需要查看三维模型——无论是机械零件、建筑结构、生物分子还是游戏角色——3D Embed 插件让这一切在 Obsidian 中完成。

安装后的关键第一步:进入设置 → 文件与链接 → 开启"显示所有文件类型"。否则 .glb.stl.obj 等 3D 文件不会在文件树中显示。

支持格式STL(3D 打印常用)、GLB(Web 标准格式)、OBJ(需配套 .mtl 材质文件)、FBX(动画常用)、3MF(3D 制造格式)

两种查看模式

  1. 代码块嵌入
    (在笔记中查看):拖入一个 3D 模型到笔记中 → 创建 ![model.glb](model.glb) 嵌入 → 命令面板"Embed 3D: Single Scene: Add a 3D embed at cursor position" → 生成交互式 3D 场景
  2. 直接查看器
    (独立标签页):在文件树中左键点击 .glb 文件 → 在新标签页中打开 3D 查看器

Grid 模式:拖入多个 3D 模型 → 全选 → 命令面板"Embed 3D: Grid: Add a 3D grid embed from selection" → 在一个网格中同时展示多个模型。

JSON 代码块配置(进阶)

json```3D
{
"models":[
{"name":"Abschlusskolben-01.glb","scale":0.7,"position":[0,0,0],"rotation":[0,0,0]}
],
"camera":{
"orthographic":false,
"camPosXYZ":[0,5,10],
"LookatXYZ":[0,0,0]
},
"lights":[
{"type":"directional","color":"FFFFFF","pos":[5,10,5],"strength":1,"show":false},
{"type":"ambient","color":"FFFFFF","strength":0.5,"show":false}
],
"hdriBackground":{
"texturePath":"studio.hdr",
"sceneBackground":true
},
"scene":{
"showGroundShadows":true,
"showAxisHelper":false,
"orbitControlDamping":true
}
}

**常见问题**:模型不显示?**50% 以上的情况是 scale (缩放比例)不对**。试试非常小和非常大的 scale 值(0.01 和 100)来判断。

**WebGL 上下文限制**:浏览器限制最多 16 个 WebGL 渲染上下文(移动端 8 个)。如果你在一个页面中嵌入了大量 3D 场景,可能会碰到这个上限。

### 4.3 Custom Frames:把 Web 应用变成 Obsidian 内置面板

不需要离开 Obsidian 就能访问 Google Keep、Todoist、Notion、Google Calendar——Custom Frames 把任何 Web 应用作为 iframe 嵌入到 Obsidian 的面板中。

**Pane 模式与 Markdown 模式**

-**Pane 模式**:命令面板 → "Custom Frames: Open" → 选择预设 → 在 Obsidian 侧边栏或主面板中打开一个 Web 应用
-**Markdown 模式**:在笔记中用代码块嵌入:
custom-framesframe: Google Keep
style:height:800px;

**内置预设**:Obsidian Forum、Google Keep、Google Calendar、Todoist、Notion、Twitter、Readwise Daily Review。这些预设已预配了 URL 和推荐的 CSS 样式。

**自定义 CSS 注入**:每个 Frame 可以配置自定义 CSS,用于隐藏 Web 应用的导航栏、广告、无关 UI,只保留核心内容区域。例如:

```css
/* 隐藏 Todoist 的广告和推广 */
.promo_banner.upgrade_banner { display: none !important; }
.header { display: none !important; }

Ribbon 图标:可以为常用的 Frame 开启 Ribbon 图标按钮,一键打开。

移动端限制:移动端 Obsidian(iOS/Android)不使用 Electron 框架,iframe 的限制更严格。很多需要登录的网站在移动端无法正常工作。可以在 Frame 设置中开启"Disable on Mobile"来避免在移动端显示。

解决登录跳出 iframe:一些 Web 应用的登录页面会跳出 iframe 到外部浏览器。启用 Obsidian 自带的 Web Viewer 核心插件可以共享登录会话状态。

4.4 创意层协作

这三种可视化工具的协作场景:

  • 用 Excalidraw 绘制流程图 → 在笔记中嵌入绘图 → 在 Custom Frames 中打开参考文档
  • 在 3D Embed 中查看模型 → 用 Excalidraw 在模型截图上标注 → 导入 Dataview 查询项目进度
  • 在 Custom Frames 中打开设计稿 → 用 Excalidraw 临摹界面原型 → 导出自动生成 PNG

4.5 本章自检

  • 能否绘制一张 Excalidraw 图并包含一个指向另一篇笔记的 链接
  • 能否在笔记中嵌入一个 3D 模型并调整其缩放比例?
  • 能否配置一个 Custom Frame 嵌入任意 Web 应用?
  • 能否在 Templater 模板中调用 ExcalidrawAutomate 生成绘图?

第5章 导航与组织层——快速找到并收集信息的入口

随着 Vault 中笔记数量增长,两个问题变得越来越突出:如何快速找到已有的笔记?如何方便地把外部信息收进 Vault?Notebook Navigator 和 Clipper 分别解决这两个问题。

5.1 Notebook Navigator:替代默认文件浏览器的高效双栏方案

Notebook Navigator 从根本上重新设计了 Obsidian 的文件浏览体验。它的双栏界面、灵活的搜索语法和键盘操作体系,让管理数千甚至数万条笔记变得流畅。

双栏 UI 与单栏模式

  • 双栏模式
    (默认):左侧导航栏(文件夹/标签/属性)+ 右侧文件列表栏。导航栏切换分组方式时,文件列表自动更新。
  • 单栏模式
    :折叠成一栏,适合空间有限的场景,切换有动画过渡。

三种导航模式

  1. 文件夹树
    (最常用):以文件系统目录结构浏览,可展开/折叠子文件夹
  2. 标签层级
    :按标签的嵌套结构显示——#project/active 和 #project/archived 会自动归入 project 分支
  3. 属性浏览器
    :按 YAML frontmatter 中的指定属性分组(如按 author 或 status 查看所有笔记)

搜索语法完整参考

#tag              → 包含该标签的笔记(含嵌套标签)
#tag1 AND #tag2   → 同时包含两个标签
#tag1 OR #tag2    → 包含任一标签
.                 → 仅显示有标签的笔记
-.                → 仅显示无标签的笔记
.key=value        → 属性值完全匹配
.key              → 包含该属性的笔记
@today            → 今天
@yesterday        → 昨天
@last7d           → 过去 7 天
@2026-01-01..2026-01-31  → 日期范围
@c:...            → 创建日期(created)
@m:...            → 修改日期(modified)
folder:/work      → 精确路径
ext:pdf           → 文件类型
has:task          → 包含未完成任务
text1 text2       → 文件名中包含所有列出的词
-text             → 排除包含该词的文件名

AND/OR 逻辑Cmd+Click 标签添加 AND 逻辑,Cmd+Shift+Click 添加 OR 逻辑。

Vault Profiles(多视图配置)

你可以创建多个 Profile,每个 Profile 有独立的:

  • 导航模式(文件夹/标签/属性)
  • 隐藏的文件夹和文件
  • 固定快捷方式
  • 横幅和图标

例如:一个 Profile 按标签浏览"工作"相关笔记,另一个 Profile 按文件夹浏览"个人"笔记。

必须重绑定 Cmd+N(最重要的提醒):

Notebook Navigator 的官方文档强烈建议

  1. 将 Cmd/Ctrl+N 从 Obsidian 默认的"新建笔记"改为 NN 的"创建新笔记"
  2. 绑定 Cmd/Ctrl+Shift+E 到 "Notebook Navigator: Open"

如果不这样做,"新建笔记"会在根目录创建,而不是在你当前选中的文件夹中创建。

键盘快捷键一览

快捷键
功能
Cmd/Ctrl+Shift+E
打开 NN 并聚焦文件列表
Cmd/Ctrl+N
在当前文件夹创建新笔记
Shift+S
激活搜索栏
Cmd/Ctrl+Shift+R
在 NN 中定位当前文件
Cmd/Ctrl+Shift+D
切换子文件夹笔记显示

5.2 Clipper:一键把网页高亮存入 Obsidian

Clipper 让你在浏览器中选中网页内容,一键写入 Obsidian 日记或专题笔记。

两种浏览器入口

  1. Bookmarklet
    (最常用):从插件设置中复制 Bookmarklet 代码 → 添加到浏览器书签栏 → 在目标网页上点击书签
  2. Chrome Extension
    (Arc 浏览器用户必选):从插件设置生成 Chrome 扩展 → 在 Chrome 中以"加载已解压的扩展"方式安装

Arc 浏览器用户注意:Arc 不支持 Bookmarklet,必须使用 Chrome Extension 方式。

三种剪藏目标

  1. Daily Note
    :剪藏内容追加到今天日记的指定标题下方(可配置标题层级和位置)
  2. Weekly Note
    :追加到本周周记
  3. Topic Note
    :写入指定主题的笔记文件,如果文件不存在则自动创建

模板变量

{{date}}    → 当前日期(moment.js 格式可配置)
{{time}}    → 当前时间
{{title}}   → 网页标题
{{url}}     → 网页 URL

配置示例:在设置中,你可以指定剪藏到 Daily Note 时使用的格式:

## 今日剪藏

来源:[
{{title}}]({{url}})
时间:
{{time}}

> 剪藏内容

HTML 表格处理:如果剪藏的网页包含 HTML 表格,Clipper 会自动转换为 Markdown 表格格式。但需要同时安装 Advanced Tables 插件以获得最佳效果。

注意:Clipper 目前是 Beta 版本(v0.2.9),功能较为基础。不支持在剪藏时添加结构化元数据(frontmatter 字段),只有标签可以预设。

5.3 导航与收集层的协同

NN 和 Clipper 的自然配合:

  1. 在浏览器中发现一篇好文章 → 使用 Clipper 剪藏到 Daily Note
  2. 回到 Obsidian → 用 NN 的 @today 搜索定位今天的条目
  3. 在 NN 的搜索结果中直接编辑刚剪藏的内容
  4. 用 NN 的批量操作功能,给所有新剪藏内容添加统一的标签

5.4 本章自检

  • 能否配置 Notebook Navigator 并重绑定 Cmd+N?
  • 能否用 NN 的搜索语法同时按标签 #project 和日期 @thisweek 筛选笔记?
  • 能否从浏览器将一段网页内容剪藏到 Obsidian Daily Note?

第6章 AI 协作层——让 AI 成为你的 Obsidian 伙伴

AI 插件是 Obsidian 生态中最令人兴奋的新领域。Claudian 把完整的 AI 编码代理嵌入到 Obsidian 中,Inscribe 则在你打字时提供行内补全。两者互补,覆盖了从轻量辅助到深度代理的全谱系需求。

6.1 Claudian:把 Claude Code 嵌入你的 Vault

Claudian 是目前 Obsidian 中最强大的 AI 插件。它不是简单地问答聊天,而是把 Claude Code(或 Codex/Opencode)作为完整的编码代理嵌入到 Obsidian 中——它可以直接读写你的笔记文件、执行搜索、运行 bash 命令、完成多步骤任务。

安装方式:Claudian 未上架社区插件市场,需要通过 BRAT 安装。在 BRAT 中添加 YishenTu/claudian。也支持手动下载 Release 文件和从源码构建。

侧边栏聊天

点击 Ribbon 图标或从命令面板打开。多标签页设计,支持:

  • 多个独立对话(每个对话有自己的上下文)
  • Fork 和 Resume:从历史对话的分叉点继续
  • Compact 模式:节省空间

Inline Edit:选中编辑

在笔记中选择一段文字 → 按快捷键 → Claudian 根据你的指令直接编辑选中的文字 → 以 word-level diff 的形式显示改动 → 你选择接受或拒绝。

斜杠命令与 Skills

在聊天输入框中输入 / 或 $ → 弹出可复用的提示模板(Slash Commands)或 Skills(用户/仓库级别的自定义技能模板)。你可以把常用的 AI 指令保存为斜杠命令,一键执行。

@ 提及

输入 @ 可以引用:

  • 文件
    @reference-notes/project-plan.md → Claudian 可以读取该文件
  • 子代理
    @agent/web-search → 启用专门的 AI 代理执行 Web 搜索
  • MCP 服务器
    @tools/github → 通过 MCP 协议访问外部工具
  • 外部目录
    @/Users/name/other-folder → 访问 Vault 外的文件

Plan Mode(Shift+Tab)

按 Shift+Tab 切换到计划模式。在这种模式下,Claudian 不会直接执行操作,而是先:

  1. 探索当前 Vault 的状态
  2. 设计实施方案
  3. 输出一个详细的计划供你审批
  4. 你批准后,Claudian 切换到执行模式完成工作

这对于"大规模重组"或"不确定后果"的任务非常有用。

# Instruction Mode

在输入框中输入 # 后输入自定义指令——这些指令会作为系统提示词注入到当前对话中,让你对 Claudian 的行为有更精确的控制。

MCP Server 支持

Claudian 支持 Model Context Protocol 标准,可以连接:

  • Stdio MCP
    :本地运行的工具(如文件系统工具、代码分析工具)
  • SSE MCP
    :支持 Server-Sent Events 的远程工具
  • HTTP MCP
    :通过 HTTP 协议连接的远程工具

MCP 扩展了 Claudian 的能力边界,让它不仅能操作 Obsidian 文件,还能与外部系统交互。

多 Provider 支持

  • Claude Code
    (主要推荐,最稳定)
  • Codex
    (OpenAI 的编码代理)
  • Opencode
    (开源替代方案)

Windows 用户的 CLI 路径配置

Claudian 自动检测 Claude CLI 的路径,但在使用 nvm、fnm、volta 等 Node 版本管理工具的环境下会失败。解决方法:

  1. 打开设置 → Advanced → Claude CLI Path
  2. 手动设置为 claude.exe(原生可执行文件)或 cli-wrapper.cjs(npm 脚本方式)
  3. 避免
    使用 .cmd 或 .ps1 包装器——它们会导致路径解析问题

6.2 Inscribe:打字时的 AI 行内补全

Inscribe 不像 Claudian 那样是一个完整的 AI 代理——它只做一件事:在你打字时提供行内补全,按下 Tab 接受建议。

实时补全机制

在你输入的过程中,Inscribe 根据光标前的文字预测接下来的内容。补全建议以灰色字体的形式显示在光标处。按下 Tab 接受,继续打字则自动忽略建议。

多 Provider 配置

Provider
推荐场景
说明
Ollama(推荐)
日常写作
本地运行,免费,无隐私担忧。推荐起始模型 gemma3:12b
Google Gemini
需要快速复杂建议时
免费额度慷慨,响应速度快
Grok
替代方案
需要 API Key
OpenAI
高质量补全
按 token 付费,高频使用成本高

自定义 Prompt 模板变量

{{pre_cursor}}      → 光标前的文字
{{post_cursor}}     → 光标后的文字
{{active_sentence}} → 当前句子
{{last_line}}       → 当前笔记的最后一行

你可以用这些变量构建自定义的 system prompt 和 user prompt,让补全更贴合你的写作风格。

Per-Path Profile——按路径切换补全策略

这是 Inscribe 最实用的高级功能。你可以为不同的笔记路径创建不同的补全配置:

Daily/*          → 使用 Ollama,轻量补全(日常日记不需要复杂建议)
Research/*       → 使用 Gemini,更长的补全(研究笔记需要深入建议)
Fiction/*        → 使用 Ollama + 自定义创意写作 prompt
Templates/*      → 禁用补全(模板不需要)

配置方法:设置 → Inscribe → Per-Path Profile Assignments → 创建路径规则并选择对应的 Profile。

本地 LLM 的成本优势:Inscribe 的高频 API 调用模式意味着使用云 API(如 OpenAI)可能产生显著成本。Ollama 本地运行不仅免费,而且响应延迟更低。

6.3 AI 双模互补:分工设计

Claudian 和 Inscribe 不是竞争关系,而是互补:

维度
Claudian
Inscribe
触发方式
主动调用(聊天/快捷键)
被动触发(打字时自动)
任务复杂度
完整多步代理任务
单行文字补全
交互模式
对话 + 审批(Plan Mode)
Tab 接受/忽略
资源消耗
较高(每个任务多次 API 调用)
低(每次一个补全请求)
推荐场景
重写、重组、分析、自动化
日常写作加速

6.4 本章自检

  • 能否用 BRAT 安装 Claudian 并完成初始配置?
  • 能否在 Claudian 中配置一个 MCP Server?
  • 能否配置 Inscribe 的 Ollama Provider 并测试补全效果?
  • 能否创建一个 Per-Path Profile,让 Inscribe 在不同文件夹使用不同补全策略?

第7章 插件间协作关系——从孤立工具到集成工作流

单个插件的功能再强大,也只是工具。真正的威力在于把它们组合成连贯的工作流。本章揭示 13 款插件之间的五个核心协作节点,然后基于这些节点设计五条完整的集成工作流。

7.1 五个核心协作节点

节点 1:BRAT → Claudian / Datacore(安装通道)

Claudian 和 Datacore 未上架社区市场。BRAT 是安装它们(以及任何其他 Beta 插件)的唯一便捷途径。这是"元工具"关系——BRAT 不与其他插件的功能整合,但它使其他插件变得可用。

节点 2:Style Settings → Notebook Navigator(外观定制)

Notebook Navigator 的官方文档明确推荐安装 Style Settings 来定制 NN 的外观颜色、图标大小、间距等视觉参数。这是插件文档中写明的推荐关系——在安装 NN 后,下一步就是安装 Style Settings。

节点 3:Templater → Dataview(结构化数据流水线)

Templater 创建的模板可以生成包含 YAML frontmatter 的笔记(如 dateprojectstatustags 等字段)。Dataview 索引这些字段并提供查询能力。这是本教程中最核心的数据协作关系——Templater 负责生产结构化数据,Dataview 负责消费它们

节点 4:ExcalidrawAutomate → Templater / DataviewJS(绘图 API 桥梁)

ExcalidrawAutomate 是一个可以从 Templater 和 DataviewJS 中调用的 API 对象。这意味着:

  • 在 Templater 模板中:创建笔记时自动生成动态绘图(如日报中的趋势图)
  • 在 DataviewJS 中:根据查询结果生成数据可视化的绘图(如项目分布图)

这是 Obsidian 生态中最优雅的跨插件集成之一。

节点 5:Git → 全局(版本同步兜底)

Obsidian Git 不依赖任何其他插件,也不需要其他插件适配它——它自动跟踪 Vault 中的所有文件变更。无论你用其他 12 款插件的哪一款,Git 都在背后默默地记录你的每一次修改。

7.2 五条典型集成工作流

工作流 A:知识收集——从网页到可查询知识

浏览器(网页)→ Clipper → Templater 日记模板 → Dataview 查询 → NN 定位
  1. 在浏览器中发现有价值的内容
  2. 点击 Clipper Bookmarklet,内容写入 Daily Note 的"今日剪藏"部分
  3. Templater 自动为 Daily Note 生成结构化的 YAML frontmatter(日期、项目关联等)
  4. 在仪表板笔记中用 Dataview 查询 TABLE FROM #diary WHERE contains(text, "剪藏") 生成每日剪藏列表
  5. 用 Notebook Navigator 的搜索语法 @today 快速定位今天的剪藏

工作流 B:数据驱动可视化——让数据自动变成图

Templater 模板(数据结构化)→ DataviewJS 查询 → ExcalidrawAutomate 绘图
  1. Templater 模板为每次项目周报创建结构化的 frontmatter(任务数、完成率、延期数)
  2. DataviewJS 查询最近 4 周的数据
  3. ExcalidrawAutomate
     根据查询结果生成一个折线图或柱状图
  4. 绘图自动嵌入周报笔记中

工作流 C:AI 增强写作——从灵感初稿到深度打磨

Inscribe(行内补全)→ 手动编辑 → Claudian(代理深度加工)→ Git(保存版本)
  1. 用 Inscribe 的行内补全加速初稿写作,边打字边接受建议
  2. 手动编辑和润色
  3. 选中关键段落,用 Claudian 的 Inline Edit 功能进行深度改写或扩写
  4. 用 Claudian 的聊天功能请求全文审阅和建议
  5. Obsidian Git 自动备份每一次修改

工作流 D:3D 工程文档——从模型到技术文档

3DEmbed(模型展示)→ Excalidraw(标注注释)→ CustomFrames(嵌入参考数据)
  1. 在笔记中嵌入 3D 模型(机械部件或建筑模型)
  2. 用 Excalidraw 绘制标注图和流程图,嵌入到同一篇笔记中
  3. 用 Custom Frames 在侧边栏打开相关技术文档或规格表
  4. 一篇完整的技术文档:3D 模型 + 注释图 + 参考文档 = 在一个 Vault 中完成

工作流 E:数据管理升级——从 Dataview 到 Datacore 的渐进迁移

Dataview DQL 查询(现有系统)→ Datacore JSX 视图(新系统)→ 渐进替代
  1. 维护现有的 Dataview DQL 查询仪表板
  2. 逐步在新笔记中使用 Datacore JSX 视图
  3. Datacore 和 Dataview 可以共存(各维护独立索引)
  4. 当 Datacore 的 DQL 等价语法上线后,全面迁移

7.3 冲突与共存注意事项

  • Dataview + Datacore 双索引
    :两者各维护独立的索引。可以共存,但消耗双倍内存。如果内存紧张,建议只启用一个。
  • Templater 与核心 Templates 插件
    :安装 Templater 后建议禁用 Obsidian 自带的 Templates 核心插件,避免混淆和冲突。
  • Folder Templates 与 File Regex Templates
    :Templater 设置中这两者互斥,启用一个自动禁用另一个。
  • Git 移动端
    :如果你的 Vault 在移动设备上使用,不建议启用 Obsidian Git。
  • 3D Embed WebGL 上限
    :一个页面中不要嵌入超过 16 个 3D 场景(移动端 8 个)。

7.4 本章自检

  • 能否说出五个核心协作节点中的至少三个?
  • 能否描述工作流 A(知识收集)的完整链路?
  • 能否评估自己的工作场景,选择一条最匹配的工作流?

第8章 实战案例与常见陷阱

学习插件的功能只是第一步。更重要的能力是遇到问题时知道如何诊断和修复。本章按层级组织常见的陷阱和解决方案。

8.1 基础设施层陷阱

BRAT:GitHub API 限频

现象:添加 Beta 插件时提示"API rate limit exceeded"。你一天之内添加/检查更新的次数太多。
原因:未认证的 GitHub API 每小时只能请求 60 次。
修复:在 BRAT 设置中添加 GitHub Personal Access Token,将限频提升到 5000 次/小时。

Obsidian Git:移动端崩溃或无响应

现象:在 iPhone/Android 上启用 Git 后 Obsidian 频繁闪退或同步无反应。
原因:移动端使用 isomorphic-git(纯 JS 实现),不稳定且不支持 SSH。
修复:在移动端禁用 Obsidian Git,改用 Obsidian Sync 或其他云同步方案。

Obsidian Git:Linux Snap 版本无法访问 Git 仓库

现象:Ubuntu 上通过 Snap 安装的 Obsidian,无法初始化 Git 仓库。
原因:Snap 包沙箱限制了文件系统访问。
修复:改用 AppImage 版本安装 Obsidian。

Style Settings:@settings 声明无效

现象:在 CSS 文件中添加了 /* @settings */ 块,但 Style Settings 面板中看不到对应的控件。
检查方向:

  1. CSS 文件是否放在正确的目录(snippets/、主题文件夹、或插件的 CSS 文件)?
  2. YAML 格式是否正确?注意缩进和标点(特别是 default 中的颜色值必须加引号)
  3. 是否刷新了 Style Settings 面板?关闭后重新打开 Style Settings 设置页。

8.2 数据层陷阱

Templater:未知模板触发了危险操作

现象:打开一篇笔记时,Templater 自动执行了你没预料到的操作(如删除文件、重命名大量文件)。
原因:"Trigger Templater on new file creation"或 Folder Templates 规则过于宽泛。
修复:

  1. 检查 Folder Templates 的匹配范围——尽量精确到特定文件夹
  2. 只运行自己编写或来自可信源的模板
  3. 如果不确定模板的效果,先在测试 Vault 中验证

Dataview:查询不到预期的字段值

现象:明明在 frontmatter 中写了 rating: 8,但 TABLE rating 显示为空。
原因:字段名被 Dataview 清洗了——空格变短横线、转小写。
示例:My Rating: 8 → 实际查询需要用 my-rating,而不是 My Rating
修复:在 DQL 中使用 row() 语法访问原始字段,或在查询前查阅 Dataview 的字段名清洗规则。

DataviewJS:查询导致 Obsidian 卡顿

现象:DataviewJS 代码块渲染时 Obsidian 卡住几秒钟。
原因:Vault 很大(数千条笔记),查询逻辑复杂(如嵌套循环)。
修复:使用 dv.pages() 的筛选条件缩小范围,或使用 LIMIT 限制结果数量。

Datacore:初次索引耗时过长

现象:安装 Datacore 后,Obsidian 卡在"正在索引 Vault"状态。
原因:Datacore 初次需要对整个 Vault 建立索引,大型 Vault 可能需要几分钟。
修复:等待索引完成。之后的启动会使用缓存数据,速度快得多。

8.3 可视化层陷阱

Excalidraw:Publish 站点不显示绘图

现象:发表于 Obsidian Publish 的笔记中,.excalidraw 文件显示为空白或乱码。
原因:Excalidraw 不支持 Obsidian Publish。
修复:在 Excalidraw 设置中配置自动导出 PNG/SVG 副本,在 Publish 时使用导出的图片文件。

3D Embed:模型完全不显示

现象:按照步骤嵌入 3D 模型后,场景中什么都看不到。
原因:超过 50% 的情况是 scale(缩放比例)的问题。模型可能缩放过大飞出视野,也可能缩放过小而不可见。
修复:在 JSON 配置中先尝试极端的 scale 值来确定问题——"scale": 0.01 和 "scale": 100。一旦找到可见范围,再调整到合适值。

3D Embed:代码块解析失败

现象:嵌入的 3D 模型直接显示为原始 JSON 文本,而不是 3D 场景。
原因:JSON 代码块的最后一行不能有逗号(这与 JavaScript 的宽松语法不同)。
修复:检查 JSON 格式——确保最后一项没有尾随逗号。JSON 标准不允许尾随逗号。

Custom Frames:Web 应用登录页面跳出了 iframe

现象:点击 Frame 中的"登录"按钮后,页面在外部浏览器中打开,Frame 中留下空白。
原因:很多 Web 应用的登录流程通过重定向实现,iframe 无法正确处理。
修复:在设置中启用 Obsidian 的 Web Viewer 核心插件。它"记得"在 Frame 中打开的登录会话,避免跳转到外部浏览器。

Custom Frames:手机上 Web 应用显示空白

现象:在移动端的 Custom Frames 中打开 Google Keep,只显示空白页面。
原因:移动端 Obsidian 不使用 Electron,iframe 支持有限。
修复:在 Frame 设置中开启"Disable on Mobile",避免在手机上显示无法工作的 Frame。

8.4 AI 层陷阱

Claudian:CLI 路径检测失败

现象:启动 Claudian 时提示找不到 Claude CLI。
原因:nvm、fnm、volta 等 Node 版本管理工具修改了 PATH 环境变量,Claudian 的自动检测无法找到正确的 CLI 路径。
修复:在 Claudian 设置 → Advanced → Claude CLI Path 中手动设置路径。

Claudian:Windows 上 CLI 执行失败

现象:Claudian 在 Windows 上无法执行 Claude CLI 命令。
原因:Claudian 尝试调用 .cmd 或 .ps1 包装器,这些包装器处理不当会造成问题。
修复:使用 claude.exe(原生可执行文件)或 cli-wrapper.cjs(npm 提供的脚本入口)作为 CLI 路径。

Inscribe:云 API 使用成本过高

现象:Inscribe 每天大量调用 OpenAI API,账单迅速增长。
原因:Inscribe 高频调用模式(每次输入都触发补全请求)不适合按 token 计费的云 API。
修复:切换到本地运行的 Ollama。推荐的起始模型 gemma3:12b 在消费级硬件上即可运行,且完全免费。

8.5 跨层陷阱

插件安装顺序错误

现象:安装了上层插件后它找不到依赖的下层插件。
最佳安装顺序:

  1. 先安装基础设施层:BRAT → Git → Style Settings
  2. 再安装数据层和可视化层
  3. 最后安装 AI 层
    这样下层插件在上层插件启动前就已经就位。

插件过多导致 Obsidian 启动变慢

现象:安装 13 款插件后,Obsidian 启动时间从 2 秒变为 15 秒。
诊断:每次启动时 Obsidian 都需要加载所有启用的插件。每个插件有自己的初始化流程。
建议:评估每个插件的必要性。不常用的插件可以保持安装但禁用,需要时再启用。

模板文件被 Dataview 误索引

现象:Dataview 查询中意外出现了模板文件。
原因:模板文件夹中的 .md 文件被 Dataview 当作普通笔记索引。
修复:在 Dataview 查询中用 FROM 排除模板文件夹,例如 FROM #project AND -"模板"

8.6 本章自检

  • 能否列举 BRAT、Git、Style Settings 各一个常见问题?
  • 能否说出 3D 模型不显示的最常见原因?
  • 遇到 Claudian CLI 路径问题时,你知道去哪里修改?

第9章 综合练习与自检

本章的目的很简单:验证你是否真的掌握了这本教程的内容。逐章自检之后,完成至少一个综合实战任务。

9.1 各层核心能力自检清单

基础设施层

  • 能从 GitHub 用 BRAT 安装任意 Beta 插件
  • 能创建一个 Git 仓库并配置 auto commit-and-sync
  • 能在 CSS 文件中编写 @settings 块,添加一个开关控件和一个颜色控件

数据与模板层

  • 能编写一个 Templater 模板,包含 tp.system.prompt() 交互和 YAML frontmatter 生成
  • 能写一条 DQL TABLE 查询,包含 FROM/WHERE/SORT/LIMIT
  • 能写一个 DataviewJS 代码块,用 dv.table() 展示分组的查询结果
  • 能说出 Datacore 相比 Dataview 的三个不同点

可视化与创意层

  • 能在 Excalidraw 绘图中创建指向另一篇笔记的 链接
  • 能在笔记中嵌入一个 3D 模型并调整其缩放和旋转
  • 能配置一个 Custom Frame 嵌入任意 Web 应用

导航与组织层

  • 能用 NN 的搜索语法按标签、日期、属性组合筛选笔记
  • 能用 Clipper 将一段网页内容写入 Daily Note
  • 能配置 NN 的 Vault Profile 切换不同的浏览视图

AI 协作层

  • 能完成 Claudian 的安装和初始配置
  • 能使用 Claudian 的 Inline Edit 功能编辑选中的文字
  • 能配置 Inscribe 的 Ollama Provider 和 Per-Path Profile

9.2 综合实战任务

任务 1:搭建完整的知识管理工作流

目标:从收集到查询的完整链路。

步骤:

  1. 用 Templater 创建一篇日记模板,包含 datemoodtags 等 frontmatter 字段
  2. 用 Clipper 从浏览器剪藏一段内容到今日日记
  3. 用 Dataview 写一条 DQL 查询,展示本周所有带剪藏的日记
  4. 用 Notebook Navigator 的 @thisweek 搜索快速验证结果

验证:你可以在 30 秒内定位到本周任意一天的剪藏内容。

任务 2:创建数据驱动的可视化仪表板

目标:当数据变化时图表自动更新。

步骤:

  1. 创建几个带 #project 标签和 statusprogress 字段的笔记
  2. 用 DataviewJS 查询所有项目中 status = "进行中" 的条目
  3. 用 ExcalidrawAutomate 根据查询结果生成一个进度可视化
  4. 将绘制的 Excalidraw 图嵌入到仪表板笔记中

验证:当你在某个笔记中修改 progress 值后,刷新仪表板看到图表自动更新。

任务 3:配置 AI 增强的笔记环境

目标:让 AI 成为日常笔记的加速器。

步骤:

  1. 用 BRAT 安装 Claudian
  2. 配置 Claudian 的一个 MCP Server(如文件系统工具)
  3. 安装 Inscribe 并配置 Ollama Provider
  4. 配置 Per-Path Profile:Daily/* 使用轻量补全,Research/* 使用完整补全

验证:在 Daily 文件夹中输入时看到行内补全建议,在 Research 文件夹中输入时补全更深入。

9.3 进阶路线图

当你完成以上所有自检和任务后,下面是可以继续深入的方向:

  • Dataview 到 Datacore
    :从 DQL 到 DataviewJS 到 Datacore JSX,渐进式提升你的数据操作能力
  • Excalidraw Script Engine
    :学习编写自定义脚本,实现复杂的自动化绘图
  • Claudian Skills 与 MCP Server 开发
    :为 Claudian 创建自定义 Skills 和 MCP 服务器,扩展 AI 代理的能力边界
  • Git 高级工作流
    :分支管理、冲突解决、CI/CD 集成——把 Vault 当作真正的代码仓库管理

9.4 参考资源汇总

插件
官方文档
GitHub
BRAT
tfthacker.com/BRAT
github.com/TfTHacker/obsidian42-brat
Excalidraw
excalidraw-obsidian.online/WIKI
github.com/zsviczian/obsidian-excalidraw-plugin
Excalidraw Automate API
zsviczian.github.io/obsidian-excalidraw-plugin
Templater
silentvoid13.github.io/Templater
github.com/SilentVoid13/Templater
Dataview
blacksmithgu.github.io/obsidian-dataview
github.com/blacksmithgu/obsidian-dataview
Obsidian Git
publish.obsidian.md/git-doc
github.com/Vinzent03/obsidian-git
Notebook Navigator
notebooknavigator.com/docs
github.com/johansan/notebook-navigator
Style Settings
—(README 即文档)
github.com/obsidian-community/obsidian-style-settings
3D Embed
—(README 即文档)
github.com/ElmoNeedsArson/Obsidian-3D-embed
Claudian
—(README 即文档)
github.com/YishenTu/claudian
Clipper
docs.obsidianclipper.com
github.com/jgchristopher/obsidian-clipper
Custom Frames
—(README 即文档)
github.com/Ellpeck/ObsidianCustomFrames
Datacore
blacksmithgu.github.io/datacore
github.com/blacksmithgu/datacore
Inscribe
—(README 即文档)
github.com/ahmetildirim/obsidian-inscribe
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 13:30:19 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/606255.html
  2. 运行时间 : 0.123358s [ 吞吐率:8.11req/s ] 内存消耗:4,987.93kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ae0564b2af59b40b7b4ae85f68fdc95d
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000550s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000764s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000270s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000285s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000474s ]
  6. SELECT * FROM `set` [ RunTime:0.000199s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000581s ]
  8. SELECT * FROM `article` WHERE `id` = 606255 LIMIT 1 [ RunTime:0.010730s ]
  9. UPDATE `article` SET `lasttime` = 1778477419 WHERE `id` = 606255 [ RunTime:0.023247s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000372s ]
  11. SELECT * FROM `article` WHERE `id` < 606255 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000488s ]
  12. SELECT * FROM `article` WHERE `id` > 606255 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003356s ]
  13. SELECT * FROM `article` WHERE `id` < 606255 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000598s ]
  14. SELECT * FROM `article` WHERE `id` < 606255 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004664s ]
  15. SELECT * FROM `article` WHERE `id` < 606255 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001255s ]
0.125067s