PROJECT RETROSPECTIVE · 2026.06 – 2026.08 · REV. 08.30

一个人 + AI
三个月交付十个生产系统

QoderWork CN / 国际版 · Justin Chen · 初版 08.02,本版增补三周密集迭代

10
生产项目
214
Skill 沉淀
12
CF Workers
9
子域名
3
LLM 供应商
1

项目全景 — 时间线

十个项目在三个半月内交叉推进;半透明段 = 复盘(08.02)之后的迭代延伸。

定时推送
6月上–中
笑话+语音
世界杯日报
6月中–7月中
门店通讯录
6月下–7月下
高德迁移+路线+门禁日报
零售日报
7月上–8月·稳定性工程
高德画像报告
6月下–8月上
点位陈列册
8月中–下
Edge TTS 语音
8月上
点餐机器人
7月中–下
智能单词本
7月中–8月中
周报·体检下线
报告助手
7月下–8月上
6月上6月下7月上7月下8月上8月下

技术传承链:定时推送 → 世界杯日报 → 零售日报(管线复用,8 月反哺全系 LLM 稳定性策略);门店地图 → 门禁 → access-manager 运营日报(权限与运营闭环);单词本 → 点餐 Bot → Edge TTS(状态机 + LLM 调用 + 语音出口);画像报告 → 点位陈列册(数据管线产品化)。

2

1定时推送系统

天气 / 飞书提醒 / 催款 / 米家设备监控 — 一切的起点

达成目标

  • 工作日早间天气卡片 → 飞书群自动推送
  • 米家设备状态巡检(工作日 11:00 / 14:00)
  • 催款/日程提醒 → 定时触发 + 飞书 Bot 私聊
  • GitHub Actions 备用通道(电脑关机也能推)

技术 & AI 意义

  • 第一个 CF Worker — 建立部署/KV/Cron 肌肉记忆
  • 飞书 Webhook 签名验证模板(Python)
  • cron-job.org 外部调度的轻量方案
  • 双通道冗余思维:本地 cron + 云端 Actions
CF WorkerCron Trigger飞书 WebhookGitHub Actionscron-job.org
08 延伸 — 每日笑话推送(17:00)+ TTS 语音版(陕西话试水后改普通话);武汉天气临时支援(日期判断内嵌,8/18 自动失效)。教训:单对话 740 条消息撑爆上下文致推送瘫痪 → 按阶段切对话、结论沉淀 MEMORY。
3

2世界杯日报

2026 FIFA World Cup 赛事日报 — 新闻聚合管线的试验田

达成目标

  • worldcup26.ir API 拉取赛程/比分/射手榜
  • ESPN + BBC RSS 并行抓取媒体头条
  • AI 生成结构化日报(赛果 + 看点 + 预告)
  • 赛事生命周期管理:含 shutdown-sop 优雅关停

技术 & AI 意义

  • 验证"多源采集 → AI 摘要 → 定时推送"完整管线
  • RSS 正则解析、AbortController 超时、Promise.allSettled
  • 有明确生命周期的项目 → 设计关停 SOP(首次)
  • 直接演化为零售日报的架构蓝本
worldcup26.ir+ESPN / BBC RSS→DeepSeek 摘要→飞书群推送
4

3零售日报

竞品情报自动化 — 迭代最密集、prompt 工程最深的项目

达成目标

9 源并行→关键词过滤→URL 14天去重→DeepSeek-reasoner→飞书 + 邮件
  • 三板块:国内 / 国际 / AI 锐评(强制引原文)
  • 飞书双通道(群日报 + 私聊源状态监控)
  • Resend 邮件(自定义域名)
  • 关键词按竞争赛道四层分类策划

技术 & AI 意义

  • Prompt 迭代 10+ 轮:从"宁缺毋滥"到"尽收尽收"
  • 旧闻三重防线:URL 去重 + pubDate + 往期注入
  • A/B 单变量测试端点(/test-ab)
  • 诊断方法论:KV sourceStatus 区分三类根因
  • 反爬实战:浏览器 UA 救活 Retail Gazette
