- 我是在 Obsidian 刚刚推出 Sync 的时候,就开始订阅,所以享有早鸟价格,48美金一年,已经续费很多年。
- 今年以来,我的日常笔记,从 Obsidian 切换到了更直觉的 WorkFlowy,但还是保留了 Sync 的订阅,一方面是舍不得这个早鸟价格(如果停止订阅就不能重新享有),另一方面,我的写作流程,还是完全依赖 Obsidian。所以,找了一个人分担费用,一年只需要24美金。
- 重点来了,为了适配各种 ai,Obsidian 推出了无头版 Sync,什么意思呢,当你安装 Headless Sync 之后,可以不打开 Obsidian app,你本地的 Obsidian 文件,也可以保持随时同步。
- 这意味着,配合 codex,Openclaw,Hermes 等应用,你可以在本机,服务器上,随时读取、编辑、和同步你的 Obsidian,比如说,我在装有 Openclaw 的服务器上开启了无头 Sync,让 Openclaw 每天一次,把所有的记忆和 skills 都同步一次到我的 Obsidian,这样既留有备份,也可以让其他机器上的 ai 读到有用的资料。当然,玩法不限于此,还有很多。
- 只要我在任何时候,任何场景下提到 Obsidian Sync,永远会有人回复说,为什么不用这个,为什么不用那个,我用 xxx 也可以完美同步,等等等等,我只能说,这些朋友觉得够用就好。
- Obsidian Sync 去年推出了亚洲服务器,自己测试之后,发现同步速度比之前更快,创建 Vault 的时候,可以选择离你近的服务器。
- Obsidian 刚刚发布了一篇关于第三方审计 Sync 的文章,在这里。对待数据安全,Obsidian 还是做了许多努力。像对于我这样的用户,把自己的 Vault 直接扔给 ai 访问,形成了鲜明的对比。
Koss PP

