3.6 KiB
综合教程周期写作
2026-10-31用户最终规则:每周三篇,每天北京时间15:00检查;文章展示时间随机往前0~6小时,精确到秒。原每周两篇、早晚两个窗口的规则已替换。Codex heartbeat fna,名称“FNA 综合教程|每周三篇”,ACTIVE,绑定本聊天,自2026-11-02当周开始。调度已修改;2026-10-31用户提前手动触发一篇已正式发布并计入当周台账,2026-11-02当周的三次计划保持不变。详见首篇记录。
执行入口
项目根运行 python3 tools/editorial/weekly.py due。未到期、当日已发表或本周额度满则安静退出。台账唯一位置为storage/app/private/weekly-tutorials/state.json,Git忽略;不保存凭据。电脑/Codex需开启,不保证关机仍执行或开机立即补跑。
每个自然周(Asia/Shanghai,周一至周日),在周一/二、周三/四、周五/六/日三组里各随机选一天,计划时间均为15:00,三篇间隔至少24小时。首次计划持久化,同一周不反复抽取。首周旧两篇计划尚未开始,已按最新规则重建三篇;具体日期以台账为准。
due返回write后,先生成稳定release UUID,用weekly.py claim --slot SLOT --release-id UUID锁定任务,再写稿。每次最多一篇,同一天不连发。resume表示已有未决release;先用发布封装的status查服务器,再沿原bundle、ID、草稿继续,不能创建另一篇。synchronize表示正文已经发布、后处理待完成;沿原publish请求重试同步,不重发正文。- 发布完成或正文已提交但后处理pending时,用
weekly.py record --slot SLOT --receipt 私有发布结果.json回写。只接受匹配release_id和真实published回执;用服务器事务时间计数,不用展示日期或本机收到结果的时间。 - 漏掉的本周时段在下次15:00检查时补一篇;未开始的往周欠额不累计。跨周未决操作先查原回执,真实成功记入实际发表周,避免重复或计错额度。
- 台账丢失、损坏或锁冲突时停止,先恢复/核对,不按空周补发。仅人工明确放弃无已发表结果的任务后可标记abandoned。人工另写文章只有明确登记替代时才占周期槽位。
内容与发布边界
写作规范、稳定文章与关联表唯一来源为WRITING.md。每篇先查正式目录与源稿,避免重复,官方一手资料核实事实,图解与缩略图沿现有风格。自然补下载/入门/专题内链,必要时只改直接相关旧文。公开内容不出现内部核验、未实测等说明,不编造设备实测。
新文点赞参数与展示偏移在API草稿中冻结;真实创建时间、回执和点赞起点仍真实记录。正文源、图片、渲染稿、关联表同任务维护。
生产固定经本机SSH→白色机VPS-001→正式业务服务器VPS-003。使用固定发布命令,公网编辑API保持关闭,不在白色机部署写作服务。普通文章和图片通过内容API,源码/记录另做Git留档;程序/公共资源变更才单独Git部署,保留并行改动,不扩大成全站改版,不重建test。
用户授权周期内正常选题、写作、相关链接和正式发布,不逐篇再次确认。资料、权限或工具不足时保留草稿并报告真实缺口。只有有意义的完成、失败或需用户操作时通知,成功给标题和真实URL,不发每日检查流水。调度变更必须通过automation_update,不能手改调度文件或加系统cron替代。