RSS 聚合DeepSeek-reasonerKV 去重Resend 邮件A/B 测试
08 延伸 — 生产稳定性工程集中落地:生成链 v3(reasoner∥flash → 重试∥GLM∥qwen-plus 并行降级)、三轮 cron 兜底(18/19/20:00 杜绝天窗)、素材池缓存(pool-{date} 断源兜底)、fail-log 落盘 30 天、llm-stats 复盘周报。从"能出报告"进化到" reliably 出报告"。
5

4门店通讯录 + 安全门禁

从一张 HTML 地图到带审批流的企业内部工具

达成目标

  • Leaflet.js + 高德瓦片,121 家门店,7 城市
  • 多级聚合(省→市→区→店)+ 标签碰撞检测
  • 五字段搜索 + 层级城市搜索 + 结果计数
  • 数据管线:飞书 Bitable → CSV → geocode → HTML
  • CF Zero Trust Access + 邮箱 OTP 门禁
  • 自助审批流:表单 → KV → 飞书审批 → CF API → 邮件

技术 & AI 意义

  • 单文件 HTML 的极限:750 行无框架企业级交互
  • 三端兼容(PC / 手机 / A4 打印)首次实践
  • CF Access reusable policy + 程序化白名单
  • geocode 后验校验(城市范围,>50km 重编码)
  • 为知识库 Bot 积累:飞书事件回调 + 审批链路
Leaflet.js高德瓦片CF PagesZero Trust Access自助审批 Worker
08 延伸 — 渲染层整体迁移高德 JS API 2.0(CDP 回归 145/145);四模式路线规划 + 移动端底部抽屉手势;数据刷新至 123 家门店;门禁升级为 access-manager 管家:访问埋点、登录报表、每日 22:00 云化推送(0830 上线,摆脱对本地电脑依赖)。
6

5轻量化可视化工具(报告助手)

飞书发一条消息 → 30 秒后拿到可分享的演示链接

达成目标

  • 飞书 Bot 接收会议纪要/周报原文
  • DeepSeek 结构化 JSON(意图 + 内容提取)
  • 版式积木库自动排版:时间线/流程/表格/大数字
  • 16:9 横滑演示 + 末页分享卡片(双版式)
  • 公网链接一键分享

技术 & AI 意义

  • 指令式交互:重新生成/修改/新建 三层路由
  • 黄金范例 few-shot 约束 AI 输出保真度
  • 模板为唯一样式源头 → extract → 渲染器
  • 完整测试:render / edit / publish / validate
  • 6 个 Skill · 为知识库 Bot 积累:结构化输出管线
飞书事件订阅DeepSeek 结构化KV 存储版式积木库黄金范例 few-shot
7

6智能单词本

飞书私聊里的间隔重复学习系统 — 代码量最大的单体 Worker

达成目标

  • 自然语言添加/查询/改名/删除/补充
  • 间隔重复复习(熟练度升序 + 同档随机)
  • 25 题考试 + 词根拆解全链路
  • AI 释义异步补充 + enrichQueue 重试
  • 三 pass 体检 + LLM 周报(三家对比)

技术 & AI 意义

  • 三供应商 LLM Fallback:DeepSeek → 智谱 → DashScope
  • callLLMWithFallback 统一入口(禁止直连)
  • Bitable batch_create 解决逐条限流
  • KV 会话 + pending 确认 + TTL 管理
  • 9 个 Skill · 为知识库 Bot 积累:LLM 调教 + 多轮状态
三供应商 FallbackBitableKV 会话间隔重复Cron Trigger
08 延伸 — LLM 超时治理(20s → 12s)+ 三供应商实测周报(真周窗口 + 归档重置;DeepSeek 意图分类 98% 稳定、智谱备用超时为主、近两周趋零失败)。AI 周度体检功能退役:批处理长 prompt 是超时重灾区,fallback 救不了任务规模问题 — 这一教训直接转化为知识库 Bot 的"小 prompt RAG + 流式 + 降级"设计输入。
8

7点餐机器人

飞书 Bot 里完成麦当劳 + 瑞幸全流程下单

