archived

archived 是 de仓库里的历史资料区,用来保存已经退出日常维护流程、但仍有复盘和追溯价值的部署快照、评审材料、架构图、演示页面和统计数据。
#mermaid-svg-9ETxoQHPJcUTYmzi{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9ETxoQHPJcUTYmzi .error-icon{fill:#552222;}#mermaid-svg-9ETxoQHPJcUTYmzi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9ETxoQHPJcUTYmzi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9ETxoQHPJcUTYmzi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9ETxoQHPJcUTYmzi .marker.cross{stroke:#333333;}#mermaid-svg-9ETxoQHPJcUTYmzi svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9ETxoQHPJcUTYmzi p{margin:0;}#mermaid-svg-9ETxoQHPJcUTYmzi .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster-label text{fill:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster-label span{color:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster-label span p{background-color:transparent;}#mermaid-svg-9ETxoQHPJcUTYmzi .label text,#mermaid-svg-9ETxoQHPJcUTYmzi span{fill:#333;color:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi .node rect,#mermaid-svg-9ETxoQHPJcUTYmzi .node circle,#mermaid-svg-9ETxoQHPJcUTYmzi .node ellipse,#mermaid-svg-9ETxoQHPJcUTYmzi .node polygon,#mermaid-svg-9ETxoQHPJcUTYmzi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9ETxoQHPJcUTYmzi .rough-node .label text,#mermaid-svg-9ETxoQHPJcUTYmzi .node .label text,#mermaid-svg-9ETxoQHPJcUTYmzi .image-shape .label,#mermaid-svg-9ETxoQHPJcUTYmzi .icon-shape .label{text-anchor:middle;}#mermaid-svg-9ETxoQHPJcUTYmzi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9ETxoQHPJcUTYmzi .rough-node .label,#mermaid-svg-9ETxoQHPJcUTYmzi .node .label,#mermaid-svg-9ETxoQHPJcUTYmzi .image-shape .label,#mermaid-svg-9ETxoQHPJcUTYmzi .icon-shape .label{text-align:center;}#mermaid-svg-9ETxoQHPJcUTYmzi .node.clickable{cursor:pointer;}#mermaid-svg-9ETxoQHPJcUTYmzi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9ETxoQHPJcUTYmzi .arrowheadPath{fill:#333333;}#mermaid-svg-9ETxoQHPJcUTYmzi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9ETxoQHPJcUTYmzi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9ETxoQHPJcUTYmzi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9ETxoQHPJcUTYmzi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9ETxoQHPJcUTYmzi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9ETxoQHPJcUTYmzi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster text{fill:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi .cluster span{color:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9ETxoQHPJcUTYmzi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9ETxoQHPJcUTYmzi rect.text{fill:none;stroke-width:0;}#mermaid-svg-9ETxoQHPJcUTYmzi .icon-shape,#mermaid-svg-9ETxoQHPJcUTYmzi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9ETxoQHPJcUTYmzi .icon-shape p,#mermaid-svg-9ETxoQHPJcUTYmzi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9ETxoQHPJcUTYmzi .icon-shape .label rect,#mermaid-svg-9ETxoQHPJcUTYmzi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9ETxoQHPJcUTYmzi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9ETxoQHPJcUTYmzi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9ETxoQHPJcUTYmzi :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 阶段结束
当前代码与配置
archived
历史架构与决策
季度评审材料
阶段性指标
旧部署快照

目前是人工查阅的历史资料,历史证据和演示素材的作用。

目录结构