我正戴着这幅耳机,听 Kendrick Lamar 的 LOVE。
Koss PP 的全称,是 Koss Porta Pro。它是一副经典耳机,有多经典呢?美国 Koss 公司在1984年开始出售,至今已经40多年,热度依旧不减,在它的价位,Koss PP 也许不是素质最高的,但一定是最有个性的,最有辨识度的,听起来最舒服的耳机之一。
我曾在2005年错过了它。那年,在同价位的耳机中,我选择了另一副“素质更高”的森海塞尔的 PX200,这个看似理智的选择,让我错过了 PP 20年。去年我烧了一年耳机,都在玩另一个美国品牌,歌德,今年初消停了几个月,突然想起,还有这么一副我一直想拥有的平价耳机。
在闲鱼搜了一圈,发现大部分400以下的,都是假货(差点花150入了一副假的限量款)。最后,在一个销量和评价都不错的代购小店,花400多,买入一副全新的 Utility 新款。
接下来谈谈佩戴和听感。由于我的头很大,拿到耳机,我直接把头梁放到最松,然后在两个耳桶上的松紧调节按钮,也拨到松的一侧。戴在头上,从第一天到两个多月后的今天,现在,我只能用舒服来形容。很轻,不夹头,而且感觉不到重量。
音质的话,某天 JR 拿着 PP 对比了我桌面上另一副耳机,歌德的 SR225X,听完一首不插电吉他弹唱后,他竟然觉得 PP 的拨弦声更清晰。我知道 PP 的解析度一定不会超过售价是它四倍的 SR225X,不过 JR 的评价,至少说明,这两幅耳机,在新手的眼中,没有太大区别,甚至 PP 更讨喜。
更讨喜,更温暖,其实是绝大部分 PP 用户最直接的感受。只要评价 PP,人们多半会说它低音更突出,更适合听嘻哈、电音、或某些种类摇滚音乐。我的感觉也一样,PP 的听感,是完全不给你压力的那种,不给你太多细节,不拿极致的高音来刺激你,也不想歌德那样,用极致的中频,把人声兑到你脸上。PP 只是给足了低音,让你全身放松,不假思索,听听流行歌。
可这也不代表你不能用它来听古典,我有一半的时间都在听钢琴,弦乐,甚至交响曲,PP 没有让我觉得任何“不够”的感觉。
拥有 PP 两周以后,我预定了一个 Koss 的蓝牙适配器,可以用来搭配我的 Utility 版本,换上就能通过蓝牙听歌,这样,我就可以戴着它边走边听,随时享受让我放松的声音。
低价开 ChatGPT Plus 的办法
首先,如果你用得到,我也鼓励你多用,那么正价订阅 ChatGPT,每月20美金,是完全值得的。
接下来讲讲最近出现的一些低价订阅的办法。
我们都知道,官网正价20美金订阅,是最稳定的办法。但很多人没有可以用来付款的信用卡,那么,迂回一下,通过 App Store 来订阅,也是一种办法。而且,由于各国汇率不同,ChatGPT 的订阅费用也不相同,最低价的地区,目前是土耳其 App Store,每月相当于76.11元人民币,你可以通过这个网站,查到最新的低价区。
至于土区 App Store 如何充值,网上搜搜,很多教程。我的方法,是通过 oyunfor 这个网站,用国内双币信用卡购买充值卡。除了订阅 ChatGPT,土区还有其他一些可以低价订阅的 app,可以自行研究。
再讲讲最近两天出来的,官方优惠活动。
昨天早上醒来,睡眼惺忪的我,刷到一个帖子,说 ChatGPT 英国区有官方优惠,赶紧爬起来操作,最终成功,分享一下经验。优惠是这样的,两个人的 Team 方案,可以低至11英镑每个月(大概103人民币),也就是说,两个人订阅,一共103元每月,每个人50出头。只不过,订阅的方法曲折一点,你可以网上搜搜,或者想办法读到这篇文章。
最大的难点,是你需要用英国区的节点,然后通过一个脚本,拿到付款页面的“长链接”,我也不懂什么意思,反正你就问 ai 就行。最终,我用 Wise 银行卡完成付款,大概105元,然后我在 ns 论坛找人拼车,70元一个席位,相当于自己出了35一个月,就能用上“正版” ChatGPT。
截至今天为止,英区,美区,还有泰国区,都有类似的优惠,该兴趣的话,可以自行研究一下。
Mac 上如何快速切换音频输出设备
先说我遇到的痛点:用 Mac 上网时,我喜欢用耳机放大器+耳机听音乐(Spotify)。可当我看 YouTube 视频,或者 Twitter 里的视频时,我喜欢用 Studio Display 显示器的外放音箱来听。
如果用鼠标去点击音频输出设备的话,太慢了,经常切换也觉得繁琐。
解决方案有两个:
- 安装一个音频分流工具。如果愿意付费,可以选择 SoundSource。或者,用开源免费的 FineTune。
- 第二个方案,我也不知道怎么搜出来的,是一个叫做 switchaudio-osx 的命令行工具。结合 Alfred 等启动器,可以通过快捷键快速切换音频输出设备。
具体来讲讲怎么用方案2。
首先,打开 Terminal,安装这个小工具。
brew install switchaudio-osx
然后,用以下命令看看你现有的设备有哪些。
SwitchAudioSource -a # 列出所有输出设备
SwitchAudioSource -c # 查看当前设备
接着,试着用这个命令来切换设备。
SwitchAudioSource -s "设备名" # 切换设备
如果切换成功,记住那些你常用的设备名可以切换命令。打开 Alfred,新建一个 Workflow。
起个名字,然后添加 Run Script,选择 /bin/zsh --no-rcs,把你刚刚成功切换的命令放进去。
最后如下图,再给这些动作分别添加一个快捷键即可。

用 Stylus 隐藏 Workflowy 广告和 ai 按钮
最近用回了 Workflowy,发现网页版多了一些东西,看着碍眼,于是在 ai 的帮助下,使用 Stylus 这个著名的 CSS 美化插件,隐去了不想看到的东西。
主要隐去了这两个东西:
- 右上角的用量进度条,和付费升级提醒
- 右下角的 ai 按钮
代码如下:
/* ==UserStyle==
@name workflowy.com
@namespace github.com/openstyles/stylus
@version 1.0.0
@description A new userstyle
@author happy xiao
==/UserStyle== */
/* 隐藏用量文本(精确匹配内容) */
.text-secondary.mt-xs {
display: none !important;
}
/* 隐藏升级链接(精确匹配文本) */
a[href*="upgrade"], a.text-tertiary {
display: none !important;
}
/* 隐藏进度条(已有效) */
[class*="h-[6px]"][class*="bg-secondary"] {
display: none !important;
}
/* 隐藏 WorkFlowy 右下角 AI 按钮 */
.ai-chat-button {
display: none !important;
}
隐藏后的效果非常清爽了👇,对了,Chrome 现在可以同时打开两个 Workflowy 窗口,你甚至可以在这两个窗口之间拖动你的子弹。

