跳到正文
English

从单页实验到七仓生态:DigitalScopeLab 的构建复盘

一个人的生态实验:七个月、七个独立仓库、五条产品线与一份始终在场的工程纪律。

DigitalScope3 min

architecturedevlogecosystem


DigitalScopeLab 起初只是一个问题:能不能用一套自有的、长期归属自己的站点集群,承载写作、制图与信息情报这几件我长期要做的事。七个月后,它变成了七个独立 Git 仓库、五条产品线、一个统一后台和一个统一 API 的生态。这篇复盘记录这条路径上的关键决策与代价。

起点:为什么不是一个大仓库#

最初的 Diagram 产品(当时的名字是 platform)是一个 pnpm monorepo,编辑器、落地页、后台、API 挤在同一棵目录树里。monorepo 的便利是真实的:一次提交可以同时改前后端,workspace 协议让包之间直接源码消费。

但问题随规模到来:仓库越来越重,克隆与 CI 越来越慢;不同产品的发布节奏被迫同步;一次误改可能波及无关产品。于是有了仓拆分决策(ADR-026):按产品边界切成独立仓库——main、blog、diagram、admin、api 各自持有自己的历史与发布线。

拆分的代价必须诚实地说:跨仓库共享代码不能再靠 workspace 了。我们的答案是「所有者 + 受控镜像」机制(ADR-027)——共享包(types、api-client、ui、diagram-core)只在所有者仓库修改,同一变更集内同步镜像到消费仓,再用一个校验脚本逐字比对。这条路纪律成本不低,但换来的是每个仓库都可以独立理解、独立部署、独立回滚。

五条产品线与一份语言政策#

生态现在的形态:

  • Main(Vue 3 + vite-ssg):品牌总站,中英双语完整对应;
  • Blog(Next.js 16):技术出版,双语站点框架 + 内容级语言独立——不机器假翻译,一篇中文文章的英文形态由人工翻译后独立发布;
  • Diagram(Vite 双应用):十种软件工程图的在线制图,SQL/Java 确定性生成 + 手绘精修;
  • Intelligence(Next.js + Express 采集服务):全球科技情报,RSS 多源采集、AI 富化、每日简报;
  • Tools(Vue 3):八个浏览器本地执行的开发者小工具。

语言政策在一开始就定死:公开站双语完整对应,内部后台只做中文——不为内部工具制造半成品英文。这条政策后来在双语博客的设计里救了我们:当「中文发布自动开英文译稿草稿」上线时,边界依然清晰——机器可以复制与排队,翻译必须由人完成。

工程纪律:写下来的才算数#

回看这七个月,最有价值的不是任何单一功能,而是一组被强制执行的规矩:

  1. 事实源文档先行。域名版图、部署拓扑、产品注册表、架构决策记录(ADR 001–027)全部落档,任何重大调整先出计划再动手。后来无数次的「这个决定当时为什么这么做」都能在 ADR 里找到答案而不是靠回忆。
  2. 每个仓库一条 verify 门禁。format / lint / typecheck / test / build 五关全绿才算完成。上线前的全生态审计跑出七仓全部绿——这不是运气,是门禁逼出来的习惯。
  3. 安全默认值 fail-closed。开发用的默认密钥在生产环境直接拒绝启动;会话令牌落库只存哈希;密码用 argon2id。上线前的安全审计里,全生态没有发现一处明文密钥或弱加密——因为这些从来不是可选项。
  4. 禁止假能力。未上线的产品在注册表里如实标注,生产 UI 不出现虚假的「已上线」。诚实本身就是一种工程资产。

代价与教训#

并非一切都顺。有几条教训值得记下:

仓拆分不要在没有契约校验时动手。早期一次共享包改动漏同步镜像,两个仓库静默漂移了数日才被发现。此后校验脚本进入必跑清单,问题再未复发——工具化的纪律才是纪律。

内容与代码要分家。Blog 早期把内容当配置塞在代码仓里,后来引入双源内容仓库(markdown 为开发回退与备份,MySQL 为生产源),发布链才真正闭合。

本地评审基建值得投资。一件双击启动的脚本拉起全部九个服务、自动改写跨站链接为 localhost、退出即回收端口——它让人工查验从「懒得测」变成「随手测」,多轮视觉问题都因此在前置环节暴露。

动效是内容,不是糖。早期页面清一色「上浮淡入」,被一眼看穿是模板货。后来把入场动效按场景分化(模糊聚焦给标题、交替滑入给列表、缩放给视觉件),页面才有了自己的节奏感。

下一步#

生态的第一个生产版本即将部署:八个域名、七个仓库、五条产品线,加上一份从第一天就开始积累的文档与决策史。对一个人的项目而言,规模本身不是成就;让每个部分都小到可以完全理解,才是。

这条路径还会继续——Tools 会增加更多本地工具,Intelligence 的采集源会继续扩充,Blog 会承载更多写作。而这份复盘本身,就是给未来读者的第一份路标。


评论

还没有评论,来说点什么吧。

评论经过审核后展示 · 支持 Markdown 无 · 邮箱不会公开