future / System Design Archive

AI-Native Publishing System

MyBlog 的长期方向不是把 Dify 当数据库,也不是继续自写后台,而是用 Directus/Postgres 承担结构化内容真源,用 Dify 承担 AI workflow orchestration,再让 MyBlog/Next.js/Astro 只消费 API、snapshot 或构建产物来展示。Directus 和 Dify 正好互补:一个管 durable content system,一个管 AI runtime execution。

DirectusPostgresDifyLangGraphAI ServicesMyBlog Presentation ShellNext.js/Astro
Inspiration

借鉴对象

  • headless CMS architecture
  • AI workflow orchestration
  • database-first content modeling
  • editorial workflow systems
Rejected

拒绝的方案

  • 把 Dify 当 CMS,因为 Dify 不应该拥有 article、draft、factpack、citation、revision 或 permissions truth。
  • 把 Dify 当数据库,因为 workflow runtime 不适合承载 durable content source of truth。
  • 继续自己写后台,因为 Directus 已经提供 admin panel、auth、RBAC、file upload、API、revision、dashboard、hooks 和 realtime。
  • 让 MyBlog 前台直接拥有文章编辑 authority,因为前台应是 presentation/projection shell。
  • 把大文件 blob 放进 Directus/Postgres,因为 EPUB、PDF、图片和视频仍应该留在 OpenList / COS。
Runtime

运行方式

  • 当前生产仍是 Vault/MarkdownObject projection;Directus + Dify 是 target-not-deployed 架构,不能写成已上线事实。
  • 目标职责划分:Directus/Postgres 管 articles、drafts、authors、tags、uploads metadata、comments、SEO、revisions、factpacks、citations、author_contracts、critic_reports 和 runtime_runs。
  • 目标职责划分:Dify 管 Research、FactPack、Writer、Critic、SEO、Summary、Prompt、Agent 和 Workflow orchestration,但 durable output 必须写回 Directus。
  • 目标调用链是 User / Editor -> MyBlog or Directus Admin -> Directus CMS / Postgres -> Directus webhook -> Dify Workflow -> AI services / LangGraph / model providers -> Directus API write-back -> MyBlog static or dynamic presentation。
  • 典型 write-back 是 Dify 通过 Directus HTTP API 调用 PATCH /items/articles/:id 或 POST /items/factpacks;Dify 不直接生成网页,不直接变成内容真源。
  • MyBlog/Next.js/Astro 只能消费 Directus API、static snapshot 或 generated build artifacts;它不再扩张为 bespoke CMS backend。
Tradeoff

取舍

  • Directus + Dify 比全塞进 Dify 多一个系统边界,但这个边界正好防止 workflow runtime 污染 durable content truth。
  • Directus/Postgres 会引入 schema migration、backup、permission 和 webhook 运维成本,但换来结构化写作系统需要的 revision、permission、metadata 和 relation truth。
  • Dify write-back 需要 idempotency、retry 和 audit log 设计,否则 AI workflow 失败会污染草稿状态。
  • 切到 Directus 之前继续保留 Vault/MarkdownObject projection,短期多一条迁移线,但能避免没有 rollback 的生产切换。
Future Direction

后续方向

  • 定义 Directus schema:articles、factpacks、citations、author_contracts、runtime_runs、critic_reports。
  • 定义 Directus webhook -> Dify workflow -> Directus write-back 的 idempotent contract。
  • 把 Author System、Fact Compiler、Narrative Engine 和 Critic Runtime 做成 Dify/LangGraph workflow,而不是写进 MyBlog 前台。
  • 写 Directus readiness plan:Postgres storage、backup、secrets、RBAC、webhooks、migration、rollback 和 API smoke tests。
  • 写 Dify readiness plan:workflow inputs/outputs、model provider boundary、token usage logging、latency budget、retry and audit trail。