如何删除所有推文
在这个脚本的基础上,让 ChatGPT 改了改,适合中文界面使用,一键就能删除所有推文,方法和代码如下:
- 使用 Chrome 浏览器,登陆你的 X 账户
- 打开这个链接 https://x.com/USERNAME/with_replies ,用你的用户名替换链接里的 UASERNAME
- 在 Chrome 菜单里依次点击:显示-开发者-开发者工具
- 在开发者工具上方的栏目里选择“Console”
- 复制黏贴以下代码,回撤执行,等待足够长时间即可
const deleteAllTweetsAndReplies = async () => {
const processed = new Set();
const selectors = {
tweet: '[data-testid="tweet"]', // 推文 & 回复
caret: '[data-testid="caret"]',
menuItem: '[role="menuitem"]',
deleteConfirm: '[data-testid="confirmationSheetConfirm"]',
unretweet: '[data-testid="unretweet"]',
unretweetConfirm: '[data-testid="unretweetConfirm"]'
};
const delay = ms => {
const jitter = ms * 0.3;
const actual = ms + (Math.random() * jitter * 2 - jitter);
return new Promise(resolve => setTimeout(resolve, actual));
};
const getButtons = () =>
Array.from(document.querySelectorAll(${selectors.tweet} ${selectors.caret}))
.filter(b => !processed.has(b));
const scrollToEnd = async () => {
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
await delay(2500); // 等待加载
};
const attemptDelete = async button => {
try {
processed.add(button);
button.scrollIntoView({ behavior: 'smooth', block: 'center' });
await delay(500);
button.click();
await delay(500);
const menuItems = Array.from(document.querySelectorAll(selectors.menuItem));
const deleteWords = ['Delete', '删除', '删除贴文']; // 中英文匹配
const deleteOption = menuItems.find(item =>
deleteWords.some(word => item.textContent.includes(word))
);
if (deleteOption) {
deleteOption.click();
await delay(500);
const confirm = document.querySelector(selectors.deleteConfirm);
if (confirm) {
confirm.click();
await delay(3000);
return true;
}
}
const tweet = button.closest(selectors.tweet);
const unretweet = tweet?.querySelector(selectors.unretweet);
if (unretweet) {
unretweet.click();
await delay(500);
const confirm = document.querySelector(selectors.unretweetConfirm);
if (confirm) {
confirm.click();
await delay(3000);
return true;
}
}
} catch (err) {
console.error('Error attempting to delete/unretweet:', err);
}
return false;
};
while (true) {
let buttons = getButtons();
if (!buttons.length) {
await scrollToEnd();
buttons = getButtons();
if (!buttons.length) break;
}
for (const button of buttons) {
await attemptDelete(button);
await delay(800); // 防风控冷却
}
}
console.log('所有推文和回复已处理完毕(删除或取消转推)。');
};
deleteAllTweetsAndReplies().catch(err => console.error('脚本执行失败:', err));
用 Komga + Panels 看漫画
经过一天半的折腾,用这套组合满足了我看漫画的需求。
Komga
Komga 是一个本地部署的漫画服务器,可以用浏览器/APP随时访问、阅读你收藏的漫画。
最开始听说 Komga,是在飞牛 OS 的 app 推荐里,闲的没事,在家里装有飞牛的 nuc11 上,用 docker 装了一个。用下来感觉不错,漫画都存在本地,也能使用自己的域名远程访问,但有一个问题,我不太会设置 nuc11 的 https 访问,于是不能在 Panles(待会讲)里用。
干脆,装在 vps 里,反正有一个美国的1.5tb 的大盘鸡闲置。于是,装宝塔,装 docker,三下五除二搞定,设置 https 也简单,除了访问网站速度比本地的 nuc 差点,真要打开了读起来,速度是一样的。

