惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
MongoDB | Blog
MongoDB | Blog
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
D
Docker
S
Secure Thoughts
B
Blog
M
MIT News - Artificial intelligence
P
Privacy International News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tenable Blog
Last Week in AI
Last Week in AI
A
About on SuperTechFans
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
L
Lohrmann on Cybersecurity
Security Latest
Security Latest
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
P
Privacy & Cybersecurity Law Blog
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
宝玉的分享
宝玉的分享
量子位
Forbes - Security
Forbes - Security
T
Threatpost
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
H
Help Net Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
T
Troy Hunt's Blog
SecWiki News
SecWiki News
I
InfoQ
C
Cyber Attacks, Cyber Crime and Cyber Security
Stack Overflow Blog
Stack Overflow Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
Obsidian双链框架AMOC,更简单的PARA、卡片笔记体系 - 少数派
2024-01-24 · via 少数派

Obsidian成了我主力工具,到现在练习时长快2年半了,并不是有多喜欢它,每次有新笔记软件都会看一看有没有能取代它的,可惜都没遇到。

这篇发表的时候,其实已经不怎么折腾。这一年,在个人方面,基于Obsidian笔记组织了41场拍摄,20个长视频、6-8万字的摄影课程,公司方面则是一天一更新的短视频策划拍摄后期等记录,同时能自动汇总一周工作,哪怕填写2-3个月前的每日工时都能轻松应付。不过每个月看一本书的目标,去年只完成了4本。交代一下免得被当成折腾Obsidian就是不务正业,我只是把原来玩守望先锋的时间放到折腾上。

那这一年我更侧重Obsidian的自动化、可视化统计汇总等功能追加,同时也遇到很严重的问题:维护困难。

遇到的问题

Obsidian很大一部分依赖大量使用Dataview插件。在实际使用中,文件有流动性,需要对树状图进行调整、有修改、归档之类的,例如一个月过去了,就把日记放到对应文件夹,一年过去了也是,这就会相当抓狂,一堆Dataview代码引用了path(文件路径),需要调整。出于方便排序,我采用的"001-xxx"的文件夹索引号命名,一旦修改,真地狱级灾难!

后期有部分笔记采用了Tags,这也导致我的tags标签系统非常臃肿,新建笔记的时候经常想不起到底要打什么标签,不打的话问题大不大?到底是不是需要模板等等。

整体而言,易用性、简洁性都极差,投入的精力消耗过大。

《Building a Second Brain》作者Tiago Forte 介绍 PARA 时就提到:

Only the simplest, most effortless habits endure long term.
只有最简单、最轻松的习惯才能持久。

这个原则和编程原则KISS (Keep it Simple, Stupid)如出一辙。在Obsidian高强度的使用过程中,很早就引入油管博主Nick Milo的MOC(Maps Of Contents)方法,异常好用。很简单,就是在笔记顶头写上Up:: [[上层目录]]。MOC的其中一种用法,是建立起目录大纲作为的索引:

image.png

去年的分享中,下图的日常、记录、打码的工作、橙猫涉影就是采用MOC的方式,都是手动输入。新增删减都需要调整,比较麻烦,写笔记都像维护系统一样繁琐了。

image.png

我开始思考能否利用什么方法实现这一块的自动化,自动组合起来,不需要那么麻烦手动增删。经过一段时间的探索后,就有了今天给大家介绍的,Automate MOC架构(下面简称AMOC)。

image.png

在Obsidian中,如果树状图是物理结构、Tags标签是魔法结构,那AMOC就是连接物理和魔法的桥梁、中间层,基于双链+Dataview的结构打造,充分发挥了双链作用。

AMOC的目的是为了专注笔记本身,让我忽略笔记本身以外的打理。对于查改增删等操作都在笔记内完成。而笔记则自动形成MOC,即AMOC如下图所示,AMOC只是一个框架,不涉及知识分类。

image.png
AMOC整体呈现,自动识别你的调整修改,无需维护

