replace readme diagrams with generated images

This commit is contained in:
Xiaoxukuaipao committed 2026-05-14 21:45:49 -07:00
1 parent f1ea5d241b
commit 07aa9c34ac
7 files changed
+3 -212

No files matched your search

+3 -3
View File
@@ -3,7 +3,7 @@
</div>
<div align="center">
<img src="./docs/images/autodl-remote-hero.svg" alt="AutoDL Remote 工作原理" width="100%">
<img src="./docs/images/autodl-remote-hero.png" alt="AutoDL Remote 工作原理" width="100%">
<h1>AutoDL Remote</h1>
<h3>让 Codex 留在本地,让 GPU 在远端跑</h3>
<p><em>一个面向 Codex App 的极简 SSH 插件:账号管理、远端命令、显式上传和下载。</em></p>
@@ -43,13 +43,13 @@
## 🧠 工作原理
<div align="center">
<img src="./docs/images/autodl-remote-workflow.svg" alt="AutoDL Remote 典型工作流" width="100%">
<img src="./docs/images/autodl-remote-workflow.png" alt="AutoDL Remote 典型工作流" width="100%">
</div>
&emsp;&emsp;典型流程是:先查看远端项目结构,再把需要编辑的脚本拉到本地;Codex 在本地修改后,显式上传对应文件;训练或推理在远端执行;最后只查看日志或拉回必要结果。
<div align="center">
<img src="./docs/images/autodl-remote-boundary.svg" alt="AutoDL Remote 本地远端边界" width="100%">
<img src="./docs/images/autodl-remote-boundary.png" alt="AutoDL Remote 本地远端边界" width="100%">
</div>
&emsp;&emsp;这个边界很重要:**本地负责代码和修改痕迹,远端负责大模型、数据集、checkpoint 和 GPU 任务。** 插件不会默认下载模型权重,也不会默认把整个远端目录同步回来。
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

-62
View File
@@ -1,62 +0,0 @@
<svg width="1280" height="520" viewBox="0 0 1280 520" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1280" y2="520" gradientUnits="userSpaceOnUse">
<stop stop-color="#FAFAFA"/>
<stop offset="1" stop-color="#F8FAFC"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="12" stdDeviation="16" flood-color="#0F172A" flood-opacity="0.10"/>
</filter>
<marker id="arrowBlue" markerWidth="12" markerHeight="12" refX="9" refY="6" orient="auto">
<path d="M2 2L10 6L2 10V2Z" fill="#2563EB"/>
</marker>
<marker id="arrowGreen" markerWidth="12" markerHeight="12" refX="9" refY="6" orient="auto">
<path d="M2 2L10 6L2 10V2Z" fill="#16A34A"/>
</marker>
</defs>
<rect width="1280" height="520" rx="34" fill="url(#bg)"/>
<text x="640" y="72" text-anchor="middle" fill="#0F172A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="34" font-weight="800">本地和远端的边界</text>
<text x="640" y="107" text-anchor="middle" fill="#64748B" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="19">代码痕迹留在本地,大文件和 GPU 任务留在远端,中间只传你明确选择的路径</text>
<g filter="url(#shadow)">
<rect x="90" y="150" width="402" height="270" rx="28" fill="#EFF6FF" stroke="#93C5FD" stroke-width="2"/>
<text x="291" y="195" text-anchor="middle" fill="#1E3A8A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="25" font-weight="800">本地项目</text>
<rect x="132" y="224" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BFDBFE"/>
<text x="154" y="249" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="16">src/ train.py notebooks/</text>
<rect x="132" y="278" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BFDBFE"/>
<text x="154" y="303" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="16">.git diff / commits</text>
<rect x="132" y="332" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BFDBFE"/>
<text x="154" y="357" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="16">.autodl-remote.conf</text>
</g>
<g filter="url(#shadow)">
<rect x="788" y="150" width="402" height="270" rx="28" fill="#ECFDF5" stroke="#86EFAC" stroke-width="2"/>
<text x="989" y="195" text-anchor="middle" fill="#14532D" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="25" font-weight="800">远端项目</text>
<rect x="830" y="224" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BBF7D0"/>
<text x="852" y="249" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="16">/root/autodl-tmp/project</text>
<rect x="830" y="278" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BBF7D0"/>
<text x="852" y="303" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="16">models/ data/ checkpoints/</text>
<rect x="830" y="332" width="318" height="38" rx="12" fill="#FFFFFF" stroke="#BBF7D0"/>
<text x="852" y="357" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="16">logs/ outputs/ metrics</text>
</g>
<g>
<rect x="558" y="176" width="164" height="168" rx="26" fill="#111827"/>
<text x="640" y="222" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="24" font-weight="800">SSH</text>
<text x="640" y="258" text-anchor="middle" fill="#CBD5E1" font-family="SFMono-Regular,Consolas,monospace" font-size="15">put / get</text>
<text x="640" y="286" text-anchor="middle" fill="#CBD5E1" font-family="SFMono-Regular,Consolas,monospace" font-size="15">exec / tail</text>
<text x="640" y="318" text-anchor="middle" fill="#FDE68A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="14">不自动同步</text>
</g>
<path d="M500 230H548" stroke="#2563EB" stroke-width="5" stroke-linecap="round" marker-end="url(#arrowBlue)"/>
<path d="M732 230H780" stroke="#2563EB" stroke-width="5" stroke-linecap="round" marker-end="url(#arrowBlue)"/>
<text x="640" y="145" text-anchor="middle" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="16" font-weight="700">上传你决定的代码文件</text>
<path d="M780 312H732" stroke="#16A34A" stroke-width="5" stroke-linecap="round" marker-end="url(#arrowGreen)"/>
<path d="M548 312H500" stroke="#16A34A" stroke-width="5" stroke-linecap="round" marker-end="url(#arrowGreen)"/>
<text x="640" y="392" text-anchor="middle" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="16" font-weight="700">只拉回需要查看或提交的结果</text>
<rect x="288" y="452" width="704" height="42" rx="21" fill="#FFFFFF" stroke="#CBD5E1"/>
<text x="640" y="479" text-anchor="middle" fill="#334155" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="17">模型权重、数据集、checkpoint 默认不回传,除非你明确 get 或 sync-down</text>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