Panels
能在 iOS 上读漫画的 app 很多,Panels 是比较知名的一个。通过 OPDS 方式,可以添加 Komga 服务器,还能同步阅读记录。(Chatgpt:OPDS 就是让阅读器“远程访问你的图书馆目录”的协议,像远程文件系统一样浏览下载电子书)
刚刚讲过,放在 nuc11 上的 Komga,我不会设置安全访问(https),所以才使用 vps,就是为了在手机和平板上用 Panels。
还没来得及用 Panels 看书,开了7天会员试用,简单了解了一下,功能挺多,最后多半要买个版本买断。
哪里下漫画
在论坛发了个帖子,有人推荐用梓喵 PT 来下漫画。找不到推荐码,也不会用 PT。最后兜兜转转,还是来到了多年一直使用的 Kmoe。
Kmoe 是个良心网站,漫画全,还能免费下载(免费用户一个月可以下载3gb,暂时够用),这次如果勾起了我看漫画的瘾,一定付费支持一下,一年200多,咱付得起。

目前找到一套自己感兴趣的悬疑题材漫画,叫做《寒蝉鸣泣之时》(日语:ひぐらしのなく頃に),兴奋,期待。
如何正确佩戴平头耳塞
前两天在凯音(耳塞品牌)的 QQ 群里讨论如何给耳塞套海绵套。没想到昨天凯音的老板亲自发语音指导,后来他还提到了如何正确佩戴平头耳塞,我觉得值得了解,分享给你。
如何套海绵套
其实套耳机棉这个问题其实很简单的,就是拉扯的时候不要过力嘛,就是你有个幅度嘛。它有一个受限位嘛,就是你稍微把它拉扯一下,然后把它压一下,然后再去套,它会很容易套的。其实就是熟能生巧,我们套的话很简单,要是我来套的话,大概就是一两秒钟一个。
而且我再次强调,还是建议用官方的原套吧,就是其他的套子,不能够保证声音是我们预期的达到的样子。你可能换了套之后声音差异会比较大,会有这个问题。
如何佩戴(凯音)平头塞
我再强调一下怎么佩戴啊。其实我们在说明书里面都有在写,但是大家不看,而且它那个东西写的比较书面化嘛,可能大家可能也不太直观的了解他的为什么是那个意思。什么所谓的仰角那些东西,我就说两点吧,其实就两点。
怎么佩戴好平头塞,一定不是往里面塞,而是挂在下耳窝。就是挂在下耳窝耳夹这个地方,耳窝这个地方贴紧很重要,这是第一点,强调一点。就是不要往里面塞啊,是挂紧下耳窝就可以了。
然后第二点就是耳柄一定要贴脸颊,特别是长柄的,你可以往脸颊掰,那么它自然会是不是会形成一个夹角?这个夹角为什么要这样去要求,是因为这样之后你的耳塞的出音口,就是耳塞的这个这个单元,它出声是针对你的耳道的,那么这样子它才是一个正常的一个直达声,它不会去损失你的信息量。但是很多人他戴的时候没有注意这一点。他戴的时候,耳柄往外掰,然后那个面盖是直接是朝着耳窝了,它不是朝着耳道了。
那么这样子会有什么后果呢?你可以想象一下,你所听到的全是反射音,没有直达声,那么它的信息量和密度损失非常夸张的。所以说只要佩戴匹配的海绵套,再去具备这两个要点,佩戴95%一定是没有问题的。
关于“吃佩戴”(佩戴是否因人而异)
我们做过统计,特别是很多人到展会来,他说他带不了,我说你过来我帮你调整,我告诉你怎么弄,很多的纠正过来就很都能带的,都没问题。
所以说不叫吃佩戴,其实按照正确的要求去佩戴的话,基本上不会有问题。很多人戴平头是随意的,或者是像入耳那样塞进去的,那肯定就不正常。就按我们的那个,就是昨天晚上说的那个要点去佩戴,那么一次性几乎是没有问题的。
以上。
记 Mojo1 升级同轴输入
刚刚拿到 USB 转同轴输出的小尾巴数字界面,插上 mojo1,出声,感动,完全不一样的声音。
之前的问题
刚刚买回 mojo1 时,使用 Mac mini 的 USB 输出,直插 mojo1,音质先不谈,经常会出现的一个问题是,家里有大功率电器开关时,整个 mojo1 会突然跳成全噪音输出。
经过几番排查,发现不是电源的问题,因为接上 iPhone 或 iPad 的 USB 口就没有这样的噪音出现。
于是,想要拿 Mac mini 当音源,必须解决它的 USB 口自带的 5v 电压的污染问题。经过搜寻,方案有三个:
- 给 Mac mini 加上隔离牛。
- 给 Mac mini 的 USB 口加上 USB 净化器,过滤掉5V 电压,依旧通过 USB 连接 mojo1。
- 给 Mac mini 加上一个 USB 转同轴输出的数字界面,然后同轴输出数字信号给 mojo1。
最合适的方案是第三个,为什么?它的优势有三个,一,综合成本低,只比 USB 净化器高一点点。二,由于同轴输出电压只有0.5V,其实已经实现了隔离电流的效果。三,mojo1 的同轴输入,网友评论音质最好。
解决方案
数字界面不便宜,自带电源的,都在大几百或上千元,数千元。最近发现一个新品小尾巴,完美针对我的需求,立即购入。
插上 Mac mini 后,在音频设置里,设定输出为 24位/192Khz(此小尾巴的最高输出规格),接上 mojo1,开声的那一霎那,我觉得这钱花得太值了。
首先,不用再担心突然爆音(至少听了一个小时还没出现,理论上也不会出现),其次,声音的分辨率,声场,低频,都有明显的改善(改变)。
后续升级
为了进一步净化电源污染,我还可以做这两件事:
- 优化 mojo1 的电源输入,这个我已经购买了 ifi ipowerx,期待它的表现。
- 优化 Mac mini 的电源,这个紧迫性已经不高,况且,Mac mini 的 USB 污染,不一定是外部电源的问题,还有可能是接上它的其他设备带来的污染,这个很难逐一排查和解决。
以上,不是推荐产品,只是分享体验。

