肇鑫的日常博客

肇鑫 / Owen Zhao

独立开发者,主要开发 iOS、watchOS、macOS 应用。

目前在维护 SleepTap、Rooster Time,以及 Markdown Writer 相关工具。

最新文章

Mac远程桌面登录,账户始终无法直接登录问题的解决

技术

我经常用 Mac 的“屏幕共享”连接另一台 Mac mini。以前点一下就能进去,最近却不行了。每次连接都会先弹出一个窗口,说远端的 zhaoxin 正在使用显示器,让我选择“请求许可查看显示器”,或者“以 aiUser 身份登录”。默认选中的是请求许可。点连接以后,就一直转圈。

这就很奇怪。两台电脑上我用的都是 zhaoxin,为什么连接自己的电脑,还要等对面有人批准?Mac mini 又不一定有人坐在前面,等下去也不会有人点“允许”。我只能点 Back,重新输入 zhaoxin 的密码,才能进去。进去之后,还需要再次输入一遍密码才能进入桌面。

我一开始怀疑,是 Finder 把文件共享的登录身份搞混了。Finder 那边显示的是我的 Apple Account 邮箱,可是“屏幕共享”的连接详情里,用户名明明写着 zhaoxin。后来我又去看两台电脑的用户列表:本机没有 aiUser,远端 Mac mini 上却有。更有意思的是,选“以 aiUser 身份登录”居然也能进去。也就是说,aiUser 不是一个凭空冒出来的用户名,真正进不去的只有默认那个“请求许可”。

我又检查了远端的屏幕共享设置。允许访问的用户里有 zhaoxin,所以权限本身没问题。试过在输入密码时勾选“记住密码”,下一次仍然要输入。之前我还以为这只是密码没有保存好,现在看起来,事情没那么简单。

最后,我在 Mac mini 上删除了不再需要的 aiUser。删除之前发现,这个账户还开着“查找我的 Mac”。我先把相关功能关掉,再删除账户。结果重新连接时,那个让我选择“请求许可”或 aiUser 的窗口消失了,系统直接让我输入 zhaoxin 的密码。这次勾选“记住密码”后,再连接就直接进入,连密码也不用输了。故障排除。

总结

我怀疑 aiUser 开启“查找我的 Mac”后,在系统里有了某种更高的关联地位,影响了屏幕共享默认选择的连接方式。不过我同时关闭了“查找”并删除了账户,没有单独测试哪一步起了作用,所以不能把这个推测当成确定的原因。能够确定的是:远端多出这个账户时,屏幕共享总把我带到一个无法完成的请求许可流程;清理掉它之后,zhaoxin 的直接登录和记住密码都恢复了正常。

ChatGPT防慢指南

技术

经常有人说ChatGPT很慢,即便是提速了之后还是慢。我看到有人发的测试图,然后自己也测试一下,发现我这次测出来的速度并不慢。刚刚,我遇到了Reconnection 5/5的问题

stream disconnected before completion: IO error: Broken pipe (os error 32)

以往我就是等它继续了。但是今天我突发奇想,新建一个对话,然后让Codex分析,这次故障的原因。Codex分析说,这个对话原本使用的是WebSockets,然后再5次重试之后,换成了http的访问方式。但是在我这里,http的访问是很慢的。因此,我担心一旦回退到http的方式,之后的对话都会继续使用http。

我使用了多种方式进行测试。首先是新建一个对话,然后让Codex分析,Codex说这个新对话还是使用的WebSockets,然后我继续刚刚出错的对话,Codex说这个继续使用了http。于是我退出Codex,重新开,然后继续刚刚出错的那个对话。结果那个对话虽然一开始恢复使用WebSockets了,但是它立刻连续失败了5次,然后又回退到http。我问Codex这种情况怎么办。Codex让我新建一个session,然后重新说明任务。这次终于好了。

总结

当长任务遇到WebSokets失败之后,最好的办法就是新开一个对话,然后重新描述任务。否则就会回退到http,这会导致对话变得很慢,根源是

WebSocket 在长任务中可以复用连接和近期响应状态,减少每次继续请求的开销;HTTP 回退会失去这项优势。

今天吃了一个法国的瓜

随笔

X上关注的一个新闻号今早发了一个法国议会开采石油议案提案没通过的新闻。一开始我还比较同意作者的观点,但是越看到后来,我觉得这事儿越有意思。