-79
View File
@@ -1,79 +0,0 @@
<svg width="1280" height="520" viewBox="0 0 1280 520" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1280" y2="520" gradientUnits="userSpaceOnUse">
<stop stop-color="#F8FAFC"/>
<stop offset="0.52" stop-color="#EFF6FF"/>
<stop offset="1" stop-color="#F7FEE7"/>
</linearGradient>
<linearGradient id="local" x1="92" y1="96" x2="372" y2="356" gradientUnits="userSpaceOnUse">
<stop stop-color="#DBEAFE"/>
<stop offset="1" stop-color="#BFDBFE"/>
</linearGradient>
<linearGradient id="bridge" x1="492" y1="130" x2="788" y2="390" gradientUnits="userSpaceOnUse">
<stop stop-color="#FDE68A"/>
<stop offset="1" stop-color="#FBBF24"/>
</linearGradient>
<linearGradient id="remote" x1="908" y1="96" x2="1188" y2="356" gradientUnits="userSpaceOnUse">
<stop stop-color="#DCFCE7"/>
<stop offset="1" stop-color="#86EFAC"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="14" stdDeviation="18" flood-color="#0F172A" flood-opacity="0.12"/>
</filter>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="9" refY="6" orient="auto">
<path d="M2 2L10 6L2 10V2Z" fill="#2563EB"/>
</marker>
<marker id="arrow2" markerWidth="12" markerHeight="12" refX="9" refY="6" orient="auto">
<path d="M2 2L10 6L2 10V2Z" fill="#16A34A"/>
</marker>
</defs>
<rect width="1280" height="520" rx="36" fill="url(#bg)"/>
<rect x="38" y="38" width="1204" height="444" rx="28" stroke="#CBD5E1" stroke-width="2" stroke-dasharray="10 10"/>
<text x="640" y="74" text-anchor="middle" fill="#0F172A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="34" font-weight="800">AutoDL Remote</text>
<text x="640" y="110" text-anchor="middle" fill="#475569" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="20">本地 Codex 写代码,远端 GPU 跑任务,SSH 负责连接</text>
<g filter="url(#shadow)">
<rect x="90" y="152" width="286" height="212" rx="24" fill="url(#local)" stroke="#93C5FD" stroke-width="2"/>
<rect x="120" y="184" width="226" height="116" rx="14" fill="#FFFFFF" stroke="#60A5FA"/>
<rect x="140" y="206" width="110" height="12" rx="6" fill="#2563EB"/>
<rect x="140" y="232" width="168" height="10" rx="5" fill="#93C5FD"/>
<rect x="140" y="256" width="136" height="10" rx="5" fill="#93C5FD"/>
<text x="233" y="333" text-anchor="middle" fill="#1E3A8A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="24" font-weight="800">Local Codex</text>
<text x="233" y="356" text-anchor="middle" fill="#1D4ED8" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="15">代码修改与 Git diff 留在本地</text>
</g>
<g filter="url(#shadow)">
<rect x="492" y="170" width="296" height="176" rx="26" fill="url(#bridge)" stroke="#F59E0B" stroke-width="2"/>
<rect x="548" y="215" width="184" height="56" rx="28" fill="#111827"/>
<text x="640" y="252" text-anchor="middle" fill="#FFFFFF" font-family="SFMono-Regular,Consolas,monospace" font-size="24" font-weight="800">ssh / scp</text>
<text x="640" y="310" text-anchor="middle" fill="#78350F" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="23" font-weight="800">显式工具层</text>
<text x="640" y="334" text-anchor="middle" fill="#92400E" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="15">exec · put · get · tree · tail</text>
</g>
<g filter="url(#shadow)">
<rect x="904" y="152" width="286" height="212" rx="24" fill="url(#remote)" stroke="#4ADE80" stroke-width="2"/>
<rect x="935" y="184" width="224" height="116" rx="14" fill="#FFFFFF" stroke="#22C55E"/>
<rect x="957" y="209" width="180" height="18" rx="9" fill="#16A34A"/>
<rect x="957" y="243" width="70" height="36" rx="9" fill="#BBF7D0"/>
<rect x="1043" y="243" width="94" height="36" rx="9" fill="#86EFAC"/>
<text x="1047" y="333" text-anchor="middle" fill="#14532D" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="24" font-weight="800">AutoDL GPU</text>
<text x="1047" y="356" text-anchor="middle" fill="#15803D" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="15">模型、数据、训练产物留在远端</text>
</g>
<path d="M390 226C423 210 454 210 484 226" stroke="#2563EB" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<text x="438" y="202" text-anchor="middle" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="17" font-weight="700">put / sync-up</text>
<path d="M890 292C856 308 823 308 794 292" stroke="#16A34A" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow2)"/>
<text x="842" y="333" text-anchor="middle" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="17" font-weight="700">get / cat / tail</text>
<path d="M790 226C823 210 856 210 890 226" stroke="#2563EB" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow)"/>
<text x="840" y="202" text-anchor="middle" fill="#1D4ED8" font-family="SFMono-Regular,Consolas,monospace" font-size="17" font-weight="700">exec</text>
<path d="M484 292C454 308 423 308 390 292" stroke="#16A34A" stroke-width="5" stroke-linecap="round" marker-end="url(#arrow2)"/>
<text x="438" y="333" text-anchor="middle" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="17" font-weight="700">result when needed</text>
<rect x="253" y="421" width="774" height="42" rx="21" fill="#FFFFFF" stroke="#CBD5E1"/>
<text x="640" y="448" text-anchor="middle" fill="#334155" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="17">插件不判断谁覆盖谁,只给 Codex 提供可组合的 SSH 原语</text>
</svg>

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