#mermaid-svg-hFIZKC7ItLAtsrDH{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-hFIZKC7ItLAtsrDH .error-icon{fill:#552222;}#mermaid-svg-hFIZKC7ItLAtsrDH .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-hFIZKC7ItLAtsrDH .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-hFIZKC7ItLAtsrDH .marker{fill:#333333;stroke:#333333;}#mermaid-svg-hFIZKC7ItLAtsrDH .marker.cross{stroke:#333333;}#mermaid-svg-hFIZKC7ItLAtsrDH svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-hFIZKC7ItLAtsrDH p{margin:0;}#mermaid-svg-hFIZKC7ItLAtsrDH .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster-label text{fill:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster-label span{color:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster-label span p{background-color:transparent;}#mermaid-svg-hFIZKC7ItLAtsrDH .label text,#mermaid-svg-hFIZKC7ItLAtsrDH span{fill:#333;color:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH .node rect,#mermaid-svg-hFIZKC7ItLAtsrDH .node circle,#mermaid-svg-hFIZKC7ItLAtsrDH .node ellipse,#mermaid-svg-hFIZKC7ItLAtsrDH .node polygon,#mermaid-svg-hFIZKC7ItLAtsrDH .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-hFIZKC7ItLAtsrDH .rough-node .label text,#mermaid-svg-hFIZKC7ItLAtsrDH .node .label text,#mermaid-svg-hFIZKC7ItLAtsrDH .image-shape .label,#mermaid-svg-hFIZKC7ItLAtsrDH .icon-shape .label{text-anchor:middle;}#mermaid-svg-hFIZKC7ItLAtsrDH .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-hFIZKC7ItLAtsrDH .rough-node .label,#mermaid-svg-hFIZKC7ItLAtsrDH .node .label,#mermaid-svg-hFIZKC7ItLAtsrDH .image-shape .label,#mermaid-svg-hFIZKC7ItLAtsrDH .icon-shape .label{text-align:center;}#mermaid-svg-hFIZKC7ItLAtsrDH .node.clickable{cursor:pointer;}#mermaid-svg-hFIZKC7ItLAtsrDH .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-hFIZKC7ItLAtsrDH .arrowheadPath{fill:#333333;}#mermaid-svg-hFIZKC7ItLAtsrDH .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-hFIZKC7ItLAtsrDH .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-hFIZKC7ItLAtsrDH .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-hFIZKC7ItLAtsrDH .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-hFIZKC7ItLAtsrDH .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-hFIZKC7ItLAtsrDH .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster text{fill:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH .cluster span{color:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-hFIZKC7ItLAtsrDH .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-hFIZKC7ItLAtsrDH rect.text{fill:none;stroke-width:0;}#mermaid-svg-hFIZKC7ItLAtsrDH .icon-shape,#mermaid-svg-hFIZKC7ItLAtsrDH .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-hFIZKC7ItLAtsrDH .icon-shape p,#mermaid-svg-hFIZKC7ItLAtsrDH .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-hFIZKC7ItLAtsrDH .icon-shape .label rect,#mermaid-svg-hFIZKC7ItLAtsrDH .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-hFIZKC7ItLAtsrDH .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-hFIZKC7ItLAtsrDH .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-hFIZKC7ItLAtsrDH :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} archived
deployments/arm-AKS

旧 AKS ARM 部署快照
qi-review-dec-2025

2025-12 评审材料
qi-review-jan-2026

2026-01 指标与评审材料
jordi-review-mar-2026

2026-03 演示和架构材料
template.json

parameters.json
DevBrain / DeepWiki / Semantic Indexing
TSV 原始数据 + HTML 图表
Draw.io 图 + HTML 幻灯片

1. 旧 AKS 部署快照

arm-AKS 保存一套 ARM Template 和参数。参数记录了一个特定时间点的 AKS 配置,例如 westus3、Kubernetes 1.32.5、Azure RBAC、OIDC、Workload Identity 和 Overlay 网络。
#mermaid-svg-TGHwgtuL3hDzBBqK{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TGHwgtuL3hDzBBqK .error-icon{fill:#552222;}#mermaid-svg-TGHwgtuL3hDzBBqK .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TGHwgtuL3hDzBBqK .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TGHwgtuL3hDzBBqK .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TGHwgtuL3hDzBBqK .marker.cross{stroke:#333333;}#mermaid-svg-TGHwgtuL3hDzBBqK svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TGHwgtuL3hDzBBqK p{margin:0;}#mermaid-svg-TGHwgtuL3hDzBBqK .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster-label text{fill:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster-label span{color:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster-label span p{background-color:transparent;}#mermaid-svg-TGHwgtuL3hDzBBqK .label text,#mermaid-svg-TGHwgtuL3hDzBBqK span{fill:#333;color:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK .node rect,#mermaid-svg-TGHwgtuL3hDzBBqK .node circle,#mermaid-svg-TGHwgtuL3hDzBBqK .node ellipse,#mermaid-svg-TGHwgtuL3hDzBBqK .node polygon,#mermaid-svg-TGHwgtuL3hDzBBqK .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TGHwgtuL3hDzBBqK .rough-node .label text,#mermaid-svg-TGHwgtuL3hDzBBqK .node .label text,#mermaid-svg-TGHwgtuL3hDzBBqK .image-shape .label,#mermaid-svg-TGHwgtuL3hDzBBqK .icon-shape .label{text-anchor:middle;}#mermaid-svg-TGHwgtuL3hDzBBqK .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TGHwgtuL3hDzBBqK .rough-node .label,#mermaid-svg-TGHwgtuL3hDzBBqK .node .label,#mermaid-svg-TGHwgtuL3hDzBBqK .image-shape .label,#mermaid-svg-TGHwgtuL3hDzBBqK .icon-shape .label{text-align:center;}#mermaid-svg-TGHwgtuL3hDzBBqK .node.clickable{cursor:pointer;}#mermaid-svg-TGHwgtuL3hDzBBqK .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TGHwgtuL3hDzBBqK .arrowheadPath{fill:#333333;}#mermaid-svg-TGHwgtuL3hDzBBqK .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TGHwgtuL3hDzBBqK .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TGHwgtuL3hDzBBqK .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TGHwgtuL3hDzBBqK .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TGHwgtuL3hDzBBqK .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TGHwgtuL3hDzBBqK .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster text{fill:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK .cluster span{color:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TGHwgtuL3hDzBBqK .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TGHwgtuL3hDzBBqK rect.text{fill:none;stroke-width:0;}#mermaid-svg-TGHwgtuL3hDzBBqK .icon-shape,#mermaid-svg-TGHwgtuL3hDzBBqK .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TGHwgtuL3hDzBBqK .icon-shape p,#mermaid-svg-TGHwgtuL3hDzBBqK .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TGHwgtuL3hDzBBqK .icon-shape .label rect,#mermaid-svg-TGHwgtuL3hDzBBqK .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TGHwgtuL3hDzBBqK .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TGHwgtuL3hDzBBqK .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TGHwgtuL3hDzBBqK :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 导出
不能直接代表
历史 AKS 资源
ARM template.json
当时参数
parameters.json
历史配置证据
当前 AKS 配置