编程有个原则:"Don't Repeat Yourself",Just Copy。
AMOC的核心功能只需要Copy即可,粘贴到相关笔记,只需3个步骤即可上手建立AMOC。

AMOC 步骤1:上级索引

AMOC步骤中最关键🔑的一点,就是在笔记中我们要告诉它,它的上级索引是谁,并写上:

up:: [[上层目录]]

双冒号为Dataview能识别的属性,后续步骤的Dataview都基于此项进行双链识别。

AMOC 步骤2:同级索引

当 A 笔记及其他笔记都存在 up:: [[Z笔记]] ,即共同指向Z笔记时,在A笔记中加入下面的Code,即可实现同级AMOC,无需理解直接Copy Paste即可。

> [!note] AMOC Standard
> ```dataview
> list
> where up !=undefined and contains(up,this.up) and !contains(file.path,"模板")
> sort file.name
> limit 10
> ```

在我的Ob中,绘图、橙猫涉影……模板、白板,这几个同层级的AMOC笔记,都具备up:: [[Homepage]],上段代码在日记中的展示如下图(样式修改过):

同级MOC

我习惯上会加上Callout样式,毕竟颜值是最大生产力。

AMOC 步骤3:下级索引

当B、C、D笔记都输入了 up:: [[A笔记]] ,同上级索引为A笔记时,在A笔记中加入下面的Code,即可实现BCD的集合。

> [!note] AMOC Down
> ```dataview
> list
> where up !=undefined and contains(up,this.file.link) and !contains(file.path,"模板")
> sort file.name
> limit 10
> ```

这段代码的差别仅仅只是把步骤2的 this.up 换成了 this.file.link,即可实现,充分利用了双链笔记的优势。

在我的笔记里,还结合Minimal主题的list-cards,在笔记 'CMSY.md' 中效果如图:

image.png

如果有一天,我不希望 'CMSYInbox' 笔记出现,只需要把 'CMSYInbox' 的up修改为其他笔记即可,全自动调整。

AMOC的补充说明

AMOC 概括起来就是

  1. 笔记自身建立了 up::
  2. 直接粘贴两段Dataview

不管我们是从笔记外部调整了它的树状图,还是修改了它标签,都不会产生任何影响,因为它是基于up属性。如果你修改笔记名字,Obsidian的双链功能会自动同步全局更改。专注笔记本身,不产生过多的焦虑和担忧。

在这个功能之后,我延伸了一下,同时读取2层:

image.png

对应的Dataviewjs如下,搭配MCL css使用,模板中有:

```dataviewjs
	const listLimit =10
	const calloutSytle = ">> [!abstract]- 📖"

	//过滤掉日记、excalidraw、canvas的MOC 和模板、box
	let filterPages = dv.pages('-#日记 and -#excalidraw')
		.filter(p => p.file.path.contains("白板")==0 && 
			p.file.path.contains("box")==0 &&
			p.file.path.contains("模板")==0 && 
			p.up && 
			p.file.name.contains("日记")==0)
		.sort(p => p.file.name,"desc")

	let pages = filterPages.filter(p => String(p.up).contains(dv.current().file.link))

	let formatMulti = "> [!multi-column]\n> "
	let nextlevel = pages.map(async(page) => {
	  return  calloutName + page.file.link
	})
	//console.log(arr)
	for (let page of pages) {
		var uplink = page.file.link 
		formatMulti += "\n" + calloutSytle  + "[[" + page.file.path + "|"  + page.file.frontmatter.aliases + "]]"
		
		if(filterPages.where(p => String(p.up).contains(uplink)).file.length!=0)
			formatMulti += "\n>> - "+filterPages.where(p => String(p.up).contains(uplink)).limit(listLimit).file.link.join("\n>> - ")
		else
			formatMulti += "\n>> 无"
		formatMulti += "\n>"

	}

	dv.paragraph(formatMulti)
```

考虑到它的易用性和可维护性,2层AMOC足够,适可而止。

