184 lines
9.5 KiB
XML
184 lines
9.5 KiB
XML
<svg width="1200" height="800" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<style>
|
||
.title { font: bold 24px sans-serif; fill: #1e293b; }
|
||
.subtitle { font: 14px sans-serif; fill: #64748b; }
|
||
.person { font: bold 14px sans-serif; fill: #334155; }
|
||
.day { font: 12px sans-serif; fill: #475569; }
|
||
.task { font: 12px sans-serif; fill: #1e293b; }
|
||
.critical { fill: #ef4444; stroke: #b91c1c; stroke-width: 2; }
|
||
.normal { fill: #60a5fa; stroke: #2563eb; stroke-width: 1; }
|
||
.milestone { fill: #10b981; stroke: #059669; stroke-width: 2; }
|
||
.grid { stroke: #e2e8f0; stroke-width: 1; }
|
||
.axis { stroke: #94a3b8; stroke-width: 2; }
|
||
</style>
|
||
</defs>
|
||
|
||
<!-- 标题 -->
|
||
<text x="600" y="30" text-anchor="middle" class="title">sgClaw 项目协作甘特图(2周)</text>
|
||
<text x="600" y="55" text-anchor="middle" class="subtitle">⭐ 红色 = 关键路径 | 🔷 蓝色 = 常规任务 | ✅ 绿色 = 里程碑</text>
|
||
|
||
<!-- 时间轴 -->
|
||
<line x1="150" y1="90" x2="1150" y2="90" class="axis"/>
|
||
<text x="200" y="110" text-anchor="middle" class="day">Day 1-2</text>
|
||
<text x="300" y="110" text-anchor="middle" class="day">Day 3</text>
|
||
<text x="400" y="110" text-anchor="middle" class="day">Day 4</text>
|
||
<text x="500" y="110" text-anchor="middle" class="day">Day 5</text>
|
||
<text x="600" y="110" text-anchor="middle" class="day">Day 6</text>
|
||
<text x="700" y="110" text-anchor="middle" class="day">Day 7</text>
|
||
<text x="800" y="110" text-anchor="middle" class="day">Day 8</text>
|
||
<text x="900" y="110" text-anchor="middle" class="day">Day 9</text>
|
||
<text x="1000" y="110" text-anchor="middle" class="day">Day 10</text>
|
||
|
||
<!-- 网格线 -->
|
||
<line x1="200" y1="90" x2="200" y2="750" class="grid"/>
|
||
<line x1="300" y1="90" x2="300" y2="750" class="grid"/>
|
||
<line x1="400" y1="90" x2="400" y2="750" class="grid"/>
|
||
<line x1="500" y1="90" x2="500" y2="750" class="grid"/>
|
||
<line x1="600" y1="90" x2="600" y2="750" class="grid"/>
|
||
<line x1="700" y1="90" x2="700" y2="750" class="grid"/>
|
||
<line x1="800" y1="90" x2="800" y2="750" class="grid"/>
|
||
<line x1="900" y1="90" x2="900" y2="750" class="grid"/>
|
||
<line x1="1000" y1="90" x2="1000" y2="750" class="grid"/>
|
||
|
||
<!-- P1a(你)的任务 -->
|
||
<text x="30" y="150" class="person">P1a (你)</text>
|
||
<rect x="150" y="135" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="200" y="153" text-anchor="middle" class="task">环境搭建</text>
|
||
|
||
<rect x="250" y="135" width="50" height="25" class="critical" rx="3"/>
|
||
<text x="275" y="153" text-anchor="middle" class="task" fill="#fff">Pipe协议</text>
|
||
|
||
<rect x="300" y="135" width="200" height="25" class="critical" rx="3"/>
|
||
<text x="400" y="153" text-anchor="middle" class="task" fill="#fff">⭐ 联调Pipe(关键路径)</text>
|
||
|
||
<polygon points="500,140 520,147.5 500,155" class="milestone"/>
|
||
<text x="535" y="153" class="task" fill="#10b981">W1里程碑</text>
|
||
|
||
<rect x="550" y="135" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="575" y="153" text-anchor="middle" class="task">集成</text>
|
||
|
||
<rect x="600" y="135" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="650" y="153" text-anchor="middle" class="task">MAC安全</text>
|
||
|
||
<rect x="700" y="135" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="800" y="153" text-anchor="middle" class="task">bug修复+测试</text>
|
||
|
||
<!-- P1b 的任务 -->
|
||
<text x="30" y="210" class="person">P1b</text>
|
||
<rect x="150" y="195" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="200" y="213" text-anchor="middle" class="task">环境搭建</text>
|
||
|
||
<rect x="250" y="195" width="150" height="25" class="normal" rx="3"/>
|
||
<text x="325" y="213" text-anchor="middle" class="task">SkillLoader</text>
|
||
|
||
<rect x="400" y="195" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="450" y="213" text-anchor="middle" class="task">Memory</text>
|
||
|
||
<rect x="550" y="195" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="575" y="213" text-anchor="middle" class="task">集成</text>
|
||
|
||
<rect x="600" y="195" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="650" y="213" text-anchor="middle" class="task">Critic</text>
|
||
|
||
<rect x="700" y="195" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="800" y="213" text-anchor="middle" class="task">bug修复</text>
|
||
|
||
<!-- P2 的任务 -->
|
||
<text x="30" y="270" class="person">P2</text>
|
||
<rect x="150" y="255" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="200" y="273" text-anchor="middle" class="task">环境搭建</text>
|
||
|
||
<rect x="250" y="255" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="275" y="273" text-anchor="middle" class="task">框架</text>
|
||
|
||
<rect x="300" y="255" width="200" height="25" class="critical" rx="3"/>
|
||
<text x="400" y="273" text-anchor="middle" class="task" fill="#fff">⭐ 联调Pipe</text>
|
||
|
||
<rect x="500" y="255" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="550" y="273" text-anchor="middle" class="task">MAC白名单</text>
|
||
|
||
<rect x="600" y="255" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="650" y="273" text-anchor="middle" class="task">UI对接</text>
|
||
|
||
<rect x="700" y="255" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="800" y="273" text-anchor="middle" class="task">bug修复</text>
|
||
|
||
<!-- P3 的任务 -->
|
||
<text x="30" y="330" class="person">P3</text>
|
||
<rect x="150" y="315" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="175" y="333" text-anchor="middle" class="task">调研</text>
|
||
|
||
<rect x="200" y="315" width="150" height="25" class="normal" rx="3"/>
|
||
<text x="275" y="333" text-anchor="middle" class="task">黄金样本</text>
|
||
|
||
<rect x="350" y="315" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="375" y="333" text-anchor="middle" class="task">Prompt</text>
|
||
|
||
<rect x="400" y="315" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="500" y="333" text-anchor="middle" class="task">AI批量翻译</text>
|
||
|
||
<rect x="700" y="315" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="800" y="333" text-anchor="middle" class="task">质量抽检</text>
|
||
|
||
<!-- P4 的任务 -->
|
||
<text x="30" y="390" class="person">P4</text>
|
||
<rect x="150" y="375" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="200" y="393" text-anchor="middle" class="task">环境搭建</text>
|
||
|
||
<rect x="250" y="375" width="50" height="25" class="normal" rx="3"/>
|
||
<text x="275" y="393" text-anchor="middle" class="task">UI设计</text>
|
||
|
||
<rect x="300" y="375" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="400" y="393" text-anchor="middle" class="task">Side Panel + Skill后台</text>
|
||
|
||
<rect x="600" y="375" width="100" height="25" class="normal" rx="3"/>
|
||
<text x="650" y="393" text-anchor="middle" class="task">测试框架</text>
|
||
|
||
<rect x="700" y="375" width="200" height="25" class="normal" rx="3"/>
|
||
<text x="800" y="393" text-anchor="middle" class="task">E2E测试</text>
|
||
|
||
<polygon points="900,380 920,387.5 900,395" class="milestone"/>
|
||
<text x="935" y="393" class="task" fill="#10b981">打包发布</text>
|
||
|
||
<!-- E2E 测试高亮 -->
|
||
<rect x="700" y="440" width="200" height="40" fill="#fef3c7" stroke="#f59e0b" stroke-width="2" rx="5"/>
|
||
<text x="800" y="465" text-anchor="middle" class="task">🧪 全员 E2E 测试</text>
|
||
|
||
<!-- 里程碑标注 -->
|
||
<line x1="500" y1="115" x2="500" y2="420" stroke="#10b981" stroke-width="3" stroke-dasharray="5,5"/>
|
||
<rect x="450" y="495" width="100" height="60" fill="#d1fae5" stroke="#10b981" stroke-width="2" rx="5"/>
|
||
<text x="500" y="515" text-anchor="middle" class="person" fill="#059669">W1 里程碑</text>
|
||
<text x="500" y="535" text-anchor="middle" class="task" fill="#065f46">链路打通</text>
|
||
|
||
<line x1="900" y1="115" x2="900" y2="420" stroke="#10b981" stroke-width="3" stroke-dasharray="5,5"/>
|
||
<rect x="850" y="495" width="100" height="60" fill="#d1fae5" stroke="#10b981" stroke-width="2" rx="5"/>
|
||
<text x="900" y="515" text-anchor="middle" class="person" fill="#059669">W2 里程碑</text>
|
||
<text x="900" y="535" text-anchor="middle" class="task" fill="#065f46">正式发布</text>
|
||
|
||
<!-- 关键路径高亮 -->
|
||
<rect x="250" y="560" width="250" height="60" fill="#fee2e2" stroke="#dc2626" stroke-width="2" rx="5"/>
|
||
<text x="375" y="580" text-anchor="middle" class="person" fill="#991b1b">⚠️ 关键路径</text>
|
||
<text x="375" y="600" text-anchor="middle" class="task" fill="#7f1d1d">Day 3-5: P1a + P2 联调</text>
|
||
|
||
<!-- 并行度标注 -->
|
||
<rect x="550" y="560" width="200" height="60" fill="#dbeafe" stroke="#2563eb" stroke-width="2" rx="5"/>
|
||
<text x="650" y="580" text-anchor="middle" class="person" fill="#1e40af">并行度最高</text>
|
||
<text x="650" y="600" text-anchor="middle" class="task" fill="#1e3a8a">Day 6-7: 4组同时开发</text>
|
||
|
||
<!-- 风险提示 -->
|
||
<rect x="100" y="650" width="1000" height="80" fill="#fff7ed" stroke="#f97316" stroke-width="2" rx="5"/>
|
||
<text x="600" y="675" text-anchor="middle" class="person" fill="#c2410c">⚠️ 极高风险:Day 4-5 如果 Pipe 通信不通,阻塞所有后续工作</text>
|
||
<text x="600" y="700" text-anchor="middle" class="task" fill="#9a3412">预案:Day 4 晚上还没通 → P1b 全力支援 | Day 5 中午还没通 → 降级 HTTP</text>
|
||
|
||
<!-- 图例 -->
|
||
<rect x="50" y="760" width="30" height="20" class="critical" rx="2"/>
|
||
<text x="90" y="775" class="task">关键路径</text>
|
||
|
||
<rect x="200" y="760" width="30" height="20" class="normal" rx="2"/>
|
||
<text x="240" y="775" class="task">常规任务</text>
|
||
|
||
<polygon points="350,765 365,772.5 350,780" class="milestone"/>
|
||
<text x="375" y="775" class="task">里程碑</text>
|
||
</svg>
|