家用 iMac 服务器改造方案 — 概览

选中任意文字 → 点「✎ 批注」提交修改意见(粒度:字/句/段/章/篇)。你的网络信息与提交时间会被记录,用于反哺需求改造。

方案文档版本:V02.16(2026-07-27 11:21)| 状态:需求基本定稿,进入试水部署(新增跑偏分支预留清单 + 模拟执行手册 + 打磨机制补充第 6 条 + 跑偏清单确认保留 + 电源与容量扩展预案 + 全文逻辑审查修正)
📋 文档整理(2026-07-27 08:41):本节「关键变更」原 V02.08 块错置于 V02.11 之后,已按版本号降序重排(V02.11→V02.00→V01.00→v0.x);并修正「交付物」stale 版本号 V02.12→V02.14。方案内容零变更,版本号维持 V02.14。

做了什么

根据需求设计把闲置 Apple Silicon iMac 改造成个人服务器的方案。当前处于需求基本定稿,进入试水部署阶段,已建立文档驱动的迭代机制。

当前阶段:需求基本定稿,进入试水部署

用户条件(通过提问确认)

方案核心:双通道设计(v0.5 重构)+ 三分支展示(V02.00 补充)

  1. 通道 1 · 操作通道(第一优先级):MBA → iMac。在家内网直连;在外 Cloudflare Tunnel + Access 零信任认证 → Web 管理界面;Web 失灵时用向日葵/ToDesk 远程桌面救场(预案)。不依赖公网 IP
  2. 通道 2 · 展示通道(第二优先级):外部用户 → 展示内容。V02.01 拍板方案 A 分工

方案拆成两条独立通道:

iMac 内部七层:NPM 反向代理 → OrbStack+Portainer → 服务层 → Uptime Kuma 监控 → 安全

决策状态(十域)

状态
定位🟢 已明确(自用+预留扩展)
网络层🟢 方案已明确(三分支都写好,含已验证的 EdgeOne)
服务架构🟢 已明确
操作通道🟢 已明确(形式C:Web优先+远程桌面预案)
域名🟢 已完成(已有 sixstars.cn 未备案,stocktrading 已跑通 EdgeOne)
展示通道架构🟢 已明确(V02.01 拍板方案A:静态走EdgeOne,动态走iMac)
安全防护🔴 需补课(方案见十二章)
日常运维🔴 需补课(方案见十二章)
电源/容量扩展🟢 方案已落档·待执行(UPS 扛短停+远程开机;横向加机器)
成本预期🟢 已明确(电费+域名已省,软件层零费用)

V02.16 关键变更(小改)

  1. 全文逻辑审查修正(需求方指令"检查顺序混乱/相近可合并/待打磨"):① 变更记录表顶部顺序归位(降序);② 状态三处矛盾统一为"需求基本定稿·进入试水部署"(十节/五节滞后"需求打磨"表述修正);③ 一章"自动重启"旧表述改为 UPS+远程开机(与十二章一致);④ 清除滞后提问(阶段0"Cloudflare托管"、附录A"stocktrading 访问方式",均 V02.00 证实=腾讯云 DNS+EdgeOne);⑤ 图例🔴含义统一为"需补课";⑥ 冗余合并:观察3精简指向观察4、B.2邮箱防爬降级指针、同生共死/方便优先后处改纯引用、端口口诀十二处改引用;⑦ 其他:决策状态总览新增"电源/容量扩展"域、十节 item4 改"方案已落档·待执行"、新增 dryrun 指针、部署前置依赖标注时效
  2. 三产物同步:主文档 + 本概览 + 模拟执行手册版本引用对齐 V02.16