达成目标

  • 全按钮化:品牌 → 门店 → 商品 → 定制 → 支付
  • 「再来一单」+ 常点单品区(实时价格)
  • 统一地址系统(高德 API + D1 持久化)
  • 订单翻页 + 支付轮询 Cron(2 分钟)

技术 & AI 意义

  • 状态机路由:消息 → 意图 → 会话状态 → 分支
  • 双品牌 MCP 对接(API 差异隔离层)
  • D1 关系数据库四表设计
  • 飞书卡片 v2 按钮回调 + 编号规范
  • 10 个 Skill · 为知识库 Bot 积累:复杂状态机 + UX
状态机路由D1 数据库飞书卡片 v2MCP 双品牌支付轮询 Cron
9

8高德点位 / 行政区级画像报告

从单店 AOI 到跨城对比 — 数据驱动选址的工具链

达成目标

  • AOI 级:单店 UV + 13 维画像标签
  • 行政区级:78 标签 flow + pmnt 双口径
  • 城市对比:沪杭 → 四城 → 三城
  • 选址评估:Part1 一览图 + Part2 描述性画像
  • 指标验证:n=87 Spearman + 二元回归
  • 江苏陈列册:29 家成熟店自身分布参照

技术 & AI 意义

  • 两阶段分离:批量 MCP 存 JSON → 本地生成(零积分)
  • 数据发布规律:6 日后才可查上月(避免空跑)
  • 多 Agent 并行必须交叉校验(曾发现数据错位)
  • PDF 提取复用已有数据省积分
  • 结论止于相对定位,不碰预测(产品纪律)
云图 MCP78 标签画像两阶段分离Spearman 验证多 Agent 交叉校验
08 延伸 — 指标验证收官(UV + 常驻对业绩的解释力确认,n=87 Spearman + 二元回归);能力升级为"点位画像陈列册"(见项目 10)。
10

9Edge TTS 语音服务

tts.justinretail.com — 全系统的"嘴巴",从调研到上线零成本 5 天

达成目标

  • POST /api/tts → MP3 / WebM Opus / Ogg Opus 三格式
  • 8 种中文声音 + 语速/音调/音量交互调参
  • Ogg Opus 为飞书语音消息即用格式(零 ffmpeg)
  • 本地 Flask 工具版先行 → CF Worker 云化 API
  • 接入定时推送:每日笑话已支持语音播报

技术 & AI 意义

  • 五方案实测横评(Edge/ElevenLabs/Fish/GLM/CosyVoice),成本与合规双驱动决策
  • wasm 转码路线证伪:libopus-wasm 语音损坏 → 果断转向 Edge 原生输出,一次失败快赢数周
  • 纯 JS WebM→Ogg remux:EBML 解析 + CRC/granule 逐字节构建,与 ffmpeg 对照验证
  • 为知识库 Bot 积累:语音应答能力(门店 Hands-busy 场景)
edge-ttswebm-opus 原生纯 JS remux字节级验证wasm 证伪飞书语音
11

10候选点位画像陈列册

画像报告的产品化:自包含 HTML 册 + 问店批量管线 + 验收入库纪律

达成目标

  • 济/威/杭三城陈列册上线(各 5–6 点位),安徽启动
  • 环式渲染:500m/1km/3km POI 普查 + 15 画像标签双口径
  • 自包含单文件 HTML + Access 分群授权 + 域名分发
  • 配套《数据口径讲解》页面,决策层可自助查阅指标
  • 预览 token 机制:正式部署前可安全传阅

技术 & AI 意义

  • "问店"批量指令沉淀:一店一段、逐点位原子保存、触限即停禁重试
  • AI 数据质量治理:类目编造检测 + 5 条仲裁法 + UV 口径三方交叉核对
  • 口径"死表"唯一来源原则:禁止从报告措辞反推口径
  • 验收脚本资产化(求和自洽/档位对齐/坏批次连坐),新城可复套
问店批量验收入库口径死表环带渲染编造检测Access 分群
12

技术栈全景

三个月内从零搭建的"个人企业级"基础设施。