为什么放进 archived,而不是继续作为部署代码?这套 ARM 文件很像 Azure 导出产物:内容庞大、参数通用、可读性较低,而且可能与当前 AKS 清单和 IaC 演进脱节。当前部署应优先参考 AKS、k8s 和 devops,不能看到历史模板里写着 Kubernetes 1.32.5,就断言当前集群仍是这个版本。

2. 2025 年 12 月评审材料

qi-review-dec-2025 主要记录当时对 DevBrain、知识库、CodeGraphRAG、DeepWiki 和语义检索的思考。例如 semantic-indexing.md 描述"文件同步 → 分块 → Embedding → 向量数据库 → 查询"的检索模型,deepwiki-open.md 则描述从仓库生成 Wiki 的流程。
#mermaid-svg-CfQ0XZs0EJbHF4yU{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-CfQ0XZs0EJbHF4yU .error-icon{fill:#552222;}#mermaid-svg-CfQ0XZs0EJbHF4yU .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CfQ0XZs0EJbHF4yU .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .marker.cross{stroke:#333333;}#mermaid-svg-CfQ0XZs0EJbHF4yU svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CfQ0XZs0EJbHF4yU p{margin:0;}#mermaid-svg-CfQ0XZs0EJbHF4yU .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster-label text{fill:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster-label span{color:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster-label span p{background-color:transparent;}#mermaid-svg-CfQ0XZs0EJbHF4yU .label text,#mermaid-svg-CfQ0XZs0EJbHF4yU span{fill:#333;color:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .node rect,#mermaid-svg-CfQ0XZs0EJbHF4yU .node circle,#mermaid-svg-CfQ0XZs0EJbHF4yU .node ellipse,#mermaid-svg-CfQ0XZs0EJbHF4yU .node polygon,#mermaid-svg-CfQ0XZs0EJbHF4yU .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .rough-node .label text,#mermaid-svg-CfQ0XZs0EJbHF4yU .node .label text,#mermaid-svg-CfQ0XZs0EJbHF4yU .image-shape .label,#mermaid-svg-CfQ0XZs0EJbHF4yU .icon-shape .label{text-anchor:middle;}#mermaid-svg-CfQ0XZs0EJbHF4yU .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .rough-node .label,#mermaid-svg-CfQ0XZs0EJbHF4yU .node .label,#mermaid-svg-CfQ0XZs0EJbHF4yU .image-shape .label,#mermaid-svg-CfQ0XZs0EJbHF4yU .icon-shape .label{text-align:center;}#mermaid-svg-CfQ0XZs0EJbHF4yU .node.clickable{cursor:pointer;}#mermaid-svg-CfQ0XZs0EJbHF4yU .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .arrowheadPath{fill:#333333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-CfQ0XZs0EJbHF4yU .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-CfQ0XZs0EJbHF4yU .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-CfQ0XZs0EJbHF4yU .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster text{fill:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU .cluster span{color:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-CfQ0XZs0EJbHF4yU .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-CfQ0XZs0EJbHF4yU rect.text{fill:none;stroke-width:0;}#mermaid-svg-CfQ0XZs0EJbHF4yU .icon-shape,#mermaid-svg-CfQ0XZs0EJbHF4yU .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-CfQ0XZs0EJbHF4yU .icon-shape p,#mermaid-svg-CfQ0XZs0EJbHF4yU .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-CfQ0XZs0EJbHF4yU .icon-shape .label rect,#mermaid-svg-CfQ0XZs0EJbHF4yU .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-CfQ0XZs0EJbHF4yU .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-CfQ0XZs0EJbHF4yU .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-CfQ0XZs0EJbHF4yU :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 代码仓库
切分
生成向量
向量数据库
用户问题
问题向量
相关代码上下文

