每一处标注同时带两个属性:data-name 说角色(同类共用,可重复),data-uid 说具体是哪一个(8 位 base36,全页唯一、跨刷新稳定)。svg 内部已折叠。
<div data-name="instance-card" data-uid="oik6nbmu" data-instance="web-dev" class="dsh-case"> <div class="dsh-case-head"> <span class="dsh-tile violet"> <svg …/> </span> <div class="dsh-ident"> <div class="dsh-title-line"> <span data-name="card-name" data-uid="f1c4ogo5" class="dsh-name"> web-dev </span> <!--[--> <!--]--> </div> <div data-name="sub-line" data-uid="xutwe5zh" data-status="stopped" class="dsh-sub off"> <span data-name="sub-kind" data-uid="li4pcf7l" title="磁盘上真实存在的 profile,当前没有对应的 dsh 进程" class="dsh-kind"> 本地 profile </span> <span data-name="status-dot" data-uid="yphoujw1" class="dsh-dot-slot"> <i class="dsh-dot"> <!--[--> <!--]--> </i> </span> <span data-name="sub-state" data-uid="k5syc8vx" class="dsh-state"> 已停止 </span> <span class="dsh-tail"> <span data-name="sub-uptime" data-uid="kncfhmqd" title="cordis.patch.yml 182 行 · lock 10-15 18:50" class="dsh-uptime"> cordis.patch.yml 182 行 · lock 10-15 18:50 </span> <span data-name="port-note" data-uid="iwsyku8b" title="缺 11 个包:@deepseek-ai/dsh-experimental-agent-team-profile、@deepseek-ai/dsh-experimental-auto-review、@deepseek-ai/dsh-experimental-schedule-bundle、@local/dsh-retry-control、@local/dsh-linxi、dsh-session-manager、@local/dsh-copy-path、@local/dsh-provider-finder、@local/dsh-copy-session、@local/dsh-clyzhi-review、@local/dsh-proxy-pin" class="dsh-port-note"> 缺 11 个包:@deepseek-ai/dsh-experimental-agent-team-profile、@deepseek-ai/dsh-experimental-auto-review、@deepseek-ai/dsh-experimental-schedule-bundle、@local/dsh-retry-control、@local/dsh-linxi、dsh-session-manager、@local/dsh-copy-path、@local/dsh-provider-finder、@local/dsh-copy-session、@local/dsh-clyzhi-review、@local/dsh-proxy-pin </span> </span> </div> </div> <!--[--> <div class="dsh-actions"> <button data-name="start" data-uid="sy8tftrv" type="button" class="dsh-btn primary violet"> <svg …/> <span> 启动 </span> </button> <button data-name="restart" data-uid="8x8apiai" type="button" class="dsh-btn"> <svg …/> <span> 重启 </span> </button> <button data-name="menu-trigger" data-uid="yoehocfs" id="dsh-trigger-profile-web-dev" aria-haspopup="menu" aria-expanded="false" aria-label="更多操作(web-dev)" type="button" class="dsh-btn icon-only"> <svg …/> </button> </div> <!--]--> </div> <ul class="dsh-fields"> <li data-name="card-field" data-uid="t6h54myq" data-field="dsh-version" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="avy2vy65" class="dsh-field-label"> DSH 版本 / 来源 </span> <span data-name="field-value" data-uid="yct09x0q" title="控制台后端读到的 dsh 版本与来源(这只 profile 没有运行中的进程,版本取的是控制台自身的读数)" class="dsh-field-value"> 0.2.0-rc.2(本机已安装) </span> </li> <li data-name="card-field" data-uid="vio1dlrd" data-field="profile" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="33mm3w6a" class="dsh-field-label"> Profile </span> <span data-name="field-value" data-uid="sz4hc9bx" title="磁盘上真实存在的 profile 目录名:web-dev" class="dsh-field-value"> web-dev </span> </li> <li data-name="card-field" data-uid="w0jdcftt" data-field="url" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="e46ce2fu" class="dsh-field-label"> 访问地址 </span> <span data-name="field-value" data-uid="c8vd9ecl" title="这只 profile 现在没有在跑,所以没有可访问的地址" class="dsh-field-value"> 已停用,无法访问 </span> </li> <li data-name="card-field" data-uid="pu95nuim" data-field="home" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="wjkhubqh" class="dsh-field-label"> DSH_HOME </span> <span data-name="field-value" data-uid="lnftyjce" title="控制台当前使用的 DSH_HOME(来源见「关于」页的 DSH_HOME 一行)" class="dsh-field-value"> ~/.dsh </span> </li> <li data-name="card-field" data-uid="x2yuqay4" data-field="plugin-count" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="h8i6mh43" class="dsh-field-label"> 插件数量 </span> <span data-name="field-value" data-uid="1vszc0a0" title="缺少的包:@deepseek-ai/dsh-experimental-agent-team-profile、@deepseek-ai/dsh-experimental-auto-review、@deepseek-ai/dsh-experimental-schedule-bundle、@local/dsh-retry-control、@local/dsh-linxi、dsh-session-manager、@local/dsh-copy-path、@local/dsh-provider-finder、@local/dsh-copy-session、@local/dsh-clyzhi-review、@local/dsh-proxy-pin" class="dsh-field-value"> 声明 13 · 已装 2 </span> </li> <li data-name="card-field" data-uid="n3tvalto" data-field="mtime" class="dsh-field"> <span class="dsh-field-icon"> <svg …/> </span> <span data-name="field-label" data-uid="f8svqmyb" class="dsh-field-label"> 最近改动 </span> <span data-name="field-value" data-uid="6kgbb7js" title="这只 profile 目录的最近改动时刻(mtime 2026-10-15T10:50:52.694Z,卡上按浏览器本地时间显示)。口径是「最近改动」不是「创建时间」:多数文件系统上可靠的创建时间拿不到(ctime 会在 chmod / 改名时变,birth time 不通用);刚派生出来的 profile 一定是最新的。来源:~/.dsh/profiles/web-dev 的 mtime" class="dsh-field-value"> 10-15 18:50 </span> </li> </ul> </div>