计算 & 存储

  • Cloudflare Workers × 12
  • KV Store × 8 命名空间 + D1
  • Cron Trigger · 三轮兜底
  • cron-job.org 云端闹钟(日报推送解绑本地电脑)
  • CF Pages + Functions(地图站点 / 导航 API 代理)

AI & 数据

  • DeepSeek / 智谱 / DashScope(并行 fallback)
  • Edge TTS 语音 · 问店 Agent 批量拉数
  • 高德云图 MCP + JS API 2.0(迁移完成)
  • 飞书 Bitable / Sheets / 审批 / 事件订阅
  • RSS + JSON API 信源矩阵

通信 & 安全

  • 飞书 Bot API + Webhook(双通道推送)
  • Resend 邮件(自定义域名)
  • CF Access 分群 policy + 登录审计 + 访问埋点
  • justinretail.com × 9 子域
  • GitHub Actions 备用通道

前端哲学:单文件 HTML(无框架)— AI 可完整生成、零依赖、三端兼容。

工程纪律:CF REST API 部署 · PUT 后必须 GET 回读 grep · 上线以字节级 MD5 比对终验 · MEMORY.md 跨会话记忆。

13

迭代方向 & 商业化展望

上版展望的兑现情况(08.02 → 08.30)

  • ✔ 单词本 TTS — 超出预期:独立成语音服务并云化 API
  • ✔ 选址全国扩展 — 济/威/杭三城陈列册上线,安徽启动
  • ◐ 统一监控 — 日报/门禁已有 llm-stats 与登录报表,12 Worker 仪表盘待做
  • ✘ 微信公众号源 / 多主题模板 — 仍是日报与报告助手的最大盲区

下一程(Q4)

  • 门店知识库 Bot:头号目标,Demo 4–5 天 → IT 企微落地
  • 门店地图数据共建(飞书 Base + 审批 + KV 实时生效,方案已评估约 3 天)
  • 配送范围工具(等时圈评估已出:16 向射线 + PolygonEditor,2.5–3.5 天)
  • 平台整合:国际版 9/4 停维,51 个独有 Skill 归并入 CN 版

商业化路径

  • 路径一:行业情报订阅
    零售日报管线可复制到任何垂直行业。换关键词和信源就是新产品。
    壁垒:信源适配 + prompt 工程 + 三轮兜底的稳定性工程
  • 路径二:选址情报产品(新增)
    点位陈列册已三城验证 — "自包含 HTML 册 + 口径讲解 + 分群授权"就是可交付的产品形态。
    壁垒:验收入库纪律 + 口径治理 + 零积分复用管线
  • 路径三:轻量 BI 即服务
    报告助手 + 陈列册 + TTS = "发条消息就出可分享的图文/语音报告"。
    壁垒:排版手艺 + 数据理解 + 单文件交付
  • 路径四:AI 工程方法论
    214 Skill + 踩坑记录 = "非技术人员独立交付生产系统"的稀缺叙事。
    壁垒:真实项目 + 工程纪律 + 可复现
14

AI 实践方法论

不是"用 AI 写代码",而是"和 AI 一起做工程"。

协作模式四阶段

  • Phase 1(6月):AI 写 → 我审 → 改 → 跑。单轮完成一个功能。
  • Phase 2(7月):迭代式。先出中间产物 → 确认数据 → 最终交付。
  • Phase 3(7月下–8月上):指令式。确定性优先,出错就改规则而非试错。
  • Phase 4(8月下):生产化。让跑起来的系统可靠地跑 — 稳定性工程(生成链三轮兜底 / 超时护栏 / 素材池)、实测周报、验收入库纪律。

核心认知

  • Skill = 可复用工程记忆,214 个是护城河
  • Prompt 是产品逻辑,不是"调参"
  • MEMORY.md = 跨会话工作记忆
  • 并行 Agent 必须交叉校验
  • 数据治理 > 生成:AI 给答案容易,证明答案可信才难(陈列册验收入库)

验证纪律

  • AI 幻觉零容忍 → 部署后 GET 回读 grep 关键常量
  • 上线终验 = 字节级 MD5 比对(本地 ↔ 线上)
  • A/B 单变量:prompt 不变 → 结论干净再叠加
  • 不可逆凭证永久存 MEMORY,绝不要求"重新提供"
  • 诊断严格区分时间线(曾纠正因果倒置)
  • 数字可信度靠三方交叉核对,不信单一来源的自我声明