这些文件的价值主要是回答"当时为什么这样思考",不一定描述今天的 DevBrain 实现。它们更像设计讨论的截图,而不是实时更新的技术规范。

3. 2026 年 1 月指标快照

qi-review-jan-2026 包含阶段性运营数据、图表和相关架构图。overview.md 记录 1 月 5 日至 19 日的 38 位活跃用户、194 个任务和 49 个已合并 PR;detailed-data-0105-0119.tsv 则保存生成指标所依据的逐任务明细。
#mermaid-svg-ulsCFkByYJv5K4LK{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ulsCFkByYJv5K4LK .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ulsCFkByYJv5K4LK .error-icon{fill:#552222;}#mermaid-svg-ulsCFkByYJv5K4LK .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ulsCFkByYJv5K4LK .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ulsCFkByYJv5K4LK .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ulsCFkByYJv5K4LK .marker.cross{stroke:#333333;}#mermaid-svg-ulsCFkByYJv5K4LK svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ulsCFkByYJv5K4LK p{margin:0;}#mermaid-svg-ulsCFkByYJv5K4LK .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ulsCFkByYJv5K4LK .cluster-label text{fill:#333;}#mermaid-svg-ulsCFkByYJv5K4LK .cluster-label span{color:#333;}#mermaid-svg-ulsCFkByYJv5K4LK .cluster-label span p{background-color:transparent;}#mermaid-svg-ulsCFkByYJv5K4LK .label text,#mermaid-svg-ulsCFkByYJv5K4LK span{fill:#333;color:#333;}#mermaid-svg-ulsCFkByYJv5K4LK .node rect,#mermaid-svg-ulsCFkByYJv5K4LK .node circle,#mermaid-svg-ulsCFkByYJv5K4LK .node ellipse,#mermaid-svg-ulsCFkByYJv5K4LK .node polygon,#mermaid-svg-ulsCFkByYJv5K4LK .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ulsCFkByYJv5K4LK .rough-node .label text,#mermaid-svg-ulsCFkByYJv5K4LK .node .label text,#mermaid-svg-ulsCFkByYJv5K4LK .image-shape .label,#mermaid-svg-ulsCFkByYJv5K4LK .icon-shape .label{text-anchor:middle;}#mermaid-svg-ulsCFkByYJv5K4LK .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ulsCFkByYJv5K4LK .rough-node .label,#mermaid-svg-ulsCFkByYJv5K4LK .node .label,#mermaid-svg-ulsCFkByYJv5K4LK .image-shape .label,#mermaid-svg-ulsCFkByYJv5K4LK .icon-shape .label{text-align:center;}#mermaid-svg-ulsCFkByYJv5K4LK .node.clickable{cursor:pointer;}#mermaid-svg-ulsCFkByYJv5K4LK .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ulsCFkByYJv5K4LK .arrowheadPath{fill:#333333;}#mermaid-svg-ulsCFkByYJv5K4LK .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ulsCFkByYJv5K4LK .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ulsCFkByYJv5K4LK .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ulsCFkByYJv5K4LK .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ulsCFkByYJv5K4LK .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ulsCFkByYJv5K4LK .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ulsCFkByYJv5K4LK .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ulsCFkByYJv5K4LK .cluster text{fill:#333;}#mermaid-svg-ulsCFkByYJv5K4LK .cluster span{color:#333;}#mermaid-svg-ulsCFkByYJv5K4LK div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ulsCFkByYJv5K4LK .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ulsCFkByYJv5K4LK rect.text{fill:none;stroke-width:0;}#mermaid-svg-ulsCFkByYJv5K4LK .icon-shape,#mermaid-svg-ulsCFkByYJv5K4LK .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ulsCFkByYJv5K4LK .icon-shape p,#mermaid-svg-ulsCFkByYJv5K4LK .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ulsCFkByYJv5K4LK .icon-shape .label rect,#mermaid-svg-ulsCFkByYJv5K4LK .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ulsCFkByYJv5K4LK .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ulsCFkByYJv5K4LK .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ulsCFkByYJv5K4LK :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 历史任务数据
TSV 导出
聚合计算
overview.md
HTML 图表
季度评审

为什么同时保存原始 TSV 和最终图表?只有图表时,后来的人无法复算;保留原始数据可以验证"194 个任务、49 个完成"是怎样得到的。但这里包含员工 UPN、任务名和内部 PR 链接,属于内部运营数据,不适合直接发布到公开文档、外部演示或截图中。

4. 2026 年 3 月演示材料

