edit(content): review batch-2 editorial pass across 24 posts (EN + ZH)
Tracker at 20 approved / 71 pending. Same pass as batch 1: first person throughout, no LAN IPs in prose, ZH twins normalised to simplified Chinese, dynamicCta where the post ends on a concrete next step.
This commit is contained in:
1 parent
041471d25e
commit
09596fe7a5
45 files changed
+418
-337
No files matched your search
@@ -44,12 +44,12 @@
|
||||
"zh_title": "一个字符让我的 authentik CSS 静默失效",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-09-20",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 9206,
|
||||
"zh_chars": 5485
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 9317,
|
||||
"zh_chars": 5589
|
||||
},
|
||||
"authentik-forward-auth-gate-wasnt-live": {
|
||||
"slug": "authentik-forward-auth-gate-wasnt-live",
|
||||
@@ -57,12 +57,12 @@
|
||||
"zh_title": "验证完全正确的 Forward-Auth 网关——其实并未上线",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-08-12",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 16519,
|
||||
"zh_chars": 8735
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 16526,
|
||||
"zh_chars": 8746
|
||||
},
|
||||
"authentik-major-upgrade-gotchas": {
|
||||
"slug": "authentik-major-upgrade-gotchas",
|
||||
@@ -70,12 +70,12 @@
|
||||
"zh_title": "Authentik 从 2025.8 升级到 2026.8:那些没人提醒你会坏掉的部分",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-09-09",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 11639,
|
||||
"zh_chars": 6086
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 11710,
|
||||
"zh_chars": 6147
|
||||
},
|
||||
"automating-cyberpanel-without-the-ui": {
|
||||
"slug": "automating-cyberpanel-without-the-ui",
|
||||
@@ -83,12 +83,12 @@
|
||||
"zh_title": "不用界面管理 CyberPanel:逆向一个没有文档的 v2 API",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-09-09",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 8495,
|
||||
"zh_chars": 5223
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 8474,
|
||||
"zh_chars": 5205
|
||||
},
|
||||
"best-ai-video-generators-2026": {
|
||||
"slug": "best-ai-video-generators-2026",
|
||||
@@ -148,12 +148,12 @@
|
||||
"zh_title": "Docker 报告退出码 0,内核却早已执行 OOM-Kill",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-10-16",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 10183,
|
||||
"zh_chars": 5483
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 10200,
|
||||
"zh_chars": 5488
|
||||
},
|
||||
"does-hevc-actually-shrink-your-files": {
|
||||
"slug": "does-hevc-actually-shrink-your-files",
|
||||
@@ -187,12 +187,12 @@
|
||||
"zh_title": "每个播放器都在同一个视频上卡顿,而文件本身是无辜的",
|
||||
"category": "devops",
|
||||
"pub_date": "2026-10-08",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 7884,
|
||||
"zh_chars": 3921
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 8459,
|
||||
"zh_chars": 4296
|
||||
},
|
||||
"five-step-ai-roadmap-what-i-actually-run": {
|
||||
"slug": "five-step-ai-roadmap-what-i-actually-run",
|
||||
@@ -275,15 +275,15 @@
|
||||
"hardening-a-tor-onion-service": {
|
||||
"slug": "hardening-a-tor-onion-service",
|
||||
"title": "Hardening a Tor Onion Service: What Actually Matters",
|
||||
"zh_title": "加固 Tor 洋葱服务:真正重要的是什么",
|
||||
"zh_title": "加固 Tor 洋葱服务:真正重要的是什么",
|
||||
"category": "devops",
|
||||
"pub_date": "2025-12-10",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 14882,
|
||||
"zh_chars": 7031
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 14907,
|
||||
"zh_chars": 7041
|
||||
},
|
||||
"hello-world": {
|
||||
"slug": "hello-world",
|
||||
@@ -399,8 +399,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 7654,
|
||||
"zh_chars": 3480
|
||||
"en_chars": 8349,
|
||||
"zh_chars": 3886
|
||||
},
|
||||
"jpa-version-field-lost-update": {
|
||||
"slug": "jpa-version-field-lost-update",
|
||||
@@ -464,8 +464,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 11892,
|
||||
"zh_chars": 6540
|
||||
"en_chars": 12262,
|
||||
"zh_chars": 6712
|
||||
},
|
||||
"nocodb-sso-is-a-licensed-feature": {
|
||||
"slug": "nocodb-sso-is-a-licensed-feature",
|
||||
@@ -490,8 +490,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 13998,
|
||||
"zh_chars": 6677
|
||||
"en_chars": 14400,
|
||||
"zh_chars": 6837
|
||||
},
|
||||
"one-prometheus-for-unraid-synology-and-a-vps": {
|
||||
"slug": "one-prometheus-for-unraid-synology-and-a-vps",
|
||||
@@ -516,8 +516,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 7740,
|
||||
"zh_chars": 4063
|
||||
"en_chars": 7864,
|
||||
"zh_chars": 4187
|
||||
},
|
||||
"patching-workbench-26-for-mariadb": {
|
||||
"slug": "patching-workbench-26-for-mariadb",
|
||||
@@ -529,8 +529,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 15104,
|
||||
"zh_chars": 9020
|
||||
"en_chars": 15965,
|
||||
"zh_chars": 9501
|
||||
},
|
||||
"php2shell-patching-every-php-runtime-i-manage": {
|
||||
"slug": "php2shell-patching-every-php-runtime-i-manage",
|
||||
@@ -542,8 +542,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 22273,
|
||||
"zh_chars": 12465
|
||||
"en_chars": 22354,
|
||||
"zh_chars": 12531
|
||||
},
|
||||
"plugging-windows-desktop-control-into-four-ai-agents": {
|
||||
"slug": "plugging-windows-desktop-control-into-four-ai-agents",
|
||||
@@ -568,8 +568,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 13314,
|
||||
"zh_chars": 6978
|
||||
"en_chars": 13927,
|
||||
"zh_chars": 7415
|
||||
},
|
||||
"read-only-nocodb-dashboard-for-a-remote-database": {
|
||||
"slug": "read-only-nocodb-dashboard-for-a-remote-database",
|
||||
@@ -581,8 +581,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 11723,
|
||||
"zh_chars": 6166
|
||||
"en_chars": 12009,
|
||||
"zh_chars": 6287
|
||||
},
|
||||
"reading-a-containers-own-api-docs": {
|
||||
"slug": "reading-a-containers-own-api-docs",
|
||||
@@ -607,8 +607,8 @@
|
||||
"batch_id": "Batch-04",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 12784,
|
||||
"zh_chars": 7641
|
||||
"en_chars": 13131,
|
||||
"zh_chars": 7789
|
||||
},
|
||||
"running-ai-video-locally-on-a-12gb-gpu": {
|
||||
"slug": "running-ai-video-locally-on-a-12gb-gpu",
|
||||
@@ -699,20 +699,20 @@
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 8913,
|
||||
"zh_chars": 4402
|
||||
"zh_chars": 4773
|
||||
},
|
||||
"self-hosting-mem0-memory-stack": {
|
||||
"slug": "self-hosting-mem0-memory-stack",
|
||||
"title": "How I Self-Hosted a Mem0 Memory Stack (So My AI Agent Remembers)",
|
||||
"zh_title": "我如何在自家 NAS 上自托管 Mem0 记忆栈(让 AI 助手有记忆)",
|
||||
"zh_title": "我如何在私有存储节点上自托管 Mem0 记忆栈(让 AI 助手拥有持久记忆)",
|
||||
"category": "case-studies",
|
||||
"pub_date": "2026-09-16",
|
||||
"status": "pending",
|
||||
"batch_id": "Batch-02",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 7894,
|
||||
"zh_chars": 4708
|
||||
"en_chars": 8057,
|
||||
"zh_chars": 4849
|
||||
},
|
||||
"shipping-an-ai-photo-editor-as-a-wordpress-plugin": {
|
||||
"slug": "shipping-an-ai-photo-editor-as-a-wordpress-plugin",
|
||||
@@ -724,8 +724,8 @@
|
||||
"batch_id": "Batch-02",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 13782,
|
||||
"zh_chars": 6796
|
||||
"en_chars": 13879,
|
||||
"zh_chars": 6861
|
||||
},
|
||||
"slashing-agent-context-with-a-code-graph": {
|
||||
"slug": "slashing-agent-context-with-a-code-graph",
|
||||
@@ -789,8 +789,8 @@
|
||||
"batch_id": "Batch-02",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 8918,
|
||||
"zh_chars": 4599
|
||||
"en_chars": 8861,
|
||||
"zh_chars": 4541
|
||||
},
|
||||
"synology-api-401-with-the-correct-password": {
|
||||
"slug": "synology-api-401-with-the-correct-password",
|
||||
@@ -863,12 +863,12 @@
|
||||
"zh_title": "代码只让一个 AI 改:我是如何避开多 Agent 协同踩坑的「单写多审」架构",
|
||||
"category": "case-studies",
|
||||
"pub_date": "2026-08-26",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 13268,
|
||||
"zh_chars": 6916
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 13331,
|
||||
"zh_chars": 6954
|
||||
},
|
||||
"the-upstream-was-deleted-then-came-back-rewritten": {
|
||||
"slug": "the-upstream-was-deleted-then-came-back-rewritten",
|
||||
@@ -993,12 +993,12 @@
|
||||
"zh_title": "什么时候该让 AI 操控物理鼠标(以及什么时候绝对不要用)",
|
||||
"category": "case-studies",
|
||||
"pub_date": "2026-05-28",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 6853,
|
||||
"zh_chars": 3594
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 6882,
|
||||
"zh_chars": 3608
|
||||
},
|
||||
"why-500000-lines-of-commit-churn-only-left-230000-in-production": {
|
||||
"slug": "why-500000-lines-of-commit-churn-only-left-230000-in-production",
|
||||
@@ -1032,12 +1032,12 @@
|
||||
"zh_title": "为什么我要做视频精读知识库:把收藏夹吃灰的短视频变成可检索笔记",
|
||||
"category": "case-studies",
|
||||
"pub_date": "2024-11-28",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 5728,
|
||||
"zh_chars": 2903
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 5770,
|
||||
"zh_chars": 2924
|
||||
},
|
||||
"why-i-still-bought-a-local-gpu": {
|
||||
"slug": "why-i-still-bought-a-local-gpu",
|
||||
@@ -1136,12 +1136,12 @@
|
||||
"zh_title": "为什么你的无头浏览器不是万能爬虫",
|
||||
"category": "case-studies",
|
||||
"pub_date": "2026-01-21",
|
||||
"status": "pending",
|
||||
"status": "approved",
|
||||
"batch_id": "Batch-03",
|
||||
"approved_at": null,
|
||||
"notes": "",
|
||||
"en_chars": 8065,
|
||||
"zh_chars": 3791
|
||||
"approved_at": "2026-10-27 03:49",
|
||||
"notes": "外部顾问审阅完成,已采纳并落地全量修改意见",
|
||||
"en_chars": 8076,
|
||||
"zh_chars": 3792
|
||||
},
|
||||
"why-your-windows-mcp-calls-silently-fail": {
|
||||
"slug": "why-your-windows-mcp-calls-silently-fail",
|
||||
|
||||
Reference in new issue
Block a user