Readwise Reader 公测第12期
早上看到 Reader 发布了第 #12 期公测版更新,下面是主要内容,如果你是 Reader 用户,可以在这里申请加入公测。
-
📚 EPUB v2 — 您现在可以通过专用的"长篇"用户界面阅读电子书,速度和性能提升10倍以上,支持章节分隔,并修复了数十个格式问题。
-
📜 PDF清洁视图 v2 — 您新上传的PDF现在提供更高质量的富文本版本。这使您能够像阅读其他可重排文档一样阅读、高亮和收听PDF。
-
💬 文档对话(网页预览) — 您现在可以在网页应用中使用先进的大语言模型与正在阅读的文档进行对话。这是升级Ghostreader的第一步,我们分享此预览版以获取早期反馈!
-
✒️ 电子墨水模式 — 如果您在基于Android的电子墨水设备(如Boox或Daylight)上使用Reader,您会发现整体体验得到了更好的优化,包括更好的黑白对比度和减少的动画效果。
-
⚡️ 更快的文档打开速度 — 除了EPUB的整体性能提升外,您现在会发现任何类型的文档在应用中的打开速度都显著加快。
-
🎧 音频回顾 — 您现在可以随时随地收听Readwise的每日回顾。这包括高质量的语音和自然的过渡效果,为您提供个性化的、类似播客的聆听体验,重温您读过的最佳想法。
-
🧠 AI主题回顾 — 您现在可以更轻松地在Readwise中创建主题回顾,只重新浮现与特定主题或兴趣相关的高亮内容。主题回顾是我们在Readwise中最受喜爱的功能之一,但以前需要大量精力来设置。现在有了大语言模型,不再如此!
-
📤 Craft导出集成 – 您现在可以将Readwise中的高亮内容导出到您空间中格式精美的Craft页面。Craft团队还慷慨地为Readwise用户提供终身50%的Craft折扣,请访问craft.do/readwise注册!
最近一次公测变为正式版里的更新项目里,最让我满意的是 YouTube 视频字幕优化。它可以让原本没有分段和标点的文字,加上标点和段落,并调整语序,对于我这种经常需要节选字幕的人来说,帮助很大。
这次公测的新功能里,我最期待的是与文档对话功能,如果好用的话,相当于是内置了谷歌的 NotebookLM 功能了。
如果你还没有尝试过 Reader,使用这个链接注册,可以免费试用两个月。