jordi-review-mar-2026 是一组偏演示型的材料,包括 Draw.io 架构图、静态 HTML 幻灯片、措辞草稿和分析页面。你提供的"Multi-Layer Self-Review Framework"图片就来自 Multi-Layer Self-Review Framework.drawio。
#mermaid-svg-zNy0aB4LfRDAmWbO{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zNy0aB4LfRDAmWbO .error-icon{fill:#552222;}#mermaid-svg-zNy0aB4LfRDAmWbO .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zNy0aB4LfRDAmWbO .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zNy0aB4LfRDAmWbO .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zNy0aB4LfRDAmWbO .marker.cross{stroke:#333333;}#mermaid-svg-zNy0aB4LfRDAmWbO svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zNy0aB4LfRDAmWbO p{margin:0;}#mermaid-svg-zNy0aB4LfRDAmWbO .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster-label text{fill:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster-label span{color:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster-label span p{background-color:transparent;}#mermaid-svg-zNy0aB4LfRDAmWbO .label text,#mermaid-svg-zNy0aB4LfRDAmWbO span{fill:#333;color:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO .node rect,#mermaid-svg-zNy0aB4LfRDAmWbO .node circle,#mermaid-svg-zNy0aB4LfRDAmWbO .node ellipse,#mermaid-svg-zNy0aB4LfRDAmWbO .node polygon,#mermaid-svg-zNy0aB4LfRDAmWbO .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zNy0aB4LfRDAmWbO .rough-node .label text,#mermaid-svg-zNy0aB4LfRDAmWbO .node .label text,#mermaid-svg-zNy0aB4LfRDAmWbO .image-shape .label,#mermaid-svg-zNy0aB4LfRDAmWbO .icon-shape .label{text-anchor:middle;}#mermaid-svg-zNy0aB4LfRDAmWbO .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zNy0aB4LfRDAmWbO .rough-node .label,#mermaid-svg-zNy0aB4LfRDAmWbO .node .label,#mermaid-svg-zNy0aB4LfRDAmWbO .image-shape .label,#mermaid-svg-zNy0aB4LfRDAmWbO .icon-shape .label{text-align:center;}#mermaid-svg-zNy0aB4LfRDAmWbO .node.clickable{cursor:pointer;}#mermaid-svg-zNy0aB4LfRDAmWbO .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zNy0aB4LfRDAmWbO .arrowheadPath{fill:#333333;}#mermaid-svg-zNy0aB4LfRDAmWbO .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zNy0aB4LfRDAmWbO .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zNy0aB4LfRDAmWbO .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zNy0aB4LfRDAmWbO .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zNy0aB4LfRDAmWbO .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zNy0aB4LfRDAmWbO .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster text{fill:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO .cluster span{color:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zNy0aB4LfRDAmWbO .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zNy0aB4LfRDAmWbO rect.text{fill:none;stroke-width:0;}#mermaid-svg-zNy0aB4LfRDAmWbO .icon-shape,#mermaid-svg-zNy0aB4LfRDAmWbO .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zNy0aB4LfRDAmWbO .icon-shape p,#mermaid-svg-zNy0aB4LfRDAmWbO .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zNy0aB4LfRDAmWbO .icon-shape .label rect,#mermaid-svg-zNy0aB4LfRDAmWbO .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zNy0aB4LfRDAmWbO .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zNy0aB4LfRDAmWbO .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zNy0aB4LfRDAmWbO :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Micro Code Review Agent

当时标记 LIVE
Browser Agent

当时标记 LIVE
Critique Agent

当时标记 NEXT
Design Review Agent

当时标记 FUTURE

这张图表达的是 2026 年 3 月的产品路线,而不是永久事实。LIVE / NEXT / FUTURE 必须带上时间语境:今天阅读时,NEXT 可能已经上线、取消或重新设计。归档目录通过日期保留了这种语境,避免旧路线图被误当成当前承诺。

归档

