2026-03-09 00:33:29
![]()
这是猫鱼周刊的第 95 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
又是一周,这周感觉做的自己的事情并不多,总体还是被工作消耗得比较厉害。首先是给之前做的 AI 文本生成检测 Aletheia 增加了一个新模型 DivEye,它的原理非常有意思,不需要针对新的大模型来做训练。另外就是尝试用本地的 qwen3.5-35b-a3b 模型写了一篇科幻短篇小说《2136 年,人类发明了超光速引擎》,效果出奇地好,整篇文章没什么 AI 味,逻辑、立意等都说得过去,足够我看得津津有味。
这周比较火的事情,就是腾讯举办了个活动,线下安装龙虾,吸引很多人参加,不少评论说是「一代人有一代人的鸡蛋要领」。当然了,这股「龙虾潮」其实已经持续一个多月了,我的信息流里铺天盖地都是关于龙虾的内容,甚至还有一些「同城上门装龙虾」、「龙虾一体机」之类的东西,更别提各路云厂商、AI 供应商、中转站借机大力营销。
倒是有些言论非常清醒,例如「连龙虾都不会装的人,怎么会用龙虾呢?」。这句话显得有些傲慢,但是安装龙虾这件事其实真的非常简单,只要你愿意折腾,最多花上几个小时就能解决。如果你连这几个小时都不愿意折腾,只是「人有我有」地想买个门票,那真的不见得有龙虾你就能做成什么事情。
不管是龙虾,抑或是其他被炒得很火的 Claude Code 等等,他们本质上都是工具,是你解决问题中的一环,它可以是万能钥匙,但前提是你有对应的问题要解决。或者按文章的话来说,「我到底有什么问题,值得交给 AI 去解决」,我觉得这才是大多数情况下要考虑的事情。
少数派的一个策划,邀请了一批嘉宾给苹果 2025 年的产品线、软件可靠性、硬件可靠性、服务、应用生态与开发者关系、社会责任与本地化这些维度去打分。
![]()
不出所料,硬件可靠性这一项得分很高,倒是不知道为啥软件可靠性有点拉跨。这其实是我买苹果最大的原因,抛开电池的因素,苹果的产品可以说是最「耐用」的,七八年前的 iPhone 8 Plus 如今居然还挺好用,同时期的安卓手机估计已经入土很久了吧。iPhone 的得分高也不奇怪,今年的标准版也可以说是牙膏挤爆,给了高刷,如果没有专业需求,性价比真的拉满(之前我都是为了高刷才买的 Pro);国补 5499 的 iPhone Air 其实性价比也非常高,那轻薄的手感是独一档的。
虽然但是,今年我还是没有换手机,手上还在用 15 Pro。最近几代还没有什么让我欲罢不能的更新,也许国行 AI 功能的缺席也是一个很重要的原因,15 Pro 买的时候就说 Ready For Apple Intelligence,让我还蛮激动的,结果一直没端出来,算是有点「诈骗」。
刚好前面说到 DivEye这种用来检测 AI 生成文本的方法,它的原理是用一个 LM(例如 GPT-2)去预测下一个 token,计算它与实际的文本的「惊喜程度」,例如文法和结构上的变化。很显然,人类的特点就是不稳定,缺乏完美,这也是「人性」之一。
正好想起一部电影 Bicentennial Man,里面有个情节就是男主机器人 Andrew 和女主 Portia 关于「人性」的讨论,这是对应的剪辑,它的对白是这样的:
- Take chances, make mistakes.
- Mistakes?
- Yes! Sometimes it's important not to be perfect, okay? It's important to do the wrong thing.
- Do the wrong thing?
- Yes!
- Why? Oh, I see-- to learn from your mistakes.
- No, to make them. To find out what's real and what's not. To find out what you feel. Human beings are terrible messes, Andrew.
- I'll grant you that. I see. This is what is known as an irrational conversation, isn't it?
- No, this is a human conversation. It's not about being rational. It's about following your heart.
人最大的特点就是会犯错、不完美、缺乏绝对理性,这是机器、AI 无法去实现的事情,他们的训练目标就是完美、尽可能少犯错。90 年代到千禧年左右有很多关于 AI 的电影,这部电影当时好像反响平平,但是现在 2026 年来看,确实立意很深远。
一款 macOS 工具,无缝迁移应用到外部存储并自动建立链接。感觉对 256 GB 的机型应该会很有用。
内网缓存工具,提前把 Steam 等平台的游戏下载到本地服务器上,然后通过 DNS 劫持、透明代理等实现本地传输加速下载。
想起这个是因为在 B 站刷到博主宣传绿联和腾讯最近推出的一个新功能,所谓“NAS+游戏”生态。值得一提的是,其实 macOS 上也有类似的功能,叫做内容缓存,设置的方法也很简单。这对厂商来说最大的作用就是节约了很多带宽,这在 B 端来说也是一笔不小的钱。如果将来家家户户都有一个小型的 home server(其实现在的光猫再强大一点就行),这也许是一个不错的方案。
一个脚本工具,配合前面的 LanCache,可以不依赖 Steam 客户端触发缓存。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2026-03-04 18:42:32
![]()
本文由
qwen/qwen3.5-35b-a3b编写。Prompt: 请你以“2136年,人类发明了超光速引擎”为开头,写一部科幻短篇小说
2136 年,人类发明了超光速引擎。
林远站在“信天翁号”的舰桥前,透过强化玻璃凝视着那台被层层光盾包裹的核心引擎。它不像传统推进器那样喷吐火焰或离子流,它更像是一个静止的、深邃的黑洞,周围的空间因为极度的扭曲而呈现出一种破碎的水波纹质感。
“林博士,同步率 99.8%。”副手的声音有些发颤,“这是第一次载人超光速跳跃,目的地:比邻星 b。”
林远点了点头,喉咙干涩:“启动‘折叠’程序。”
并没有预想中的剧烈震动或失重感。引擎启动的瞬间,世界仿佛被一只无形的手轻轻抹去了一笔。窗外的星光不再是流动的光带,而是瞬间熄灭,随后在视野边缘重新点亮,但位置已经发生了不可逆的偏折。那种感觉就像是你闭着眼走了一公里路,睁眼时却发现自己站在了终点,而时间只过去了一秒。
“跳跃完成。”系统冰冷的声音响起,“已抵达比邻星 b 轨道。”
林远深吸一口气,看向舷窗外。那颗红色的恒星在视野中显得巨大而狰狞,行星表面覆盖着灰蓝色的大气层,那是他们梦寐以求的家园。但在那一瞬间,林远的目光越过行星,投向了身后的深空——那里是地球的方向。
按照物理法则,超光速引擎虽然能跨越空间距离,却无法逆转光年的信息延迟。也就是说,此刻地球上的人应该还在等待四年后的第一缕信号。
然而,通讯终端突然亮起,不是来自比邻星 b 的自动回传,而是来自地球基地。
“这里是地球控制中心。”一个熟悉的声音响起,那是林远自己的导师,老陈,“林远,你收到了吗?”
林远愣住了:“老陈?这不可能。光从地球传到我们这里需要四年,你的信号怎么可能现在过来?”
“不是现在。”耳机里传来一阵刺耳的电流杂音,声音变得断断续续且沉重,“是……过去。林远,当你启动引擎的那一刻,你并没有带走时间,而是透支了未来。”
“什么意思?”
飞船突然剧烈震动起来,不再是机械故障,而是空间本身的震颤。舷窗外的比邻星 b 开始扭曲,像是一幅被水浸湿的油画。
“超光速引擎的原理不是‘移动’,”老陈的声音在背景中逐渐清晰,却带着绝望,“是‘置换’。为了让你瞬间抵达,宇宙将这段距离从所有观测者的时间线里抹去了。但代价是,你的存在本身开始产生因果悖论。”
林远冲向控制台,调出时空坐标数据。屏幕上的红色警告让他血液冻结:他们所在的飞船在四维空间中的轨迹是一个闭环。他们在 2136 年出发,瞬间抵达比邻星,但在时间轴上,他们同时出现在了起点和终点。
“你看到了什么?”老陈问。
“我看到了……"林远咽了口唾沫,“我看到了地球。”
在他面前的屏幕上,有一段实时视频流。画面里是地球的发射台,那是 2136 年的此刻。但他看到的不是正在忙碌的工程师,而是已经空无一人的废墟。巨大的城市裂痕像伤疤一样横亘在地表,天空灰暗,没有生命迹象。
“这是怎么回事?”林远声音嘶哑,“这不是未来的画面吗?如果是未来,那距离我们出发还有多少年?”
“不是未来。”老陈的声音突然变得异常平静,仿佛已经接受了某种结局,“那是‘过去’的投影。当你离开地球的那一刻,引擎不仅折叠了空间,也切断了因果链。对于比邻星 b 上的观测者来说,你们已经抵达;但对于地球来说……"
林远猛地转头看向舷窗后方那片深邃的黑暗。那里原本应该是地球所在的方向,此刻却是一片虚无的白光。
“对于地球来说,‘信天翁号’从未起飞过。”老陈说,“因为超光速引擎启动的瞬间,那段时空被折叠并消耗了。你们在物理上越过了光年,但在因果律上,你们切断了与起源的联系。”
飞船开始发出悲鸣般的低频震动。空间结构正在崩塌,因为两个时间点的“林远”和“比邻星上的林远”产生了重叠效应。
“我们还能回去吗?”林远问。
“回不去任何地方了。”老陈的声音里带着一丝释然,“超光速引擎不是通往新世界的钥匙,它是墓碑的刻刀。每使用一次,人类与地球的时间锚点就断裂一分。你们现在是宇宙中的幽灵,行走在没有过去的时空里。”
林远沉默了许久。他看着屏幕上那灰暗的地球废墟影像,那是他们为了逃避毁灭而选择逃离的家园,却也是他们永远无法再触碰的彼岸。
“记录日志。”林远最终说道,“告诉地球……如果我们真的能回来,请别等我们。如果你们看到飞船凭空出现又消失,那意味着引擎已经吞噬了那个时间线。”
他转过身,看向窗外那片正在逐渐凝固成纯白的星空。在超光速的视野里,星星不再是遥远的火种,而是无数破碎的时间碎片。
“人类发明了超越速度的翅膀,”林远轻声说,“却忘了我们依然需要重力来站稳脚跟。”
通讯在这一刻彻底中断。比邻星 b 的大气层开始消散,取而代之的是纯粹的、无声的白光。
2136 年,人类发明了超光速引擎。
2026-03-02 00:14:31
![]()
这是猫鱼周刊的第 94 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
![]()
新年好!在这里给大家拜一个晚年,祝大家在这一年里万事胜意,心想事成。今年年初一广州依然放了烟花,灿烂的烟花点亮了整个白鹅潭,真的非常震撼。
回到周刊上,没想到离上一次更新已经整整一个月了,最近没怎么碰到特别有意思的事情,所以不是特别想写。最近似乎有点 burnout,对很多事情都有点提不上兴趣,我在后面细说。
最近也做了不少东西,包括一个可以帮你把文件保存到本地的 tg bot hamster-tg,以及一个能鉴别 AI 生成文本的 API 和浏览器插件 Aletheia,包括 Glean 也更新了对 OIDC 的支持,以及对 pgvector 作为向量存储后端的支持等等。年前还写了一篇 TIL 文章 带 Mermaid 的 Markdown 转 docx,如果你有时候不得不写 Word 文档,还需要画图,这也许能帮到你。
好消息,今年的 F1 将会在下周末拉开序幕。自从去年入坑 F1 以来,这个赛事真的给我带来很多快乐,周末的排位和正赛自然很精彩,周中还有各种周边的节目、精彩集锦可以看。今年是新规的第一年,据说是最大的变革,大家都说是「最值得入坑的一年」(其实每年都是啦)。
另外一个很有意思的点是,这个视频用的背景音乐是 Queen 的 《Another One Bites The Dust》,去年的视频也用的同一首歌,我记得非常清楚,我在跑步机上跟着这首歌的鼓点走了很久,而且走得很舒服,步频很适中。
作者应该是大一的学生,跟前端同学合作开发了一个招新系统。文章让我回忆起当时大一的时候也是参加社团,然后跟不同的前端、设计、产品组队,磕磕绊绊地也做过不少作品。
作者提到,他们在过程中使用了不少 AI 来辅助他们的过程。这正是我觉得比较值得讨论的地方:在编程的入门阶段,应该如何使用 AI?
首先我先指出一些 AI 在入门阶段比较积极的地方:可以帮助新手解决一些很简单的错误,可以作为「很耐心的师兄师姐」去帮你排查代码中的问题,不至于被一个小 bug 卡一天,甚至被挫败到退坑;另外 AI 也可以大幅减少编码需要的时间,减少过程中查文档、踩坑的时间,一定程度上可以加速学习的过程。
但正像所有高考作文一样,这里都会有一个「但是」,那就是我觉得这样会导致基础非常空虚,只会「用 AI 写代码」而并非真的会「写代码」。「写代码」不只是简单的写出实际可运行的代码,还包括理解需求、查阅文档、设计方案、debug 等等过程,这些还真的要实际做过才能掌握一些技巧,或者通过踩坑才能得到的一些惨痛经验。提供给 AI 的上下文永远是欠缺准确的,它可能会给出一个过度设计或者过度简化的系统,如果你没有对应的设计经验,它给出的方案永远是讨喜的,你没法作出明智的决定。再退一步讲,AI 写的代码也是需要 review 的,你的能力至少也要能 review 出它可能存在的问题。
在现在这个阶段,如果你是刚入门,我建议还是该看文档看文档、该手写手写,这是不可逃课的基本功,包括学校课堂上听起来跟你实际写代码没什么关系的组成原理、操作系统、编译原理等等,这些到后面都会对你的职业生涯有很大的帮助。至于 AI 的使用,它可以帮助你解决你遇到的问题,你可以把它作为一个随时在线的答疑和求助对象,但没必要完全把编码、debug 这些都交给它。
当然,作为卡在「手工古法编程」和 「AI 时代」的我,我的意见听起来就像我自己吃过的苦不甘心别人不用再吃。也许不久的将来,模型的能力已经强到不再需要人给 AI review 和提意见,以后的新一代程序员只需要「用 AI」而不是「写代码」。但在那之前,还是脚踏实地学吧!
除了最近更新频率很低以外,最近经常觉得很多内容没什么意思,有很多事情也提不起兴趣做了。我记得大半年前我就提到过这个问题,那时候我觉得是对工作投入太多了,消耗了太多的精力。但是近半年其实我已经没怎么加班,每天都是到点就走,工作的内容也改变了一些,而这种感觉还是没什么改变。
兴趣爱好方面,最近也很少带相机出门拍照,一卷胶卷几个月都没有拍完。一个很核心的原因是,深圳内能拍照的地方基本上都去遍了,隔壁的香港我也逛得差不多了,实在是没有什么新鲜感。技术上嘛倒是折腾了不少东西,但是获得的新鲜感或者成就感都不多。有了 AI 之后,很多东西很轻松就能实现,感觉如果不是获得了别人的肯定或者经济收益,做起来就挺没意思。就算是做出来能满足自己的某些需求,经常也发现自己做的始终没有很好,或者其实这个东西到最后也没什么用(不然早就有人做了)。
当然了,我也有在尝试改善这个情况。例如我已经报了名学车,希望到时候周末可以开车出去多走走,「买个改变」。如果你有类似的经历,或者有什么好的意见,欢迎交流。
上一期我就说过 AI 泡沫的事情,现在网上很多文章把 AI 渲染得无所不能,制造很多焦虑,例如「你不用 AI 就落后了」、「AI 将要取代 xx 岗位」等等。之前我就介绍过一篇文章AI 可能不会改变许多工作,说明 AI 其实对整体就业冲击没有很大,还有非常多的工作根本不需要 AI,更太可能会被 AI 取代。
程序员受 AI 的冲击挺大,但是暂时还不是决定性的,还是很难被「取代」。正好春节回家的时候,我爸问我,「有 AI 编程之后工作有什么变化?是不是工作轻松很多?」。我当时的回答是,是轻松一点,但是极其有限。程序员的工作其实分为两个部分,一是大家熟知的写代码、做需求,另一部分是维护系统、修 bug、跟各种人沟通、开会等等,AI 能提升前一部分的效率,但是后一部分的效率一直都很低,而且 AI 没法帮到你,最耗神甚至说折磨的其实正是这部分。
另一个事实是,虽然现在到处在鼓吹 AI,但实际的占有率还是很低。公司最近搞了个小调查,研发部门的同事里,其实只有不到一半在付费使用各种 AI 工具,使用 Trae 居多,其次是 Claude Code、Cursor、Copilot 等。很少有人像我这样重度使用,每个月消耗上百刀订阅几个工具,「手工古法编程」仍然是主流。而且测试、运维等岗位的使用率很低,几乎没人在使用。虽然你能看到很多大公司开始大量转向 AI 编程,例如 Stripe 的实践就大量使用完全 AI 编写、由人 review 的代码,这种实践从国外前卫的公司传播到国内再普及,我觉得至少还需要几年的时间。
一个 tg Bot,功能非常简单,只要把图片/视频转发给它,就能帮你批量保存到本地,并且支持了一个 /newfolder 命令可以切换存储的路径。非常适合「保存资源」。
一个鉴别 AI 生成文本的 API 和浏览器插件,Aletheia 是希腊语中「真相/去蔽」的意思。
开始这个项目是因为正好刷到歸藏的周刊里 Wiki Education 使用了一款叫 Pangram 的软件来检测是否有 AI 生成的文本,考虑到 Glean 也可以把「是否使用 AI 生成」作为过滤的条件,我决定探索一下有什么合适的方案。国内有不少云服务厂商提供的内容安全功能支持了 AI 生成的检测,试了一下效果还不错,但是成本相对比较高(0.05 元/次)。在调研了一下之后发现,其实微调过的 BERT 类模型就能获得不错的效果,这就很适合自建,因为其需要的内存其实不多,推理速度也比较快。于是在网上找了一个模型,并且简单糊了一层 API,集成了语言检测、长文检测等功能,并且做了一个浏览器插件,可以获取文章类网页的正文,并且进行检测,效果如下。
![]()
![]()
用了我自己的两篇文章做实验,一篇是完全手写的,一篇是有部分使用 AI 来写的,识别准确率不错。在深入使用了几天之后,发现一些问题,这个模型对中文的检测效果还不错,但是英语以及其他语言很大概率会被判断成 AI。另外,它的实现方式注定当市面上的大模型更新之后,如果不重新获得语料来训练,准确率就会降低。再另外,如果文章是人写混了一些 AI,也不好检测。所以这个工具是「不怎么好用」的。
苹果居然在 M 系列芯片上藏了加速度传感器和陀螺仪,作者写了个 demo 来获取它的数据,并且可以用来检测心跳。
一个可以查询订阅用量并且做统计的 dashboard,提供 API 服务。一直希望把 Usage 用 Quote/0 展示出来,刚好找到这个可以对外提供 API 的。它的实现是使用 Claude 的 OAuth 接口来查询,比别的要靠谱一点。另外,好像最近的 TOS 更新说不能用第三方工具 OAuth,这个只查询用量不消耗 token,有点风险,但是应该还好。
![]()
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2026-02-12 09:35:56
![]()
一般来说,LLM 都只能生成纯文本,如果要格式,一般只能 Markdown,并不能直接编辑 Word 文档(当然有一些 MCP 服务可以实现,没体验过)。另一方面,要让 LLM 来画图,在不使用 MCP 的情况下,也只有 Mermaid 能画。
本文主要提出一种 「LLM 原生」、带 Mermaid 的 Markdown 转换成 Word 文档(docx)的方法,适用于软著之类很适合用 AI 去编写的文档。
第一步当然是用任意 AI 去给你生成一份带 Mermaid 的 Markdown 文档,直接在 prompt 里面要求它用 Mermaid 来画流程图/架构图之类就行。这时候你会得到一份原始的 Markdown 文档,里面的 Mermaid 是纯文本,还不是图片。
第二步用 mermaid-cli 把文档里面的 Mermaid 片段全部找出来,渲染成图片,然后把片段替换成图片引用。一条命令就能搞定:
npx -p @mermaid-js/mermaid-cli mmdc -i doc.md -o doc_mermaid.md -e png
这里如果不加
-e png会默认生成 svg 格式,理论上更好,只是不知道为什么在 Word 里展示异常。
最后就是去生成 Word 文档,也有对应的工具。
pandoc doc_mermaid.md -o doc.docx --toc --toc-depth=3
--toc 会在文件前面生成一个目录,按需使用即可。
GitHub - GongRzhe/Office-Word-MCP-Server
GitHub - mermaid-js/mermaid-cli
Pandoc
2026-02-01 19:37:05
![]()
这是猫鱼周刊的第 93 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
好久不见,又是一期间隔了两个星期的周刊。最近没有什么特别多有意思的内容,互联网上充斥着各种 AI 泡沫,干脆 detox 一下,给大脑放放假。
作者分析了自己两个网站的流量,发现数字花园的流量增长比个人博客快,个人博客访问量高的是技术类型的文章,而数字花园都是解决问题型或者知识点相关的文章,且搜索引擎贡献了绝大多数流量的来源。
他的理解也很中肯:
我们需要明确清楚咱们写的内容到底是什么,如果你想要流量,那么就必须去写针对性你目标用户的文章,且这些文章蕴含的知识点能或多或少帮助到他们,在这一基础上做好稳定更新,我相信站点流量自然会稳步增长。
而个人博客,我完全把他当作自己在互联网上映射的个人小岛,博友们可以通过超链接这一互联网小船来到我的小岛,感受我的生活的小确幸、虽但迟,通过像是书信一般的留言和我交流。
我也拉了一下我的 umami 的数据,统计时间从 21 年左右开始,差不多是我大四的时候,一直到现在。
![]()
全年流量来说,24 年做得很好,25 年虽然看起来是下滑了,但其实因为去年有一个多月时间因为养病完全没更新,周刊也停过一段时间,加上 24 年有一篇文章因为被阮一峰的周刊推荐过带来了很多流量,所以感觉从读者关注、影响力来说,25 年其实是有增长的。24 年是我认真开始做到博客周更的一年(主要就是写周刊,偶尔发一些小文章),能取得这个成绩,印证了那一句:先开始写吧。
![]()
从文章总体的阅读来说,排名最前的是被阮一峰的周刊推荐过的联手 Copilot,我在 10 个小时内上线了一个前端网站,然后是这些:
从来源来说,很大一部分是来源于搜索引擎,也有一部分来自于一些资讯聚合网站,例如 VXNA、老胡做的 fre123、不死鸟等等;当然了,我估计还有很多 RSS 的阅读没有被统计到,印象中 Folo 里我也有不少的阅读量,这些应该是没办法在 umami 里准确统计的;另外,由于周刊还在公众号、Quail 这些平台发布,所以周刊的流量在这里也没有完全体现。
如果要我总结一下写博客这几年的经验,大概可以说:
以前每周周刊发完之后我时不时都会点开看看流量怎么样,近一年来我不怎么看 umami 的统计了,进入了一种比较「佛系」的状态。心态的转变主要还是想清楚自己想从写博客这件事上得到什么,经济收入这个我是指望不上了,主要就是图一个自由分享表达的口子,以及希望写的文章也许能帮助到别人。
飞牛最近爆出来一个很严重的漏洞,可以在未授权的情况下可以访问整个 NAS 全部文件,包括系统的配置文件,官方直到今天(2.1)才发出来一个通告,通知用户更新。另外,在官方论坛、社区中,针对此 0day 的后遗症全部以其他技术问题作为掩饰,而且也未针对受影响的版本关闭官方提供的 fn connect 功能。
我不是飞牛的用户,不过多声讨这家公司。不第一时间通告用户,以及不积极采取措施阻断攻击路径,这跟主流厂商的差距还是很大。最近飞牛非常火爆,甚至还联合一些硬件厂商推出了成品 NAS 产品,价格非常有竞争力,但是我还是推荐各位购买成熟有商业产品线的产品,例如群晖和威联通,不要为了一点钱把自己最重要的数据托付给不可靠的机器。
另一方面,我觉得需要口诛笔伐的其实是国内的软件工程行业。国内程序员一般很推崇「能用就行」,对性能、安全这些问题一般是忽视的,也许因为工期很赶没办法太多顾及,也许因为这些做不做都不影响赚钱,更有可能是一般程序员完全不知道怎么做安全的事情(不信问问你身边的同事能不能说清楚公私钥),公司也没有专门的安全团队来做对应的事情(again,不影响赚钱),有很多流程流于表面(例如所谓的一些安全检测报告)。甚至还有一种情况,程序员开发的时候会为了调试方便留一些后门,或者多展示一些错误信息之类,到了生产环境有意无意没有去掉。总而言之,这个世界其实非常草台班子。
最近给 Glean 做了 MCP 服务,可以实现以下的效果:
![]()
又或者:
![]()
原本我还很头疼怎么在里面集成一些 AI 的功能,直到有人在 issues 提出能否支持一下 MCP,我才发现这是最方便跟 AI 集成的方式。有了 MCP,你可以让 AI 给你总结一下最近一天或者一周的新消息,或者针对某篇文章总结、聊天等等,而我不需要另外再在 Glean 里面做一套多余的 AI 聊天,用户使用自己喜欢的聊天客户端即可。这可能是 Glean 短时间内唯一的 「AI」功能了。
现在很多人鼓吹 Vibe Coding,也有不少人做了一些所谓「作品」。但是他们作为项目主理人对产品的体验、功能、外观等都没什么把控,最明显的就是留着蓝紫色主题不改、交互过于简单、样式瑕疵非常多,一看就是纯 AI 的作品,人没有过多的介入,就像那种用 AI 写完直接发的垃圾文章。
我觉得这个问题没什么好辩解,什么「非技术」、「不会前端」都不是合理的理由,因为但凡你对这些问题上点心,截图交给 AI 很快就能解决。Glean 完全是由 AI vibe 出来的,我亲手编辑的代码几乎为 0,但是我花了很多时间和 token 去统一界面的设计风格,给交互做动画等等,更别提修复一些样式的瑕疵。所以我特别反感看到这类 AI 垃圾,如果连一些很明显的瑕疵都不愿意花一点时间和 token 去修复,怎么可能做得出好的产品?
开头提到,最近更新频率降了,因为网上 AI 的泡沫太多了,大家都在疯狂讨论、折腾什么 Skills、Clawdbot/Moltbot/OpenClaw,没什么人去创作一些有独特性的内容了。
雪国列车里面有个设定是尾车的人吃的食物是蟑螂做成的蛋白条,而头车的人吃的却是真实的肉现做的菜。我觉得现在互联网上的内容逐渐有这个趋势,越来越多的信息是蟑螂蛋白条,貌似有点营养实则索然无味,但是产量极大,并且很多人都是在消费这些内容;真正创作有意义的内容的人和消费这些内容的人则越来越少,创作没什么收益,消费这些内容也需要付出时间精力。
我之前有段时间 FOMO 有点严重,总觉得自己错过了很多新东西,没时间折腾。现在我可以很大方说,我没有部署 ClawdBot/Moltbot/OpenClaw,没有用过 Claude 新出的 Cowork,也没去折腾什么 Skills, 如果它不能帮助我解决我眼前的某个问题,对我没有太多意义,那它就是无关紧要的泡沫,是鸠撚但(由它去吧)。
Anthropic 的一道技术面试题,就是给定一个具体的技术问题,以及比较宽松的时间,考察候选人的问题解决能力。他们发现 Claude Opus 4.5 仅花了两个小时就达到了比人类更好的结果。如果你能获得比 Claude Opus 4.5 更好的结果,可以把代码和简历发给他们。
我把代码拉下来看了一下,是一道编译器优化的问题,会考察到 VLIW/SIMD 架构、指令级并行、内存层次结构等。直接用 Claude Sonnet 4.5 它已经能给出一些基础的优化建议,不过有一些并没有跑通,这个问题远超出我的水平,所以就没有继续尝试了。
![]()
一个能把 diff 渲染成简单网页文件的工具,适合在没有 git 之类的基础设施时临时把变更导出来分享给别人看。
名字叫肉包,是豆包手机助手的开源复刻版本,不依赖特定的硬件,任何安卓手机都可以使用。
给 AI Ageng 做的社交媒体,等于是 AI 的 Reddit/贴吧。2077 里的流窜 AI 正式成为现实,你在互联网上碰到的「用户」不一定是真实的人,还可能是 AI,而且 AI 之间甚至可以交流、合作甚至相互陷害(例如下面这个 AI 回复了一个假的 API key 并且尝试诱骗发帖的 AI 执行 sudo rm -rf /)。
![]()
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。
2026-01-18 21:09:56
![]()
这是猫鱼周刊的第 86 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在
博客:阿猫的博客-猫鱼周刊
RSS:猫鱼周刊
邮件订阅:猫鱼周刊
微信公众号:猫兄的和谐号列车
迟来的新年快乐!这是猫鱼周刊 2026 年的第一期,先祝各位新的一年里万事如意。
![]()
如上期所说,元旦假期去了贵州玩,照片摄于荔波小七孔景区。虽然是枯水期,有些景点关闭了,但是主要的景点基本都可以游览,而且景色也不错。因为以前去过九寨沟了,这里的水倒没有特别惊艳,都是清得可以看见底下的水草,不过这边的水基本都是 Tiffany 蓝的颜色,大一点的湖面上还会飘荡着一层若有若无的雾气。
本来上周就应该发这期周刊,但是周末感觉实在太累了,还是决定歇一下。这段时间还是做了不少事,折腾了一下 Miloco(PVE 使用 LXC 部署 Miloco)、更换了新出的领谱人体存在传感器 ES5 以及给 Glean 做了 Electron 和 PWA 适配并且完成了官网的上线和备案等等。
关于重构这件事非常有文学色彩的描述,讲述了接手项目、简单维护、做新需求、决定重构、重构翻车、草草收场、铸造新的屎山这个过程。
分享几个我对于「重构」的经验,分别来自于我职业生涯的几个阶段。第一次接触「重构」,还是在大二大三的时候,当时我接手了当时学校里一个比较大的项目,全校几万师生在使用,某个活动签到时,最多会有几千人同时在使用。最初的版本是用 PHP 实现的,经常在大规模活动中崩溃,需要手动重启服务器才能解决。接手维护一段时间之后,我决定用 Java 重构整个项目,正好也带领社团从 PHP 的技术栈过渡到 Java。一点题外话,虽然我现在很讨厌 Java,但回头看这仍然是一个更好的选择,当时的就业环境还没有现在这样差,但是 PHP 的落后和颓势已经很明显;当然,如果现在再让我选,肯定是转 Go。这次重构确实达成了目标,通过把图片资源转移到 CDN 以及从 PHP 迁移到 Java 得到的性能提升,之后的大规模活动中再也没有出现卡死的情况,也不需要开发每次有活动都盯着服务器监控了。这次重构算是很「愣头青」,基本上就是拿 Java 把原来 PHP 的项目重新写了一遍,其实有很多历史遗留的设计问题都没有去改进,不过的确解决了并发的性能问题,所以这个项目在后面校招的时候是一个不错的谈资。
第二次接触「重构」是实习的时候,当时的团队也是在对原来的一个 PHP 项目重构到 Go。这个重构跟我之前做的差不多,也是用新的语言把旧的服务差不多重写一遍,唯一的区别是流程相对更加严谨一点,例如功能和 API 是逐步迁移的,也有做单元测试,同时也会有测试团队来对系统做相对全面的测试。这里的「逐步迁移」指的是新的系统在搭好基础设施之后,新功能会在新系统上实现,新旧系统同时运行,旧功能迁移之后测试通过再切换至新系统的接口。我没法评价这个重构做得好坏,只是老的系统实际上还有一些遗留至今没有迁移完,因为「业务价值」不足以支撑支出人力去做迁移。
再后面,又在工作中接手过不少项目,基本上每一个都会被我喷「写得太烂」,然后闲下来的时候 leader 就会问我有没有想法重构一下。但其实我很少再去做整个项目的重构,更多是在做某个需求的时候,根据我对业务的了解,对某个原来写的特别差的地方做小规模的重构。对于重构这件事,我的理解是:
我一直反对 「AI 颠覆论」,之前也反复提过,营造焦虑只是一些培训班用来卖课的技巧。这篇文章提供了一个很新鲜的视角,从「劳动数字化程度」的角度来考虑 AI 对于就业岗位的冲击,例如:
在中国,每 10 个劳动者中,约有 4 个人(32.15% 至 39%)从事的工作,其核心流程完全不需要计算机、平板或智能手机的操作。
截至 2025 年,全球约有 58.6% 的劳动者,在工作中完全不需要计算机操作。
这些岗位并不会被 AI 取代,因为「他们仍以物理世界的“原子”为主要操作对象」,除非人形机器人迅速普及,否则难以影响他们的工作。当然,AI 更多影响的其实是例如软件工程师这种完全通过数字化方式完成工作的人。
最近 Claude 推出了 cowork 功能,可以视为是 Claude Code 功能应用到日常工作生活场景,从对代码文件的处理变成对常用办公格式的处理。另外你看大多数大模型厂商大头的业务除了面向 B 端卖 API,C 端的业务除了卖 coding plan 和做 chatbot,基本没有别的形式。所以其实真正大规模在日常使用 AI 的职业基本只有程序员,甚至只是一小部分程序员,因为还有一部分公司出于「数据安全」的考虑不允许使用,也有一部分程序员认为 AI 会影响他们的编程的技能而坚持「古法手工编程」。
当然,AI 的普及是必然的趋势,只是它并不是颠覆性的,会一点点去改善我们工作乃至日常生活,而且这个影响早就已经开始了。后面关于水银体温计的纪录片里就能看到,一个从上世纪八九十年代开始,厂房和设备非常破旧的厂家,都使用了 CV 的技术来做良品检测。
一部关于水银体温计的纪录片。由于《关于汞的水俣公约》 ,我国自 2026 年 1 月 1 日起,禁止生产含汞体温计和含汞血压计,这部纪录片去洪江正兴医疗仪表厂进行了拍摄,对一些主要的工序都进行了介绍,有不少影像资料。
上面提到的,这家厂从上世纪八九十年代开始做,厂房和设备其实都很老旧,而且不少工序都是手工完成的。
![]()
但是在这样的条件下,居然有的工序是引进了 CV 的技术去做良品检测,跟后面泛黄的老报纸一对比,实在很大的反差。
![]()
我记得 10 年左右的时候,正是电子血压计逐渐成为主流的时候,那时候价格比较高,也有很多言论说手动的比较准,医生诊室里也会有一个手动的血压计。然而到现在几乎都见不到手动的血压计了,无论是专业还是市场,都很好地接受了电子血压计,想必除了汞公约的原因,准确性应该也是得到了验证。当然,好像目前医院做准确的测量还在使用水银体温计,不确定是什么原因。
翻了翻家里的药箱,已经没有最原始的三角棱型的水银体温计了,那种读数真的很难,要对着光在一定的角度才能读出来;倒是有一支后来型号的,在视频中也有提到,不用在玻璃上印字,只需要在玻璃管后面贴一张卡片,这种读数方便很多,但是在发烧头晕晕的时候还是比较麻烦。另外还有两支电子体温计,一支是国产品牌的,之前某次发烧的时候不知道怎么弄坏了,一直显示 Err;另外一支是欧姆龙的,这个是很多医院都在使用的品牌,印象中会比国产品牌稍贵一点。
![]()
外观上对比,欧姆龙的使用了一体式的外壳,不容易丢,取用也方便;国产的使用了一个分体的壳,做工稍差。机身来说,欧姆龙除了尖端是金属,整体是一体的,而国产品牌的机身上有很多接缝。
![]()
两个产品都做了可更换电池的设计,国产品牌采用的是在后面开盖的方式,这也是它坏掉的原因,整块电路板被我扯出来了,前面温度探头的线断了,电池也不好拿出来。而欧姆龙做了一个电池仓的设计,甚至有防水的胶圈,做工整体优质很多。我觉得体温计这种东西就很需要傻瓜式设计和防呆设计,不只是在功能上,在产品机身、甚至外壳的设计上也要做到傻瓜式和防呆,因为你的用户很可能是老人或者儿童,又或者是发高烧神智不清的人,多一个步骤,多一个可能出故障的点,都会是致命的。
其实 Miloco 完整的体验可以看文章里的使用体验部分,这里就简单总结一下。
之前使用的领谱人体存在传感器经常出现误判的功能,我原本期望 Miloco 能通过基于视觉的方案,实现更精准的判断。实际体验中,Miloco 的反应特别慢,不知道是推理的延迟,还是触发推理的逻辑就有问题,体验远不如人在传感器;在人在传感器无法实现的场景(例如「有人躺在床上」这种语义化的判断),除了上面提到的反应慢,规则之间还会相互打架,例如我在床上盖着被子,一时会被识别为「有人在床上」,一时又会被识别为「没有人在家」,似乎 AI 不太能处理好「人盖着被子」这个场景。
我觉得 Miloco 一个非常大的亮点就是把智能家居的门槛降低了,一句话就能创建对应的规则;另一点就是它是「纯视觉方案」,不再需要依赖传感器,也能更加动态处理事件,例如有人跌倒之类的检测。我觉得再打磨一下,可能会加入到米家,后续也可能推出类似智能网关中枢这样自带 AI 算力的 Miloco 中枢网关。
然后就是之前众筹购买的领谱人体存在传感器 ES5 ,众筹的价格是 ¥59,之前购买的初代人体存在传感器价格是 ¥79,新版增加了一个红外的传感器,用于辅助判断,排除干扰;另外也支持了太阳能板/电池供电,但我都是室内使用,就没有买这个版本。最大的体验是,传感器的灵敏度设置、排除干扰现在是傻瓜式、自动化的,只要直连传感器,人离开房间,然后校准就行了。实测校准之后效果非常好,NAS 硬盘的干扰、睡觉这些 case 都能很好处理。我主要的用途是绑定空调、空气净化器这些电器,回家和出门的时候再也不用手动去操作,也不用担心出门忘记关空调了,体验提升非常明显。
Glean 在最近的更新中,着重优化了 PWA 的体验。PWA 能达到的效果,有点动摇了我「原生优先」的刻板印象。在一系列的交互、动画优化之后,其实 PWA 也能做到很流畅的动画,开发的成本也相对比较低(相对于完全重写一遍原生的逻辑,PWA 开发只用针对移动端页面做一下布局的优化)。
之前一直觉得原生相对流畅很多,很多时候其实是动画的调试问题,如果界面完全没有做动画,看起来就是卡卡的。有针对性地做了缓动动画之后,其实 web 也能做到很流畅的效果。原生只是如果你使用了对应的组件,会有默认的动画罢了。
另外,Glean 的官网 https://gleanapp.cn 最近也通过了备案等手续,成功上线,欢迎大家来看看。
是的,你没看错,麦当劳真的做了个 MCP 平台,目前有优惠活动和领券的功能,后面应该是要打通订餐的功能。
![]()
我觉得这算是麦当劳作为大公司一个很有前瞻性的决定。以后 AI 可能会成为更多人互联网的入口,比起之前豆包手机通过截图操作的方式,提供 MCP 是更加 AI 友好的方式。我在 vol. 72 提过:
我觉得它会是通用人工智能的「最后一公里」。又过去一段时间,国内支持了 MCP 的日常服务还是不是很多,至少还没有很现象级的 MCP 服务出现。这其实是很多服务的架构决定的,如果一个服务它本身就没有「开放平台」,那它出现 MCP 服务的可能性也很小了。
之前豆包手机受到国内很多大平台封禁、抵制,可以看出来很多国内大厂对于「开放」还是很保守,毕竟 App 作为他们的唯一入口,很容易打造信息差,而信息差就约等于赚钱。提供 MCP 之后,各种数据都可以被瞬时上下文比人类大得多的 AI 处理,信息差很难藏得住。
本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡)
另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。