事情是这样的,根据法国的法律,为了环保,法国不能开发殖民地的石油。而现在国际市场石油价格大涨到100美元以上,石油太贵了。而法国所属圭亚那本身就有石油。于是就有一个议案提出来,希望可以推翻之前的法律,允许圭亚那开采石油。特别的,这位记者还指出,代表圭亚那当地的议员都投了赞成票。但是,最终的结果是议案没有通过,记者说这就是巴黎方面给拒绝了。

事情到这里,我还是同意记者观点的。但是后面的来了,记者说,距离圭亚那不远,其实就有石油在开采,是法国和美国的公司联合开采的。所以,圭亚那本身也可以直接开采,这次议案就是这家法国公司推动的,但是很可惜没通过。法国人现在每天都得花钱买这个本可以自己独立挖的石油。

事情变得有意思起来了。因为这名记者明显只考虑利益,没有考虑道德。换个说法,汤姆和莱昂合伙做生意,生意火了之后,莱昂决定在两人的店旁边再开一家店,自己独资,卖相同的东西。任谁都会觉得这个莱昂不地道吧。提这个议案的法国公司就是这个莱昂,还好巴黎方面要脸,给拒绝了。

安卓手机还是太复杂了

随笔

问题1

今天帮我爸解决了两个安卓手机的问题。第一个问题还是挺复杂的。我爸和我说他的微信不知道怎么被他删掉了,然后他重装了一个之后登录,密码一直不对,问我记不记得密码。我拿过来手机,输入密码,密码错误。然后一看,这不是支持手机验证码吗?果断选择手机验证码。然后进来了。结果还要二次验证。

二次验证支持好友帮忙验证,使用之前的登录过的设备扫码登录验证,微信密码验证以及银行卡验证。可是这四个方式对于这个微信来说都不可行,因为我爸很少聊天,所以提示没有好友可以验证。然后这是唯一设备,也没有办法用其他设备验证。微信密码验证也不可行。因为我本来就是不记得密码才选择的手机验证码登录,然后银行卡也不行。因为这个手机号的微信没有绑定过银行卡。

于是我又退回去。选择忘记密码,结果忘记密码的流程就是用手机验证码登录,而且截图的官方指引,引用的还是旧版,和新版微信的按钮界面什么都不一样。

我想,要不看看升级到最新的微信看看,我到应用商店查看,发现已经是最新版了。我也没啥办法了,想想在设置里看看微信设置,看看有没有什么办法吧。于是打开设置,搜索微信。点开之后,发现问题了。我爸居然开了双开功能。按照我对于我爸的了解,他是绝对不需要微信双开的。而且他不仅微信是双开的状态,微博也是。于是我将微信双开关闭,然后又把微博的双开也关了。

再次回到应用商店,点击微信的打开,这次微信直接开了,不需要登录。这就证实了,刚刚一直需要登录的是双开后的第二个微信,而第一个微信原本就一直是登录的。

回到桌面,我发现另一个问题,微信在桌面上找不到。但是应用商店里却安装了。直接为AI,小爱同学和我说,可能是隐藏了应用。解除隐藏就可以。也可能是双开,双开可以创建快捷方式。我去看了一下,的确是隐藏了,而且还隐藏了好几个应用。我于是将这些应用也都给解除了隐藏。

最后,我又顺带将应用商店里的过期应用都更新了。

问题1的可能原因

我爸应该是误触了隐藏应用的功能,他可能是想要删除应用,但是不会于是在设置里选择了隐藏。然后不小心点到了微信,微信在桌面就找不到了。他自己解决的时候又不小心点到了双开,于是看到桌面有微信了,就按照提示重新登录。不过其实双开应用的图标和普通应用的图标是有区别的,所以如果注意一下就能知道是不是双开的应用了。

问题2

我和我爸说他这个问题1,他提到了可能是他经常需要关机再开机导致的。因为他每天早上都会遇到全屏的广告,一不小心就会安装不想安装的应用,然后还切换不出来,只能关机重开。我试了一下锁屏,然后解锁,没看到广告。我说没有啊。我爸说每天早上都有。我又重新解锁,然后右滑了一下,出现了开屏画报。我问他是不是这个。我爸说对。我试了一下,果然只要点击就会直接跳到应用商店,让安装应用。

我于是解锁手机,进入设置,然后搜索开屏。找到开屏画报的相关设置,禁用了右滑进入开屏画报,以及每天的早报功能。应该就是早报功能导致每天早上即便不右滑也会出现开屏画报。我这相当于把这个功能完全禁用了。

