# 运维决策日志 记录服务器运维层面的关键设计决策、踩坑教训。 ## 架构决策 ### O-2026-06-14: 独立运维日志仓库 **决策**:新建 beast/server-ops 仓库,独立于各服务仓库。 **原因**:跨服务的变动总结(如一天内 Dashboard + Caddy + cron 同时变动)不属于任何单一服务仓库。 **边界**:单服务变动记录在各服务自己的 CHANGELOG,跨服务总结记录在 server-ops。 ### O-2026-06-14: 每日收尾防遗漏机制 **决策**:每天对话结束时强制执行固化检查清单。 **清单**: 1. 今日所有 Git 仓库是否 clean? 2. 跨服务总结是否写入 daily/YYYY-MM-DD.md? 3. 新确立的工程规范是否写入 decisions/ 或 MEMORY.md? 4. 各服务 CHANGELOG 是否已更新? ### O-2026-06-14: 夜间自动化收尾双任务 **决策**:在 WorkBuddy 中建立两个每日自动化任务,利用"WorkBuddy 一直开着"的特点。 **原因**:服务器 cron 能做脚本,但缺乏判断力(不知道什么该有、什么遗漏);智能体有判断力但不能主动执行。WorkBuddy 自动化是两者的桥梁。 **任务一:每晚 23:00 固化检查** (automation-1781446224881) - 扫描 8 个 Gitea 仓库的 git status - 检查 CHANGELOG/DECISION_LOG 是否有今天条目 - 检查工作空间日志和 server-ops daily 是否完整 - 自动补漏 + git push + 微信通知结果 **任务二:每晚 22:15 工作报告** (automation-1781446248242) - 读取灵感收集器 daily_digest(服务器 cron 22:00 生成) - 读取待办系统状态 - 生成"今日工作报告"(灵感摘要+待办概览+服务器变动+明日建议) - 通过 Server酱 推送到微信 **时间线**: ``` 22:00 服务器 cron → daily_digest 生成 + git push 22:15 WorkBuddy 自动化 → 读取 digest + 待办 → 微信推送工作报告 23:00 WorkBuddy 自动化 → 全量固化检查 → 补漏 → git push → 微信通知 ``` ### O-2026-06-20: 音频滚动淘汰 + 本地归档分层存储 **决策**:服务器每节目只保留最新 3 集,旧集通过 `archive_old_audio.sh` 移到 `archive_pending/`,再由 `sync_archive.sh` SCP 到本地 D 盘归档。 **原因**: - 服务器磁盘有限(59G 总量,40G 可用),不滚动物理上无法长期扩容 - 冯先生明确要求旧音频不直接删除,要保存为个人财富 - 本地 D 盘 392G 可用,足以存储大量音频 **架构**: ``` 服务器 audiobooks/ (3集) → archive_pending/ (暂存) → D:/服务器备份/有声书/ (永久) ``` ### O-2026-06-20: 章节排序以源端发布时间为准 **决策**:同一专辑多集章节的排序,必须依据 B站/YouTube 的 `upload_date`,不准靠文件名或主观判断。 **原因**:中文文件名排序(Unicode 码位顺序)与实际发布时间经常不一致。`【深】` vs `【妖】` 在中文排序中【深】靠前,但视频发布顺序是【妖】先于【深】。 **实施**:下载时 `--print upload_date` 记录源端时间,按 upload_date 升序排列生成 01-N 前缀。 ### O-2026-06-20: 多部门工作空间拆分 **决策**:从单一 Claw 工作空间拆分为 6 个独立工作空间: | 部门 | 路径 | 职责 | |:---|:---|:---| | 主任 | Claw | 总协调、宏观记忆 | | 办公室 | 办公室 | 公文写作 | | 交易部 | 服务器 | 策略研发/实盘 | | 智库办 | 智库办 | 形势分析 | | 开发部 | dev-department | 部署/运维 | | 文体部 | 文体部 | 播客/有声书 | **原因**:单空间上下文被压缩,各部门任务相互污染。拆分后各空间独立记忆,主任只保留宏观摘要。