删除旧材料可以让仓库更干净,但会失去三个重要能力:第一,无法解释某项设计为什么出现;第二,季度数字无法复算;第三,后续演示需要从头重画。Git 当然保存删除历史,但普通使用者很难知道该查哪个提交;将重要历史资料集中到 archived,发现成本更低。
#mermaid-svg-uBvdQ2AsWMVPvJCt{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-uBvdQ2AsWMVPvJCt .error-icon{fill:#552222;}#mermaid-svg-uBvdQ2AsWMVPvJCt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-uBvdQ2AsWMVPvJCt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .marker.cross{stroke:#333333;}#mermaid-svg-uBvdQ2AsWMVPvJCt svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-uBvdQ2AsWMVPvJCt p{margin:0;}#mermaid-svg-uBvdQ2AsWMVPvJCt .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster-label text{fill:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster-label span{color:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster-label span p{background-color:transparent;}#mermaid-svg-uBvdQ2AsWMVPvJCt .label text,#mermaid-svg-uBvdQ2AsWMVPvJCt span{fill:#333;color:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .node rect,#mermaid-svg-uBvdQ2AsWMVPvJCt .node circle,#mermaid-svg-uBvdQ2AsWMVPvJCt .node ellipse,#mermaid-svg-uBvdQ2AsWMVPvJCt .node polygon,#mermaid-svg-uBvdQ2AsWMVPvJCt .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .rough-node .label text,#mermaid-svg-uBvdQ2AsWMVPvJCt .node .label text,#mermaid-svg-uBvdQ2AsWMVPvJCt .image-shape .label,#mermaid-svg-uBvdQ2AsWMVPvJCt .icon-shape .label{text-anchor:middle;}#mermaid-svg-uBvdQ2AsWMVPvJCt .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .rough-node .label,#mermaid-svg-uBvdQ2AsWMVPvJCt .node .label,#mermaid-svg-uBvdQ2AsWMVPvJCt .image-shape .label,#mermaid-svg-uBvdQ2AsWMVPvJCt .icon-shape .label{text-align:center;}#mermaid-svg-uBvdQ2AsWMVPvJCt .node.clickable{cursor:pointer;}#mermaid-svg-uBvdQ2AsWMVPvJCt .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .arrowheadPath{fill:#333333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-uBvdQ2AsWMVPvJCt .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-uBvdQ2AsWMVPvJCt .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-uBvdQ2AsWMVPvJCt .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster text{fill:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt .cluster span{color:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-uBvdQ2AsWMVPvJCt .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-uBvdQ2AsWMVPvJCt rect.text{fill:none;stroke-width:0;}#mermaid-svg-uBvdQ2AsWMVPvJCt .icon-shape,#mermaid-svg-uBvdQ2AsWMVPvJCt .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-uBvdQ2AsWMVPvJCt .icon-shape p,#mermaid-svg-uBvdQ2AsWMVPvJCt .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-uBvdQ2AsWMVPvJCt .icon-shape .label rect,#mermaid-svg-uBvdQ2AsWMVPvJCt .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-uBvdQ2AsWMVPvJCt .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-uBvdQ2AsWMVPvJCt .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-uBvdQ2AsWMVPvJCt :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 当时的设计决策
图、数据、幻灯片
归档
追溯
复用素材
比较演进

为什么这里有 .drawio 和 HTML

Draw.io 文件本质上是 XML:保存节点、文字、颜色、坐标和连接关系,可以继续编辑,而 PNG 只能查看。HTML 幻灯片则可以直接在浏览器展示,适合固定比例演示和快速截图;例如 slide-basic.html 用静态 HTML/CSS 比较 DigitalEmployee 与 Claude Code/GitHub Copilot。
#mermaid-svg-Pu8wSqdlJUeTbnEv{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Pu8wSqdlJUeTbnEv .error-icon{fill:#552222;}#mermaid-svg-Pu8wSqdlJUeTbnEv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Pu8wSqdlJUeTbnEv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .marker.cross{stroke:#333333;}#mermaid-svg-Pu8wSqdlJUeTbnEv svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Pu8wSqdlJUeTbnEv p{margin:0;}#mermaid-svg-Pu8wSqdlJUeTbnEv .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster-label text{fill:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster-label span{color:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster-label span p{background-color:transparent;}#mermaid-svg-Pu8wSqdlJUeTbnEv .label text,#mermaid-svg-Pu8wSqdlJUeTbnEv span{fill:#333;color:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .node rect,#mermaid-svg-Pu8wSqdlJUeTbnEv .node circle,#mermaid-svg-Pu8wSqdlJUeTbnEv .node ellipse,#mermaid-svg-Pu8wSqdlJUeTbnEv .node polygon,#mermaid-svg-Pu8wSqdlJUeTbnEv .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .rough-node .label text,#mermaid-svg-Pu8wSqdlJUeTbnEv .node .label text,#mermaid-svg-Pu8wSqdlJUeTbnEv .image-shape .label,#mermaid-svg-Pu8wSqdlJUeTbnEv .icon-shape .label{text-anchor:middle;}#mermaid-svg-Pu8wSqdlJUeTbnEv .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .rough-node .label,#mermaid-svg-Pu8wSqdlJUeTbnEv .node .label,#mermaid-svg-Pu8wSqdlJUeTbnEv .image-shape .label,#mermaid-svg-Pu8wSqdlJUeTbnEv .icon-shape .label{text-align:center;}#mermaid-svg-Pu8wSqdlJUeTbnEv .node.clickable{cursor:pointer;}#mermaid-svg-Pu8wSqdlJUeTbnEv .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .arrowheadPath{fill:#333333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Pu8wSqdlJUeTbnEv .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Pu8wSqdlJUeTbnEv .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Pu8wSqdlJUeTbnEv .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster text{fill:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv .cluster span{color:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Pu8wSqdlJUeTbnEv .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Pu8wSqdlJUeTbnEv rect.text{fill:none;stroke-width:0;}#mermaid-svg-Pu8wSqdlJUeTbnEv .icon-shape,#mermaid-svg-Pu8wSqdlJUeTbnEv .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Pu8wSqdlJUeTbnEv .icon-shape p,#mermaid-svg-Pu8wSqdlJUeTbnEv .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Pu8wSqdlJUeTbnEv .icon-shape .label rect,#mermaid-svg-Pu8wSqdlJUeTbnEv .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Pu8wSqdlJUeTbnEv .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Pu8wSqdlJUeTbnEv .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Pu8wSqdlJUeTbnEv :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 设计想法
.drawio