结论

相比于苹果手机,安卓手机还是太过于复杂了,不仅系统有广告,而且内置了很多复杂的高级功能。问题1我也是研究了半个多小时才解决的,我自己也在用小米的澎湃系统,但是我对于这些也不熟悉。因为我自己本身也没有用过这些功能。

Codex上下文的前世今生,要不要调整上下文你看这一篇就够了

技术

今天,Tibo在X上给出了Codex设置1M上下文的方法。我尝试了,也的确成功了。但是我又改回去默认的258K。关于上下文这个事,以下的事情是你需要了解的。

在gpt-5.6系列发布之前,Codex的上下文一直是258K。这是用户可用的部分,隐藏了系统占用的。但是gpt-5.6发布之后,这个上下文一度增加到了384K。不过很快,有人发现5.6的额度消耗过快。这是因为原本调整为384K之后,应该是384K上下文之内都应该按照默认收费,如果额外设置,超出了,才应该按照2x收费。可是实际上,OpenAI的服务器却是按照超过258K就开始2x收费,OpenAI发现了这个bug,于是回滚到258K的上下文,并且承诺,说一旦修复了。就会恢复。

可最终OpenAI并没有兑现这个承诺。258K就是目前的最终的默认上下文。唯一改变的,是以前只有使用API的用户可以设置为1M上下文,现在任何订阅的用户也可以设置了。但是一旦超过默认的258K,全部的输入都会按照2x收费,全部的输出都会按照1.5x收费。注意:是超过默认的258K,全部都会按照2x和1.5x收费,而不是超出的部分。而订阅用户,如果手动设置为更大的上下文,则会感到额度消耗得更快了。

这也是为什么我最终还是选择回退到默认的设置,毕竟省钱才是王道。

如果你想测试

可以将tibo的原文贴给AI,然后AI遵照设置,设置完成之后,需要退出重开一下Codex。取消也是同样的,需要重启Codex才能执行。

Screenshot 2026-08-17 at 9.54.55 AM

我也是使用GitHub自动化的人了

技术

我有两台Mac mini,1台m1,一台m4都是16GB的。之前我为了节省资源,ollama都是跑在m1那台,而我日常使用的是m4的这台。这就导致了一个问题。就是我开发的Chrome扩展X Recommender Plus在调用局域网里的Ollama的时候,会被拒绝服务。这是因为,Ollama默认情况下,只针对本机的所有请求开发了服务,如果是局域网的请求,就会验证头。

因此,要解决这个问题,我就得自己修改代码,然后本地编译。方法不难,仅需要修改一行代码。但是修改之后的只有我自己能用。今天,我突发奇想,问问AI,问它可不可以在GitHub上fork一下ollama,然后完成我本地操作的步骤,最后发布。AI说可以,然后就开始跑。

前几次都收到run failed的邮件。之后AI停了,告诉我成功了。但是我发现release里并没有成果。我问AI,AI说因为我选择的全平台,所以编译要很久,这个可把我给吓到了。因为我知道GitHub的action是有免费额度限制的。于是我赶忙问AI,那这样的话,咱们的免费额度够跑几次的啊?结果AI告诉我,我们fork的public的,而我们自己的也是public,所以action用多少都是免费的。这样我就安心了。

这个是GitHub的地址:https://github.com/owenzhao/ollama

使用X Recommener Plus的诸位可以根据需要选择。其他人有需要也可以选择。这个好处主要是两点:

  1. macOS的版本默认支持苹果的mlx。
  2. 局域网安装的ollama,任何应用或者插件都可以调用,不会被拒绝。

从中国外嫁女在印度受欺负想到的

随笔

今天在X上看到一条帖文,说是有一个中国女人,嫁给了印度人,去了印度之后,和丈夫吵架,结果被丈夫锁在家里面。评论里都是叫好了的,说什么活该她嫁给印度人。就是应该让她这种倒霉的样子让其他中国女人瞧瞧,这就是嫁给印度人的下场。还有什么就让她待在印度吧,千万别回中国了之类的。

我要评论的是,这种观点其实都太过短视了。中国女人嫁给印度人,受欺负,的确有讨厌印度人的觉得开心,觉得活该,谁让她选印度人的。可问题是,这样的视角太过短视了。你站在某些中国人的角度,觉得她是因为嫁给印度人,识人不明,受到了惩罚。可是如果你能转换视角,站在印度人角度来看,就是一个中国人在异国他乡,被别的国家的人欺负,而其他中国人不仅不会帮忙,而且还在拍手叫好。