-68
View File
@@ -1,68 +0,0 @@
<svg width="1280" height="500" viewBox="0 0 1280 500" fill="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1280" y2="500" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFFFFF"/>
<stop offset="1" stop-color="#F1F5F9"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="10" stdDeviation="14" flood-color="#0F172A" flood-opacity="0.10"/>
</filter>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="9" refY="6" orient="auto">
<path d="M2 2L10 6L2 10V2Z" fill="#334155"/>
</marker>
</defs>
<rect width="1280" height="500" rx="34" fill="url(#bg)"/>
<text x="640" y="70" text-anchor="middle" fill="#0F172A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="34" font-weight="800">一次典型远端开发循环</text>
<text x="640" y="104" text-anchor="middle" fill="#64748B" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="19">先看清远端,再本地改代码,按需上传,远端运行,最后只取需要的结果</text>
<path d="M206 250H1074" stroke="#CBD5E1" stroke-width="6" stroke-linecap="round"/>
<g filter="url(#shadow)">
<rect x="80" y="160" width="180" height="180" rx="22" fill="#EFF6FF" stroke="#93C5FD" stroke-width="2"/>
<circle cx="170" cy="208" r="30" fill="#2563EB"/>
<text x="170" y="218" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="28" font-weight="800">1</text>
<text x="170" y="270" text-anchor="middle" fill="#1E3A8A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="22" font-weight="800">查看远端</text>
<text x="170" y="300" text-anchor="middle" fill="#2563EB" font-family="SFMono-Regular,Consolas,monospace" font-size="15">tree / cat</text>
</g>
<g filter="url(#shadow)">
<rect x="320" y="160" width="180" height="180" rx="22" fill="#F8FAFC" stroke="#CBD5E1" stroke-width="2"/>
<circle cx="410" cy="208" r="30" fill="#475569"/>
<text x="410" y="218" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="28" font-weight="800">2</text>
<text x="410" y="270" text-anchor="middle" fill="#0F172A" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="22" font-weight="800">本地修改</text>
<text x="410" y="300" text-anchor="middle" fill="#475569" font-family="SFMono-Regular,Consolas,monospace" font-size="15">edit + git diff</text>
</g>
<g filter="url(#shadow)">
<rect x="560" y="160" width="180" height="180" rx="22" fill="#FEF3C7" stroke="#FBBF24" stroke-width="2"/>
<circle cx="650" cy="208" r="30" fill="#D97706"/>
<text x="650" y="218" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="28" font-weight="800">3</text>
<text x="650" y="270" text-anchor="middle" fill="#78350F" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="22" font-weight="800">按需上传</text>
<text x="650" y="300" text-anchor="middle" fill="#B45309" font-family="SFMono-Regular,Consolas,monospace" font-size="15">put / sync-up</text>
</g>
<g filter="url(#shadow)">
<rect x="800" y="160" width="180" height="180" rx="22" fill="#ECFDF5" stroke="#86EFAC" stroke-width="2"/>
<circle cx="890" cy="208" r="30" fill="#16A34A"/>
<text x="890" y="218" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="28" font-weight="800">4</text>
<text x="890" y="270" text-anchor="middle" fill="#14532D" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="22" font-weight="800">远端运行</text>
<text x="890" y="300" text-anchor="middle" fill="#15803D" font-family="SFMono-Regular,Consolas,monospace" font-size="15">exec --detach</text>
</g>
<g filter="url(#shadow)">
<rect x="1040" y="160" width="180" height="180" rx="22" fill="#F5F3FF" stroke="#C4B5FD" stroke-width="2"/>
<circle cx="1130" cy="208" r="30" fill="#7C3AED"/>
<text x="1130" y="218" text-anchor="middle" fill="#FFFFFF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="28" font-weight="800">5</text>
<text x="1130" y="270" text-anchor="middle" fill="#4C1D95" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="22" font-weight="800">查看结果</text>
<text x="1130" y="300" text-anchor="middle" fill="#6D28D9" font-family="SFMono-Regular,Consolas,monospace" font-size="15">tail / get</text>
</g>
<path d="M260 250H315" stroke="#334155" stroke-width="4" marker-end="url(#arrow)"/>
<path d="M500 250H555" stroke="#334155" stroke-width="4" marker-end="url(#arrow)"/>
<path d="M740 250H795" stroke="#334155" stroke-width="4" marker-end="url(#arrow)"/>
<path d="M980 250H1035" stroke="#334155" stroke-width="4" marker-end="url(#arrow)"/>
<rect x="312" y="393" width="656" height="42" rx="21" fill="#FFFFFF" stroke="#CBD5E1"/>
<text x="640" y="420" text-anchor="middle" fill="#334155" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="17">每一步都是显式命令,适合让 Codex 根据当前任务自主组合</text>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB