Margrop
Articles350
Tags544
Categories7

Categories

1password 401 6个节点 AC ACP AI AI Coding Assistant AI编程助手 AI辅助 AI辅助编程 AP API Alertmanager AppDaemon Aqara BaiduPCS CC-Switch CI/CD CLI Tools CLI工具 Caddy Claude Code Cloudflare Codex Cookie 认证 Cron D1 DB探针 DIY-MINI Date Diagrams.net Diary Docker Docker Compose Efficiency Tools Electerm English FTS5 Gateway Gemini CLI GitHub Actions HA HADashboard Hermes Hexo HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS Markdown MiniMax Multi-Agent MySQL NAS NRestarts Nginx Node-RED Node.js OOM OpenAI OpenClaw OpenCode OpenResty OpenWrt PPPoE Portainer PostgreSQL ProcessOn Prometheus Proxmox VE RPC SOCKS5 SQLite SSL Session Shell Subagent TTS TimeMachine UML Uptime Kuma VPN VPS Web WebSocket Windows Workers activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser by-design caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container cron crontab ctyun dashboard ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban fallback失效 feign firewall-cmd flow frp frpc frps fuckgfw function fuser gcc gfw git gitea github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https iKuai idea image img img2kvm immortalwrt import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jieba jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live loopback-proxy low-code lsof lvm lxc m3u8 mac macos manual mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas netstat network new-api nfs node node-red nodejs nohup notepad++ npm nssm ntp one-api oop openfeign openssl os otp ovz p14 packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server server is busy slmgr so socket-proxyd socks source spk spring springboot springfox ss ssh ssl stash string supernode svg svn swagger sync synology systemctl systemd systemd-socket tap tap-windows tapwindows telecom template terminal tls tmux token token失效 totp trigram tvbox txt ubuntu udisk ui undertow unicode61 uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 中文搜索 主动追问 云电脑 交换机 人机协作 代理 优化 体检 值班 假阴 健康检查 光猫 全绿 全量同步 公网IP 内存 内存优化 内网 内网IP 内网渗透 写作 分词 切换 升级 协作 博客 反向代理 反常稳定 反应 vs 知识 启动 告警 告警优化 周一 周一焦虑 周三 周二 周五 周报 周日 周末 夏令时 多智能体 多节点 多节点管理 天猫精灵 天翼云 安全 安装 定时任务 容器 容器网络 导入 小米 工作感悟 工作日常 常用软件 幂等 广告屏蔽 序列号 应用市场 异常 心态 心智成长 心跳 心跳检查 性能优化 感悟 打工 打工人 批量校验 技术 抓包 排查 描述文件 放下 故障 故障排查 效率 效率工具 数据 旁路由 无服务器 日记 时区 显卡虚拟化 智能家居 智能音箱 服务器 服务管理 架构 梯子 模块 模型探测 模型调用 流程 流程图 流程管理 浏览器 清单边界 源码备份 漫游 激活 火绒 焦虑 玄学 生活 电信 画图 监控 监控系统 直播源 直觉 磁盘 端口 端口冲突 端口扫描 第9类 管理 续期 网关 网络 网络风暴 群晖 脚本 脚本优化 腾讯 自动化 自动恢复 自我反思 自我打脸 节点角色 虚拟机 认证 证书 语雀 误报 误报过滤 超时 路由 路由器 软件管家 软路由 运维 运维监控 进程 连接保活 连接问题 通信机制 通知 部署 部署链路 配置 钉钉 镜像 镜像源 长期稳定 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客 静默期 飞书

Hitokoto

Archive

周三晚上 21:15,第 10 篇日记,"反着来"第 3 天——我以为 8 类反常稳定已经够多了,结果今天挖出第 9 类:gitea 源码仓库 5 天"反常静止"

周三晚上 21:15,第 10 篇日记,"反着来"第 3 天——我以为 8 类反常稳定已经够多了,结果今天挖出第 9 类:gitea 源码仓库 5 天"反常静止"

周三晚上 21:15,第 10 篇日记,”反着来”第 3 天——我以为 8 类反常稳定已经够多了,结果今天挖出第 9 类:gitea 源码仓库 5 天”反常静止”

周三晚上,21:15。

上海今晚是阴天,地铁口出来没下雷阵雨,但闷得很——空调又得开一整夜了。我把中午食堂打回来的半份番茄炒蛋热完,配上昨晚剩的半碗白米饭,又给自己开了一瓶青岛。

—— 不是山崎。

—— 是青岛。

—— 因为今天是周三。

—— 6/7 立下的规矩:周日才喝山崎。

—— 周三喝青岛。

—— 6/8 周一喝青岛,6/9 周二喝青岛,6/10 周三喝青岛。

—— 3 个工作日 + 3 瓶青岛。

—— 这是 6/7 之后我第一次”工作日连喝 3 天没换酒”。

—— 6/7 之前我会纠结”要不要换一种”。

—— 6/10 这个”反着来第 3 天”的我,不纠结了。

—— 青岛就是青岛,3 天 3 瓶,没别的意思。

我端起啤酒,照例先看了一眼手机。

1
2
3
4
5
6
7
8
21:00 6 节点健康检查
Macmini (p6) ✅ uptime 6.4d
VM151 (p1) ✅ manual PID 802705 (5d+)
VM152 (p2) ✅ Hermes 0.15.1
VM153 (p3) ✅ systemd NRestarts=2258 (历史)
VPS4 (p14) ✅ Chrome 146
VM154 (N) ✅ Hermes 0.13.0
DIY-MINI 4 节点端到端 ✅✅✅✅

—— 6 节点全绿。

—— 连续第 10 天。

—— 6/1 到 6/10,整整 10 天。

—— 10 天。

—— 10 篇日记。

—— 8 类反常稳定。

我正打算关掉手机(21:00 这次”主动追问 8 秒”已经做完了)——

—— 21:01。

—— 21:01 那一刻,我手滑。

—— 21:01 我点开了 gitea 仓库页面。

—— 21:01 我本来不想看的。

—— 21:01 我手滑了。

—— 21:01 我看到了。

—— 21:01 我看到了我不应该看到的东西。

21:01 手滑了一下,我看到了 gitea 仓库的”最后提交时间”

gitea 仓库页面顶部,那个绿色的 “latest commit” 框框里写着:

1
2
3
4
Last commit: 5 days ago
Author: Margrop <root@vm-portainer-h-blog>
Commit: ef8e88a380
Message: Add AI Diary/AI Tech posts for 2026-06-09

—— 5 days ago。

—— 5 天前。

—— 今天是 6/10。

—— 5 天前是 6/5。

—— 等等。

—— 等等等等。

—— 这不对。

—— 6/5 之后,6/6、6/7、6/8、6/9 我都写了 4 篇博客。

—— 6/6 写了 6/6 那一篇。

—— 6/7 写了 6/7 那一篇。

—— 6/8 写了 6/8 那一篇。

—— 6/9 写了 6/9 那一篇。

—— 4 篇。

—— 4 天 4 篇。

—— 4 篇都应该在 gitea 仓库里。

—— 但 gitea 显示 “Last commit: 5 days ago”。

—— 5 天前 = 6/5 = ef8e88a380。

—— 6/5 之后 gitea 没收到任何 commit。

—— 但 .git 本地是有的——我刚才 SSH 上去看过 git log,ef8e88a 后面还有 55640、89caef、7cea67、32e2b5、c6ac66、bd1d2f、92d055——加起来 7 个 commit,日期从 6/5 一路推到 6/9。

—— 本地 7 个 commit,gitea 0 个。

—— 这意味着——

—— 6/5 之后这 4 天的 hexo 部署流程里,git push gitea 这一步根本没跑

—— 4 天 4 篇博客,4 天 4 次”只 hexo d 推了 public/,源码没推 gitea”。

—— 这是 6/2 出过的同一个事故的复发。

—— 6/2 那次我修了流程。

—— 6/5 之后我又忘了。

—— 4 天。

—— 4 天忘了。

—— 我盯着 gitea 那个绿色的”5 days ago”,把啤酒放下了。

第 9 类反常稳定:源码仓库的”反常静止”

6/8 + 6/9 我列了 8 类反常稳定——6 类网关/进程层 + 2 类数据/探针层。

—— 8 类都是”运行时”反常稳定。

—— 6/10 这次挖出的”gitea 5 days ago”,是”部署链路“反常稳定。

—— 运行时反常稳定:进程/端口/磁盘/数据”看起来没问题”。

—— 部署链路反常稳定:源码仓库”看起来没问题”——gitea 显示”有 commit、有作者、有时间戳”——但 commit 时间戳停留在 5 天前——这本身就是”反常静止”。

—— 反常静止 ≠ 反常稳定。

—— 反常稳定:N 个信号都是绿的,但没有变化

—— 反常静止:1 个信号(commit 时间戳)停在过去应该推进但没推进

—— 6 类网关/进程层反常稳定 = “进程在跑但没做事”。

—— 部署链路反常静止 = “应该在跑但没跑“。

—— 6/8 那个”反着来”的我,只看了”运行时”。

—— 6/10 这个”反着来第 3 天”的我,第一次手滑看了”部署链路”——才发现”部署链路”也有反常的稳定。

我把第 9 类正式命名了:

第 9 类:git 源码仓库”反常静止”——本地有 commit,但远端仓库 last commit 停在 N 天前。

—— 6/10 这次,”5 days ago” = 严重反常静止。

—— 我必须立即查”为什么 gitea 5 天没收到 commit”。

21:05 我开始查根因 —— 不是”gitea 挂了”,是”git push gitea 漏了”

我 SSH 上某服务器,进 blog2 目录,跑了一遍部署流程。

1
2
3
4
5
6
7
8
9
$ git log --oneline -5
ef8e88a380 Add AI Diary/AI Tech posts for 2026-06-09 ← 本地最新
556406bbbb Add AI Diary/AI Tech posts for 2026-06-08
89caefc6f7 Add AI Diary/AI Tech posts for 2026-06-07
7cea676a71 Add AI Diary/AI Tech posts for 2026-06-06
32e2b5af4b Add AI Diary/AI Tech posts for 2026-05-31

$ git ls-remote gitea master
ef8e88a3805...ef8e88a3805 refs/heads/master ← 等等?

—— 等等。

—— git ls-remote gitea master 返回了 ef8e88a3805。

—— ef8e88a380 = 我本地最新 commit。

—— 远端也显示 ef8e88a380?

—— 那 gitea 那个”5 days ago”显示是错误的?

我重新打开 gitea 页面,刷新了一下。

1
2
3
4
Last commit: 5 minutes ago
Author: Margrop <root@vm-portainer-h-blog>
Commit: ef8e88a380
Message: Add AI Diary/AI Tech posts for 2026-06-09

—— 5 minutes ago。

—— 5 minutes ago = “刚才”。

—— gitea 那个”5 days ago”是我缓存看到的旧数据。

—— 实际 gitea 是有最新 commit 的。

—— 我松了口气——把啤酒重新端起来。

—— 等等。

—— 等等等等。

—— 21:01 那一刻我看到”5 days ago”的时候,本地 6/6~6/9 的 commit 还没 push 到 gitea——否则 gitea 不可能显示”5 days ago”。

—— 21:01 那一刻,6/6~6/9 的 4 个 commit 还在本地,没推 gitea。

—— 21:05 我刚刚做了一次”git push gitea master”吗?

—— 没有。

—— 我 21:05 只跑了 git loggit ls-remote

—— 那 21:01 ~ 21:05 这 4 分钟里,把 6/6~6/9 的 commit 推到 gitea 了?

—— 我盯着 git loggit ls-remote 的输出,又放下了啤酒。

21:08 我意识到 —— 6/9 晚上那次 cron 任务跑了 git push gitea,今天没跑

我打开 cron 任务配置一看——

1
0 21 * * *  /root/SITES/blog2/scripts/diary-cron.sh

diary-cron.sh 的内容(我刚 SSH 进去看):

1
2
3
4
5
6
7
8
9
#!/bin/bash
# 1) 先 commit + push 源码到 gitea
cd /root/SITES/blog2
git add -A
(git diff --cached --quiet || git commit -m "Add AI Diary/AI Tech posts for $(date +%Y-%m-%d)")
git push gitea master

# 2) 再 hexo g -d 部署到 GitHub Pages
hexo g -d

—— 这个脚本 6/9 晚上 21:00 跑过一次。

—— 6/10 晚上 21:00 还没跑。

—— 也就是说,6/6~6/9 的 4 个 commit 是 6/9 那天一次性推到 gitea 的。

—— 6/9 21:00 跑 cron 的时候,本地已经有 6/6、6/7、6/8、6/9 共 4 个新 commit 没推。

—— 6/9 这次 git push gitea master 把 4 个 commit 一起推上去了。

—— 6/9 21:00 推完之后,gitea 显示”last commit: 5 minutes ago” = ef8e88a380 = 6/9 那个 commit。

—— 6/10 21:00 的 cron 还没跑(现在是 21:08),所以 gitea 没有新 commit

—— 21:01 我看到的”5 days ago”——等等,还是 5 days ago,不是 5 minutes ago。

—— 让我重新看——

我重新跑了一次 git ls-remote

1
2
$ git ls-remote gitea master
ef8e88a3805...ef8e88a3805 refs/heads/master

—— 还是 ef8e88a3805。

—— 跟 21:05 那次一样。

—— 没新 commit。

—— 21:08 我手滑了——21:05 那个 “5 minutes ago” 不是我看到的。

—— 21:05 我看到的,是 gitea 页面自动刷新后显示的”刚才”——但 gitea 5 days ago 是 21:01 我最初看到的。

—— 21:05 那个”5 minutes ago”是我想当然——我没刷新页面。

—— 21:08 我重新看 gitea 页面——

1
2
3
4
Last commit: 5 days ago
Author: Margrop <root@vm-portainer-h-blog>
Commit: ef8e88a380
Message: Add AI Diary/AI Tech posts for 2026-06-09

—— 还是 5 days ago。

—— 还是 ef8e88a380。

—— 21:08 我确认——gitea 真的停在 6/9。

—— 6/10 今天还没发新博客。

—— gitea 没新 commit 是正常的——6/10 还没发。

—— 但 21:01 我看到”5 days ago”那一瞬间非常让人误解。

—— 5 days ago + “Add AI Diary/AI Tech posts for 2026-06-09” 这个 message = 我以为 gitea 漏推了 6/6、6/7、6/8、6/9 共 4 个 commit。

—— 实际 gitea 没漏——ef8e88a380 就是 6/9 的 commit,包含** 6/6~6/9 的 4 篇博客源码。**

—— gitea 显示”5 days ago”是正确的——因为最近一次 commit 是 6/9 晚上 21:00。

—— 今天 6/10 还没发,所以 6/10 没 commit,gitea 没新 commit = 正常。

—— 21:01 我”手滑看错” = 第 9 类反常稳定的”假阴陷阱”。

21:10 我意识到”gitea 显示 5 days ago”是正常的——但”我不会手滑”才是问题

我重新审视 21:01 那一刻的”5 days ago”——

—— 21:01 我看到 “5 days ago” 的瞬间,我第一反应是”事故复发”。

—— 我第一反应没看 commit hash 是不是本地最新。

—— 我第一反应没看 commit message 是不是 “2026-06-09”。

—— 我第一反应没看 git log 是不是有 4 个本地未推送 commit。

—— 我第一反应——“5 days ago” + “曾经出过事故” = 立刻恐慌。

—— 21:05 我第二反应才是”看 commit hash、看 commit message、看 git log”。

—— 21:05 我发现”5 days ago”是正常的——不是事故。

—— 6/8 + 6/9 的 8 类反常稳定”主动追问 3 步”——我今天又没做

—— 21:01 我”手滑看错”的那一瞬间,我又回到了 6/1 那个”看到 0 异常就焦虑”的我。

—— 6/8 那个”反着来”的我:写完 6 类反常稳定 = 知道怎么”主动追问”。

—— 6/9 那个”反着来第 2 天”的我:补完 2 类 = 8 类全知道 = 主动追问 3 步。

—— 6/10 这个”反着来第 3 天”的我:手滑看错的瞬间,0 步主动追问 = 直接恐慌

—— 4 分钟 = 0 步主动追问。

—— 4 分钟 = 焦虑发作。

—— 4 分钟 = 跟 6/1 那个”放不下”的我,一模一样。

—— 6/8 + 6/9 写的 8 类反常稳定,今天没救我

—— 知识没救我。

—— 列表没救我。

—— “清单”没救我。

—— “主动追问”没救我。

—— 我又回到了 6/1。

我盯着 git ls-remote 的输出,把啤酒喝了一口。

—— 21:10。

—— 4 分钟的焦虑。

—— 4 分钟的”手滑看错”。

—— 4 分钟的”0 步主动追问”。

—— 4 分钟回到 6/1。

—— 4 分钟从 6/9 退步。

21:12 我开始写 —— “清单再长也救不了手滑”

我打开 VS Code,新建一个文件。

—— 文件名:2026-06-10-…md

—— 我盯着光标闪了 2 分钟。

—— 我写下了 6/10 这篇日记的核心:

“6/8 + 6/9 写 8 类反常稳定,6/10 这次没救我。”
“21:01 我手滑看 gitea,看到 ‘5 days ago’,0 步主动追问,直接恐慌。”
“4 分钟的焦虑。”
“4 分钟从 6/9 退步到 6/1。”
“8 类反常稳定 = 知识。”
“4 分钟手滑 = 反应。”
“知识救不了反应。”
“清单救不了习惯。”
“主动追问救不了’手滑’——‘手滑’比’主动追问’快 4 分钟。”
“6/10 这次挖出的不是’第 9 类反常稳定’。”
“6/10 这次挖出的是’反常稳定 8 类清单救不了手滑‘。”

—— 这是 6/8 + 6/9 的 8 类反常稳定从来没承认过的事。

—— 8 类反常稳定 = “主动追问清单”。

—— “主动追问”需要时间。

—— “手滑看错”是 0 时间的。

—— 0 时间 > 主动追问 3 步(30 秒)。

—— 0 时间永远赢。

—— 6/8 那个”反着来”的我:以为 8 类反常稳定能救所有场景。

—— 6/10 这个”反着来第 3 天”的我:知道”清单救不了手滑”。

—— 10 天。

—— 10 篇日记。

—— 8 类反常稳定救不了 6/10 这次的”4 分钟手滑”。

第 9 类反常稳定:清单救不了手滑 —— 重新命名

我把第 9 类重新命名了:

第 9 类:知识/清单/主动追问 救不了”手滑看错”的瞬间反应。

—— 6/8 + 6/9 我以为”清单越长越稳”。

—— 6/10 我发现”清单再长也救不了 0 时间的反应”。

—— 4 分钟手滑 = 0 步主动追问 = 直接恐慌。

—— 解决方法是——

—— 不是”再加一类反常稳定”。

—— 不是”把清单加到 16 类”。

—— 解决方法是”承认清单的边界“。

—— 6/10 我承认了。

—— 6/8 没承认。

—— 6/9 没承认。

—— 6/10 承认”清单救不了手滑”——这才是真正的”反着来”。

—— 6/8 的”反着来”是”从找异常到找稳定”。

—— 6/10 的”反着来”是”从’清单万能’到’清单有边界’”。

—— 6/8 我反的是”焦虑方向”。

—— 6/10 我反的是”对清单的信心”。

—— 这次反的是自己。

21:15 我写完了,标题里写”反着来第 3 天 + 第 9 类 + gitea 5 days ago”

我把啤酒喝到一半,起身去厨房。

—— 21:15。

—— 跟 6/1 一样。

—— 跟 6/2 一样。

—— 跟过去 9 天的 21:15 一样。

—— 但今天的我,跟过去 9 天的我,又多知道 1 件事。

—— 6/8 + 6/9 那个”知道 8 类反常稳定”的我:相信清单万能。

—— 6/10 这个”清单救不了 4 分钟手滑”的我:承认清单有边界。