为知识库 Bot 的方法论储备

  • LLM Fallback 链 + 超时护栏 + 稳定性实测(单词本 → 日报生成链 v3)
  • 结构化输出 + 黄金范例约束(报告助手)
  • 多轮状态机 + 意图路由(点餐 Bot)
  • 飞书事件回调 + 审批链路 + Access 分群授权(门禁)
  • 语音应答能力(Edge TTS 已云化,Ogg Opus 直推飞书)
15

心得、踩坑与反复打磨

CF 部署绑定丢失 — PUT 脚本后 bindings 被清空,PATCH 恢复时 secret 只传 name 不传 text 才保留原值。曾因此丢失全部 KV 绑定,日报静默失败两天才发现。
Token 不可逆 — CF API Token 仅创建时显示一次。曾被要求"重新提供" → 被迫 roll → 全盘更新。教训:永久存 MEMORY,写入红线。
Windows GBK 乱码 — Python print 中文到 cmd 乱码 → 误读城市分布报出"南通 1 家"(实为镇江)。此后关键分析必须 write UTF-8 文件再 Read。
多 Agent 数据错位 — 3 Agent 并行 53 次 MCP,Part3 画像与 Part1/2 全部错位。交叉验证后修正。此后并行拉数必比对。
日报"过度克制" — "宁缺毋滥"指令下模型丢掉 Sam's Club 和 7-Eleven。反复打磨 10+ 轮才找到"只约束新鲜度,不约束条数"的精确措辞。
飞书"回复"消息类型 — 回复的 message_type 可能是 post(富文本)非 text,需解析 content[][] 节点。未处理时 Bot 静默"没反应"。
零售圈 charset 欺骗 — HTTP header 谎报 UTF-8 实为 GBK,Worker 解出乱码。日期正则须用纯数字分隔,不依赖中文"月/日"。

最大收获

不是学会了写代码,而是学会了描述需求、验证结果、沉淀规则。工程纪律(备份/验证/Skill/MEMORY)比任何单点技术都重要。

16

复盘之后(08.03 → 08.30)· 新踩坑

三周密集迭代换来的一手教训 — 每一条都已写进 Skill 与 MEMORY。

超时护栏只护了"响应头" — 日报生成链里 DeepSeek 先回头、DashScope 生成完才回头,clearTimeout 位置不对导致 qwen 被误杀。修复:finally 护全程 + flash 180s / qwen 240s 分级超时。
问店"简单标签"证伪 — 批次里"合计 100%"的声明实测只有 98.16%,报告自述不可信。仲裁 = 老册对照 + 多源交叉,求和校验挡不住编造。
无权限的 API 返回"成功" — CF token 缺权限时不报错,返回 success + 空列表。诊断以 302/实际 HTTP 状态为准,绝不轻信 JSON 外壳。
KV PUT 包装污染 — 写单键值时把内容包成 {"value":...} 会原样存入造成静默损坏;/values/ 与 /keys/ 混用报 10025。body 即值原文。
toml [vars] 整体替换 — wrangler 部署时未在 toml 声明的明文 var(REPORT_KEY)被清空,端点 403。鉴权密钥必须设 secret 才扛重部署。
CRLF 行尾改写 — index.html 行尾 5 处 CR+LF,文本模式改码会吞行尾。此后含特殊行尾的文件一律 rb 模式读、wb 模式写。

新认知

生产化阶段的坑不再在"能不能跑",而在"错了会不会静默" — 所以每一层都要有可观测证据:llm-stats 周报、fail-log、登录审计、字节级 MD5 终验。

17

工具是杠杆,纪律是支点

三个月,十个生产系统,214 个 Skill。
不是因为学会了写代码,
而是学会了如何和 AI 一起做工程。

12
Workers
9
子域名
214
Skills
10+
Prompt 迭代轮次

2026.06 – 08 · Justin Chen · Built with QoderWork · Rev. 08.30

18