V02.15 关键变更(小改)

  1. 新增「十二、电源与容量扩展预案」:来自需求方提出的两个咨询(iMac 电源要求 / 新增不同规格 iMac 的软硬件扩展预留)。核心:Apple Silicon iMac 断电不自动开机(pmset autorestart 无效,已实测),电源预案改为 UPS 扛短停+远程开机引导+架构级兜底;扩展预案=横向加机器(内存存储焊接不可升级),含硬件预留(双机有线千兆/固定IP/按规格分角色/各自UPS/端口口诀维持)与软件预留(NPM 统一入口/操作通道去中心化/多 origin 互备/服务按规格落位/NFS+SMB+EdgeOne 共享/统一监控/加节点 SOP)
  2. 修正旧误解:前文"断电自启可配置"表述(主文档§3 稳定性、第十一章需补课项、dryrun 第八节)统一改为事实结论

V02.14 关键变更(小改)

  1. 跑偏清单确认「保留」:首项 alpha/beta 方案由「待确认·建议丢弃」改为「已确认·保留」(作理解偏差存档留存清单内,不丢弃、不并入主线),章节引言补注
  2. 概览「下一步」重复编号重排:两个"6."修正为 6→7,序列连续

V02.13 关键变更(小改)

  1. 打磨机制补充第 6 条——"悬而未决问题交付前确认"写入「需求打磨大原则」:交付前用提问(给选项确认)方式等确定再继续、不反复催、三遍无回应自行归置;同步已入全局记忆(跨项目通用)

V02.12 关键变更(小改)

  1. 新增模拟执行手册 imac-server-dryrun.md(V01.00,彩排版,非真执行)——把计划拆成 10 节傻瓜化步骤;主文档同步升 V02.12。覆盖阶段 0 准备 / 操作通道(第一优先级)/ 展示通道静态试水(EdgeOne 海外区 -a overseas 坑钉死)/ 动态服务挂起模拟 / 监控 / 端口口诀 / 安全运维挂起 / 验收 Checklist

V02.11 关键变更(小改)

  1. 新增「跑偏分支预留清单」(主文档第十一节):把对话中跑偏的方案结构化挂起为「预留项」——首项 = alpha/beta 版本控制增强方案(运维通身份误生成,与 iMac 项目无关,理解偏差产物),标注「待需求方一个一个确认」;并预留"待需求方补充"槽位,不擅自归类
  2. 状态保持:需求基本定稿,进入试水部署(清单不阻塞试水)

V02.10 关键变更(小改)

  1. 新增全局大原则——"积分/额度消耗须先确认":任何可能动用积分/额度的操作(付费模型、多模态产出、云端部署等),先反馈获需求方确认后再进行;或优先走本地设置的本地大模型试水
  2. 写入全局记忆 ~/.workbuddy/MEMORY.md(跨项目通用),与"不擅作主张+主动追问"一脉相承
  3. 主方案文档同步升 V02.10 + 需求演进日志追加本轮问答

V02.09 关键变更(小改)

  1. 三个拍板结果落档:① 第二层分支改为"允许不同项目自定义不同分支"(影响原型数据结构,试水后用灵活结构重写);② 视觉标记"都不加"(顶部不加绿叶、底部落款不加小标记,纯文字);③ 推进方向选"先部署静态站试水"——从需求打磨转向实施
  2. 状态调整:由"需求打磨中"调整为"需求基本定稿,进入试水部署",B 类安全运维补课与公网 IP 实测挂起不阻塞