这回给印度人以及其他外国人一种印象,也就是欺负孤身在外的中国人,没有任何风险,因为中国虽然强大,但是她的人民,却不会为孤身在外的中国人出头,甚至还会拍手称快。这对于任何想要出国的中国人来说,都是危险的。因为任何中国人,到了外国,都将是少数。

结论:即便是外嫁女,即便是嫁给了印度人。只要她是中国人,她受到了欺负,中国人就都应该为她出头。因为她是中国人,今天是她,明天就可能是你。只有外国人见到中国人都不敢欺负,任何出国旅行、学习、游玩的人才会更安全。

印度人不文明,可能真不是穷的问题

随笔

一桩桩新闻

最近一段时间,印度人在世界各地做出不文明行为的新闻,频传。

加拿大安大略省,世界最长的淡水沙滩上,一位居民多次曝光印度游客在沙滩上挖坑大便,空气中弥漫着恶臭,大肠杆菌超标严重到海滩被迫关闭;广东某酒店大堂,印度旅客刚下飞机不办入住,横七竖八躺在沙发上蹭空调,鼾声四起,临走留下一地咖喱味;云南香格里拉普达措外围,5 名印度游客在溪流里打沐浴露洗澡,下游 300 米就是 21 户人家的取水口;今年 2 月,泰国芭堤雅海滩,近百名印度游客铺个垫子就地通铺,垃圾遍地、啤酒瓶乱扔;庐山五老峰景区,3 名印度男性无视"禁止下水"警示牌在水源里搓澡、用肥皂。这一个个事件密集得让人记不清时间顺序。

我一开始以为是"穷"

中国有句古话,叫"仓禀实而知礼仪"。所以印度人之所以不文明,原因其实很简单——穷。穷则思变都不够格,哪还有心思讲什么体面?你让一个还在为下一顿饭发愁的人去排队、去守规矩,那是为难他。

但后来我看到一件事,把我之前的判断推翻了。

有个在国外做房东的中国人,租客是一对印度夫妻。老公是律师,老婆是医生,都是正经的高知高薪职业,在印度当地是中产,放在国外同样算富裕阶层。房子是长租,押金也交了,前三个月房租正常付着,看着挺正常。结果到了第四个月开始赖账,找各种理由拖着不付,沟通几次之后房东发现收账非常困难。

你就说,这跟穷有什么关系?

这让我重新想:印度人不文明,恐怕不是穷这一个变量能解释得通的。

14 亿人,凑合就是"理性"

那到底是什么?

我又琢磨了一下,发现可能是人太多。

印度 14 亿多人,这是什么概念?2023 年已经超过中国成了全球第一人口大国,整个欧洲加起来才 7 亿出头,连它一半都不到。人口密度摆在那里,资源就那么多,公共空间就那么大。一个社会里如果人人讲文明讲秩序,反而吃亏——你排队别人插队,你守规矩别人耍赖,文明的成本就全转嫁到守规矩的人身上。久而久之,"凑合就行"的逻辑就变成了全民共识。

我甚至觉得,这都不是个人选择,是被人口结构逼出来的"理性"。

凑合的代价:两个真实的例子

说到"凑合就行",这个事其实挺值得展开聊聊的。我在一些关于印度社会的讨论里看到过一个说法,叫 Jugaad,翻译过来就是"凑合、变通、将就"。资源不够?凑合。流程不通?变就。规则死了?将就。这套逻辑在印度国内是行得通的,因为它本来就是为资源极度紧张的环境设计的——你不凑合就过不去。但这套逻辑一旦被原样照搬到国外,就变成了不讲规则、不守契约的代名词。

我给你举两个真实的例子。

第一个是空调。今年 5 月 3 日凌晨,德里一处民居的空调发生爆燃引发大火,9 人死亡,其中有一名 1 岁幼儿;几天后,印度竞争委员会首任主席、80 岁的退休高官丹内德拉·库马尔在自己豪宅中被空调爆炸夺去生命,他儿子也受伤;6 月 5 日,古吉拉特邦一名女警员在家休息时被空调爆炸烧死。库马尔这个案例尤其值得多说一句——他装的可不是什么杂牌,而是进口品牌正规空调,原装制冷剂按说不该出问题。问题就出在维护上:他出事之前刚请过印度本地维修工上门保养,维护过程中大概率被悄悄换上了最便宜的 R152A 之类的可燃制冷剂,而非原装。印度舆论原本用"炸的都是劣质杂牌、穷人不该贪便宜"来安慰自己,这下连这层心理防线也守不住了——不是机器本身有问题,是从生产到保养的整个链条都不安全。在印度国内,维修工省钱,用户图便宜,"凑合"一下大家都方便,结果凑合出来的是人命。