AMOC在不同操作下的说明:

  • 新建:任何位置新建,笔记中写上up:: [[上级目录]],自动添加到目录当中。
  • 修改:分类、归档等调整,笔记中修改up:: [[新的上级目录]],自动纳入到新的目录,如Inbox、Done、Achieve当中。
    • 一开始的时候,《摄影》的 上层AMOC为《橙猫涉影》,但因为用的太多,需要多层AMOC跳转,我直接对《摄影》修改 up:: [[Homepage]] 即可建立新的AMOC。
  • 延伸:采用了contains 写法而不是 up=this.up,提供了更多的可拓展性,让笔记的 up 可以指向多个AMOC笔记。
    • 这篇文章一开始放在公众号下,但后来忘记了,去 'Obsidian MOC' 下找不到,这种有交叉属性的,可以同时放到up中 up:: [[公众号]], [[obsidian MOC]] ,当然也可以用标签来实现,只是个人更喜欢AMOC的方式,我的标签有另外用途。

搭配主题和Callout样式,AMOC最终在一个文档中的效果图:

image.png

基于AMOC搭建PARA

PARA在笔记中很受欢迎,我用AMOC组织了相关文件,模板文末有提供下载。
搭建PARA,只需要5个笔记:

  • 结构中心.md 作为总控
  • 代表PARA的4个笔记,粘贴下面内容即可:
up:: [[PARA结构中心]]

> [!note]- 最近编辑:当前文件夹下
> ```dataviewjs
> dv.table(["文件","修改时间"],dv.pages()
> .filter(p => p.file.folder.contains(dv.current().file.folder) && p.file.name!=dv.current().file.name)
> .sort(p => p.file.mtime,"desc")
> .limit(10)
> .map(item => {return [item.file.link,item.file.mtime]}))
> ```

# `=this.file.name`

> 💡YAML中的cssclasses采用list-card,横向显示list,需搭配主题Minimal使用

## AMOC

> [!note]- AMOC Standard
> ```dataview
> LIST
> where up !=undefined and contains(up,this.up) and !contains(file.path,"模板")
> sort file.name
> limit 10
> ``` 

> [!note]- AMOC Down
> ```dataview
> LIST
> where up !=undefined and contains(up,this.file.link) and !contains(file.path,"模板")
> sort file.folder asc
> limit 10
> ``` 

在PARA这4个笔记中的内容是一模一样的,仅仅只需要依据不同的笔记名,即可基于自身 this.file 属性,实现一统江湖,大体架构如下:

AMOC在PARA中效果

在这个模板基础上,我只要两步操作:

  1. 新建笔记
  2. 在顶部写上 up:: [[01Projects] 即可划分为对应的领域,前面的数字用于排序。

在结构中心.md中我会放入了读取多层索引的Code,具体可看模板,效果如下:

image.png

基于AMOC搭建卡片笔记

和PARA的方法,几乎是一样的:1个中心.md,在闪念、文献、永久3个笔记里面放上是一模一样的内容。

image.png

至于要不要为它们建立独立文件夹,就看你们自己的习惯,用文件夹会更规范也方便后期管理,这里只是出于展示的用途,怎么操作都不会影响到AMOC,基于双链以及文件属性内联了,用起来就非常轻松。

模板下载与说明

树状图毕竟包含了全部文件,要完全放弃是不可能的,在这一块,我也经常用上 this.file.folder 来进行处理,这就要求AMOC的笔记必须放在合适的文件夹下,符合我们常规树状图的做法,差别在于相对路径和绝对路径。

在标题上,我经常采用下面写法,非常方便。

# `=this.file.name` 

👉模板下载

结语

万事开头难,至少现在不用再担心开头难了。
在新建md笔记的时候,我不用再考虑到底放哪个文件夹,到底要加哪个tag,畏手畏脚的,现在只需要专注笔记本身,加上up:: [[上层索引]]即可,还可随时变更,不受任何约束freestyle,将双链的功能发挥到极致。

本来想分享过去一年所增加的功能,结果涉及到有理论的,即使AMOC这么简单的功能,都需要很大篇幅讲述,有机会再分享一些自动化功能!