{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Marx's Blog",
  "home_page_url": "https://marxchou.com/",
  "feed_url": "https://marxchou.com/feed.json",
  "description": "MarxChou 的个人博客。深圳非科班独立开发者，兼职探索欧美 SaaS。用 AI 辅助编程从零搭建产品，记录工具调研、踩坑解法、想法验证与收入数据。",
  "language": "zh-CN",
  "items": [
    {
      "id": "https://marxchou.com/article/waline-vercel-esm-saga/",
      "url": "https://marxchou.com/article/waline-vercel-esm-saga/",
      "title": "当 Vercel 禁用了 require(esm)：一次 Waline 升级的破案记录",
      "summary": "给博客评论系统做例行升级，全站评论 500 了三个小时。根因是 Vercel 的新运行时悄悄关掉了 require(esm)，完整记录排查、本地复现与修复过程。",
      "content_html": "<p>给博客评论系统做例行升级，全站评论 500 了三个小时。根因是 Vercel 的新运行时悄悄关掉了 require(esm)，完整记录排查、本地复现与修复过程。</p>\n",
      "date_published": "2026-10-03T00:00:00.000Z",
      "tags": [
        "Waline",
        "Vercel",
        "ESM",
        "排障记录",
        "博客",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/redmibook-screen-repair-saga/",
      "url": "https://marxchou.com/article/redmibook-screen-repair-saga/",
      "title": "撕掉一张保修贴，我多花了 899 块",
      "summary": "在转转买了一台 4115 的二手 RedmiBook Pro 14，拆机加硬盘时顺手撕了保修贴。开机后发现屏幕右下角一块白斑，售后被拒；淘宝连买三块「原厂屏」全是坏的，最后只能去官方花 899。完整记录这段翻车经历。",
      "content_html": "<p>在转转买了一台 4115 的二手 RedmiBook Pro 14，拆机加硬盘时顺手撕了保修贴。开机后发现屏幕右下角一块白斑，售后被拒；淘宝连买三块「原厂屏」全是坏的，最后只能去官方花 899。完整记录这段翻车经历。</p>\n",
      "date_published": "2026-09-25T00:00:00.000Z",
      "tags": [
        "RedmiBook",
        "二手笔记本",
        "换屏",
        "转转",
        "淘宝",
        "踩坑记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/2tb-storage-server-planning/",
      "url": "https://marxchou.com/article/2tb-storage-server-planning/",
      "title": "一台 2TB 服务器，不该先拿来囤电影",
      "summary": "把 2TB 存储服务器用在备份、同步、归档与服务数据上：容量核算、空间分区、恢复验证和扩容前的取舍。",
      "content_html": "<p>把 2TB 存储服务器用在备份、同步、归档与服务数据上：容量核算、空间分区、恢复验证和扩容前的取舍。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "存储服务器",
        "备份",
        "HomeLab",
        "NAS",
        "自托管",
        "数据管理"
      ]
    },
    {
      "id": "https://marxchou.com/article/3d-printed-enclosure-design-guide/",
      "url": "https://marxchou.com/article/3d-printed-enclosure-design-guide/",
      "title": "给主板做 3D 打印外壳：别急着建模，先把误差算进去",
      "summary": "用 FDM 3D 打印为主板做定制外壳，测量、参数化建模、接口开孔、螺丝柱、打印方向和装配排错一次讲清。",
      "content_html": "<p>用 FDM 3D 打印为主板做定制外壳，测量、参数化建模、接口开孔、螺丝柱、打印方向和装配排错一次讲清。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "3D打印",
        "外壳设计",
        "CAD",
        "DIY电子",
        "硬件",
        "HomeLab"
      ]
    },
    {
      "id": "https://marxchou.com/article/browser-selection-translation-guide/",
      "url": "https://marxchou.com/article/browser-selection-translation-guide/",
      "title": "划词翻译扩展怎么选：别先接一堆 API，先确定阅读场景",
      "summary": "从网页、PDF、GitHub 文档、截图和视频字幕五类场景，梳理浏览器翻译扩展的选择方法、权限边界、API 配置与常见故障。",
      "content_html": "<p>从网页、PDF、GitHub 文档、截图和视频字幕五类场景，梳理浏览器翻译扩展的选择方法、权限边界、API 配置与常见故障。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "浏览器扩展",
        "翻译",
        "效率工具",
        "AI工具",
        "隐私",
        "开发"
      ]
    },
    {
      "id": "https://marxchou.com/article/onlyoffice-nocodb-self-hosted-stack/",
      "url": "https://marxchou.com/article/onlyoffice-nocodb-self-hosted-stack/",
      "title": "OnlyOffice 加 NocoDB，够不够替代个人协作文档？",
      "summary": "从个人与小团队的真实使用边界出发，分析 OnlyOffice Document Server 与 NocoDB 的职责、部署结构、安全配置和不适合的场景。",
      "content_html": "<p>从个人与小团队的真实使用边界出发，分析 OnlyOffice Document Server 与 NocoDB 的职责、部署结构、安全配置和不适合的场景。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "OnlyOffice",
        "NocoDB",
        "自托管",
        "Docker",
        "协作工具",
        "数据管理"
      ]
    },
    {
      "id": "https://marxchou.com/article/openlist-docker-deploy-guide/",
      "url": "https://marxchou.com/article/openlist-docker-deploy-guide/",
      "title": "OpenList 用 Docker 部署：把数据目录和公网入口先管好",
      "summary": "OpenList Docker Compose 部署速查：持久化数据、非 root 运行、反向代理、更新和最基本的公网暴露控制。",
      "content_html": "<p>OpenList Docker Compose 部署速查：持久化数据、非 root 运行、反向代理、更新和最基本的公网暴露控制。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "OpenList",
        "Docker",
        "自托管",
        "文件管理",
        "反向代理",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/termix-self-hosted-remote-management/",
      "url": "https://marxchou.com/article/termix-self-hosted-remote-management/",
      "title": "Termix 自托管：把 SSH、RDP 和连接配置收进一个入口",
      "summary": "Termix Docker Compose 部署笔记：数据持久化、guacd 的作用、反向代理暴露方式，以及自托管远程管理服务的安全边界。",
      "content_html": "<p>Termix Docker Compose 部署笔记：数据持久化、guacd 的作用、反向代理暴露方式，以及自托管远程管理服务的安全边界。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "Termix",
        "SSH",
        "Docker",
        "自托管",
        "远程桌面",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/typescript-modern-engineering-guide/",
      "url": "https://marxchou.com/article/typescript-modern-engineering-guide/",
      "title": "TypeScript 入门别只背类型：从 tsconfig 开始建立工程意识",
      "summary": "面向现代前端和 Node.js 项目的 TypeScript 入门路线：项目安装、tsconfig、类型收窄、泛型、模块系统与渐进迁移。",
      "content_html": "<p>面向现代前端和 Node.js 项目的 TypeScript 入门路线：项目安装、tsconfig、类型收窄、泛型、模块系统与渐进迁移。</p>\n",
      "date_published": "2026-09-24T00:00:00.000Z",
      "tags": [
        "TypeScript",
        "JavaScript",
        "前端",
        "Node.js",
        "工程化",
        "开发"
      ]
    },
    {
      "id": "https://marxchou.com/article/partdb-fnos-deploy-pitfalls/",
      "url": "https://marxchou.com/article/partdb-fnos-deploy-pitfalls/",
      "title": "飞牛 NAS 部署 Part-DB 踩坑实录：镜像拉不动、数据库还会消失",
      "summary": "在飞牛 fnOS 上部署 Part-DB 零件库存管理：四个连环坑的排查与修复记录，涵盖镜像加速、Caddy 强制 HTTPS、卷路径错位与 Host 校验。",
      "content_html": "<p>在飞牛 fnOS 上部署 Part-DB 零件库存管理：四个连环坑的排查与修复记录，涵盖镜像加速、Caddy 强制 HTTPS、卷路径错位与 Host 校验。</p>\n",
      "date_published": "2026-09-23T00:00:00.000Z",
      "tags": [
        "Part-DB",
        "fnOS",
        "Docker",
        "自托管",
        "踩坑记录",
        "NAS"
      ]
    },
    {
      "id": "https://marxchou.com/article/fnos-disk-migration-256g-to-512g/",
      "url": "https://marxchou.com/article/fnos-disk-migration-256g-to-512g/",
      "title": "飞牛NAS系统盘迁移:256G 换 512G 全程记录",
      "summary": "把飞牛 fnOS 系统盘从 256G 换到 512G,不重装系统不重配。用 dd 扇区克隆 + 四层扩容(分区→RAID→LVM→btrfs)一次搞定,记录全程命令和踩过的坑。",
      "content_html": "<p>把飞牛 fnOS 系统盘从 256G 换到 512G,不重装系统不重配。用 dd 扇区克隆 + 四层扩容(分区→RAID→LVM→btrfs)一次搞定,记录全程命令和踩过的坑。</p>\n",
      "date_published": "2026-09-11T00:00:00.000Z",
      "tags": [
        "fnos",
        "NVMe",
        "dd",
        "NAS",
        "Linux",
        "磁盘迁移"
      ]
    },
    {
      "id": "https://marxchou.com/article/omarchy-i18n-localization/",
      "url": "https://marxchou.com/article/omarchy-i18n-localization/",
      "title": "改不动英文界面的 Omarchy：一次 locale 配置的\"破案\"",
      "summary": "Omarchy 装好后 locale 全配对了，桌面界面却还是英文。翻源码才发现：整个 shell 175 个 QML 文件零翻译调用，i18n 机制压根没搭。这篇文章记录这次\"破案\"全过程。",
      "content_html": "<p>Omarchy 装好后 locale 全配对了，桌面界面却还是英文。翻源码才发现：整个 shell 175 个 QML 文件零翻译调用，i18n 机制压根没搭。这篇文章记录这次\"破案\"全过程。</p>\n",
      "date_published": "2026-09-07T00:00:00.000Z",
      "tags": [
        "Omarchy",
        "i18n",
        "本地化",
        "Linux",
        "Arch",
        "中文"
      ]
    },
    {
      "id": "https://marxchou.com/article/docker-proxy-migration/",
      "url": "https://marxchou.com/article/docker-proxy-migration/",
      "title": "我以为只是 pull 一下，结果整个架构被重写了",
      "summary": "给自建的 Docker 镜像加速服务做例行更新，却发现上游 dqzboy/Docker-Proxy 在 7 月下旬悄悄把后端从 distribution registry 重写成了 Go 零缓存实现。记录从旧 3 服务架构迁移到新 2 服务架构的完整过程，以及 :latest 标签带来的版本错配坑。",
      "content_html": "<p>给自建的 Docker 镜像加速服务做例行更新，却发现上游 dqzboy/Docker-Proxy 在 7 月下旬悄悄把后端从 distribution registry 重写成了 Go 零缓存实现。记录从旧 3 服务架构迁移到新 2 服务架构的完整过程，以及 :latest 标签带来的版本错配坑。</p>\n",
      "date_published": "2026-08-16T00:00:00.000Z",
      "tags": [
        "docker-proxy",
        "docker",
        "镜像加速",
        "自托管",
        "运维",
        "踩坑记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/migrate-arch-to-lightsail/",
      "url": "https://marxchou.com/article/migrate-arch-to-lightsail/",
      "title": "把一台跑了 57 天的 Arch 服务器，原样搬到一台新的轻量机",
      "summary": "阿里云轻量应用服务器不支持导入镜像、官方镜像没有 Arch，如何把一台跑着 RustDesk 和 frp 的 Arch ECS 原样迁移到轻量机：reinstall 脚本 dd 大法全流程与踩坑实录。",
      "content_html": "<p>阿里云轻量应用服务器不支持导入镜像、官方镜像没有 Arch，如何把一台跑着 RustDesk 和 frp 的 Arch ECS 原样迁移到轻量机：reinstall 脚本 dd 大法全流程与踩坑实录。</p>\n",
      "date_published": "2026-08-14T00:00:00.000Z",
      "tags": [
        "阿里云",
        "ArchLinux",
        "服务器迁移",
        "轻量应用服务器",
        "镜像",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/blog-seo-practice/",
      "url": "https://marxchou.com/article/blog-seo-practice/",
      "title": "博客 SEO 实战：GSC 索引诊断、i18n 清理与 IndexNow 推送",
      "summary": "面向静态博客的 SEO 优化记录，涵盖 Google Search Console 索引覆盖问题排查、Astro i18n sitemap 清理、robots.txt 配置、IndexNow 主动推送和 GitHub Pages 双仓部署架构",
      "content_html": "<p>面向静态博客的 SEO 优化记录，涵盖 Google Search Console 索引覆盖问题排查、Astro i18n sitemap 清理、robots.txt 配置、IndexNow 主动推送和 GitHub Pages 双仓部署架构</p>\n",
      "date_published": "2026-06-26T00:00:00.000Z",
      "tags": [
        "SEO",
        "GSC",
        "博客",
        "Astro",
        "部署",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/pagefind-search-practice/",
      "url": "https://marxchou.com/article/pagefind-search-practice/",
      "title": "Pagefind 搜索实战：中文分词、UI 定制与踩坑全记录",
      "summary": "在 Astro 博客中集成 Pagefind 搜索的完整经验，涵盖 CJK 中文分词修复、Component UI 迁移、弹窗 bug 处理、搜索结果样式定制以及移动端适配",
      "content_html": "<p>在 Astro 博客中集成 Pagefind 搜索的完整经验，涵盖 CJK 中文分词修复、Component UI 迁移、弹窗 bug 处理、搜索结果样式定制以及移动端适配</p>\n",
      "date_published": "2026-06-26T00:00:00.000Z",
      "tags": [
        "Pagefind",
        "全文搜索",
        "博客搜索",
        "Astro",
        "前端",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/chrome-zoom-bug-git-bisect/",
      "url": "https://marxchou.com/article/chrome-zoom-bug-git-bisect/",
      "title": "一行代码，修了两天：记一次 Chrome 自动缩放 bug 排查",
      "summary": "Chrome 首次打开页面自动放大，viewport 没问题、CSS 没问题、Astro 也没问题。用 git bisect 定位到 23 个提交中的一个，根因竟是一个多余的 flex 包装容器。",
      "content_html": "<p>Chrome 首次打开页面自动放大，viewport 没问题、CSS 没问题、Astro 也没问题。用 git bisect 定位到 23 个提交中的一个，根因竟是一个多余的 flex 包装容器。</p>\n",
      "date_published": "2026-06-25T00:00:00.000Z",
      "tags": [
        "Chrome",
        "CSS",
        "git-bisect",
        "前端调试",
        "浏览器兼容性",
        "开发工具"
      ]
    },
    {
      "id": "https://marxchou.com/article/hermes-agent-supabase-security-fix/",
      "url": "https://marxchou.com/article/hermes-agent-supabase-security-fix/",
      "title": "让 AI Agent 帮我修了个安全漏洞——Hermes 接 Gmail 查 Supabase 实战",
      "summary": "记录一次真实的 AI Agent 操作：从收到 Supabase 安全告警邮件，到让 Hermes 接入 Gmail 读邮件、登录 Supabase 排查问题、生成并执行修复 SQL 的全过程。包含国内代理环境下 Himalaya + proxychains 的踩坑和 Supabase RLS 安全修复实战。",
      "content_html": "<p>记录一次真实的 AI Agent 操作：从收到 Supabase 安全告警邮件，到让 Hermes 接入 Gmail 读邮件、登录 Supabase 排查问题、生成并执行修复 SQL 的全过程。包含国内代理环境下 Himalaya + proxychains 的踩坑和 Supabase RLS 安全修复实战。</p>\n",
      "date_published": "2026-06-24T00:00:00.000Z",
      "tags": [
        "AI-Agent",
        "Hermes",
        "Gmail",
        "Supabase",
        "安全",
        "独立开发"
      ]
    },
    {
      "id": "https://marxchou.com/article/affine-selfhost-ai-config/",
      "url": "https://marxchou.com/article/affine-selfhost-ai-config/",
      "title": "自托管 AFFiNE 配 AI：三个坑和一份能用的配置",
      "summary": "AFFiNE 自托管版本 AI 功能配置实录：从 NO_COPILOT_PROVIDER_AVAILABLE 到正常使用的完整踩坑过程。",
      "content_html": "<p>AFFiNE 自托管版本 AI 功能配置实录：从 NO_COPILOT_PROVIDER_AVAILABLE 到正常使用的完整踩坑过程。</p>\n",
      "date_published": "2026-06-18T00:00:00.000Z",
      "tags": [
        "affine",
        "ai",
        "self-hosted",
        "docker",
        "踩坑",
        "知识库"
      ]
    },
    {
      "id": "https://marxchou.com/article/hermes-memory-cleanup-backup/",
      "url": "https://marxchou.com/article/hermes-memory-cleanup-backup/",
      "title": "Hermes Agent 记忆治理：从 84% 爆满到自动化备份 + 审计",
      "summary": "Hermes 内置记忆用久了会膨胀、会腐化。本文记录从手动清理 MEMORY.md 到写 Python 脚本 + cron 定时审计 + 自动备份的完整过程，附带可直接用的审计脚本。",
      "content_html": "<p>Hermes 内置记忆用久了会膨胀、会腐化。本文记录从手动清理 MEMORY.md 到写 Python 脚本 + cron 定时审计 + 自动备份的完整过程，附带可直接用的审计脚本。</p>\n",
      "date_published": "2026-06-16T00:00:00.000Z",
      "tags": [
        "Hermes-Agent",
        "记忆管理",
        "自动化",
        "Cron",
        "Python",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/from-xiaohei-to-marxchou-illustration-skill/",
      "url": "https://marxchou.com/article/from-xiaohei-to-marxchou-illustration-skill/",
      "title": "从 blob 小黑到铅笔少年——我用 AI 给自己画了一套博客配图系统",
      "summary": "记录将 Ian 的小黑怪诞手绘 Skill 改造为 MarxChou 铅笔素描配图系统的完整过程：IP 设计、Seedream 接入、四轮风格探索、两个坑的根因和解决方案、从 Seedream 切换到 GPT Image 2（成本降 25 倍）的经验。",
      "content_html": "<p>记录将 Ian 的小黑怪诞手绘 Skill 改造为 MarxChou 铅笔素描配图系统的完整过程：IP 设计、Seedream 接入、四轮风格探索、两个坑的根因和解决方案、从 Seedream 切换到 GPT Image 2（成本降 25 倍）的经验。</p>\n",
      "date_published": "2026-06-13T00:00:00.000Z",
      "tags": [
        "MarxChou",
        "AI插画",
        "博客配图",
        "Seedream",
        "Prompt工程",
        "Skill"
      ]
    },
    {
      "id": "https://marxchou.com/article/deskflow-software-kvm-guide/",
      "url": "https://marxchou.com/article/deskflow-software-kvm-guide/",
      "title": "一套键鼠控制多台电脑：Deskflow 软件 KVM 完全指南",
      "summary": "告别硬件 KVM 切换器，用 Deskflow 开源软件实现 iMac + MacBook + Windows + Linux 一套键鼠无缝漫游。含各平台安装、配置、排障和高阶技巧。",
      "content_html": "<p>告别硬件 KVM 切换器，用 Deskflow 开源软件实现 iMac + MacBook + Windows + Linux 一套键鼠无缝漫游。含各平台安装、配置、排障和高阶技巧。</p>\n",
      "date_published": "2026-06-10T00:00:00.000Z",
      "tags": [
        "Deskflow",
        "软件KVM",
        "键鼠共享",
        "开源工具",
        "macOS",
        "跨平台"
      ]
    },
    {
      "id": "https://marxchou.com/article/pve-install-archlinux-guide/",
      "url": "https://marxchou.com/article/pve-install-archlinux-guide/",
      "title": "Proxmox VE 中安装 Arch Linux 虚拟机完全指南",
      "summary": "在 Proxmox VE 8.x 上从头安装 Arch Linux 虚拟机：UEFI 启动、VirtIO 优化、systemd-boot 引导、qemu-guest-agent 集成、模板化克隆。每一步带命令和踩坑提醒。",
      "content_html": "<p>在 Proxmox VE 8.x 上从头安装 Arch Linux 虚拟机：UEFI 启动、VirtIO 优化、systemd-boot 引导、qemu-guest-agent 集成、模板化克隆。每一步带命令和踩坑提醒。</p>\n",
      "date_published": "2026-06-10T00:00:00.000Z",
      "tags": [
        "Arch-Linux",
        "Proxmox-VE",
        "虚拟机",
        "Linux",
        "HomeLab",
        "教程"
      ]
    },
    {
      "id": "https://marxchou.com/article/drydock-deployment/",
      "url": "https://marxchou.com/article/drydock-deployment/",
      "title": "DryDock 分布式容器更新监控部署实录：一屏管五台机器",
      "summary": "从 Controller 配置到 Agent 模板，再到通知推送，DryDock 跨机器 Docker 镜像更新监控的完整部署指南（fnOS + 局域网 + VPS）。",
      "content_html": "<p>从 Controller 配置到 Agent 模板，再到通知推送，DryDock 跨机器 Docker 镜像更新监控的完整部署指南（fnOS + 局域网 + VPS）。</p>\n",
      "date_published": "2026-06-09T00:00:00.000Z",
      "tags": [
        "DryDock",
        "Docker",
        "Docker管理",
        "自托管",
        "运维",
        "NAS"
      ]
    },
    {
      "id": "https://marxchou.com/article/homer-dashboard-setup/",
      "url": "https://marxchou.com/article/homer-dashboard-setup/",
      "title": "Homer Dashboard 完整部署与优化：Docker 配置、CORS 健康检查、Proxmox 集成",
      "summary": "从 Docker Compose 安全加固到自建 CORS 代理解决健康检查，再到 Proxmox 监控集成，Homer 仪表盘一站式部署指南。",
      "content_html": "<p>从 Docker Compose 安全加固到自建 CORS 代理解决健康检查，再到 Proxmox 监控集成，Homer 仪表盘一站式部署指南。</p>\n",
      "date_published": "2026-06-09T00:00:00.000Z",
      "tags": [
        "Homer",
        "Dashboard",
        "NAS面板",
        "Docker",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/npm-custom-default-page/",
      "url": "https://marxchou.com/article/npm-custom-default-page/",
      "title": "Nginx Proxy Manager 自定义默认站点页面，别再用默认的 Congratulations 了",
      "summary": "NPM 默认站点四种模式对比，自定义 HTML 页面的完整教程（含 GitHub 暗色风格模板），让你的反代入口更专业。",
      "content_html": "<p>NPM 默认站点四种模式对比，自定义 HTML 页面的完整教程（含 GitHub 暗色风格模板），让你的反代入口更专业。</p>\n",
      "date_published": "2026-06-09T00:00:00.000Z",
      "tags": [
        "Nginx-Proxy-Manager",
        "默认页",
        "404定制",
        "Nginx",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/docker-multi-server-management/",
      "url": "https://marxchou.com/article/docker-multi-server-management/",
      "title": "多服务器 Docker 管理方案：镜像缓存 + 更新监测 + 统一面板",
      "summary": "多台 VPS 加本地 PVE 的 Docker 容器怎么统一管理？用 docker-registry-proxy 做镜像缓存、Komodo 多机面板、WUD 更新监测，三件套搞定。",
      "content_html": "<p>多台 VPS 加本地 PVE 的 Docker 容器怎么统一管理？用 docker-registry-proxy 做镜像缓存、Komodo 多机面板、WUD 更新监测，三件套搞定。</p>\n",
      "date_published": "2026-06-08T00:00:00.000Z",
      "tags": [
        "Docker",
        "多服务器",
        "统一管理",
        "自托管",
        "运维",
        "效率工具"
      ]
    },
    {
      "id": "https://marxchou.com/article/github-pages-manual-deploy/",
      "url": "https://marxchou.com/article/github-pages-manual-deploy/",
      "title": "GitHub Pages 手动部署：不 push 代码也能触发更新",
      "summary": "GitHub Pages 默认要靠 push 触发部署，但通过 workflow_dispatch 可以手动点按钮部署，支持 Web UI、CLI、REST API 三种方式，手机上也能操作。",
      "content_html": "<p>GitHub Pages 默认要靠 push 触发部署，但通过 workflow_dispatch 可以手动点按钮部署，支持 Web UI、CLI、REST API 三种方式，手机上也能操作。</p>\n",
      "date_published": "2026-06-08T00:00:00.000Z",
      "tags": [
        "GitHub-Pages",
        "GitHub-Actions",
        "部署CI",
        "部署",
        "静态网站",
        "自托管"
      ]
    },
    {
      "id": "https://marxchou.com/article/sing-box-docker-deploy/",
      "url": "https://marxchou.com/article/sing-box-docker-deploy/",
      "title": "sing-box Docker 部署指南：VLESS Reality + Hysteria2 双协议",
      "summary": "在新 VPS 上用 Docker 部署 sing-box，跑 VLESS Reality + Hysteria2 双协议，包含凭证生成、TLS 证书、配置模板、客户端配置和常见排障。",
      "content_html": "<p>在新 VPS 上用 Docker 部署 sing-box，跑 VLESS Reality + Hysteria2 双协议，包含凭证生成、TLS 证书、配置模板、客户端配置和常见排障。</p>\n",
      "date_published": "2026-06-08T00:00:00.000Z",
      "tags": [
        "sing-box",
        "Docker部署",
        "Hysteria2",
        "代理",
        "Docker",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/rustdesk-ipv6-ddns-fnnas/",
      "url": "https://marxchou.com/article/rustdesk-ipv6-ddns-fnnas/",
      "title": "RustDesk 部署在家庭 NAS 上：IPv6 + DDNS 零成本公网远程",
      "summary": "不需要买云服务器。用家里宽带 IPv6 + DDNS 域名，把 RustDesk 服务端部署在飞牛 NAS 上，Docker Compose 三分钟启动。所有设备通过域名直连自建服务器，P2P 优先、中继兜底，一劳永逸替代 TeamViewer/ToDesk。",
      "content_html": "<p>不需要买云服务器。用家里宽带 IPv6 + DDNS 域名，把 RustDesk 服务端部署在飞牛 NAS 上，Docker Compose 三分钟启动。所有设备通过域名直连自建服务器，P2P 优先、中继兜底，一劳永逸替代 TeamViewer/ToDesk。</p>\n",
      "date_published": "2026-06-04T00:00:00.000Z",
      "tags": [
        "RustDesk",
        "IPv6",
        "DDNS",
        "远程桌面",
        "Docker",
        "自托管"
      ]
    },
    {
      "id": "https://marxchou.com/article/sing-box-client-multi-node-config/",
      "url": "https://marxchou.com/article/sing-box-client-multi-node-config/",
      "title": "sing-box 客户端多节点配置：订阅解析 + 地区分组 + Web Dashboard",
      "summary": "从零配置 sing-box 内网代理客户端，解析订阅链接自动生成 64 节点配置，按地区分组 + Clash API Dashboard 图形化管理，附带防火墙放行和环境变量代理踩坑。",
      "content_html": "<p>从零配置 sing-box 内网代理客户端，解析订阅链接自动生成 64 节点配置，按地区分组 + Clash API Dashboard 图形化管理，附带防火墙放行和环境变量代理踩坑。</p>\n",
      "date_published": "2026-06-03T00:00:00.000Z",
      "tags": [
        "sing-box",
        "多节点",
        "代理切换",
        "代理",
        "Debian",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/bitwarden-vault-optimization/",
      "url": "https://marxchou.com/article/bitwarden-vault-optimization/",
      "title": "348条密码乱成团？记一次 Bitwarden 密码库优化实战",
      "summary": "从零优化 348 条杂乱密码记录的全过程：安全加固、去重、文件夹分类、规范命名四阶段执行，附 bw CLI 批量操作踩坑经验。",
      "content_html": "<p>从零优化 348 条杂乱密码记录的全过程：安全加固、去重、文件夹分类、规范命名四阶段执行，附 bw CLI 批量操作踩坑经验。</p>\n",
      "date_published": "2026-05-31T00:00:00.000Z",
      "tags": [
        "Vaultwarden",
        "密码管理",
        "CLI优化",
        "效率工具",
        "自托管",
        "安全"
      ]
    },
    {
      "id": "https://marxchou.com/article/lobechat-data-export-guide/",
      "url": "https://marxchou.com/article/lobechat-data-export-guide/",
      "title": "LobeChat v2 无导出按钮？从 PostgreSQL 直接捞回你的对话数据",
      "summary": "LobeChat v2 云版设置里只有导入没有导出按钮（官方已关闭 Issue #10793 为不计划修复）。本文演示如何直连 PostgreSQL 数据库，用 Python 把 5565 条消息按主题导出为可读 Markdown，再喂给 Open NotebookLM 做私有知识库。",
      "content_html": "<p>LobeChat v2 云版设置里只有导入没有导出按钮（官方已关闭 Issue #10793 为不计划修复）。本文演示如何直连 PostgreSQL 数据库，用 Python 把 5565 条消息按主题导出为可读 Markdown，再喂给 Open NotebookLM 做私有知识库。</p>\n",
      "date_published": "2026-05-29T00:00:00.000Z",
      "tags": [
        "LobeChat",
        "数据导出",
        "PostgreSQL备份",
        "Docker",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/fnos-docker-update-watchcow-fix/",
      "url": "https://marxchou.com/article/fnos-docker-update-watchcow-fix/",
      "title": "fnOS Docker 容器批量更新踩坑：容器名冲突与 WatchCow 标签失效修复",
      "summary": "fnOS 上跑了 23 个 Docker 容器，某次批量更新镜像后 WatchCow 桌面快捷方式集体失踪。本文记录排查全过程：SSH 权限、容器名冲突、appcenter-cli 默认卷缺失的三连坑。",
      "content_html": "<p>fnOS 上跑了 23 个 Docker 容器，某次批量更新镜像后 WatchCow 桌面快捷方式集体失踪。本文记录排查全过程：SSH 权限、容器名冲突、appcenter-cli 默认卷缺失的三连坑。</p>\n",
      "date_published": "2026-05-28T00:00:00.000Z",
      "tags": [
        "fnOS",
        "Docker",
        "WatchCow排障",
        "自托管",
        "NAS",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/hermes-agent-memory-optimization/",
      "url": "https://marxchou.com/article/hermes-agent-memory-optimization/",
      "title": "Hermes Agent 记忆优化：从 76% 爆满到 17% 的扩容与清理实录",
      "summary": "Hermes Agent 的记忆默认只有 2200 字符，用久了必然爆满。本文记录了从尝试外部插件（失败）到发现内置配置项，再到建立 '配置不入记忆' 原则的完整优化过程。",
      "content_html": "<p>Hermes Agent 的记忆默认只有 2200 字符，用久了必然爆满。本文记录了从尝试外部插件（失败）到发现内置配置项，再到建立 '配置不入记忆' 原则的完整优化过程。</p>\n",
      "date_published": "2026-05-28T00:00:00.000Z",
      "tags": [
        "Hermes-Agent",
        "记忆管理",
        "配置优化",
        "AI-Agent",
        "效率工具",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/open-notebook-docker-deploy/",
      "url": "https://marxchou.com/article/open-notebook-docker-deploy/",
      "title": "Docker 部署 Open Notebook：自托管你的私有 AI 研究助理",
      "summary": "Open Notebook 是 Google NotebookLM 的开源替代，支持 Word/Excel/PPT/PDF/视频/音频全格式上传，可接 DeepSeek 或本地模型。本文带你用 Docker Compose 一行命令完成部署，包括 DeepSeek 接入和常见踩坑。",
      "content_html": "<p>Open Notebook 是 Google NotebookLM 的开源替代，支持 Word/Excel/PPT/PDF/视频/音频全格式上传，可接 DeepSeek 或本地模型。本文带你用 Docker Compose 一行命令完成部署，包括 DeepSeek 接入和常见踩坑。</p>\n",
      "date_published": "2026-05-28T00:00:00.000Z",
      "tags": [
        "Open-Notebook",
        "RAG",
        "NotebookLM替代",
        "Docker",
        "自托管",
        "AI"
      ]
    },
    {
      "id": "https://marxchou.com/article/debian-sing-box-proxy-pitfalls/",
      "url": "https://marxchou.com/article/debian-sing-box-proxy-pitfalls/",
      "title": "Debian 服务器 sing-box 代理踩坑实录：VLESS 被精准封杀之后",
      "summary": "内网 Debian VM 安装 sing-box 客户端连接海外 VPS 的完整过程，涵盖 GitHub 镜像下载、Reality 公钥推导、VLESS 被 GFW 精准 RST、Hysteria2 替代方案、版本不匹配导致断连的排查与修复、TUN 模式断网陷阱等实战经验。",
      "content_html": "<p>内网 Debian VM 安装 sing-box 客户端连接海外 VPS 的完整过程，涵盖 GitHub 镜像下载、Reality 公钥推导、VLESS 被 GFW 精准 RST、Hysteria2 替代方案、版本不匹配导致断连的排查与修复、TUN 模式断网陷阱等实战经验。</p>\n",
      "date_published": "2026-05-26T00:00:00.000Z",
      "tags": [
        "sing-box",
        "Hysteria2",
        "GFW踩坑",
        "代理",
        "Debian",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/piclist-r2-sink-setup/",
      "url": "https://marxchou.com/article/piclist-r2-sink-setup/",
      "title": "PicList + R2 + Sink：图床、短链、相册一条龙",
      "summary": "PicList 配置 Cloudflare R2 直传 + Sink 短链接的完整教程，涵盖 data.json 关键字段、S3 兼容凭据获取、短链自动生成，以及压缩转换、Typora 联动等实用功能。",
      "content_html": "<p>PicList 配置 Cloudflare R2 直传 + Sink 短链接的完整教程，涵盖 data.json 关键字段、S3 兼容凭据获取、短链自动生成，以及压缩转换、Typora 联动等实用功能。</p>\n",
      "date_published": "2026-05-26T00:00:00.000Z",
      "tags": [
        "PicList",
        "Cloudflare-R2",
        "图床",
        "短链接",
        "效率工具",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/amd-gpu-disappeared-troubleshooting/",
      "url": "https://marxchou.com/article/amd-gpu-disappeared-troubleshooting/",
      "title": "AMD 显卡突然\"消失\"？从软件到硬件的完整排查指南",
      "summary": "以一次 RX 6600 在飞牛 fnOS 上离奇失踪的真实排障经历为例，从 lspci 到重新插拔，一套命令走完软件硬件全链路",
      "content_html": "<p>以一次 RX 6600 在飞牛 fnOS 上离奇失踪的真实排障经历为例，从 lspci 到重新插拔，一套命令走完软件硬件全链路</p>\n",
      "date_published": "2026-05-25T00:00:00.000Z",
      "tags": [
        "AMD",
        "RX6600",
        "显卡排障",
        "ROCm",
        "HomeLab",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/linksmore-domain-priority/",
      "url": "https://marxchou.com/article/linksmore-domain-priority/",
      "title": "SaaS 产品域名选择策略：以 LinksMore 为例的后缀优先级分析",
      "summary": "从 Link-in-Bio 工具 LinksMore 的域名选型出发，分析 .link / .io / .bio / .co 四种后缀的语义匹配度、价格和品牌感知，给出可复用的 SaaS 域名决策框架。",
      "content_html": "<p>从 Link-in-Bio 工具 LinksMore 的域名选型出发，分析 .link / .io / .bio / .co 四种后缀的语义匹配度、价格和品牌感知，给出可复用的 SaaS 域名决策框架。</p>\n",
      "date_published": "2026-05-25T00:00:00.000Z",
      "tags": [
        "Linksmore",
        "域名",
        "产品决策",
        "SaaS",
        "品牌",
        "Link-in-Bio"
      ]
    },
    {
      "id": "https://marxchou.com/article/netcup-domain-renewal/",
      "url": "https://marxchou.com/article/netcup-domain-renewal/",
      "title": "netcup 域名续费避坑指南：手动付款才是正解",
      "summary": "netcup 域名到期不会自动续费，很多人以为绑了信用卡就万事大吉，结果域名被暂停才傻眼。本文梳理完整的 CCP 手动付款流程和几个容易踩的坑。",
      "content_html": "<p>netcup 域名到期不会自动续费，很多人以为绑了信用卡就万事大吉，结果域名被暂停才傻眼。本文梳理完整的 CCP 手动付款流程和几个容易踩的坑。</p>\n",
      "date_published": "2026-05-25T00:00:00.000Z",
      "tags": [
        "netcup",
        "域名",
        "便宜续费",
        "自托管",
        "VPS",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/nuc9-fnos-llama-cpp-rocm-deploy/",
      "url": "https://marxchou.com/article/nuc9-fnos-llama-cpp-rocm-deploy/",
      "title": "NUC9 + fnOS + RX 6600 部署 llama.cpp 本地大模型推理服务",
      "summary": "在 Intel NUC9 幽灵峡谷上，用 Docker 部署 llama.cpp + ROCm 推理服务的完整指南——从 AMD 容器工具包安装、docker-compose 配置逐字段拆解、模型选型到 Hermes Agent / Page Assist 接入，附 RX 6600 实测性能与踩坑记录。",
      "content_html": "<p>在 Intel NUC9 幽灵峡谷上，用 Docker 部署 llama.cpp + ROCm 推理服务的完整指南——从 AMD 容器工具包安装、docker-compose 配置逐字段拆解、模型选型到 Hermes Agent / Page Assist 接入，附 RX 6600 实测性能与踩坑记录。</p>\n",
      "date_published": "2026-05-24T00:00:00.000Z",
      "tags": [
        "llama-cpp",
        "ROCm",
        "本地推理",
        "AMD",
        "Docker",
        "HomeLab"
      ]
    },
    {
      "id": "https://marxchou.com/article/oclp-root-patching-privileged-helper-fix/",
      "url": "https://marxchou.com/article/oclp-root-patching-privileged-helper-fix/",
      "title": "记一次黑苹果 OCLP 2.x Root Patching 翻车与修复",
      "summary": "OCLP 2.x 在 macOS Sequoia 下 Root Patching 报 FileNotFoundError: privileged-helper 的完整排错过程——从错误现场到根因分析再到三步修复，附 OCLP 官方文档佐证。",
      "content_html": "<p>OCLP 2.x 在 macOS Sequoia 下 Root Patching 报 FileNotFoundError: privileged-helper 的完整排错过程——从错误现场到根因分析再到三步修复，附 OCLP 官方文档佐证。</p>\n",
      "date_published": "2026-05-23T00:00:00.000Z",
      "tags": [
        "OCLP",
        "黑苹果",
        "Hackintosh排障",
        "Hackintosh",
        "Sequoia",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/beszel-server-monitoring-guide/",
      "url": "https://marxchou.com/article/beszel-server-monitoring-guide/",
      "title": "Beszel：5分钟搭建轻量服务器监控，告别 Prometheus 的配置地狱",
      "summary": "Beszel 是一款 MIT 开源的轻量服务器监控平台，两个组件五分钟上线，每台机器仅占不到 10MB 内存。本文从实战出发，覆盖快速部署、方案选型、关键配置、反向代理、告警策略和常见踩坑排查的全流程指南。",
      "content_html": "<p>Beszel 是一款 MIT 开源的轻量服务器监控平台，两个组件五分钟上线，每台机器仅占不到 10MB 内存。本文从实战出发，覆盖快速部署、方案选型、关键配置、反向代理、告警策略和常见踩坑排查的全流程指南。</p>\n",
      "date_published": "2026-05-22T00:00:00.000Z",
      "tags": [
        "Beszel",
        "服务器监控",
        "轻量运维",
        "Docker",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/blog-feature-demo/",
      "url": "https://marxchou.com/article/blog-feature-demo/",
      "title": "博客功能演示：Markdown 与 MDX 渲染效果一览",
      "summary": "一篇涵盖 Mermaid 流程图/时序图、代码高亮、表格、Callout 容器、数学公式等所有博客渲染功能的演示文章。用于验证 Astro 博客的主题配置和组件渲染是否正常。",
      "content_html": "<p>一篇涵盖 Mermaid 流程图/时序图、代码高亮、表格、Callout 容器、数学公式等所有博客渲染功能的演示文章。用于验证 Astro 博客的主题配置和组件渲染是否正常。</p>\n",
      "date_published": "2026-05-21T00:00:00.000Z",
      "tags": [
        "演示",
        "Markdown",
        "MDX",
        "博客",
        "Astro",
        "技术"
      ]
    },
    {
      "id": "https://marxchou.com/article/affine-self-hosted-deploy-guide/",
      "url": "https://marxchou.com/article/affine-self-hosted-deploy-guide/",
      "title": "AFFiNE 自托管部署：把知识库搬回自己的服务器",
      "summary": "AFFiNE 是开源的 Notion 替代品，支持 Docker Compose 自托管部署。本文从零搭建完整服务栈，覆盖 PostgreSQL + Redis 配置、反向代理、备份策略和生产环境加固。",
      "content_html": "<p>AFFiNE 是开源的 Notion 替代品，支持 Docker Compose 自托管部署。本文从零搭建完整服务栈，覆盖 PostgreSQL + Redis 配置、反向代理、备份策略和生产环境加固。</p>\n",
      "date_published": "2026-05-20T00:00:00.000Z",
      "tags": [
        "AFFiNE",
        "知识库",
        "自托管",
        "Docker",
        "部署",
        "PostgreSQL"
      ]
    },
    {
      "id": "https://marxchou.com/article/vscode-ai-coding-plugins-comparison/",
      "url": "https://marxchou.com/article/vscode-ai-coding-plugins-comparison/",
      "title": "VSCode AI 编程插件横评：Copilot、Codeium、Cursor 怎么选？",
      "summary": "VSCode 上的 AI 编程插件越来越多：GitHub Copilot、Codeium、TabNine、Cursor、Cline。本文从代码补全质量、上下文理解、价格和隐私角度横评，帮你选最适合的。",
      "content_html": "<p>VSCode 上的 AI 编程插件越来越多：GitHub Copilot、Codeium、TabNine、Cursor、Cline。本文从代码补全质量、上下文理解、价格和隐私角度横评，帮你选最适合的。</p>\n",
      "date_published": "2026-05-19T00:00:00.000Z",
      "tags": [
        "VSCode",
        "AI编程",
        "插件对比",
        "AI",
        "编程",
        "效率工具"
      ]
    },
    {
      "id": "https://marxchou.com/article/css-override-techniques-guide/",
      "url": "https://marxchou.com/article/css-override-techniques-guide/",
      "title": "CSS 覆盖的七种武器：从 !important 到 @layer，彻底搞懂样式优先级",
      "summary": "第三方组件样式改不动？CSS 覆盖有章可循：加载顺序、选择器加权、!important、@layer 层叠、Shadow DOM 穿透。本文把七种覆盖手段按推荐顺序排好，附带实战场景。",
      "content_html": "<p>第三方组件样式改不动？CSS 覆盖有章可循：加载顺序、选择器加权、!important、@layer 层叠、Shadow DOM 穿透。本文把七种覆盖手段按推荐顺序排好，附带实战场景。</p>\n",
      "date_published": "2026-05-18T00:00:00.000Z",
      "tags": [
        "CSS",
        "样式覆盖",
        "Web开发",
        "前端",
        "博客",
        "Web开发"
      ]
    },
    {
      "id": "https://marxchou.com/article/doocs-md-wechat-markdown-editor-guide/",
      "url": "https://marxchou.com/article/doocs-md-wechat-markdown-editor-guide/",
      "title": "doocs/md：微信公众号 Markdown 编辑器，写 MD 直接变图文排版",
      "summary": "doocs/md 是开源的微信 Markdown 编辑器，写 Markdown 实时预览微信图文效果。支持代码高亮、数学公式、Mermaid 流程图、图床集成和 AI 辅助写作，Docker 一行命令部署。",
      "content_html": "<p>doocs/md 是开源的微信 Markdown 编辑器，写 Markdown 实时预览微信图文效果。支持代码高亮、数学公式、Mermaid 流程图、图床集成和 AI 辅助写作，Docker 一行命令部署。</p>\n",
      "date_published": "2026-05-17T00:00:00.000Z",
      "tags": [
        "微信",
        "Markdown",
        "公众号排版",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/searxng-google-ban-solution-guide/",
      "url": "https://marxchou.com/article/searxng-google-ban-solution-guide/",
      "title": "SearXNG 自建搜索引擎：Google 被封了怎么办？换 Brave + Startpage 替代方案",
      "summary": "自建 SearXNG 搜索引擎经常被 Google 封禁 24 小时？本文分析封禁原因（请求指纹、数据中心 IP），并给出 Brave + Bing + DuckDuckGo + Startpage 的稳定替代方案配置。",
      "content_html": "<p>自建 SearXNG 搜索引擎经常被 Google 封禁 24 小时？本文分析封禁原因（请求指纹、数据中心 IP），并给出 Brave + Bing + DuckDuckGo + Startpage 的稳定替代方案配置。</p>\n",
      "date_published": "2026-05-16T00:00:00.000Z",
      "tags": [
        "SearXNG",
        "搜索引擎",
        "Google封禁",
        "Docker",
        "自托管",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/moonlight-sunshine-game-streaming-guide/",
      "url": "https://marxchou.com/article/moonlight-sunshine-game-streaming-guide/",
      "title": "家里串流玩游戏：Moonlight + Sunshine 替代 Steam Link 的完整方案",
      "summary": "不想坐在电脑前玩游戏？串流技术让你在客厅电视、iPad、甚至手机上玩 PC 游戏。本文从协议选型到 Moonlight + Sunshine 部署，覆盖延迟优化和常见踩坑。",
      "content_html": "<p>不想坐在电脑前玩游戏？串流技术让你在客厅电视、iPad、甚至手机上玩 PC 游戏。本文从协议选型到 Moonlight + Sunshine 部署，覆盖延迟优化和常见踩坑。</p>\n",
      "date_published": "2026-05-15T00:00:00.000Z",
      "tags": [
        "Moonlight",
        "串流",
        "游戏串流",
        "自托管",
        "HomeLab",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/rustdesk-self-hosted-guide/",
      "url": "https://marxchou.com/article/rustdesk-self-hosted-guide/",
      "title": "RustDesk 自建远程桌面完全指南：VPS 部署 + 家庭 NAS IPv6 零成本方案",
      "summary": "RustDesk 是开源远程桌面软件，自建服务器 Docker 一条命令部署。P2P 直连延迟极低，支持 Windows/macOS/Linux/iOS/Android 全平台，完全替代 TeamViewer/AnyDesk。",
      "content_html": "<p>RustDesk 是开源远程桌面软件，自建服务器 Docker 一条命令部署。P2P 直连延迟极低，支持 Windows/macOS/Linux/iOS/Android 全平台，完全替代 TeamViewer/AnyDesk。</p>\n",
      "date_published": "2026-05-14T00:00:00.000Z",
      "tags": [
        "RustDesk",
        "远程桌面",
        "开源替代",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/frigate-nvr-docker-deploy-guide/",
      "url": "https://marxchou.com/article/frigate-nvr-docker-deploy-guide/",
      "title": "Frigate：开源 AI 摄像头监控，在 Alpine Linux 上用 Docker 部署全流程",
      "summary": "Frigate 是开源的 AI NVR（网络视频录像机），用 AI 做实时对象检测。本文记录在 Alpine Linux 上用 Docker 部署 Frigate 的全过程，包括摄像头配置、GPU 加速和踩坑记录。",
      "content_html": "<p>Frigate 是开源的 AI NVR（网络视频录像机），用 AI 做实时对象检测。本文记录在 Alpine Linux 上用 Docker 部署 Frigate 的全过程，包括摄像头配置、GPU 加速和踩坑记录。</p>\n",
      "date_published": "2026-05-13T00:00:00.000Z",
      "tags": [
        "Frigate",
        "NVR",
        "AI安防",
        "Docker",
        "HomeLab",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/karakeep-deploy-guide/",
      "url": "https://marxchou.com/article/karakeep-deploy-guide/",
      "title": "Karakeep：自托管网页内容管理与自动化工具部署指南",
      "summary": "Karakeep 是开源的网页内容管理工具，支持 AI 自动标签、全文搜索、OAuth 认证、S3 存储。Docker 环境变量配置全部参数，适合自托管个人知识库索引。",
      "content_html": "<p>Karakeep 是开源的网页内容管理工具，支持 AI 自动标签、全文搜索、OAuth 认证、S3 存储。Docker 环境变量配置全部参数，适合自托管个人知识库索引。</p>\n",
      "date_published": "2026-05-12T00:00:00.000Z",
      "tags": [
        "Karakeep",
        "知识管理",
        "AI标签",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/glance-dashboard-setup-guide/",
      "url": "https://marxchou.com/article/glance-dashboard-setup-guide/",
      "title": "Glance Dashboard：把 RSS、YouTube、服务器状态装进一个页面",
      "summary": "Glance 是 34.7k Stars 的 AGPL-3.0 开源自托管 Dashboard，Go 单二进制、YAML 即配置、极致轻量。本文从选型对比到三列布局实战，手把手带你搭一个专属信息中枢。",
      "content_html": "<p>Glance 是 34.7k Stars 的 AGPL-3.0 开源自托管 Dashboard，Go 单二进制、YAML 即配置、极致轻量。本文从选型对比到三列布局实战，手把手带你搭一个专属信息中枢。</p>\n",
      "date_published": "2026-05-11T00:00:00.000Z",
      "tags": [
        "Glance",
        "Dashboard",
        "RSS监控",
        "Docker",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/imageflow-deploy-guide/",
      "url": "https://marxchou.com/article/imageflow-deploy-guide/",
      "title": "ImageFlow：自托管图片管理与智能分发平台，一个 API 搞定图片优化",
      "summary": "ImageFlow 是开源的图片管理平台，支持自动格式转换（WebP/AVIF）、智能分发、S3 存储、Redis 缓存。Docker 一键部署，适合博客、图库等内容型网站的图片服务。",
      "content_html": "<p>ImageFlow 是开源的图片管理平台，支持自动格式转换（WebP/AVIF）、智能分发、S3 存储、Redis 缓存。Docker 一键部署，适合博客、图库等内容型网站的图片服务。</p>\n",
      "date_published": "2026-05-10T00:00:00.000Z",
      "tags": [
        "ImageFlow",
        "图片优化",
        "图片CDN",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/fodi-onedrive-cloudflare-workers-guide/",
      "url": "https://marxchou.com/article/fodi-onedrive-cloudflare-workers-guide/",
      "title": "FODI：用 Cloudflare Workers 零成本搭建 OneDrive 文件列表站",
      "summary": "FODI 是基于 Cloudflare Workers 的 OneDrive 列表程序，无需服务器、完全免费。本文从 OneDrive 授权到 Workers 部署，一步步教你搭一个能在浏览器里浏览、下载 OneDrive 文件的站点。",
      "content_html": "<p>FODI 是基于 Cloudflare Workers 的 OneDrive 列表程序，无需服务器、完全免费。本文从 OneDrive 授权到 Workers 部署，一步步教你搭一个能在浏览器里浏览、下载 OneDrive 文件的站点。</p>\n",
      "date_published": "2026-05-09T00:00:00.000Z",
      "tags": [
        "Cloudflare",
        "Workers",
        "OneDrive",
        "Serverless",
        "自托管",
        "文件同步"
      ]
    },
    {
      "id": "https://marxchou.com/article/pocketchest-cloudflare-file-sharing-guide/",
      "url": "https://marxchou.com/article/pocketchest-cloudflare-file-sharing-guide/",
      "title": "PocketChest：基于 Cloudflare 的临时文件分享，上传即拿码，过期自动删",
      "summary": "PocketChest 是开源的临时文件分享服务，基于 Cloudflare Pages + Workers + R2 + D1，无需注册、上传即拿 6 位提取码。支持 200GB 大文件、自动过期、TOTP 认证。",
      "content_html": "<p>PocketChest 是开源的临时文件分享服务，基于 Cloudflare Pages + Workers + R2 + D1，无需注册、上传即拿 6 位提取码。支持 200GB 大文件、自动过期、TOTP 认证。</p>\n",
      "date_published": "2026-05-08T00:00:00.000Z",
      "tags": [
        "Cloudflare",
        "文件分享",
        "PocketChest",
        "R2",
        "自托管",
        "Serverless"
      ]
    },
    {
      "id": "https://marxchou.com/article/linkding-self-hosted-bookmark-guide/",
      "url": "https://marxchou.com/article/linkding-self-hosted-bookmark-guide/",
      "title": "Linkding：自托管书签管理，再也不怕浏览器书签栏爆炸",
      "summary": "Linkding 是开源的轻量书签管理器，Docker 部署只要一条命令，支持浏览器扩展一键收藏、全文搜索、标签管理。本文从部署到日常使用，覆盖反向代理和备份策略。",
      "content_html": "<p>Linkding 是开源的轻量书签管理器，Docker 部署只要一条命令，支持浏览器扩展一键收藏、全文搜索、标签管理。本文从部署到日常使用，覆盖反向代理和备份策略。</p>\n",
      "date_published": "2026-05-07T00:00:00.000Z",
      "tags": [
        "Linkding",
        "书签管理",
        "自托管书签",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/syncthing-file-sync-guide/",
      "url": "https://marxchou.com/article/syncthing-file-sync-guide/",
      "title": "Syncthing：开源去中心化文件同步，替代 Resilio Sync 和网盘",
      "summary": "Syncthing 是开源的去中心化文件同步工具，不需要中心服务器，设备间直接 P2P 加密传输。本文从 Debian 安装到 Docker 部署，覆盖远程访问、冲突处理和 HTTPS 配置。",
      "content_html": "<p>Syncthing 是开源的去中心化文件同步工具，不需要中心服务器，设备间直接 P2P 加密传输。本文从 Debian 安装到 Docker 部署，覆盖远程访问、冲突处理和 HTTPS 配置。</p>\n",
      "date_published": "2026-05-06T00:00:00.000Z",
      "tags": [
        "Syncthing",
        "文件同步",
        "P2P同步",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/self-hosted-git-platform-guide/",
      "url": "https://marxchou.com/article/self-hosted-git-platform-guide/",
      "title": "自托管 Git 平台选型：Gitea、Forgejo、GitLab 怎么选？Docker 部署一条龙",
      "summary": "想在 NAS 或 VPS 上搭个私有 GitHub？Gitea、Forgejo、GitLab 三大自托管 Git 平台对比，从资源占用、功能、部署复杂度到 Docker Compose 实战部署。",
      "content_html": "<p>想在 NAS 或 VPS 上搭个私有 GitHub？Gitea、Forgejo、GitLab 三大自托管 Git 平台对比，从资源占用、功能、部署复杂度到 Docker Compose 实战部署。</p>\n",
      "date_published": "2026-05-05T00:00:00.000Z",
      "tags": [
        "Git",
        "Gitea",
        "自托管Git",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/frp-panel-deploy-guide/",
      "url": "https://marxchou.com/article/frp-panel-deploy-guide/",
      "title": "FRP-Panel：告别手写配置文件，Web UI 管理 FRP 内网穿透",
      "summary": "FRP-Panel 给经典 FRP 套上了 Web 管理界面，Master-Server-Client 三层架构，支持可视化隧道管理、WireGuard 组网、多节点监控。Docker Compose 一条命令部署。",
      "content_html": "<p>FRP-Panel 给经典 FRP 套上了 Web 管理界面，Master-Server-Client 三层架构，支持可视化隧道管理、WireGuard 组网、多节点监控。Docker Compose 一条命令部署。</p>\n",
      "date_published": "2026-05-04T00:00:00.000Z",
      "tags": [
        "FRP",
        "内网穿透",
        "Web面板",
        "Docker",
        "自托管",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/webdav-troubleshooting-guide/",
      "url": "https://marxchou.com/article/webdav-troubleshooting-guide/",
      "title": "WebDAV 连不上？从协议前缀到反向代理，一套排查流程全搞定",
      "summary": "WebDAV 连接报错的原因其实很集中：协议前缀缺失、认证失败、路径写错、反代配置问题。本文整理了最常见的 5 类故障和排查方法，附带 AList 和 Nginx 反代的正确配置。",
      "content_html": "<p>WebDAV 连接报错的原因其实很集中：协议前缀缺失、认证失败、路径写错、反代配置问题。本文整理了最常见的 5 类故障和排查方法，附带 AList 和 Nginx 反代的正确配置。</p>\n",
      "date_published": "2026-05-03T00:00:00.000Z",
      "tags": [
        "WebDAV",
        "排障",
        "配置问题",
        "Nginx",
        "运维",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/sshwifty-web-ssh-client-guide/",
      "url": "https://marxchou.com/article/sshwifty-web-ssh-client-guide/",
      "title": "Sshwifty：在浏览器里 SSH 连接服务器，不需要装任何客户端",
      "summary": "Sshwifty 是一个 Web SSH/Telnet 客户端，Docker 一条命令部署。在任何有浏览器的设备上就能 SSH 连接服务器——包括 iPad、Chromebook、甚至别人的电脑。",
      "content_html": "<p>Sshwifty 是一个 Web SSH/Telnet 客户端，Docker 一条命令部署。在任何有浏览器的设备上就能 SSH 连接服务器——包括 iPad、Chromebook、甚至别人的电脑。</p>\n",
      "date_published": "2026-05-02T00:00:00.000Z",
      "tags": [
        "Sshwifty",
        "Web-SSH",
        "浏览器SSH",
        "Docker",
        "自托管",
        "运维"
      ]
    },
    {
      "id": "https://marxchou.com/article/cloudflare-tunnel-self-hosted-guide/",
      "url": "https://marxchou.com/article/cloudflare-tunnel-self-hosted-guide/",
      "title": "Cloudflare Tunnel：没有公网 IP，照样把内网服务暴露到互联网",
      "summary": "Cloudflare Tunnel 是免费的零信任内网穿透方案，无需公网 IP、不开放入站端口，就能安全地把 NAS、Docker 服务、SSH 暴露到公网。本文从原理到 Docker 部署，覆盖 HTTP/SSH/RDP 多协议配置。",
      "content_html": "<p>Cloudflare Tunnel 是免费的零信任内网穿透方案，无需公网 IP、不开放入站端口，就能安全地把 NAS、Docker 服务、SSH 暴露到公网。本文从原理到 Docker 部署，覆盖 HTTP/SSH/RDP 多协议配置。</p>\n",
      "date_published": "2026-05-01T00:00:00.000Z",
      "tags": [
        "Cloudflare",
        "Tunnel",
        "内网穿透",
        "Docker",
        "自托管",
        "网络安全"
      ]
    },
    {
      "id": "https://marxchou.com/article/vps-initialization-commands-guide/",
      "url": "https://marxchou.com/article/vps-initialization-commands-guide/",
      "title": "VPS 到手必跑的命令清单：从测速到换内核，一次配到位",
      "summary": "新 VPS 开好之后要跑哪些命令？本文整理了从性能测试、网络优化（BBR）、面板安装、安全加固到 SWAP 配置的一站式命令清单，拿到新机照着跑就行。",
      "content_html": "<p>新 VPS 开好之后要跑哪些命令？本文整理了从性能测试、网络优化（BBR）、面板安装、安全加固到 SWAP 配置的一站式命令清单，拿到新机照着跑就行。</p>\n",
      "date_published": "2026-04-30T00:00:00.000Z",
      "tags": [
        "VPS",
        "初始化",
        "常用命令",
        "Linux",
        "运维",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/linux-server-security-hardening-guide/",
      "url": "https://marxchou.com/article/linux-server-security-hardening-guide/",
      "title": "新 VPS 到手第一件事：从零加固 Linux 服务器安全",
      "summary": "VPS 开好之后别急着装 Docker，先把安全基础打好。本文从更端口、禁 root、配密钥、开防火墙、装 fail2ban 到自动更新，一步步加固你的 Linux 服务器。",
      "content_html": "<p>VPS 开好之后别急着装 Docker，先把安全基础打好。本文从更端口、禁 root、配密钥、开防火墙、装 fail2ban 到自动更新，一步步加固你的 Linux 服务器。</p>\n",
      "date_published": "2026-04-29T00:00:00.000Z",
      "tags": [
        "Linux",
        "服务器安全",
        "VPS加固",
        "VPS",
        "运维",
        "安全"
      ]
    },
    {
      "id": "https://marxchou.com/article/bitwarden/",
      "url": "https://marxchou.com/article/bitwarden/",
      "title": "Docker Compose 部署 Vaultwarden 自托管密码管理服务",
      "summary": "Docker Compose 部署 Vaultwarden 自托管密码管理服务，支持 Bitwarden 全平台客户端，含反向代理、SSL、管理面板、自动备份、安全加固等完整教程。",
      "content_html": "<p>Docker Compose 部署 Vaultwarden 自托管密码管理服务，支持 Bitwarden 全平台客户端，含反向代理、SSL、管理面板、自动备份、安全加固等完整教程。</p>\n",
      "date_published": "2026-04-01T00:00:00.000Z",
      "tags": [
        "Vaultwarden",
        "密码管理",
        "Docker部署",
        "Docker",
        "自托管",
        "Nginx"
      ]
    },
    {
      "id": "https://marxchou.com/article/expressive-code/",
      "url": "https://marxchou.com/article/expressive-code/",
      "title": "expressive-code 使用",
      "summary": "expressive-code 官网摘抄的相关使用说明",
      "content_html": "<p>expressive-code 官网摘抄的相关使用说明</p>\n",
      "date_published": "2024-06-14T00:00:00.000Z",
      "tags": [
        "Expressive-Code",
        "代码高亮",
        "博客优化",
        "Astro",
        "Markdown",
        "前端"
      ]
    },
    {
      "id": "https://marxchou.com/article/live2d-added-to-site/",
      "url": "https://marxchou.com/article/live2d-added-to-site/",
      "title": "添加看板娘",
      "summary": "添加看板娘",
      "content_html": "<p>添加看板娘</p>\n",
      "date_published": "2022-01-30T00:00:00.000Z",
      "tags": [
        "Live2D",
        "博客美化",
        "二次元挂件",
        "博客",
        "前端",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/reset-network/",
      "url": "https://marxchou.com/article/reset-network/",
      "title": "重置网络",
      "summary": "重置网络",
      "content_html": "<p>重置网络</p>\n",
      "date_published": "2022-01-17T00:00:00.000Z",
      "tags": [
        "网络重置",
        "Windows",
        "macOS",
        "排障",
        "运维",
        "桌面"
      ]
    },
    {
      "id": "https://marxchou.com/article/meilisearch/",
      "url": "https://marxchou.com/article/meilisearch/",
      "title": "meilisearch",
      "summary": "meilisearch",
      "content_html": "<p>meilisearch</p>\n",
      "date_published": "2021-12-30T00:00:00.000Z",
      "tags": [
        "Meilisearch",
        "全文搜索",
        "博客搜索",
        "自托管",
        "部署",
        "技术"
      ]
    },
    {
      "id": "https://marxchou.com/article/initialize-cloud-disk/",
      "url": "https://marxchou.com/article/initialize-cloud-disk/",
      "title": "初始化云硬盘",
      "summary": "初始化云硬盘",
      "content_html": "<p>初始化云硬盘</p>\n",
      "date_published": "2021-11-30T00:00:00.000Z",
      "tags": [
        "云硬盘",
        "Linux",
        "磁盘初始化",
        "VPS",
        "运维",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/openwrite-to-vuepress/",
      "url": "https://marxchou.com/article/openwrite-to-vuepress/",
      "title": "OpenWrite给VuePress配置博客导流公众号插件",
      "summary": "如何用OpenWrite给VuePress配置博客导流公众号插件-公众号获取验证码阅读全文",
      "content_html": "<p>如何用OpenWrite给VuePress配置博客导流公众号插件-公众号获取验证码阅读全文</p>\n",
      "date_published": "2021-10-21T00:00:00.000Z",
      "tags": [
        "VuePress",
        "博客框架",
        "WordPress迁移",
        "博客",
        "前端",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/windows-office/",
      "url": "https://marxchou.com/article/windows-office/",
      "title": "Windows Office 安装与部署完全指南",
      "summary": "从 Office 版本选择（Microsoft 365 vs 2024 LTSC）到两种部署方法（Office Tool Plus / 官方 ODT），再到激活、卸载、常见问题排查，附带 WPS Office 对比。",
      "content_html": "<p>从 Office 版本选择（Microsoft 365 vs 2024 LTSC）到两种部署方法（Office Tool Plus / 官方 ODT），再到激活、卸载、常见问题排查，附带 WPS Office 对比。</p>\n",
      "date_published": "2021-09-10T00:00:00.000Z",
      "tags": [
        "Windows",
        "Office",
        "Office部署",
        "部署",
        "桌面",
        "效率工具"
      ]
    },
    {
      "id": "https://marxchou.com/article/windows-faq/",
      "url": "https://marxchou.com/article/windows-faq/",
      "title": "Windows 常见问题与优化指南",
      "summary": "从输入法清理、双系统时间同步、图标缓存修复，到 Win11 右键菜单恢复、关闭广告、Windows Update 控制、PowerToys 推荐——覆盖 Windows 10/11 日常使用中的高频问题。",
      "content_html": "<p>从输入法清理、双系统时间同步、图标缓存修复，到 Win11 右键菜单恢复、关闭广告、Windows Update 控制、PowerToys 推荐——覆盖 Windows 10/11 日常使用中的高频问题。</p>\n",
      "date_published": "2021-08-30T00:00:00.000Z",
      "tags": [
        "Windows",
        "Windows-11",
        "常见问题",
        "排障",
        "桌面",
        "效率工具"
      ]
    },
    {
      "id": "https://marxchou.com/article/wechat-export-guide/",
      "url": "https://marxchou.com/article/wechat-export-guide/",
      "title": "微信聊天记录永久保存：导出与备份完全指南",
      "summary": "微信没有官方导出功能，但聊天记录往往承载了重要回忆。本文介绍 WechatExporter 从 iOS 备份中提取聊天记录并导出为 HTML/PDF 的完整流程，附带图文步骤和常见问题。",
      "content_html": "<p>微信没有官方导出功能，但聊天记录往往承载了重要回忆。本文介绍 WechatExporter 从 iOS 备份中提取聊天记录并导出为 HTML/PDF 的完整流程，附带图文步骤和常见问题。</p>\n",
      "date_published": "2021-08-14T00:00:00.000Z",
      "tags": [
        "微信",
        "聊天记录导出",
        "数据备份",
        "效率工具",
        "Mac",
        "排障"
      ]
    },
    {
      "id": "https://marxchou.com/article/handsome-beautify-record/",
      "url": "https://marxchou.com/article/handsome-beautify-record/",
      "title": "Handsome 美化记录",
      "summary": "Handsome 美化记录",
      "content_html": "<p>Handsome 美化记录</p>\n",
      "date_published": "2021-02-23T00:00:00.000Z",
      "tags": [
        "Handsome",
        "Typecho主题",
        "美化记录",
        "博客",
        "前端",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/typoraimg-tool/",
      "url": "https://marxchou.com/article/typoraimg-tool/",
      "title": "Typora + PicList 图床联动：写完文章图片自动上传",
      "summary": "Typora 配合 PicList 实现粘贴图片自动上传到 R2/S3 图床并生成短链接，告别手动传图，真正实现「本地写完即发布」。",
      "content_html": "<p>Typora 配合 PicList 实现粘贴图片自动上传到 R2/S3 图床并生成短链接，告别手动传图，真正实现「本地写完即发布」。</p>\n",
      "date_published": "2020-12-28T00:00:00.000Z",
      "tags": [
        "Typora",
        "PicList",
        "图床",
        "Markdown",
        "效率工具",
        "部署"
      ]
    },
    {
      "id": "https://marxchou.com/article/wordpress-to-chevereto/",
      "url": "https://marxchou.com/article/wordpress-to-chevereto/",
      "title": "WordPress编辑器中添加“上传到Chevereto图床”",
      "summary": "WordPress编辑器中添加“上传到Chevereto图床”",
      "content_html": "<p>WordPress编辑器中添加“上传到Chevereto图床”</p>\n",
      "date_published": "2020-11-26T00:00:00.000Z",
      "tags": [
        "图床",
        "Chevereto",
        "迁移记录",
        "自托管",
        "博客",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/php-random-picture/",
      "url": "https://marxchou.com/article/php-random-picture/",
      "title": "PHP实现随机图片展示",
      "summary": "PHP实现随机图片展示",
      "content_html": "<p>PHP实现随机图片展示</p>\n",
      "date_published": "2020-09-28T00:00:00.000Z",
      "tags": [
        "PHP",
        "随机图片",
        "简单工具",
        "前端",
        "Web开发",
        "折腾记录"
      ]
    },
    {
      "id": "https://marxchou.com/article/htmltag/",
      "url": "https://marxchou.com/article/htmltag/",
      "title": "盘点那些你可能不知道但十分有用的 HTML 标签和属性",
      "summary": "从 color 取色器到 Popover 弹窗，从 details 折叠面板到 View Transitions API——盘点 20+ 个原生 HTML 就能实现的不常见功能，能省掉不少 JavaScript。",
      "content_html": "<p>从 color 取色器到 Popover 弹窗，从 details 折叠面板到 View Transitions API——盘点 20+ 个原生 HTML 就能实现的不常见功能，能省掉不少 JavaScript。</p>\n",
      "date_published": "2020-08-03T00:00:00.000Z",
      "tags": [
        "HTML",
        "前端技巧",
        "冷门标签",
        "前端",
        "CSS",
        "Web开发"
      ]
    },
    {
      "id": "https://marxchou.com/article/vps-command/",
      "url": "https://marxchou.com/article/vps-command/",
      "title": "VPS 常用命令",
      "summary": "VPS 常用命令",
      "content_html": "<p>VPS 常用命令</p>\n",
      "date_published": "2020-07-16T00:00:00.000Z",
      "tags": [
        "VPS",
        "SSH",
        "常用命令",
        "运维",
        "Linux",
        "VPS"
      ]
    },
    {
      "id": "https://marxchou.com/article/project-step/",
      "url": "https://marxchou.com/article/project-step/",
      "title": "项目是怎么一步一步变复杂的",
      "summary": "一个留言板从静态 HTML 到分布式系统，28 个步骤展示真实项目中技术栈如何层层叠加。写给困惑「为什么实际项目要学这么多」的人。",
      "content_html": "<p>一个留言板从静态 HTML 到分布式系统，28 个步骤展示真实项目中技术栈如何层层叠加。写给困惑「为什么实际项目要学这么多」的人。</p>\n",
      "date_published": "2020-07-04T00:00:00.000Z",
      "tags": [
        "项目演进",
        "软件开发",
        "架构",
        "前端",
        "后端",
        "SaaS"
      ]
    }
  ]
}