可编辑源文件
PNG

便于查看
HTML Slide

可演示与截图
历史指标

为什么不统一成 PowerPoint?PPT 适合现场演示,但文本差异难审查,自动化也较弱;HTML 能进 Git、浏览器直接打开。为什么不只保存 PNG?PNG 方便阅读,但无法可靠修改文字、布局和连线。因此保留 Draw.io 源文件加 HTML/图片输出,是"可编辑性"和"可展示性"的折中。

如何正确使用

先看路径里的日期,再判断目的:如果要了解历史方向,可以阅读评审图;如果要修改当前服务,回到当前代码、部署清单和正式架构文档;如果要复用幻灯片,复制到新的评审目录并更新事实,不要直接覆盖历史版本。
#mermaid-svg-9ypWWYpXKPvwtzwu{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9ypWWYpXKPvwtzwu .error-icon{fill:#552222;}#mermaid-svg-9ypWWYpXKPvwtzwu .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9ypWWYpXKPvwtzwu .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9ypWWYpXKPvwtzwu .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9ypWWYpXKPvwtzwu .marker.cross{stroke:#333333;}#mermaid-svg-9ypWWYpXKPvwtzwu svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9ypWWYpXKPvwtzwu p{margin:0;}#mermaid-svg-9ypWWYpXKPvwtzwu .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster-label text{fill:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster-label span{color:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster-label span p{background-color:transparent;}#mermaid-svg-9ypWWYpXKPvwtzwu .label text,#mermaid-svg-9ypWWYpXKPvwtzwu span{fill:#333;color:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu .node rect,#mermaid-svg-9ypWWYpXKPvwtzwu .node circle,#mermaid-svg-9ypWWYpXKPvwtzwu .node ellipse,#mermaid-svg-9ypWWYpXKPvwtzwu .node polygon,#mermaid-svg-9ypWWYpXKPvwtzwu .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9ypWWYpXKPvwtzwu .rough-node .label text,#mermaid-svg-9ypWWYpXKPvwtzwu .node .label text,#mermaid-svg-9ypWWYpXKPvwtzwu .image-shape .label,#mermaid-svg-9ypWWYpXKPvwtzwu .icon-shape .label{text-anchor:middle;}#mermaid-svg-9ypWWYpXKPvwtzwu .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9ypWWYpXKPvwtzwu .rough-node .label,#mermaid-svg-9ypWWYpXKPvwtzwu .node .label,#mermaid-svg-9ypWWYpXKPvwtzwu .image-shape .label,#mermaid-svg-9ypWWYpXKPvwtzwu .icon-shape .label{text-align:center;}#mermaid-svg-9ypWWYpXKPvwtzwu .node.clickable{cursor:pointer;}#mermaid-svg-9ypWWYpXKPvwtzwu .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9ypWWYpXKPvwtzwu .arrowheadPath{fill:#333333;}#mermaid-svg-9ypWWYpXKPvwtzwu .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9ypWWYpXKPvwtzwu .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9ypWWYpXKPvwtzwu .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9ypWWYpXKPvwtzwu .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9ypWWYpXKPvwtzwu .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9ypWWYpXKPvwtzwu .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster text{fill:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu .cluster span{color:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9ypWWYpXKPvwtzwu .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9ypWWYpXKPvwtzwu rect.text{fill:none;stroke-width:0;}#mermaid-svg-9ypWWYpXKPvwtzwu .icon-shape,#mermaid-svg-9ypWWYpXKPvwtzwu .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9ypWWYpXKPvwtzwu .icon-shape p,#mermaid-svg-9ypWWYpXKPvwtzwu .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9ypWWYpXKPvwtzwu .icon-shape .label rect,#mermaid-svg-9ypWWYpXKPvwtzwu .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9ypWWYpXKPvwtzwu .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9ypWWYpXKPvwtzwu .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9ypWWYpXKPvwtzwu :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 理解历史决策
确认当前架构
制作新评审
重新计算指标
你想做什么?
阅读 archived
检查代码、IaC、部署 YAML
复制历史素材到新日期目录
从当前数据源重新导出
保留原日期和背景
逐项验证 LIVE/NEXT/FUTURE

