138 lines
11 KiB
XML
138 lines
11 KiB
XML
<svg width="2000" height="1320" viewBox="0 0 2000 1320" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="bg" x1="140" y1="60" x2="1860" y2="1260" gradientUnits="userSpaceOnUse">
|
||
<stop stop-color="#F8FBFF"/>
|
||
<stop offset="1" stop-color="#EEF5FF"/>
|
||
</linearGradient>
|
||
<linearGradient id="centerFill" x1="790" y1="472" x2="1210" y2="848" gradientUnits="userSpaceOnUse">
|
||
<stop stop-color="#0F62FE"/>
|
||
<stop offset="1" stop-color="#4D91FF"/>
|
||
</linearGradient>
|
||
<filter id="shadow" x="0" y="0" width="2000" height="1320" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||
<feDropShadow dx="0" dy="18" stdDeviation="20" flood-color="#17212F" flood-opacity="0.12"/>
|
||
</filter>
|
||
<style>
|
||
.title { font: 700 36px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #162235; }
|
||
.subtitle { font: 500 16px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #4C6075; }
|
||
.section-title { font: 700 25px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #14253B; }
|
||
.section-text { font: 500 16px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #43566B; }
|
||
.section-text-small { font: 500 15px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #54687E; }
|
||
.badge { font: 700 12px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
|
||
.center-title { font: 700 34px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: white; }
|
||
.center-text { font: 500 17px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: rgba(255,255,255,0.92); }
|
||
.footer { font: 500 14px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; fill: #61758D; }
|
||
</style>
|
||
</defs>
|
||
|
||
<rect width="2000" height="1320" rx="36" fill="url(#bg)"/>
|
||
<text x="92" y="92" class="title">Codex 多机协作业务流程思维导图</text>
|
||
<text x="92" y="126" class="subtitle">只讲业务推进链路,不讲底层服务拆分。适合拿来讨论产品体验、协作方式、项目推进和异常处置。</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="780" y="470" width="440" height="380" rx="38" fill="url(#centerFill)"/>
|
||
</g>
|
||
<rect x="832" y="512" width="336" height="38" rx="19" fill="rgba(255,255,255,0.18)"/>
|
||
<text x="927" y="537" class="badge" style="fill:#FFFFFF">业务流程中心</text>
|
||
<text x="884" y="615" class="center-title">一个主 Agent</text>
|
||
<text x="850" y="662" class="center-title">贯穿整个项目周期</text>
|
||
<text x="848" y="716" class="center-text">你始终只对一个主会话说话</text>
|
||
<text x="842" y="748" class="center-text">它负责理解需求、拆任务、派机器、盯进度、收结果</text>
|
||
<text x="870" y="780" class="center-text">并在异常时切换账号、节点或执行策略</text>
|
||
|
||
<path d="M782 572C672 532 541 487 408 407" stroke="#3B82F6" stroke-width="7" stroke-linecap="round"/>
|
||
<path d="M780 656C642 653 531 673 410 738" stroke="#22C55E" stroke-width="7" stroke-linecap="round"/>
|
||
<path d="M1000 470C1002 368 1004 272 1004 180" stroke="#F59E0B" stroke-width="7" stroke-linecap="round"/>
|
||
<path d="M1220 572C1342 529 1452 488 1590 410" stroke="#A855F7" stroke-width="7" stroke-linecap="round"/>
|
||
<path d="M1220 666C1354 672 1465 700 1592 778" stroke="#EF4444" stroke-width="7" stroke-linecap="round"/>
|
||
<path d="M1000 850C1000 949 1000 1032 1000 1126" stroke="#0EA5E9" stroke-width="7" stroke-linecap="round"/>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="80" y="232" width="494" height="308" rx="30" fill="#FFFFFF"/>
|
||
<rect x="76" y="236" width="10" height="300" rx="5" fill="#3B82F6"/>
|
||
</g>
|
||
<rect x="122" y="266" width="164" height="34" rx="17" fill="#E8F1FF"/>
|
||
<text x="162" y="289" class="badge" style="fill:#0F62FE">需求进入</text>
|
||
<text x="122" y="346" class="section-title">1. 你在手机里发起一个项目</text>
|
||
<text x="122" y="394" class="section-text">• 你描述目标、优先级、设备条件、交付标准,始终只对一个主 Agent 说话</text>
|
||
<text x="122" y="430" class="section-text">• 主 Agent 先把需求转成项目卡:目标、边界、风险、里程碑、待确认项</text>
|
||
<text x="122" y="466" class="section-text">• 如果项目涉及硬件、摄像头、机器人、串口,也在这里声明测试需求</text>
|
||
<text x="122" y="502" class="section-text">• App 里马上生成项目视图,而不是只留下一串长聊天记录</text>
|
||
<text x="122" y="532" class="section-text-small">技术:Mobile App / Web、Control API、Project View、WebSocket</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="84" y="624" width="522" height="330" rx="30" fill="#FFFFFF"/>
|
||
<rect x="80" y="628" width="10" height="322" rx="5" fill="#22C55E"/>
|
||
</g>
|
||
<rect x="126" y="658" width="174" height="34" rx="17" fill="#EAF9EE"/>
|
||
<text x="165" y="681" class="badge" style="fill:#14803D">规划与分派</text>
|
||
<text x="126" y="740" class="section-title">2. 主 Agent 拆任务并分配节点</text>
|
||
<text x="126" y="788" class="section-text">• 按功能、平台、算力、风险把项目拆成多个短任务,而不是一条线程写到底</text>
|
||
<text x="126" y="824" class="section-text">• Mac 负责前端、Xcode、本地联调;Windows 负责 GPU、硬件桥接;云端负责 CI 和长任务</text>
|
||
<text x="126" y="860" class="section-text">• 同时选择主账号、备用账号或 API 容灾路径,避免主流程因单账号额度耗尽而停摆</text>
|
||
<text x="126" y="896" class="section-text">• 每个任务都落在独立 worker thread、独立 branch / worktree 中</text>
|
||
<text x="126" y="928" class="section-text-small">技术:LangGraph、Scheduler、Project Memory、Git worktree、Thread Registry</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="728" y="78" width="554" height="296" rx="30" fill="#FFFFFF"/>
|
||
<rect x="724" y="82" width="10" height="288" rx="5" fill="#F59E0B"/>
|
||
</g>
|
||
<rect x="772" y="112" width="180" height="34" rx="17" fill="#FFF3DD"/>
|
||
<text x="812" y="135" class="badge" style="fill:#A16207">执行推进</text>
|
||
<text x="772" y="190" class="section-title">3. 多台 Codex 并行开发与协作</text>
|
||
<text x="772" y="238" class="section-text">• 各机器上的 Codex 线程按自己的短上下文工作,减少长上下文退化</text>
|
||
<text x="772" y="274" class="section-text">• 线程可以在主控监管下跨节点对话,例如 Mac 线程请求 Windows 做 GPU 或硬件验证</text>
|
||
<text x="772" y="310" class="section-text">• 所有聊天、命令、补丁、失败和审批都被实时镜像回主项目页面</text>
|
||
<text x="772" y="346" class="section-text">• 你点开任意任务就能看见该线程的完整进度,不需要自己切电脑</text>
|
||
<text x="772" y="376" class="section-text-small">技术:Codex app-server / SDK、Worker Daemon、Inter-Thread Broker、Event Store</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="1448" y="230" width="468" height="316" rx="30" fill="#FFFFFF"/>
|
||
<rect x="1912" y="234" width="10" height="308" rx="5" fill="#A855F7"/>
|
||
</g>
|
||
<rect x="1490" y="264" width="188" height="34" rx="17" fill="#F4E8FF"/>
|
||
<text x="1534" y="287" class="badge" style="fill:#7E22CE">审计与验证</text>
|
||
<text x="1490" y="344" class="section-title">4. 审计层复核“做完了没,做对了没”</text>
|
||
<text x="1490" y="392" class="section-text">• 规则审计先发现超时、失败、断流、额度异常、重复压缩</text>
|
||
<text x="1490" y="428" class="section-text">• 软件审计看代码和测试,硬件审计看设备状态和串口,多模态审计看视频音频</text>
|
||
<text x="1490" y="464" class="section-text">• 审计不是只读日志,它可以在需要时接管测试硬件能力做完整验证</text>
|
||
<text x="1490" y="500" class="section-text">• 最后由总审计 Agent 给出通过、驳回、需人工复核或返工建议</text>
|
||
<text x="1490" y="532" class="section-text-small">技术:Rules Audit Engine、Audit Orchestrator、专项审计 Agent、Chief Auditor</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="1426" y="646" width="500" height="336" rx="30" fill="#FFFFFF"/>
|
||
<rect x="1922" y="650" width="10" height="328" rx="5" fill="#EF4444"/>
|
||
</g>
|
||
<rect x="1468" y="680" width="196" height="34" rx="17" fill="#FEEAEA"/>
|
||
<text x="1514" y="703" class="badge" style="fill:#B42318">硬件测试闭环</text>
|
||
<text x="1468" y="762" class="section-title">5. 硬件能力按需被审计 Agent 接管</text>
|
||
<text x="1468" y="810" class="section-text">• 摄像头、麦克风、扬声器、串口、继电器、拇指机器人先注册成能力</text>
|
||
<text x="1468" y="846" class="section-text">• 审计 Agent 通过租约领取能力,必要时按优先级抢占,而不是直接抢桌面</text>
|
||
<text x="1468" y="882" class="section-text">• 多模态测试能形成完整闭环:发声、拍摄、按压、观察、记录、判断</text>
|
||
<text x="1468" y="918" class="section-text">• 测试证据被归档,后续可以回放和复盘</text>
|
||
<text x="1468" y="950" class="section-text-small">技术:Capability Registry、Lease Manager、Preemption Manager、Test Rig Gateway、Evidence Collector</text>
|
||
|
||
<g filter="url(#shadow)">
|
||
<rect x="698" y="1044" width="610" height="224" rx="30" fill="#FFFFFF"/>
|
||
<rect x="694" y="1048" width="10" height="216" rx="5" fill="#0EA5E9"/>
|
||
</g>
|
||
<rect x="742" y="1078" width="196" height="34" rx="17" fill="#E4F6FD"/>
|
||
<text x="786" y="1101" class="badge" style="fill:#0369A1">交付与异常</text>
|
||
<text x="742" y="1160" class="section-title">6. 结果汇总、交付、异常恢复</text>
|
||
<text x="742" y="1208" class="section-text">• 主 Agent 汇总各线程结果和审计结论,输出阶段成果、风险、下一步建议</text>
|
||
<text x="742" y="1244" class="section-text">• 如果 worker 掉线、额度耗尽、主账号失效,系统自动切备用账号、备用主控或 API 容灾</text>
|
||
<text x="742" y="1276" class="section-text-small">技术:Event Store、Postgres、对象存储、gptpluscontrol、Standby Controller、API Fallback</text>
|
||
|
||
<rect x="84" y="1066" width="470" height="170" rx="22" fill="#FFFFFF" opacity="0.9"/>
|
||
<text x="118" y="1114" class="section-title" style="font-size:21px;">业务上最核心的变化</text>
|
||
<text x="118" y="1152" class="section-text-small">从“一个 Codex 长线程写到底”变成“一个主 Agent 驱动多个短线程协作”。</text>
|
||
<text x="118" y="1182" class="section-text-small">用户看到的是一个连续项目流程,系统内部则是拆分执行、持续审计、随时切换。</text>
|
||
|
||
<rect x="1450" y="1046" width="470" height="174" rx="22" fill="#FFFFFF" opacity="0.9"/>
|
||
<text x="1484" y="1094" class="section-title" style="font-size:21px;">适合讨论的产品问题</text>
|
||
<text x="1484" y="1132" class="section-text-small">• 手机端项目页长什么样</text>
|
||
<text x="1484" y="1160" class="section-text-small">• 主 Agent 什么时候自动审计、什么时候打断用户</text>
|
||
<text x="1484" y="1188" class="section-text-small">• 多机线程如何展示协作关系和失败重派</text>
|
||
|
||
<text x="92" y="1290" class="footer">图文件:/Users/kris/code/Talking/business_flow_mindmap_cn.svg</text>
|
||
</svg>
|