V02.08 关键变更(小改)

  1. 页面顶部调整:去掉顶部个人标记「大欣,欣欣向荣的欣」,改为:主标题「内容分享」+ 副标题「仅供学习交流」
  2. 个人标记位置:从顶部移除,仅在底部落款保留(sixstars.cn ☆ 大欣,欣欣向荣的欣 ☆ 定稿时间
  3. 标签页与顶部呼应:标签页标题「内容分享(仅供学习交流)」与顶部主副标题用同一套文案,站点定性一致
  4. 提醒:顶部去个人标记后,访客一进来看到的是站点定性(内容分享),不知道是谁的站——个人署名在底部落款。如需顶部加个人元素可后续补

V02.07 关键变更(小改)

  1. 数码时钟含义已确认:需求方拍板理解 A——右上角实时数码时钟显示当前日期+时间(北京时间),"服务器相关"指风格气质,纯前端 JS 无后端依赖
  2. projects 网页设计待确认项仅剩:① 第二层 5 个分支是否够用;② "欣欣向荣"视觉标记偏好方向

V02.06 关键变更(小改)

  1. 首页新增个人邮箱sixstars@qq.com,放首页顶部个人标记附近,与留言板形成"留痕+私信"两种联系途径
  2. 邮箱防垃圾邮件:JS 动态拼接方案——HTML 源码不写完整邮箱,用 JS 运行时拼接(爬虫读源码不执行 JS,抓不到完整地址;访客正常显示可点击)。备选邮箱图片作为兜底
  3. 全站实时数码时钟:所有页面右上角通用组件,显示日期+时间(2026-07-23 11:46:55 格式),JetBrains Mono 字体,前端 JS 每秒刷新
  4. "服务器相关"含义待确认:理解为 A=显示当前北京时间实时时钟(默认·推荐)/ B=显示 iMac 运行状态(需 iMac 常开+状态上报,与静态站定位冲突)。先按 A 做不阻塞,待需求方一句话确认

V02.05 关键变更(小改)

  1. 留言板方案已定:需求方确认选 Twikoo(访客零门槛留痕、腾讯云生态、未备案可用、数据自己掌控)
  2. projects 网页设计待确认项仅剩:① 第二层 5 个分支是否够用;② "欣欣向荣"视觉标记偏好方向

V02.04 关键变更(小改)

  1. 网页标题改为「内容分享(仅供学习交流)」:浏览器 <title> 不与顶部个人标记/底部落款重复,三者各司其职(⚠️ V02.08 更新:顶部个人标记已移除,改为同名主副标题,个人标记仅底部保留)
  2. 新增遵纪守法小字提示:落款上方,有留言板(用户生成内容)时尤必要——国内合规
  3. 留言板场景明确:"访客初次留痕"(轻量),Giscus 因需 GitHub 账号基本排除,推荐 Twikoo 待需求方确认
  4. 画了 projects 首页设计草图(PC 左右布局 + 手机堆叠 + 字体示意 + 翻页器 + 留言板 + 落款)

V02.03 关键变更(小改)

  1. 附录 B projects 网页设计细化
  1. 三层结构未变,是对既有设计方案的细化补充,故判定小改

V02.02 关键变更(小改)

  1. 新增全局工作方式规范:需求方要求注意积累其文字表达方式(久了能模仿风格整理内容),对话中出现描述不清/不准确处主动让需求方做进一步解释——写入全局记忆(跨项目通用)
  2. 这是协作沟通层面的长期规范,与文档驱动打磨机制、版本号规范、个人标记/落款规范一脉相承

V02.01 关键变更(小改)

  1. 矛盾观察 4 已解决:需求方拍板选方案 A(分工)——静态展示走 EdgeOne Pages(已验证·免费·iMac 不用开),动态服务才走 iMac 本地服务器
  2. iMac 服务器定位重新明确:静态上云、动态留本地,iMac 只管动态服务 + 操作通道 + 存储
  3. 展示通道架构决策状态 🟡→🟢(已明确)
  4. 整体架构图更新:展示通道标注「静态走 EdgeOne / 动态走 iMac」
  5. 矛盾观察清单 4 条全部解决 ✅,核心架构决策全部明确

V02.00 关键变更(大改)

  1. 昨日 stocktrading 走通方式实地查证:从昨日项目 sinopec_analysis 读 deploy_reports.sh + 工作日志,确认走的是腾讯云 EdgeOne Pages(海外区),不是 Cloudflare(纠正 v0.8 错误推测)
  2. 新增附录 C「昨日 stocktrading 走通方式复盘」——完整记录已验证链路(域名→EdgeOne 海外区→CNAME→自动HTTPS→CLI自动部署),含关键坑(-a overseas)和访问保护方案
  3. 矛盾观察 3 已解决:展示通道已验证方案 = EdgeOne Pages 海外区(未备案可用、不需公网IP、不需iMac常开)
  4. 新增矛盾观察 4:EdgeOne Pages 云端静态托管 vs iMac 本地服务器——静态展示可能根本不需要 iMac 当服务器
  5. 网络层新增分支 C:EdgeOne Pages 海外区(已验证·推荐用于静态展示)
  6. 附录 B 修正:projects.sixstars.cn 部署复用 EdgeOne Pages(明确化)

V01.00 关键变更

  1. 版本号命名规范确立(全局):V 大写、主版本号=大改(两位补零)+1、二级版本号=小改 .01~.99、大改后归零、初版 V01.00——写入全局记忆(跨项目通用)
  2. 新规范起点:需求方选定择 V01.00 新起点,历史 v0.1~v0.10 保留原编号不继承进度
  3. 主版本号两位补零:需求方写法 V01.00(比 V1.00 更整齐,与二级两位对齐)
  4. 大改/小改定义:大改=重大功能/结构/内容调整;小改=修补/细化。判定不确定时反馈需求方定夺

v0.10 关键变更

  1. 个人落款规范确立(全局):所有个人行为产生的资料,最底部固定格式 = sixstars.cn ☆ 大欣,欣欣向荣的欣 ☆ <定稿时间>——写入全局记忆(跨项目通用)
  2. 定稿时间格式:年.月.日-时:分:秒(如 2026.07.23-10:13:34),每次更新同步刷新为当前版定稿时间
  3. ☆ 样式灵活:纯文本/Markdown 用 ☆ 字符;网页用 CSS 控实心/空心/颜色

v0.9 关键变更

  1. 个人标记规范写法确立:全称固定为「大欣,欣欣向荣的欣」,不要多字少字、不要随意改写——写入全局记忆 ~/.workbuddy/MEMORY.md(跨项目通用)
  2. 修正附录 B 两处写法不一致,统一为规范写法

需警惕的工具

交付物

下一步

  1. ~~矛盾观察 4~~ ✅ 已解决(V02.01 拍板方案 A 分工)
  2. ~~留言板方案~~ ✅ 已定(V02.05 确认 Twikoo)
  3. ~~数码时钟含义~~ ✅ 已确认(V02.07 理解 A 实时时钟)
  4. ~~projects 细节 3 项~~ ✅ 已拍板(V02.09):① 分支=允许不同项目自定义;② 视觉标记=都不加(纯文字);③ 顶部不补个人元素
  5. ~~积分/额度消耗~~ ✅ 已立为大原则(V02.10):可能动用积分的操作须先反馈获确认,或走本地大模型试水;已写入全局记忆跨项目通用
  6. 需求方在家判断有无公网 IP(5 分钟)——只影响动态服务走分支 A 还是 B,不卡静态展示
  7. 安全防护/日常运维补课(断电恢复开机预案·Apple Silicon 不支持断电自启、见十二章;备份策略、SSD 寿命)
  8. 试水部署(V02.09 需求方选定"先部署静态站试水"):用 EdgeOne Pages 海外区把原型部署成 projects.sixstars.cn 实测。前置依赖:① EdgeOne API Token(敏感凭证,在需求方手里);② 腾讯云 DNS 加 projects → EdgeOne 目标值 CNAME;③ 本环境 edgeone-pages 连接器 disconnected,需需求方在 MBA 本地终端跑(昨日 sinopec_analysis 已验证 CLI)或等连上。命令复用附录 C:edgeone pages deploy <目录> -n projects -t <token> -e production -a overseas-a overseas 不能漏
  9. 任何疑问随时提,按机制迭代文档
  10. 跑偏分支预留清单(V02.11 新增·V02.14 确认保留):「十一、跑偏分支预留清单」需求方拍板「保留」,首项 alpha/beta 方案随清单留存(作理解偏差存档,不丢弃、不并入主线);后续另有跑偏项仍可补充