更要命的是政策环境还在推一把。中国这边其实早就在用 R32 和 R290(丙烷)这类更安全、GWP 更低的制冷剂了,R290 被联合国机构认定为家用空调未来唯一合规的环保替代方案,印度本土厂商 Godrej 2012 年起也跟进卖 R290 空调——本来这事有解的。但中印关系 2020 年之后急转直下,印度对中国产品设了一堆反倾销税和进口配额:R134a 制冷剂 2016 年起每公斤 1.22 美元反倾销税,2021 年 HFC 混合制冷剂再追加每吨 1500-2200 美元,2026 年 5 月最新一轮规定,空调用压缩机进口量直接被压到 2025 年的 30%,超过这个限额就要征高额关税。一来二去,便宜合规的中国制冷剂进不来,印度本国供给又不够用,缺口就由 R152A 之类的可燃替代品来填。维修工图省钱用,用户图便宜接受,"凑合"一下,安全就让位了。

第二个是电。印度每年有 27% 的发电量被偷走,年损失 162 亿美元,全球偷电第一,是第二名巴西、第三名俄罗斯的总和还多。印度北部的工业重镇坎普尔,300 万人口里 220 万在偷电,偷电的人被当地人奉为"卡地亚巴兹"——意思是"偷电高手"。这群人徒手爬上高压线杆给穷人搭免费电线,时不时电死一个,于是有了那句黑色幽默:"一流电工之所以是一流,是因为二三流的都已经被电死了。"他们甚至被拍成了纪录片并获得国际奖项。当电力公司派工作组下乡催电费时,整个村的人都团结起来把工作组赶了出去。你守规矩就要多付钱来补贴那些偷电的人,偷电的人不仅不被鄙视,反倒是村里的"罗宾汉"——大家都偷导致整体都输,但每个人都觉得自己占了便宜。

你看,凑合的成本其实一点都不低,凑合凑出来的事故和死亡数字非常惊人。但这套逻辑一旦变成全民共识,谁要是正经做、谁要是守规矩,谁就成了冤大头。

在印度国内,凑合是被逼出来的活法;在海外,凑合就成了不文明。

也许这就是"奴性"

然后我又想到一个更深的问题。

有人说印度人之所以普遍"凑合就行",可能是因为骨子里有一种奴性。

这话听着不舒服,想必很多印度朋友看到了要跳脚。但你细想一下,其实有几分道理。我们知道,在奴隶制社会,奴隶的命是奴隶主的,奴隶没有自己的财产、没有自己的未来,所以他要么战斗到死,要么消极怠工——悄悄破坏农具、磨洋工、表面服从内心抗拒。这两种策略都是为了一个目的:在不丢掉命的前提下,最大化自己的生存空间。

而印度人最为自豪的"非暴力不合作",你说它是奴隶的消极怠工呢,还是独立运动的智慧?我倾向认为,至少在精神底色上,这两种东西是相通的——都是面对强者时"不合作、不投入、不负责"的态度。你不参与我的体系,我也不为你建设任何东西,咱俩互不亏欠。

现在印度人虽然没有奴隶主了,但思维没换过来。我不去建设、不去负责、不去维护秩序,反正别人也管不着我,那我顺手占点便宜怎么了?这种想法往小了说叫偷奸耍滑,往大了说就是把所有公共秩序的维护成本,转嫁给守规矩的那一小撮人。

你想想,一个社会里人人这么想,这个社会还会有未来吗?

别再用奴隶的思维思考了

最后说一句可能得罪人的话。

如果你身边有印度朋友,真心建议转告他一句:别再用奴隶的思维思考了。奴隶想的是怎么在压迫下偷生,怎么在不合作中占便宜,怎么在"我穷我有理"的逻辑里找到心安。但奴隶不会有未来。一个奴隶,永远不会主动去建设一个比当下更好的世界,因为他从来不相信那个世界是属于他的。

而你如果真的想有未来,你就得把自己当成主人——不是别人的主人,是自己人生的主人。你得对自己的行为负责,对签过的合同负责,对身边的秩序负责,对你生活的那片土地负责。

这个道理,不分国界。