447 lines
14 KiB
HTML
447 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>sgClaw 协作时间表 - 甘特图</title>
|
||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
||
<style>
|
||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||
body {
|
||
font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
|
||
background: #0f172a;
|
||
color: #f1f5f9;
|
||
padding: 40px 20px;
|
||
line-height: 1.6;
|
||
}
|
||
.container { max-width: 1400px; margin: 0 auto; }
|
||
h1 {
|
||
font-size: 2.5rem;
|
||
margin-bottom: 10px;
|
||
background: linear-gradient(135deg, #38bdf8, #818cf8);
|
||
-webkit-background-clip: text;
|
||
-webkit-text-fill-color: transparent;
|
||
background-clip: text;
|
||
}
|
||
.subtitle {
|
||
color: #94a3b8;
|
||
font-size: 1.1rem;
|
||
margin-bottom: 40px;
|
||
}
|
||
.section {
|
||
background: rgba(255,255,255,0.05);
|
||
border: 1px solid rgba(255,255,255,0.1);
|
||
border-radius: 12px;
|
||
padding: 30px;
|
||
margin-bottom: 30px;
|
||
}
|
||
.section h2 {
|
||
font-size: 1.8rem;
|
||
margin-bottom: 20px;
|
||
color: #38bdf8;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
.chart-container {
|
||
background: #1e293b;
|
||
border-radius: 8px;
|
||
padding: 20px;
|
||
overflow-x: auto;
|
||
}
|
||
.alert {
|
||
background: rgba(239, 68, 68, 0.1);
|
||
border-left: 4px solid #ef4444;
|
||
padding: 15px 20px;
|
||
margin: 20px 0;
|
||
border-radius: 6px;
|
||
}
|
||
.alert strong { color: #fca5a5; }
|
||
.info {
|
||
background: rgba(56, 189, 248, 0.1);
|
||
border-left: 4px solid #38bdf8;
|
||
padding: 15px 20px;
|
||
margin: 20px 0;
|
||
border-radius: 6px;
|
||
}
|
||
pre {
|
||
background: #1e293b;
|
||
padding: 20px;
|
||
border-radius: 8px;
|
||
overflow-x: auto;
|
||
font-size: 0.9rem;
|
||
line-height: 1.5;
|
||
}
|
||
table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
margin: 20px 0;
|
||
}
|
||
th, td {
|
||
padding: 12px;
|
||
text-align: left;
|
||
border-bottom: 1px solid rgba(255,255,255,0.1);
|
||
}
|
||
th {
|
||
background: rgba(56, 189, 248, 0.1);
|
||
color: #38bdf8;
|
||
font-weight: 600;
|
||
}
|
||
.milestone {
|
||
display: inline-block;
|
||
background: #10b981;
|
||
color: #fff;
|
||
padding: 4px 12px;
|
||
border-radius: 20px;
|
||
font-size: 0.85rem;
|
||
font-weight: 600;
|
||
}
|
||
.critical {
|
||
display: inline-block;
|
||
background: #ef4444;
|
||
color: #fff;
|
||
padding: 4px 12px;
|
||
border-radius: 20px;
|
||
font-size: 0.85rem;
|
||
font-weight: 600;
|
||
}
|
||
.nav {
|
||
position: fixed;
|
||
top: 20px;
|
||
right: 20px;
|
||
background: rgba(0,0,0,0.8);
|
||
backdrop-filter: blur(10px);
|
||
padding: 15px;
|
||
border-radius: 12px;
|
||
border: 1px solid rgba(255,255,255,0.1);
|
||
}
|
||
.nav a {
|
||
display: block;
|
||
color: #94a3b8;
|
||
text-decoration: none;
|
||
padding: 8px 12px;
|
||
border-radius: 6px;
|
||
transition: all 0.3s;
|
||
font-size: 0.9rem;
|
||
}
|
||
.nav a:hover {
|
||
background: rgba(56, 189, 248, 0.2);
|
||
color: #38bdf8;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
<h1>📊 sgClaw 项目协作时间表</h1>
|
||
<p class="subtitle">2周开发计划 · 5人团队 · 关键路径:P1a + P2 联调(Day 3-5)</p>
|
||
|
||
<div class="nav">
|
||
<strong style="color:#38bdf8;margin-bottom:10px;display:block;">快速导航</strong>
|
||
<a href="#gantt">甘特图</a>
|
||
<a href="#dependency">依赖关系</a>
|
||
<a href="#critical">关键路径</a>
|
||
<a href="#load">人员负载</a>
|
||
<a href="#risk">风险热力图</a>
|
||
<a href="#milestone">里程碑</a>
|
||
</div>
|
||
|
||
<!-- 甘特图 -->
|
||
<div class="section" id="gantt">
|
||
<h2>📊 完整甘特图</h2>
|
||
<div class="info">
|
||
<strong>💡 图例说明:</strong> 红色任务 = 关键路径(阻塞后续工作) | 菱形 = 里程碑 | active = E2E测试周
|
||
</div>
|
||
<div class="chart-container">
|
||
<div class="mermaid">
|
||
gantt
|
||
title sgClaw 2周开发计划(关键路径:P1a+P2)
|
||
dateFormat YYYY-MM-DD
|
||
axisFormat Day %d
|
||
|
||
section 关键路径⭐
|
||
P1a环境搭建 :p1a1, 2026-03-04, 2d
|
||
P1a Pipe协议开发 :crit, p1a2, after p1a1, 1d
|
||
P1a+P2联调Pipe通信 :crit, p1a3, after p1a2, 2d
|
||
P1a完善15个Action :crit, p1a4, after p1a3, 1d
|
||
W1里程碑演示 :milestone, m1, after p1a4, 0d
|
||
P1a+P1b集成Runtime :p1a5, after p1a4, 1d
|
||
P1a MAC安全策略 :p1a6, after p1a5, 1d
|
||
P1a bug修复 :p1a7, after p1a6, 2d
|
||
P1a代码审查交付 :milestone, m2, after p1a7, 1d
|
||
|
||
section P2浏览器对接
|
||
P2环境搭建 :p2a, 2026-03-04, 2d
|
||
P2 ProcessHost框架 :p2b, after p2a, 1d
|
||
P2+P1a联调Pipe :crit, p2c, after p2b, 2d
|
||
P2 CommandRouter对接 :p2d, after p2c, 1d
|
||
P2 MAC白名单 :p2e, after p2d, 1d
|
||
P2+P4 UI对接 :p2f, after p2e, 1d
|
||
P2 bug修复 :p2g, after p2f, 2d
|
||
P2交付 :milestone, after p2g, 1d
|
||
|
||
section P1b业务支持
|
||
P1b环境搭建 :p1b1, 2026-03-04, 2d
|
||
P1b SkillLoader开发 :p1b2, after p1b1, 3d
|
||
P1b Memory开发 :p1b3, after p1b2, 2d
|
||
P1b+P1a集成Runtime :p1b4, after p1b3, 1d
|
||
P1b+P3 Skill测试 :p1b5, after p1b4, 1d
|
||
P1b Critic评估器 :p1b6, after p1b5, 1d
|
||
P1b bug修复 :p1b7, after p1b6, 1d
|
||
P1b交付 :milestone, after p1b7, 1d
|
||
|
||
section P3业务技能
|
||
P3场景调研 :p3a, 2026-03-04, 1d
|
||
P3黄金样本制作 :p3b, after p3a, 3d
|
||
P3提示词工程 :p3c, after p3b, 1d
|
||
P3 AI批量翻译 :p3d, after p3c, 3d
|
||
P3质量抽检 :p3e, after p3d, 2d
|
||
P3交付Skill仓库 :milestone, after p3e, 0d
|
||
|
||
section P4前端发布
|
||
P4环境搭建 :p4a, 2026-03-04, 2d
|
||
P4 UI原型设计 :p4b, after p4a, 1d
|
||
P4 Side Panel开发 :p4c, after p4b, 2d
|
||
P4 Skill后台开发 :p4d, after p4c, 1d
|
||
P4+P2 IPC对接 :p4e, after p4d, 1d
|
||
P4测试框架搭建 :p4f, after p4e, 1d
|
||
P4 E2E测试 :p4g, after p4f, 2d
|
||
P4打包发布 :milestone, p4h, after p4g, 1d
|
||
|
||
section 全员里程碑
|
||
环境搭建完成 :milestone, after p1a1 p2a p1b1 p3a p4a, 0d
|
||
W1里程碑(链路打通) :milestone, m1_all, 2026-03-08, 0d
|
||
E2E测试周 :active, e2e, 2026-03-11, 2d
|
||
W2里程碑(正式发布) :milestone, m2_all, 2026-03-14, 0d
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 依赖关系图 -->
|
||
<div class="section" id="dependency">
|
||
<h2>🔗 依赖关系图</h2>
|
||
<div class="chart-container">
|
||
<div class="mermaid">
|
||
graph TD
|
||
A[Day 1-2: 环境搭建] --> B[Day 3: P1a Pipe 协议]
|
||
B --> C[Day 4-5: P1a+P2 联调 Pipe ⭐]
|
||
C --> D[Day 5 晚: W1 里程碑]
|
||
|
||
D --> E1[Day 6: P1a+P1b 集成]
|
||
D --> E2[Day 6: P1b+P3 Skill]
|
||
D --> E3[Day 6: P2+P4 UI]
|
||
|
||
E1 --> F[Day 7: 安全+AI]
|
||
E2 --> F
|
||
E3 --> F
|
||
|
||
F --> G[Day 8-9: E2E 测试]
|
||
G --> H[Day 10: P4 打包发布]
|
||
|
||
style C fill:#ff6b6b,stroke:#c92a2a,color:#fff
|
||
style D fill:#51cf66,stroke:#2f9e44,color:#fff
|
||
style H fill:#51cf66,stroke:#2f9e44,color:#fff
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 关键路径 -->
|
||
<div class="section" id="critical">
|
||
<h2>⚡ 关键路径可视化</h2>
|
||
<div class="alert">
|
||
<strong>⚠️ 极高风险</strong>:Day 4-5 的 P1a + P2 联调是整个项目的关键瓶颈。如果这两天 Pipe 通信不通,所有后续工作都会被阻塞!
|
||
</div>
|
||
<pre>
|
||
Day 1-2 ━━━━━━━━━━━━━━━━━━━━━━ 环境搭建(并行)
|
||
┃
|
||
Day 3 ━━━━━┻━━━━━━━━━━━━━━━━━ P1a Pipe 协议开发 ⭐
|
||
┃
|
||
Day 4-5 ━━━┻━━━━━━━━━━━━━━━━━ <span style="color:#ef4444">P1a + P2 联调 Pipe ⭐⭐⭐</span>
|
||
┃ (关键路径,阻塞所有人)
|
||
┃
|
||
▼
|
||
<span style="color:#10b981">【W1 里程碑】链路打通</span>
|
||
┃
|
||
Day 6 ━━━━━┻━━━━━━━━━━━━━━━━━ 三组并行集成:
|
||
├─ P1a + P1b (Runtime)
|
||
├─ P1b + P3 (Skill)
|
||
└─ P2 + P4 (UI)
|
||
┃
|
||
Day 7 ━━━━━┫ 安全策略 + AI 翻译
|
||
┃
|
||
Day 8-9 ━━━┻━━━━━━━━━━━━━━━━━ 全员 E2E 测试
|
||
┃
|
||
Day 10 ━━━━▼━━━━━━━━━━━━━━━━━ P4 打包发布
|
||
<span style="color:#10b981">【W2 里程碑】正式发布</span>
|
||
</pre>
|
||
</div>
|
||
|
||
<!-- 人员负载 -->
|
||
<div class="section" id="load">
|
||
<h2>👥 人员负载分析</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>日期</th>
|
||
<th>P1a(你)</th>
|
||
<th>P1b</th>
|
||
<th>P2</th>
|
||
<th>P3</th>
|
||
<th>P4</th>
|
||
<th>总负载</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Day 1-2</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>5 人</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Day 3</td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td>🟡 低</td>
|
||
<td>🟡 低</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>2 人高负载</td>
|
||
</tr>
|
||
<tr style="background: rgba(239, 68, 68, 0.1);">
|
||
<td><strong>Day 4-5</strong></td>
|
||
<td><span class="critical">🔴 极高</span></td>
|
||
<td>🟢 中</td>
|
||
<td><span class="critical">🔴 极高</span></td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td><strong>2 人关键路径</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Day 6</td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>2 人高负载</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Day 7</td>
|
||
<td>🟢 中</td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td>🟢 中</td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td>🟢 中</td>
|
||
<td>2 人高负载</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Day 8-9</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>🟢 中</td>
|
||
<td>5 人 E2E</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Day 10</td>
|
||
<td>🟡 低</td>
|
||
<td>🟡 低</td>
|
||
<td>🟡 低</td>
|
||
<td>🟡 低</td>
|
||
<td><span class="critical">🔴 高</span></td>
|
||
<td>1 人高负载</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p style="color:#94a3b8;margin-top:10px;">
|
||
<strong>图例:</strong> 🔴 极高/高负载 🟢 正常负载 🟡 低负载
|
||
</p>
|
||
</div>
|
||
|
||
<!-- 风险热力图 -->
|
||
<div class="section" id="risk">
|
||
<h2>⚠️ 风险热力图</h2>
|
||
<pre>
|
||
风险等级
|
||
时间 │ 低 │ 中 │ 高 │ 极高
|
||
─────────┼────┼────┼────┼─────
|
||
Day 1-2 │ ✓ │ │ │
|
||
Day 3 │ │ ✓ │ │
|
||
<span style="color:#ef4444">Day 4-5 │ │ │ │ ⭐⭐⭐ ← Pipe 通信不通</span>
|
||
Day 6 │ │ │ ✓ │
|
||
Day 7 │ │ ✓ │ │
|
||
Day 8-9 │ │ ✓ │ │
|
||
Day 10 │ │ ✓ │ │
|
||
</pre>
|
||
<div class="alert">
|
||
<strong>预案(Day 4-5 极高风险):</strong><br>
|
||
1. Day 4 晚上还没通 → P1b 全力支援<br>
|
||
2. Day 5 中午还没通 → 启动降级方案(HTTP 替代 Pipe)
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 里程碑 -->
|
||
<div class="section" id="milestone">
|
||
<h2>✅ 里程碑验收清单</h2>
|
||
|
||
<h3 style="color:#10b981;margin-top:20px;">W1 里程碑(Day 5 晚上)</h3>
|
||
<div class="info">
|
||
<strong>演示场景:</strong>
|
||
<ol style="margin-left:20px;margin-top:10px;">
|
||
<li>P4 打开 Side Panel UI</li>
|
||
<li>输入:"点击页面上的登录按钮"</li>
|
||
<li>Vue → C++ → Rust → 大模型(mock)→ Rust → C++ → 浏览器</li>
|
||
<li>浏览器真实点击按钮</li>
|
||
</ol>
|
||
</div>
|
||
<p style="margin-top:15px;"><strong>验收标准:</strong></p>
|
||
<ul style="margin-left:20px;color:#94a3b8;">
|
||
<li>Pipe 双向通信稳定(无消息丢失)</li>
|
||
<li>15 个 BrowserAction 全部测试通过</li>
|
||
<li>MAC 白名单生效(非白名单域名被拦截)</li>
|
||
<li>延迟 < 100ms(从命令到执行完成)</li>
|
||
</ul>
|
||
|
||
<h3 style="color:#10b981;margin-top:30px;">W2 里程碑(Day 10)</h3>
|
||
<p><strong>交付物:</strong></p>
|
||
<ul style="margin-left:20px;color:#94a3b8;">
|
||
<li>.deb 安装包(银河麒麟 V10)</li>
|
||
<li>.exe 安装包(Windows 10/11)</li>
|
||
<li>6 个业务场景演示视频</li>
|
||
<li>完整文档(API + Skill 开发指南 + 部署手册)</li>
|
||
</ul>
|
||
<p style="margin-top:15px;"><strong>验收标准:</strong></p>
|
||
<ul style="margin-left:20px;color:#94a3b8;">
|
||
<li>两平台安装成功</li>
|
||
<li>E2E 测试全部通过</li>
|
||
<li>单元测试覆盖率 > 70%</li>
|
||
<li>内存占用 < 10MB(sgClaw 进程)</li>
|
||
<li>无已知 P0/P1 级 bug</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div style="text-align:center;margin-top:40px;padding:20px;color:#64748b;">
|
||
<p>📄 文档版本:v1.0 | 最后更新:2026-03-04 | 维护者:项目经理</p>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
mermaid.initialize({
|
||
startOnLoad: true,
|
||
theme: 'dark',
|
||
themeVariables: {
|
||
primaryColor: '#1e293b',
|
||
primaryTextColor: '#f1f5f9',
|
||
primaryBorderColor: '#38bdf8',
|
||
lineColor: '#94a3b8',
|
||
secondaryColor: '#334155',
|
||
tertiaryColor: '#0f172a'
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|