目前设计的不足

这个目录目前没有顶层 README、归档清单或统一命名规则,因此它的用途主要靠目录名推断。qi-review-dec-2025qi-review-jan-2026jordi-review-mar-2026 按时间命名是好的,但部署快照没有记录导出时间、来源订阅、弃用原因以及替代入口。

理想状态可以是:
#mermaid-svg-pNsJkE8XTvlRM1u0{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-pNsJkE8XTvlRM1u0 .error-icon{fill:#552222;}#mermaid-svg-pNsJkE8XTvlRM1u0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-pNsJkE8XTvlRM1u0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .marker.cross{stroke:#333333;}#mermaid-svg-pNsJkE8XTvlRM1u0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-pNsJkE8XTvlRM1u0 p{margin:0;}#mermaid-svg-pNsJkE8XTvlRM1u0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster-label text{fill:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster-label span{color:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster-label span p{background-color:transparent;}#mermaid-svg-pNsJkE8XTvlRM1u0 .label text,#mermaid-svg-pNsJkE8XTvlRM1u0 span{fill:#333;color:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .node rect,#mermaid-svg-pNsJkE8XTvlRM1u0 .node circle,#mermaid-svg-pNsJkE8XTvlRM1u0 .node ellipse,#mermaid-svg-pNsJkE8XTvlRM1u0 .node polygon,#mermaid-svg-pNsJkE8XTvlRM1u0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .rough-node .label text,#mermaid-svg-pNsJkE8XTvlRM1u0 .node .label text,#mermaid-svg-pNsJkE8XTvlRM1u0 .image-shape .label,#mermaid-svg-pNsJkE8XTvlRM1u0 .icon-shape .label{text-anchor:middle;}#mermaid-svg-pNsJkE8XTvlRM1u0 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .rough-node .label,#mermaid-svg-pNsJkE8XTvlRM1u0 .node .label,#mermaid-svg-pNsJkE8XTvlRM1u0 .image-shape .label,#mermaid-svg-pNsJkE8XTvlRM1u0 .icon-shape .label{text-align:center;}#mermaid-svg-pNsJkE8XTvlRM1u0 .node.clickable{cursor:pointer;}#mermaid-svg-pNsJkE8XTvlRM1u0 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .arrowheadPath{fill:#333333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pNsJkE8XTvlRM1u0 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-pNsJkE8XTvlRM1u0 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pNsJkE8XTvlRM1u0 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster text{fill:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 .cluster span{color:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-pNsJkE8XTvlRM1u0 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-pNsJkE8XTvlRM1u0 rect.text{fill:none;stroke-width:0;}#mermaid-svg-pNsJkE8XTvlRM1u0 .icon-shape,#mermaid-svg-pNsJkE8XTvlRM1u0 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pNsJkE8XTvlRM1u0 .icon-shape p,#mermaid-svg-pNsJkE8XTvlRM1u0 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-pNsJkE8XTvlRM1u0 .icon-shape .label rect,#mermaid-svg-pNsJkE8XTvlRM1u0 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pNsJkE8XTvlRM1u0 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-pNsJkE8XTvlRM1u0 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-pNsJkE8XTvlRM1u0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} archived/README.md
归档日期
负责人
为何归档
当前替代入口
数据敏感级别
Historical / Do not deploy

例如每个目录至少说明:Archived onOriginally used forReplaced byDo not use forContains internal data。这样人类和 AI 都更不容易把旧材料当作当前事实。

相关推荐
船长@1 小时前
FastAPI 快速上手:从零基础到实操入门
python·ai·fastapi
用户298698530141 小时前
效率工具分享:3 款免费 Markdown 转 Word 在线转换器
人工智能·后端
程序员天天困1 小时前
Spring Boot i18n 国际化实战:从资源文件到多语言接口完整指南
spring boot·后端·编程语言
睡觉时不困4421 小时前
8.conda 与 uv 环境管理完全指南:从概念到实战避坑
后端
是小李呀1 小时前
Spring Boot 配置加载机制解析:Docker 部署中 `spring.profiles.active` 与 `spring.config.location` 的本质区别
后端
步行cgn1 小时前
MyBatis 多参数绑定错误:Parameter 'name' not found 详解与解决方案
后端
步行cgn1 小时前
MyBatis 对单个简单类型参数的默认处理详解
后端
吃饱了得干活1 小时前
Java并发安全:看这一篇就懂了!
java·后端·面试
早点睡9751 小时前
向量检索原理入门:从 ANN 到 HNSW
后端·面试