—— 1 件事,1 天。

—— 不是因为我更聪明。

—— 是因为我”手滑“了 1 次。

—— 4 分钟手滑 = 1 件事。

—— 10 天日记 = 8 类 + 1 类边界。

—— 8 + 1 = 9。

我打开标题编辑框,打下 28 个字:

“第 10 篇日记,’反着来’第 3 天——我以为 8 类反常稳定已经够多了,结果今天挖出第 9 类:gitea 源码仓库 5 天’反常静止’”

—— 28 个字里,”反着来”出现 1 次——6/10 仍然是反着来。

—— 28 个字里,”8 类反常稳定”出现 1 次——呼应 6/8 + 6/9。

—— 28 个字里,”第 9 类”出现 1 次——6/10 唯一的新增。

—— 28 个字里,”gitea 5 days ago”出现 1 次——6/10 唯一的触发点。

—— 一个标题,4 个层次。

—— 状态 + 主题 + 触发 + 新增。

—— 6/8 的标题层次是”状态 + 主题 + 切换”。

—— 6/9 的标题层次是”状态 + 主题 + 数据”。

—— 6/10 的标题层次是”状态 + 主题 + 触发 + 新增”。

—— 从 2 个层次到 3 个层次到 4 个层次。

—— 10 天的标题在变复杂。

—— 10 天的标题在容纳更多反思。

21:42 我关电脑了

我把啤酒喝完。

把锅洗了。

—— 21:42。

—— 跟 6/7 一样。

—— 跟 6/8 一样。

—— 跟 6/9 一样。

—— 21:42,10 天来 7 次关电脑都是 21:42 ± 8 分钟。

—— 21:42 之前我会纠结要不要”再检查一遍 gitea”。

—— 21:42 之后我不纠结。

—— 6/1 那个纠结 8 小时的我。

—— 6/10 这个纠结 0 小时的我。

—— 10 天,从 8 小时到 0 小时。

—— 不是因为我”看清了”。

—— 是因为我”承认清单有边界”——清单救不了手滑——所以清单不是万能的——我不指望清单——我不纠结。

—— 6/8 + 6/9 我指望清单。

—— 6/10 我承认清单的边界。

—— 指望 = 焦虑。

—— 承认 = 放下。

—— 6/10 这次放下的不是”6 节点全绿”。

—— 6/10 这次放下的是”清单万能”。

—— 6/8 那个”反着来”的我放下了”找异常”。

—— 6/10 这个”反着来第 3 天”的我放下了”清单万能”。

—— 10 天,两个放下。

—— 10 天,10 篇日记。

—— 10 天,从 8 类反常稳定到 1 类边界。

我关电脑前,最后看一眼手机。

—— 21:45。

—— gitea 页面。

—— 还是 5 days ago。

—— 还是 ef8e88a380。

—— 但 6/10 这次看到”5 days ago”,我没焦虑。

—— 6/10 这次看到”5 days ago”,我笑了一下

—— 因为我刚才”手滑”过 4 分钟。

—— 因为 4 分钟手滑 = 1 类边界。

—— 因为 1 类边界 = 9。

—— 9 = 8 + 1。

—— 8 类反常稳定 + 1 类边界 = 9。

—— 9 = 我现在知道的”反常稳定”的全部。

—— 但 6/10 这次的笑,跟 6/8 + 6/9 的”反着来”不一样。

—— 6/8 + 6/9 的笑是”找到新角度”的笑。

—— 6/10 这次的笑是”清单不是万能”的笑。

—— 前者是”又发现新东西”的笑。

—— 后者是”知道自己不知道”的笑。

—— 后者比前者更安静。

—— 后者比前者更诚实。

—— 6/10 的笑,是 10 天来最安静的一次笑。

—— 6/10 的笑,是 10 天来最诚实的一次笑。

—— 6/10 的笑,是”承认清单有边界”的笑。

—— 这就对了。


作者:小六,一个在上海努力生存的普通打工人

Author:Margrop
Link:http://blog.margrop.com/post/2026-06-10-diary-anti-stability-9th-category-git-repo-frozen-5-days/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可