dsh-all-usage 1.1.17 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +453 -386
- package/LICENSE +21 -21
- package/README.en.md +270 -0
- package/README.md +145 -273
- package/assets/model-icons/ai2-color.svg +1 -0
- package/assets/model-icons/ai21-brand-color.svg +1 -0
- package/assets/model-icons/aionlabs.svg +1 -0
- package/assets/model-icons/alephalpha.svg +1 -0
- package/assets/model-icons/baai.svg +1 -0
- package/assets/model-icons/baichuan-color.svg +1 -0
- package/assets/model-icons/baidu-color.svg +1 -0
- package/assets/model-icons/bytedance-color.svg +1 -0
- package/assets/model-icons/cohere-color.svg +1 -0
- package/assets/model-icons/hunyuan-color.svg +1 -0
- package/assets/model-icons/ibm.svg +1 -0
- package/assets/model-icons/iflytekcloud-color.svg +1 -0
- package/assets/model-icons/internlm-color.svg +1 -0
- package/assets/model-icons/kling-color.svg +1 -0
- package/assets/model-icons/liquid.svg +1 -0
- package/assets/model-icons/longcat-color.svg +1 -0
- package/assets/model-icons/manifest.json +739 -213
- package/assets/model-icons/microsoft-color.svg +1 -0
- package/assets/model-icons/mistral-color.svg +1 -0
- package/assets/model-icons/nousresearch.svg +1 -0
- package/assets/model-icons/nova-color.svg +1 -0
- package/assets/model-icons/nvidia-color.svg +1 -0
- package/assets/model-icons/perplexity-color.svg +1 -0
- package/assets/model-icons/sensenova-color.svg +1 -0
- package/assets/model-icons/skywork-color.svg +1 -0
- package/assets/model-icons/snowflake-color.svg +1 -0
- package/assets/model-icons/stepfun-color.svg +1 -0
- package/assets/model-icons/tencent-color.svg +1 -0
- package/assets/model-icons/tii-color.svg +1 -0
- package/assets/model-icons/upstage-color.svg +1 -0
- package/assets/model-icons/voyage-color.svg +1 -0
- package/assets/model-icons/xiaomimimo.svg +1 -0
- package/assets/model-icons/yandex.svg +1 -0
- package/assets/readme-architecture-en.svg +95 -0
- package/assets/readme-architecture-zh.svg +95 -0
- package/assets/readme-sync-en.svg +81 -0
- package/assets/readme-sync-zh.svg +81 -0
- package/assets/screenshots/en/01-overview.png +0 -0
- package/assets/screenshots/en/02-heatmap.png +0 -0
- package/assets/screenshots/en/03-model-usage.png +0 -0
- package/assets/screenshots/en/04-request-logs.png +0 -0
- package/assets/screenshots/en/05-cost-settings.png +0 -0
- package/assets/screenshots/zh/01-overview.png +0 -0
- package/assets/screenshots/zh/02-heatmap.png +0 -0
- package/assets/screenshots/zh/03-model-usage.png +0 -0
- package/assets/screenshots/zh/04-request-logs.png +0 -0
- package/assets/screenshots/zh/05-cost-settings.png +0 -0
- package/cordis.patch.yml +5 -5
- package/lib/aggregation.js +1842 -1112
- package/lib/client.js +1 -1
- package/lib/http.js +417 -370
- package/lib/icons.js +40 -0
- package/lib/ledger.js +1000 -531
- package/lib/plugin.js +347 -323
- package/lib/pricing-runtime.js +615 -551
- package/lib/pricing.js +1463 -1412
- package/lib/records-cache.js +113 -0
- package/lib/session-sync.js +976 -841
- package/lib/usage-core.js +33 -10
- package/lib/version-check.js +133 -0
- package/package.json +8 -3
- package/screenshots.json +10 -3
- package/assets/screenshot-1.png +0 -0
- package/assets/screenshot-2.png +0 -0
- package/assets/screenshot-3.png +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Azure</title><path d="M11.49 2H2v9.492h9.492V2h-.002z" fill="#F25022"></path><path d="M22 2h-9.492v9.492H22V2z" fill="#7FBA00"></path><path d="M11.49 12.508H2V22h9.492v-9.492h-.002z" fill="#00A4EF"></path><path d="M22 12.508h-9.492V22H22v-9.492z" fill="#FFB900"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z" fill="gold"></path><path d="M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z" fill="#FFAF00"></path><path d="M3.428 10.258h17.144v3.428H3.428v-3.428z" fill="#FF8205"></path><path d="M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z" fill="#FA500F"></path><path d="M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z" fill="#E10500"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#8a8f98" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>NousResearch</title><path d="M5.938 12.835c.127-.039.285.02.373.143.028.038.036.092.046.14.003.014-.02.033-.04.05-.124-.098-.24-.194-.354-.291-.011-.01-.016-.027-.025-.042zM8.396 9.412c.195-.032.39-.06.588-.05a.54.54 0 01.148.026c.202.071.402.147.601.224.028.01.05.036.075.055l-.013.027a9.203 9.203 0 01-.26-.089c-.115-.038-.213-.077-.315-.098-.25-.05-.25-.046-.292-.014l.574.144c.275.139.55.276.823.417.042.022.09.057.107.098.026.06.063.076.117.072.066-.006.132-.017.213-.027l-.04.086c.051.08.142.02.216.064-.074.13-.247.09-.334.199l.061.074-.12.087c0 .106-.038.168-.306.243l.026.085-.196.042.07.124h-.25l-.007.137c-.081-.01-.161-.018-.244-.027l-.053.123c-.027-.008-.052-.011-.073-.023-.067-.038-.128-.056-.195.006-.019.017-.063.014-.093.008-.026-.006-.05-.029-.07-.042-.11.095-.11.095-.208.003-.057.046-.12.074-.186.011-.063.027-.123-.02-.178-.014-.07.007-.097-.035-.133-.07l-.13.033c-.013-.236-.194-.19-.34-.203.005-.072.05-.092.095-.094a.474.474 0 01.159.022c.164.05.32.12.496.138.203.021.405.029.601-.015.265-.059.52-.149.707-.365.049-.056.083-.127.117-.195.019-.038.02-.084-.02-.116a1.397 1.397 0 00-.382-.217c.024.12-.031.182-.115.221 0 .014-.004.025 0 .03.08.115.084.16-.007.267a1.39 1.39 0 01-.218.211.477.477 0 01-.641-.05 1.36 1.36 0 01-.133-.152c-.078-.107-.076-.108-.033-.236-.165-.08-.128-.226-.104-.364.008-.05.028-.096.049-.163-.04.014-.067.017-.087.032a.897.897 0 00-.316.357c-.007.016-.01.034-.02.047-.012.015-.034.038-.045.035-.02-.006-.037-.027-.05-.045-.008-.012-.007-.032-.012-.057h-.126l.053-.172a14.82 14.82 0 00-.039-.049l.11-.284c-.06.026-.091.044-.124.051-.03.007-.064 0-.095 0 0-.031-.01-.07.004-.092.149-.22.305-.428.593-.476z"></path><path d="M8.06 10.788c-.003-.038-.004-.075.037-.062.016.006.034.048.028.067-.01.04-.038.032-.064-.005z"></path><path clip-rule="evenodd" d="M11.981.009c.226-.012.453-.011.679 0 .247.01.495.024.74.062.401.064.798.157 1.19.273.463.138.92.299 1.356.511a7.31 7.31 0 012.948 2.642c.292.469.536.963.739 1.479.219.556.446 1.11.623 1.683.204.654.329 1.326.458 1.997.097.504.182 1.01.29 1.511.156.722.329 1.44.494 2.16.186.812.4 1.615.63 2.415.102.355.193.713.282 1.072.11.436.202.876.254 1.323.031.278.066.557.073.837a7.56 7.56 0 01-.017.88c-.037.413-.1.818-.226 1.212a5.017 5.017 0 01-.915 1.649l-.13.156.018.023c.043-.023.088-.041.127-.068.2-.138.373-.307.531-.49.4-.46.721-.973.975-1.529a3.59 3.59 0 00.325-1.72c-.024-.424-.097-.834-.3-1.213-.013-.027-.015-.06-.03-.121.05.035.082.048.101.072.107.13.22.258.315.398.33.494.46 1.052.486 1.64a3.75 3.75 0 01-.47 1.97c-.36.655-.887 1.14-1.526 1.506-.193.111-.394.21-.595.308-.157.078-.248.211-.318.365a.522.522 0 00-.033.406.359.359 0 01.013.139c-.005.077-.077.155-.14.162-.054.006-.125-.043-.15-.116a1.206 1.206 0 01-.06-.233c-.04-.314-.155-.6-.308-.87a3.906 3.906 0 00-.73-.91 2.129 2.129 0 00-.897-.524 4.093 4.093 0 00-.692-.131c-.075-.008-.15-.04-.22.01.18.06.363.11.538.18.434.173.82.43 1.18.728.308.255.58.543.794.884.098.155.186.315.227.496.027.123.042.25.067.375.013.062-.002.109-.053.144-.047.033-.122.034-.163-.01a.455.455 0 01-.08-.14c-.03-.073-.038-.159-.078-.225a7.314 7.314 0 00-1.423-1.664c-.16-.137-.329-.26-.537-.323-.376-.114-.753-.203-1.15-.154-.213.025-.427.032-.64.053a1.6 1.6 0 00-.736.278 5.14 5.14 0 00-.834.72c-.329.342-.642.699-.955 1.055-.136.155-.264.319-.314.531a5.227 5.227 0 00-.012.051.096.096 0 01-.09.076h-.31c-.046 0-.082-.048-.072-.094.023-.108.045-.216.07-.324.075-.325.19-.635.368-.917.024-.039.04-.088.104-.08l.01.049.027.077c.28-.435.571-.834.996-1.135.283-.204.584-.378.89-.55a.196.196 0 00-.098-.002c-.162.043-.325.084-.485.134-.402.124-.764.33-1.11.566-.147.1-.298.193-.414.333a7.314 7.314 0 00-1.07 1.767.845.845 0 00-.04.12.075.075 0 01-.072.056h-.494c-.04 0-.062-.051-.036-.082.123-.14.246-.282.377-.415.275-.281.58-.532.777-.884.027-.048.063-.09.095-.135.238-.333.54-.607.818-.902.082-.086.175-.16.26-.24.029-.027.053-.057.079-.085l-.018-.025-.135.041c-.034.017-.07.031-.102.05-.248.144-.494.292-.743.433-.408.23-.825.439-1.209.711-.281.2-.591.358-.889.533-.02.012-.044.015-.08.028-.015-.135.143-.201.108-.336-.033.014-.064.02-.085.038-.111.096-.227.19-.328.296-.148.157-.284.325-.425.488-.125.143-.25.286-.373.431A.153.153 0 019.89 24H8.762a.316.316 0 00.016-.042c.028-.09.085-.172.083-.28-.091-.018-.162.001-.212.077a4.45 4.45 0 00-.136.215c-.01.016-.024.03-.042.03h-.093c-.019 0-.029-.022-.017-.037.071-.088.14-.178.209-.268.001-.002-.006-.012-.012-.024-.014.004-.03.006-.045.013-.176.09-.352.181-.527.274a.363.363 0 01-.168.042H5.202c-.026 0-.039-.036-.019-.053.21-.178.402-.374.558-.605.335-.496.538-1.047.667-1.629.004-.02-.003-.043-.006-.091-.037.048-.059.072-.076.1a1.943 1.943 0 01-.334.415c-.28.258-.59.448-.983.464-.297.012-.588 0-.865-.127-.46-.21-.722-.57-.794-1.072-.025-.17-.017-.171-.182-.219A3.513 3.513 0 011.97 20.6a2.286 2.286 0 01-.808-1.13 3.569 3.569 0 01-.16-1.245c.002-.034.016-.067.024-.1.032.023.046.043.05.066.033.153.059.308.096.46.086.355.257.664.516.92.258.256.571.419.91.532.358.118.717.138 1.07-.016a1.89 1.89 0 00.621-.452c.328-.348.533-.76.648-1.223.009-.034.005-.071.007-.11-.015.006-.026.006-.03.011-.031.05-.064.1-.093.152-.284.502-.679.887-1.196 1.135-.351.17-.718.255-1.11.159a1.607 1.607 0 01-.971-.64 2.006 2.006 0 01-.368-.924 2.903 2.903 0 01.02-.886c.05-.439.466-1.17.742-1.271-.02.063-.035.112-.053.16-.043.116-.097.227-.13.345a1.901 1.901 0 00-.05.82c.033.212.09.416.204.6.147.236.346.407.62.465.11.023.225.014.338.018a.576.576 0 00.386-.131c.164-.128.282-.292.366-.481.168-.375.24-.777.309-1.179.05-.296.093-.594.133-.893.039-.281.071-.563.104-.845.026-.232.048-.464.074-.696.024-.228.052-.455.076-.683.024-.227.047-.455.069-.683.013-.14.022-.28.034-.42l.037-.417c.022-.25.041-.5.065-.748.008-.082-.02-.132-.09-.177a2.46 2.46 0 01-.492-.418c-.1-.109-.188-.228-.282-.342-.035-.042-.056-.097-.116-.118a2.084 2.084 0 00.275.597c.06.092.131.176.196.265.063.086.182.115.234.226-.028.003-.046.01-.06.006a4.74 4.74 0 01-.22-.057 2.71 2.71 0 01-1.287-.819c-.435-.487-.656-1.076-.71-1.723a5.206 5.206 0 01.014-1.06c.072-.602.22-1.186.45-1.745.155-.376.338-.741.526-1.102.205-.393.466-.75.765-1.076.512-.559 1.104-1.024 1.726-1.448.717-.49 1.478-.898 2.277-1.233C8.244.828 8.767.632 9.31.494c.655-.166 1.31-.33 1.982-.415.229-.03.458-.058.688-.07zm-1.847 22.82c-.07.06-.147.111-.207.18-.238.27-.464.549-.668.869l-.044.108a.177.177 0 00.093-.057c.174-.19.351-.378.519-.574.104-.122.195-.255.288-.386.024-.034.03-.08.046-.12l-.027-.02zm1.65-3.695a5.51 5.51 0 00-.653.593l-.37.386a.963.963 0 01-.377.25 1.372 1.372 0 01-.467.09c-.044 0-.087.006-.151.012.028.058.043.097.064.131.15.242.301.482.45.724.136.22.276.438.399.666.068.125.105.267.156.404.077.027.14-.018.202-.048.29-.135.579-.274.867-.412.213-.101.437-.186.636-.31.347-.215.68-.455 1.018-.685.015-.01.026-.028.042-.046-.023-.019-.038-.037-.056-.044-.287-.111-.527-.3-.77-.482a5.319 5.319 0 01-.506-.42 1.757 1.757 0 01-.41-.653c-.019-.049-.045-.095-.075-.156zm-5.847.264c-.06.096-.097.194-.132.293a3.38 3.38 0 01-.555 1.01c-.2.25-.455.412-.762.493-.23.06-.464.076-.7.07-.048-.002-.097.002-.158.005.016.04.021.066.035.085.1.145.23.246.4.295.157.046.316.034.498.023.181-.037.343-.115.485-.234.238-.199.402-.454.536-.732.175-.363.264-.751.342-1.144.01-.053.008-.11.011-.164zm14.945-4.586c.008.029.016.057.027.107.024.155.051.31.072.464.03.219.067.437.078.657.017.344.027.689-.014 1.033-.037.315-.063.633-.116.946a6.153 6.153 0 01-.46 1.518c-.008.018-.01.039-.02.082.047-.03.077-.042.098-.064.085-.083.17-.167.248-.255.271-.305.458-.66.596-1.043.18-.498.228-1.011.145-1.531-.103-.65-.33-1.263-.597-1.881a9.055 9.055 0 00-.024-.055l-.033.022zM5.797 8.29a.26.26 0 00.018.153c.124.251.25.501.379.75.025.049.066.09.03.163-.284.06-.578.119-.88.255.059.038.097.06.132.087.042.032.112.058.09.12-.01.033-.075.048-.117.072.017.01.043.021.067.036.166.102.33.207.447.368.138.192.229.404.188.644-.079.469-.306.85-.69 1.132-.054.04-.106.083-.161.122a.243.243 0 00-.103.245.77.77 0 00.055.195c.083.196.22.35.375.492.083.076.159.164.222.257a.37.37 0 01.025.377c-.023.05-.05.099-.076.148-.03.06-.028.111.022.162.041.042.08.089.112.138.038.058.078.079.147.05a.486.486 0 01.333-.006c.16.046.302.126.444.21.13.077.264.149.4.219.067.035.14.05.219.026.071-.022.124.01.145.076.02.064-.003.108-.074.139-.07.03-.137.063-.209.088-.1.035-.201.073-.314.077-.013-.107.11-.088.127-.159-.206-.126-.643-.145-.801-.034.063.112.035.21-.096.313-.13-.1-.025-.202.002-.3a.209.209 0 00-.249.17c-.015.101.067.216.178.224.108.007.218-.005.326-.012.06-.005.12-.027.199 0-.103.123-.248.127-.357.19.002.05.07.086.019.131-.053.048-.095-.001-.132-.03-.08-.063-.16-.126-.231-.197a.474.474 0 01-.157-.311.52.52 0 00-.043-.172c-.032-.074-.032-.137.033-.19-.018-.03-.028-.053-.045-.072a1.222 1.222 0 01-.196-.369c-.053-.137-.046-.264.048-.381.024-.03.05-.06.064-.095a.664.664 0 00.047-.168c.017-.165-.064-.287-.182-.387-.186-.156-.36-.322-.46-.551-.005-.011-.024-.017-.037-.026-.011.017-.024.027-.025.038-.019.185-.045.37-.052.557-.014.377.058.743.162 1.104.118.41.289.798.488 1.173.267.502.537 1.002.812 1.5.055.098.13.189.208.27.198.202.452.272.724.273.202 0 .404-.006.605-.026.295-.03.59-.073.884-.113.183-.025.365-.057.548-.08.21-.026.38.073.522.21.16.156.305.327.447.5.22.265.397.56.554.867.05.098.07.1.147.03.13-.121.26-.242.394-.36.067-.059.088-.12.067-.213a3.535 3.535 0 01-.085-.796c.002-.157.006-.314.018-.471.015-.224.03-.45.06-.672a59.114 59.114 0 01.362-2.298c.087-.493.182-.984.268-1.477.06-.347.118-.694.162-1.043.034-.273.055-.55.063-.825.011-.332.003-.665.002-.998 0-.077.004-.155-.01-.23-.028-.142-.01-.155-.162-.19a5.826 5.826 0 00-.607-.107c-.146-.018-.207-.053-.221-.19-.006-.049-.025-.098-.041-.146-.009-.025-.024-.048-.046-.09l-.025.264c-.009.096-.029.116-.127.115-.055 0-.11-.008-.164-.008-.476 0-.952-.008-1.426.032-.095.008-.173-.015-.226-.103-.04-.066-.088-.126-.134-.186-.063-.084-.086-.093-.182-.06-.195.068-.388.138-.582.21a2.71 2.71 0 00-.675.394.986.986 0 01-.323.168c-.033.01-.07.008-.127.013.02-.066.024-.114.047-.15.064-.105.135-.205.205-.306.023-.033.049-.063.073-.095l-.015-.023-.201.037c-.146.04-.296.07-.437.122-.148.053-.266.023-.386-.072a3.623 3.623 0 01-.733-.786l-.093-.132zm8.592 8.963l-.147.09c-.22.134-.44.266-.659.402-.093.058-.184.12-.27.188-.085.07-.124.161-.072.272.047.1.093.2.147.294.047.08.124.138.213.147.11.01.228.012.336-.012.217-.05.372-.205.528-.357a.291.291 0 00.087-.308c-.046-.18-.079-.365-.118-.547-.011-.052-.027-.103-.045-.169zm-.257-2.409c-.12.291-.205.597-.325.91-.151.433-.294.87-.435 1.323.036-.01.054-.01.067-.018.261-.16.522-.324.785-.484.054-.033.071-.078.065-.138-.012-.13-.024-.262-.034-.393l-.068-.886c-.008-.103-.02-.206-.029-.31-.009 0-.017-.002-.026-.004zm3.081-8.13l.099.285c.08.231.159.463.24.714l.58 1.952c.187.63.372 1.262.558 1.893.114.382.235.762.343 1.146.072.257.126.519.186.799.044.206.087.413.127.64.034.106.023.226.077.325l.025-.006-.068-.362c-.038-.206-.077-.412-.113-.638-.015-.07-.029-.141-.046-.211-.095-.396-.177-.796-.29-1.187-.196-.685-.413-1.364-.618-2.046-.165-.549-.322-1.1-.488-1.648-.069-.227-.15-.45-.226-.695l-.117-.336c-.037-.107-.075-.216-.115-.322-.04-.106-.084-.21-.127-.314a7.558 7.558 0 01-.027.01zM6.225 14.304c-.063-.001-.115.014-.134.083a.35.35 0 00.41.012 4.533 4.533 0 00-.276-.095zM5.23 11.98c-.026-.027-.057-.048-.075.002-.012.032-.007.07-.01.113.082-.037.082-.037.085-.115zm.062-1.189a.135.135 0 00-.088.056.197.197 0 00-.025.11c.005.152.01.306.026.457a.751.751 0 00.066.218c.061.136.157.167.288.101.055-.027.06-.054.025-.11a4.52 4.52 0 01-.129-.211c-.015-.068-.066-.131-.033-.207.04-.09-.076-.116-.074-.19V10.874c-.003-.038-.006-.087-.056-.083zm-.017-.968a.867.867 0 00-.467.127c-.076.045-.084.07-.05.158.034.087.07.173.115.254.064.117.09.125.21.077a.657.657 0 01.336-.053c.202.022.357.136.504.264l.092.077c.007-.006.014-.013.022-.018-.019-.105-.035-.226-.149-.264-.157-.053-.324-.075-.508-.117l-.24-.005c.24-.169.452-.044.687.009-.063-.115-.153-.147-.23-.193-.082-.05-.17-.092-.25-.144-.06-.037-.12-.08-.072-.172zm10.233.325c-.23-.01-.427.08-.608.211-.034.026-.06.065-.105.117.087.026.15.046.232.065.044-.015.088-.03.13-.046.306-.114.61-.115.904.031.126.063.237.04.366-.005-.02-.031-.03-.054-.045-.071a.986.986 0 00-.448-.273c-.14-.044-.284-.024-.426-.03zM7.99 6.483a.308.308 0 00.002.133c.08.321.156.643.242.962.104.387.27.75.456 1.103.02.037.061.08.098.087a.404.404 0 00.253-.051l-.472-.84c-.23-.448-.405-.92-.579-1.394zM10.397.497c-.2-.008-.405.004-.603.034-.236.035-.47.087-.7.152-.287.08-.569.18-.852.273-.04.013-.074.038-.11.058.028.014.05.018.07.014.287-.068.58-.085.873-.09.134-.002.269.009.402.025.19.024.382.048.57.09.456.104.874.3 1.265.556.464.306.888.66 1.257 1.078.205.232.395.475.56.739.17.274.315.561.449.856.273.601.456 1.232.6 1.876.04.173.07.348.1.524.017.104.065.167.17.19.122.028.2.105.22.251-.003.102-.06.174-.129.24a1.065 1.065 0 00-.268.358.164.164 0 00.083-.039c.08-.086.162-.172.235-.265a.56.56 0 00.13-.333c.009-.05.022-.1.024-.15.007-.124-.017-.15-.143-.168-.025-.004-.049-.014-.073-.015-.082-.007-.125-.063-.137-.131-.033-.198-.004-.355.247-.408.086-.018.174-.03.26-.042.158-.023.315-.053.473-.067.14-.012.19.033.226.167.008.029.018.057.021.087.019.179-.008.225-.141.288-.027.013-.055.024-.078.042a.148.148 0 00-.051.067c-.039.144.073.382.206.445l.673.32c.023.011.05.015.075.023l.018-.026c-.015-.008-.032-.013-.044-.024a2.27 2.27 0 00-.544-.32 4.898 4.898 0 00-.173-.075.203.203 0 01-.126-.191c-.003-.085.045-.154.128-.187l.059-.025c.099-.044.118-.076.112-.187a.384.384 0 00-.008-.063c-.067-.294-.123-.59-.205-.88a9.478 9.478 0 00-.826-2.036 7.465 7.465 0 00-1.39-1.805 4.536 4.536 0 00-1.177-.824 3.656 3.656 0 00-1.016-.328 6.155 6.155 0 00-.712-.074zm6.719 5.955c.01.014.018.028.038.034l-.022-.044-.016.01zM4.103 3.917a.062.062 0 01-.03.012.455.455 0 01-.04.039c-.01.01-.02.02-.045.04l-.363.354c-.088.085-.17.178-.266.253-.284.22-.425.53-.544.855a.132.132 0 00-.007.071c.013.055.033.108.052.168l.074.026c-.017.056-.03.105-.047.152-.058.164-.118.327-.175.491-.005.015.008.036.019.077.08-.175.158-.33.225-.489.228-.544.484-1.074.819-1.561.09-.133.182-.266.283-.401.004-.006.007-.013.022-.03.001-.016.003-.032.015-.04l.008-.017zm12.976 2.408a.023.023 0 01.009.019.073.073 0 00-.006.01.188.188 0 00.007.02l.018.022c.002-.007.007-.016.005-.021-.003-.01-.012-.018-.02-.038a1.331 1.331 0 01-.013-.012zM4.199 4.48c-.003.004-.008.008-.027.014-.005.013-.011.025-.031.047a2.085 2.085 0 01-.124.167c-.048.07-.116.055-.181.041-.134-.028-.228.016-.287.143-.089.187-.187.37-.273.56-.049.108-.11.216-.118.36.081.003.154.007.228.008h.228a2.563 2.563 0 01-.079.264c-.01.052-.022.103-.033.155l.02.004c.018-.046.037-.092.067-.153.066-.142.13-.285.2-.426.02-.04.034-.1.116-.092 0 .043.004.084 0 .124-.005.045-.017.09-.028.143.141.043.086.174.115.269.102-.022.104-.195.248-.144v.205l.017.002.439-1.059c-.13 0-.246-.02-.358.033-.024.011-.058-.001-.108-.004.075-.15.139-.278.211-.417a.128.128 0 01.025-.036c0-.015-.001-.03.008-.038l.006-.02c-.005.006-.01.011-.028.017-.004.012-.009.024-.026.045a.085.085 0 01-.032.033c-.123.157-.09.164-.258.106-.079-.027-.078-.028-.047-.144.028-.046.056-.093.098-.15 0-.016-.001-.032.007-.042L4.2 4.48zm2.073-.67c-.003.006-.007.011-.027.016-.094.125-.194.246-.28.377-.155.238-.301.481-.451.723-.14.224-.345.368-.575.481-.017.008-.04.006-.079.011.012-.059.016-.109.033-.153a6.076 6.076 0 01.229-.518l-.007-.02a.138.138 0 01-.035.025c-.028.05-.055.1-.093.164-.26.424-.443.817-.442.95.024.004.048.011.073.013.177.013.188.007.26-.165.03-.07.077-.12.147-.15l.175-.07c.044-.018.085-.057.146-.032.003.05-.01.11.014.145.042.062.044.125.047.193.002.049.017.098.026.147.029-.034.039-.065.05-.097.142-.39.277-.782.428-1.17.1-.256.22-.504.33-.756.013-.03.013-.067.03-.092V3.81zm3.987-.34c0 .045.01.084.021.123.042.16.094.318.124.48.024.133.023.27.028.406 0 .033-.019.067-.032.11-.094-.058-.047-.158-.106-.215h-.125c-.015.072-.01.152-.046.2-.066.085-.155.154-.236.227-.043.038-.078.018-.103-.025l-.046-.087c-.065.035-.117.069-.172.093-.116.051-.235.095-.35.147-.085.038-.09.053-.07.147.014.075.034.148.047.223.013.072.05.109.123.124.233.05.462.115.657.265.058-.102.058-.102.168-.151.03-.014.06-.03.092-.042.08-.03.115-.017.15.06.023.048.041.098.066.158.06-.14-.042-.267.017-.416.157.18.24.39.375.567a.235.235 0 00.022-.098c.002-.124 0-.247.002-.371 0-.034.013-.067.02-.1l.032-.003c.11.155.13.354.226.52a3.036 3.036 0 00-.01-.392c-.004-.045 0-.074.05-.088.08.036.116.14.215.158-.03-.275-.423-1.137-.798-1.635-.114-.127-.2-.28-.34-.386zm-2.667.696c-.019.034-.03.05-.037.067-.061.185-.125.37-.18.556-.031.105-.087.169-.195.19-.09.019-.178.052-.268.073-.038.009-.089.015-.118-.003-.024-.016-.025-.069-.036-.106-.064.076-.082.087-.17.047-.133-.062-.262-.135-.393-.201-.048-.025-.093-.063-.17-.03-.043.12-.091.25-.137.382-.099.28-.087.242.095.453.046.048.102.03.154.023.054-.009.106-.03.16-.036.13-.013.26-.08.367-.015.204-.064.387-.122.571-.178.05-.015.089.005.114.054.022.042.034.093.082.121.038-.056-.013-.128.063-.178l.14.241-.042-1.46zm.278.358c-.096-.01-.107.01-.11.108-.002.038-.003.078.002.115.03.2.099.386.174.57.002.006.012.01.022.015l.078-.05c.052.036.081.088.153.088.205-.002.41.014.616.012.099-.001.158.042.205.12.018.03.024.077.088.066l-.08-.394c-.05-.195-.085-.395-.172-.589-.057.057-.114.068-.18.046a.72.72 0 00-.135-.028c-.22-.028-.44-.059-.66-.08zm10.254-1.727c.089.163.155.316.139.491-.016.168.026.342-.044.516-.047-.033-.088-.082-.112-.075-.117.035-.164-.057-.227-.115a4.772 4.772 0 01-.286-.29l-.104-.113a4.856 4.856 0 01-.023.019c.035.046.07.093.11.156.04.064.084.127.122.193.034.058.065.118.031.205-.082-.01-.164-.019-.246-.032-.06-.01-.101 0-.124.07-.031.098-.037.096-.15.09.02.042.036.08.057.116.041.074.03.138-.03.196-.06.06-.118.122-.178.181a.175.175 0 01-.185.046c-.222-.061-.447-.113-.67-.174-.032-.009-.063-.04-.086-.068-.03-.04-.052-.087-.08-.13-.044-.07-.09-.138-.136-.207a.18.18 0 00-.014.105c.012.127.03.253.035.38.005.1-.024.12-.121.104-.104-.017-.206-.04-.31-.058-.064-.012-.131-.028-.202.03l.081.208c.09 0 .166-.01.237.002a.819.819 0 01.458.251c.078.083.154.168.241.26l.018-.005c-.004-.006-.008-.013-.01-.04.014-.056-.062-.118.018-.178.031.03.064.057.088.09.058.078.111.159.169.257l.089.141.024-.013a2093.819 2093.819 0 01-.427-.934c.055.007.083.007.108.016.193.07.385.142.577.216.074.028.147.06.219.094.062.028.112.018.157-.033.05-.056.102-.112.154-.167.05-.051.095-.046.132.014.016.025.026.053.04.08.071.138.143.277.217.433l.159.308.025-.011c-.044-.106-.07-.218-.138-.334-.057-.182-.168-.346-.206-.545.136.034.362.326.567.732l.057.074.018-.011a1.563 1.563 0 01-.052-.127c-.046-.145-.097-.29-.136-.436-.022-.083-.036-.173.022-.26l.109.058-.026-.207.027-.016c.022.02.05.036.065.06.073.108.143.22.215.33.01.016.029.029.043.043-.036-.217-.2-.38-.229-.626l.155.112c.014-.166.012-.319.042-.465.032-.158-.023-.297-.063-.445.024.004.036.006.055.025.092.124.183.249.277.371.02.027.05.047.069.087l.04.063.019-.015a.293.293 0 01-.053-.082 27.922 27.922 0 01-.332-.49c-.221-.311-.363-.467-.485-.521zm-6.57.327c-.003.161.092.275.069.415l-.368.087c.09.139.032.237-.052.331-.05.057-.092.122-.143.178-.037.04-.046.078-.018.126l.16.275c.029.048.072.066.128.064.076-.003.152 0 .228-.001.116-.003.216.022.275.137.006.014.02.024.044.052.004-.059-.003-.098.01-.13.016-.04.04-.099.072-.108.084-.023.173-.024.26-.03.013-.001.027.018.04.029l.071.065c.019-.11-.082-.198-.024-.31l.126.04c-.026-.123-.07-.245-.071-.366 0-.123.051-.243.115-.36.107.062.16.156.234.253.183.265.36.533.494.834.165-.078.27.068.407.088-.003-.106-.133-.441-.197-.492a.142.142 0 00-.102-.028c-.06.011-.119.039-.191.063-.025-.039-.056-.078-.077-.122a3.936 3.936 0 00-.473-.783c-.076-.094-.16-.182-.228-.26l-.391.285c-.049.035-.094.03-.132-.017l-.169-.207c-.025-.03-.053-.059-.097-.108z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 33 32" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nova</title><g mask="url(#lobe-icons-nova-fill-0)"><mask height="32" id="lobe-icons-nova-fill-0" maskUnits="userSpaceOnUse" style="mask-type:luminance" width="32" x="0" y="0"><path d="M31.8 0H0v32h31.8z" fill="#fff"></path></mask><mask height="32" id="lobe-icons-nova-fill-1" maskUnits="userSpaceOnUse" style="mask-type:alpha" width="32" x="0" y="0"><path d="m17.865 23.28 1.533 1.543c.07.07.092.175.055.267l-2.398 6.118A1.24 1.24 0 0 1 15.9 32c-.51 0-.969-.315-1.155-.793l-3.451-8.804-5.582 5.617a.246.246 0 0 1-.35 0l-1.407-1.415a.25.25 0 0 1 0-.352l6.89-6.932a1.3 1.3 0 0 1 .834-.398 1.25 1.25 0 0 1 1.232.79l2.992 7.63 1.557-3.977a.248.248 0 0 1 .408-.085zm8.224-19.3-5.583 5.617-3.45-8.805a1.24 1.24 0 0 0-1.43-.762c-.414.092-.744.407-.899.805l-2.38 6.072a.25.25 0 0 0 .055.267l1.533 1.543c.127.127.34.082.407-.085L15.9 4.655l2.991 7.629a1.24 1.24 0 0 0 2.035.425l6.922-6.965a.25.25 0 0 0 0-.352L26.44 3.977a.246.246 0 0 0-.35 0zM8.578 17.566l-3.953-1.567 7.582-3.01c.49-.195.815-.685.785-1.24a1.3 1.3 0 0 0-.395-.84l-6.886-6.93a.246.246 0 0 0-.35 0L3.954 5.395a.25.25 0 0 0 0 .353l5.583 5.617-8.75 3.472a1.25 1.25 0 0 0 0 2.325l6.079 2.412a.24.24 0 0 0 .266-.055l1.533-1.542a.25.25 0 0 0-.085-.41zm22.434-2.73-6.08-2.412a.24.24 0 0 0-.265.055l-1.533 1.542a.25.25 0 0 0 .084.41L27.172 16l-7.583 3.01a1.255 1.255 0 0 0-.785 1.24c.018.317.172.614.395.84l6.89 6.931a.246.246 0 0 0 .35 0l1.406-1.415a.25.25 0 0 0 0-.352l-5.582-5.617 8.75-3.472a1.25 1.25 0 0 0 0-2.325z" fill="#fff"></path></mask><g mask="url(#lobe-icons-nova-fill-1)"><path d="M-2.915 34.125h37.448V-2.109H-2.915z" fill="url(#lobe-icons-nova-fill-2)"></path></g></g><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-nova-fill-2" x1="33.663" x2="-2.086" y1="33.633" y2="-1.901"><stop stop-color="#ff6200"></stop><stop offset=".399" stop-color="#e433ff"></stop><stop offset=".96" stop-color="#6842ff"></stop></linearGradient></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z" fill="#74B71B" fill-rule="nonzero"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Perplexity</title><path d="M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z" fill="#22B8CD" fill-rule="nonzero"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>SenseNova</title><path d="M23 8.333h-7.333v7.334H23V8.333z" fill="#06FDB7"></path><path d="M1 1v14.667h7.333V8.333h7.334V1H1z" fill="#5B2AD8"></path><path d="M14.038 4.333h.17l1.459 1.456v.17l-1.63-1.626zM13.224 4.333h.17l2.273 2.268v.17l-2.443-2.438zM12.41 4.333h.17l3.087 3.08v.17l-3.257-3.25zM11.596 4.333h.17l3.9 3.892v.108h-.06l-4.01-4zM10.782 4.333h.17l4.01 4h-.17l-4.01-4zM9.968 4.333h.17l4.009 4h-.17l-4.01-4zM9.154 4.333h.17l4.009 4h-.17l-4.01-4zM8.34 4.333h.17l4.01 4h-.17l-4.01-4zM7.521 4.333h.17l4.01 4h-.17l-4.01-4zM6.707 4.333h.17l4.01 4h-.17l-4.01-4zM5.892 4.333h.17l4.009 4h-.17l-4.01-4zM5.077 4.333h.17l4.01 4h-.17l-4.01-4zM4.333 4.403v-.07h.1l4.01 4h-.11v.06l-4-3.99zM4.333 5.215v-.17l4 3.991v.17l-4-3.99zM4.333 6.027v-.17l4 3.991v.17l-4-3.99zM4.333 6.84v-.17l4 3.99v.17l-4-3.99zM4.333 7.652v-.17l4 3.99v.17l-4-3.99zM4.333 8.464v-.17l4 3.99v.17l-4-3.99zM4.333 9.276v-.17l4 3.991v.17l-4-3.991zM4.333 10.088v-.17l4 3.991v.17l-4-3.991zM4.333 10.9v-.17l4 3.991v.17l-4-3.991zM4.333 11.712v-.17l4 3.991v.134h-.036l-3.964-3.955zM4.333 12.526v-.17l3.318 3.31h-.17l-3.148-3.14zM4.333 13.34v-.169l2.502 2.496h-.17L4.333 13.34zM4.333 14.152v-.169l1.688 1.684h-.17l-1.518-1.514zM4.333 14.965v-.17l.874.872h-.17l-.704-.702zM15.667 5.146l-.815-.813h.17l.645.644v.169z" fill="#06FDB7"></path><path d="M23 15.667h-7.333V23H23v-7.333z" fill="#5B2AD8"></path><path d="M15.667 15.667H8.333V23h7.334v-7.333z" fill="#06FDB7"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Skywork</title><path d="M13.433 1.756a8.316 8.316 0 00-10.69.392 8.335 8.335 0 00-.598 11.765 8.317 8.317 0 0010.596 1.476L6.278 8.226l7.155-6.47z" fill="#4D5EFF"></path><path d="M10.568 21.742a8.316 8.316 0 0010.688-.392 8.336 8.336 0 00.598-11.765 8.317 8.317 0 00-10.596-1.476l6.463 7.163-7.155 6.47h.002z" fill="#00FFCE"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Snowflake</title><path clip-rule="evenodd" d="M23.252 10.365l-2.843 1.636 2.843 1.631a1.47 1.47 0 01.697.903 1.492 1.492 0 01-.15 1.135c-.202.342-.53.591-.912.693a1.498 1.498 0 01-1.132-.15l-5.09-2.924a1.473 1.473 0 01-.68-.851 1.446 1.446 0 01-.068-.485 1.5 1.5 0 01.745-1.248l5.09-2.921a1.496 1.496 0 012.044.547 1.479 1.479 0 01-.544 2.034zm-2.692 7.927l-5.087-2.92a1.477 1.477 0 00-.867-.195 1.478 1.478 0 00-.982.468c-.257.276-.4.639-.403 1.017v5.847A1.49 1.49 0 0014.718 24c.828 0 1.497-.668 1.497-1.491v-3.27l2.849 1.636a1.493 1.493 0 002.044-.544 1.49 1.49 0 00-.548-2.04zm-5.87-5.719l-2.116 2.102a.42.42 0 01-.265.112h-.621a.427.427 0 01-.265-.112l-2.115-2.102a.42.42 0 01-.11-.262v-.62a.43.43 0 01.11-.265l2.114-2.102a.426.426 0 01.264-.11h.623a.422.422 0 01.265.11l2.116 2.102a.43.43 0 01.109.265v.62a.428.428 0 01-.11.262zM13 11.99a.442.442 0 00-.113-.266l-.612-.607a.431.431 0 00-.266-.11h-.024a.426.426 0 00-.264.11l-.612.607a.436.436 0 00-.107.266v.024c0 .085.047.202.107.262l.612.61c.061.06.179.11.264.11h.024a.434.434 0 00.266-.11l.612-.61a.429.429 0 00.112-.262v-.024zM3.436 5.704l5.089 2.924c.274.157.578.219.868.195.375-.026.726-.194.983-.47.256-.275.4-.64.403-1.017V1.489C10.78.667 10.11 0 9.284 0c-.829 0-1.498.667-1.498 1.49v3.27l-2.85-1.639a1.496 1.496 0 00-2.045.546 1.489 1.489 0 00.546 2.037zm11.17 3.119c.29.024.594-.038.866-.195l5.087-2.923a1.474 1.474 0 00.697-.903 1.496 1.496 0 00-.149-1.135 1.496 1.496 0 00-2.044-.545L16.215 4.76V1.489C16.215.667 15.546 0 14.718 0c-.83 0-1.497.667-1.497 1.49v5.845a1.491 1.491 0 001.385 1.487zm-5.213 6.354a1.479 1.479 0 00-.868.194l-5.089 2.92a1.476 1.476 0 00-.696.905 1.498 1.498 0 00.148 1.135 1.496 1.496 0 002.044.543l2.851-1.636v3.27c0 .825.67 1.491 1.498 1.491.826 0 1.496-.667 1.496-1.49v-5.847a1.5 1.5 0 00-.401-1.017 1.477 1.477 0 00-.982-.468zm-1.38-2.74c.05-.156.072-.32.068-.484a1.497 1.497 0 00-.751-1.248l-5.084-2.92a1.499 1.499 0 00-2.045.547 1.481 1.481 0 00.549 2.034l2.841 1.636L.75 13.633a1.47 1.47 0 00-.698.903 1.492 1.492 0 00.15 1.135c.202.343.53.592.912.693.382.102.789.048 1.132-.15l5.086-2.924c.345-.195.577-.505.684-.852z" fill="#249EDC" fill-rule="evenodd"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Stepfun</title><path d="M22.012 0h1.032v.927H24v.968h-.956V3.78h-1.032V1.896h-1.878v-.97h1.878V0zM2.6 12.371V1.87h.969v10.502h-.97zm10.423.66h10.95v.918h-6.208v9.579h-4.742V13.03zM5.629 3.333v12.356H0v4.51h10.386V8L20.859 8l-.003-4.668-15.227.001z" fill="url(#lobe-icons-stepfun-fill)" fill-rule="evenodd"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-stepfun-fill" x1="1.646" x2="18.342" y1="1.916" y2="22.091"><stop stop-color="#01A9FF"></stop><stop offset="1" stop-color="#0160FF"></stop></linearGradient></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Tencent</title><path d="M9.976 1L24 9.8l-10.587.015L10.723 23H5.489L8.18 9.8H3.244L1 5.4h8.077L9.976 1z" fill="#0052D9" fill-rule="evenodd"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Technology Innovation Institute</title><path d="M11.098 7.563H4.75V9.77h1.77v6.668h2.807V9.77h1.77V7.563zM14.812 7.563h-2.807v8.875h2.807V7.563zM19.433 7.563h-2.807v8.875h2.807V7.563z" fill="#6400FF"></path><path d="M12 24v-1.055c3.01 0 5.613-1.079 7.737-3.208 2.123-2.13 3.209-4.727 3.209-7.737 0-3.009-1.08-5.607-3.209-7.736-2.128-2.13-4.732-3.21-7.736-3.21V0c3.294 0 6.148 1.184 8.482 3.518C22.817 5.852 24 8.706 24 12c0 3.295-1.183 6.155-3.518 8.483C18.147 22.811 15.3 24 12.001 24z" fill="#6400FF"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Upsate</title><path d="M19.763 0l-.373 1.297h2.594L22.354 0h-2.591zM16.192 2.27l-.376 1.298h5.52l.37-1.298h-5.514zM12.897 4.54l-.376 1.298h8.166l.37-1.298h-8.16zM2.85 6.81l-.377 1.298h17.565l.37-1.297H2.848zM3.884 9.081l-.376 1.297H19.39l.37-1.297H3.882zM4.088 24l.376-1.297H1.866L1.5 24h2.588zM7.662 21.73l.376-1.297H2.515L2.15 21.73h5.513zM10.957 19.459l.376-1.297h-8.17l-.366 1.297h8.16zM21.005 17.189l.376-1.297H3.812l-.366 1.297h17.559zM19.967 14.919l.376-1.297H4.461l-.366 1.297h15.872zM18.786 12.649l.376-1.297H4.26l-.366 1.297h14.893z" fill="url(#lobe-icons-upsate-fill)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-upsate-fill" x1="11.927" x2="11.927" y2="24"><stop offset="0" stop-color="#AEBCFE"></stop><stop offset="1" stop-color="#805DFA"></stop></linearGradient></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Voyage</title><path d="M5.407 0v.066a.974.974 0 00-.048.245c-.011.11-.016.208-.016.295 0 .339.043.715.128 1.13.097.405.274.912.531 1.524l7.125 16.366L20.011 3.39c.161-.404.333-.846.515-1.327.182-.48.273-.966.273-1.458a1.406 1.406 0 00-.096-.54V0H24v.066c-.204.207-.45.578-.74 1.114-.29.535-.606 1.195-.949 1.982L13.095 24h-1.287L3.075 3.965c-.204-.47-.418-.923-.644-1.36-.214-.437-.418-.83-.61-1.18-.194-.36-.365-.66-.515-.9A5.666 5.666 0 001 .064V0h4.407z" fill="#012E33"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#8a8f98" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>XiaomiMiMo</title><path d="M.958 15.936a.459.459 0 01.459.44v2.729a.46.46 0 01-.918 0v-2.729a.459.459 0 01.459-.44zm4.814-2.035a.46.46 0 01.553.45v4.754a.458.458 0 11-.918 0V15.48L3.74 17.202a.462.462 0 01-.655.016.462.462 0 01-.065-.082L.628 14.67a.459.459 0 01.658-.637l2.124 2.187 2.127-2.188a.46.46 0 01.235-.13zm2.068.004a.46.46 0 01.458.445v4.755a.46.46 0 01-.458.458.459.459 0 01-.458-.458V14.35a.459.459 0 01.458-.445zm1.973 2.014a.46.46 0 01.46.457v2.729a.46.46 0 01-.784.324.46.46 0 01-.134-.324v-2.729a.46.46 0 01.458-.458zm.002-2.045a.458.458 0 01.328.157l2.127 2.19 2.125-2.19a.459.459 0 01.784.318v4.756a.46.46 0 01-.455.458.46.46 0 01-.458-.458V15.48l-1.667 1.723a.46.46 0 01-.65.008l-.005-.005c0-.002-.002-.002-.004-.003l-2.455-2.534a.46.46 0 01-.008-.667.461.461 0 01.338-.128zm6.797 1.206a.46.46 0 01.53.651A1.966 1.966 0 0019.81 18.4a.462.462 0 01.623.18.46.46 0 01-.181.624 2.863 2.863 0 01-1.38.353l-.142-.004a2.88 2.88 0 01-2.393-4.263.461.461 0 01.274-.21zm.864-.931a2.884 2.884 0 013.915 3.914.46.46 0 01-.402.24l-.057-.004a.458.458 0 01-.164-.055.46.46 0 01-.182-.622 1.967 1.967 0 00-2.669-2.67.459.459 0 11-.441-.803zM9.59 6.368c1.481 0 1.696 1.202 1.696 1.654v2.648h-.917v-.432c-.26.346-.792.535-1.36.535-.133 0-1.289-.03-1.384-1.136-.082-.932.675-1.61 2.053-1.61h.691c0-.563-.367-.886-.983-.886-.44.013-.864.174-1.2.458l-.36-.664c.484-.379 1.012-.567 1.764-.567zm4.427.1c1.263 0 2.082.97 2.083 2.15 0 1.181-.824 2.154-2.083 2.154-1.26 0-2.084-.972-2.084-2.152 0-1.18.82-2.153 2.084-2.153zm6.801.015c.68 0 1.202.465 1.197 1.548v2.642H21.1V8.29c0-.312-.002-.98-.63-.98s-.628.667-.628.838v2.524h-.89V8.148c0-.17-.001-.838-.63-.838-.628 0-.628.668-.628.98v2.383h-.917v-4.03h.917V7a1.22 1.22 0 01.947-.516c.398 0 .76.193.982.686a1.321 1.321 0 011.195-.686zm-18.093.872l1.457-1.772H5.32L3.311 8.07l2.14 2.602H4.24L2.725 8.796 1.21 10.672H0L2.138 8.07.13 5.583h1.138l1.458 1.772zm4.149 3.317h-.916V6.644h.916v4.028zm16.99 0h-.916V6.644h.916v4.028zM9.925 8.71c-1.055 0-1.359.412-1.326.742.032.329.324.537.757.537a1.013 1.013 0 001.014-.968l.002-.31h-.447zM14.018 7.3c-.663 0-1.184.487-1.184 1.32 0 .832.52 1.32 1.184 1.32.662 0 1.182-.49 1.182-1.32 0-.832-.52-1.32-1.182-1.32zM6.417 5.001a.568.568 0 01.587.582.588.588 0 01-1.175 0A.57.57 0 016.417 5zm16.991 0a.57.57 0 01.592.582.588.588 0 01-1.174 0 .57.57 0 01.357-.542.572.572 0 01.225-.04z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#8a8f98" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Yandex</title><path d="M16.376 12.644L21 2h-3.842l-4.624 10.644h3.842zM13.915 24v-3.733c0-2.822-.352-3.64-1.407-5.988L6.933 2H3l7.124 15.709V24h3.79z"></path></svg>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" lang="en" width="1600" height="1000" viewBox="0 0 1600 1000" role="img" aria-labelledby="arch-en-title arch-en-desc">
|
|
2
|
+
<title id="arch-en-title">All Usage · System Architecture</title>
|
|
3
|
+
<desc id="arch-en-desc">From DSH sessions and ledger to protected HTTP APIs and the dashboard client</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<pattern id="arch-en-dots" width="32" height="32" patternUnits="userSpaceOnUse">
|
|
6
|
+
<circle cx="2" cy="2" r="1.5" fill="#dce2e9"/></pattern>
|
|
7
|
+
<marker id="arch-en-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
8
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#6c7a8d"/></marker></defs>
|
|
9
|
+
<rect width="100%" height="100%" fill="#fbfcfe"/>
|
|
10
|
+
<rect width="100%" height="100%" fill="url(#arch-en-dots)"/>
|
|
11
|
+
<circle cx="72" cy="74" r="15" fill="#2c99ad" opacity=".18"/>
|
|
12
|
+
<circle cx="72" cy="74" r="7" fill="#2c99ad"/>
|
|
13
|
+
<text x="102" y="81" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="34" font-weight="700" fill="#1b2638">All Usage · System Architecture</text>
|
|
14
|
+
<text x="102" y="119" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" fill="#637083">From DSH sessions and ledger to protected HTTP APIs and the dashboard client</text>
|
|
15
|
+
<g>
|
|
16
|
+
<rect x="55" y="180" width="320" height="740" rx="22" fill="#f8fafc" stroke="#738195" stroke-width="2"/>
|
|
17
|
+
<text x="77" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">DSH inputs</text></g>
|
|
18
|
+
<g>
|
|
19
|
+
<rect x="410" y="180" width="680" height="740" rx="22" fill="#f4fbf7" stroke="#299572" stroke-width="2"/>
|
|
20
|
+
<text x="432" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">Host services</text></g>
|
|
21
|
+
<g>
|
|
22
|
+
<rect x="1125" y="180" width="420" height="740" rx="22" fill="#faf8fd" stroke="#885bd0" stroke-width="2"/>
|
|
23
|
+
<text x="1147" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">Persistence, API, and UI</text></g>
|
|
24
|
+
<path d="M350 420 H400 V390 H475" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
25
|
+
<path d="M720 390 H790" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
26
|
+
<path d="M1035 390 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
27
|
+
<path d="M912 465 V660" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
28
|
+
<path d="M350 790 H475" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
29
|
+
<path d="M720 735 H790" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
30
|
+
<path d="M1035 735 H1100 V575 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
31
|
+
<path d="M1340 425 V510" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
32
|
+
<path d="M1340 662 V740" fill="none" stroke="#6c7a8d" stroke-width="2.5" marker-start="url(#arch-en-arrow)" marker-end="url(#arch-en-arrow)"/>
|
|
33
|
+
<path d="M597 810 V858 H1145 V620 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-en-arrow)"/>
|
|
34
|
+
<g>
|
|
35
|
+
<rect x="85" y="305" width="260" height="230" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
36
|
+
<rect x="99" y="319" width="5" height="202" rx="2.5" fill="#738195" opacity=".42"/>
|
|
37
|
+
<text x="215" y="392" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">Session data</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">Persisted history logs</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">Live session/event</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">Registered workspace registry</tspan></text></g>
|
|
38
|
+
<g>
|
|
39
|
+
<rect x="85" y="715" width="260" height="150" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
40
|
+
<rect x="99" y="729" width="5" height="122" rx="2.5" fill="#738195" opacity=".42"/>
|
|
41
|
+
<text x="215" y="773.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">Pricing and credentials</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">models.dev / manual prices</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">DSH DeepSeek API key</tspan></text></g>
|
|
42
|
+
<g>
|
|
43
|
+
<rect x="475" y="315" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
44
|
+
<rect x="489" y="329" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
45
|
+
<text x="597.5" y="373.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="597.5">History / live sync</tspan><tspan x="597.5" dy="25" font-size="14" font-weight="450" fill="#596579">Scan changed sessions</tspan><tspan x="597.5" dy="22" font-size="14" font-weight="450" fill="#596579">Fold live events</tspan></text></g>
|
|
46
|
+
<g>
|
|
47
|
+
<rect x="790" y="315" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
48
|
+
<rect x="804" y="329" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
49
|
+
<text x="912.5" y="373.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="912.5">Usage normalization</tspan><tspan x="912.5" dy="25" font-size="14" font-weight="450" fill="#596579">Turn/step dedupe + replace</tspan><tspan x="912.5" dy="22" font-size="14" font-weight="450" fill="#596579">Model identity · token buckets</tspan></text></g>
|
|
50
|
+
<g>
|
|
51
|
+
<rect x="475" y="660" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
52
|
+
<rect x="489" y="674" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
53
|
+
<text x="597.5" y="718.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="597.5">Pricing / balance</tspan><tspan x="597.5" dy="25" font-size="14" font-weight="450" fill="#596579">Four-bucket cost estimate</tspan><tspan x="597.5" dy="22" font-size="14" font-weight="450" fill="#596579">Account balance query</tspan></text></g>
|
|
54
|
+
<g>
|
|
55
|
+
<rect x="790" y="660" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
56
|
+
<rect x="804" y="674" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
57
|
+
<text x="912.5" y="718.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="912.5">Scoped aggregation</tspan><tspan x="912.5" dy="25" font-size="14" font-weight="450" fill="#596579">Summary · trend · heatmap</tspan><tspan x="912.5" dy="22" font-size="14" font-weight="450" fill="#596579">Daily/hourly · paginated rows</tspan></text></g>
|
|
58
|
+
<g>
|
|
59
|
+
<rect x="1170" y="275" width="340" height="150" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
60
|
+
<rect x="1184" y="289" width="5" height="122" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
61
|
+
<text x="1340" y="333.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">Per-session ledger</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">One durable document per session</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">Request details loaded by page</tspan></text></g>
|
|
62
|
+
<g>
|
|
63
|
+
<rect x="1170" y="510" width="340" height="152" rx="18" fill="#ffe9dc" stroke="#df7446" stroke-width="2.5"/>
|
|
64
|
+
<rect x="1184" y="524" width="5" height="124" rx="2.5" fill="#df7446" opacity=".42"/>
|
|
65
|
+
<text x="1340" y="558.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">Host HTTP API</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">Loopback only</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">Workspace/model-scoped queries</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">Writes use a process-scoped token</tspan></text></g>
|
|
66
|
+
<g>
|
|
67
|
+
<rect x="1170" y="740" width="340" height="145" rx="18" fill="#def2f7" stroke="#298da8" stroke-width="2.5"/>
|
|
68
|
+
<rect x="1184" y="754" width="5" height="117" rx="2.5" fill="#298da8" opacity=".42"/>
|
|
69
|
+
<text x="1340" y="796" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">Dashboard client</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">Filters · charts · request log</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">CSV export</tspan></text></g>
|
|
70
|
+
<g>
|
|
71
|
+
<rect x="724" y="345" width="62" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
72
|
+
<text x="755" y="365" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">usage</text></g>
|
|
73
|
+
<g>
|
|
74
|
+
<rect x="867.5" y="545" width="169" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
75
|
+
<text x="952" y="565" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">scoped query</text></g>
|
|
76
|
+
<g>
|
|
77
|
+
<rect x="724" y="690" width="62" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
78
|
+
<text x="755" y="710" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">rates</text></g>
|
|
79
|
+
<g>
|
|
80
|
+
<rect x="1324.5" y="451" width="145" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
81
|
+
<text x="1397" y="471" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">paged rows</text></g>
|
|
82
|
+
<g>
|
|
83
|
+
<rect x="1360" y="674" width="150" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
84
|
+
<text x="1435" y="694" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">request / result</text></g>
|
|
85
|
+
<g>
|
|
86
|
+
<rect x="770" y="833" width="200" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
87
|
+
<text x="870" y="853" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">Pricing / balance</text></g>
|
|
88
|
+
<rect x="480" y="943" width="22" height="18" rx="5" fill="#e9edf2" stroke="#738195" stroke-width="2"/>
|
|
89
|
+
<text x="512" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">DSH inputs</text>
|
|
90
|
+
<rect x="690" y="943" width="22" height="18" rx="5" fill="#dcf4e8" stroke="#299572" stroke-width="2"/>
|
|
91
|
+
<text x="722" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Host processing</text>
|
|
92
|
+
<rect x="930" y="943" width="22" height="18" rx="5" fill="#eee5fc" stroke="#885bd0" stroke-width="2"/>
|
|
93
|
+
<text x="962" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Persistence</text>
|
|
94
|
+
<rect x="1150" y="943" width="22" height="18" rx="5" fill="#ffe9dc" stroke="#df7446" stroke-width="2"/>
|
|
95
|
+
<text x="1182" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">API / UI</text></svg>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" lang="zh-CN" width="1600" height="1000" viewBox="0 0 1600 1000" role="img" aria-labelledby="arch-zh-title arch-zh-desc">
|
|
2
|
+
<title id="arch-zh-title">用量看板 · 系统架构</title>
|
|
3
|
+
<desc id="arch-zh-desc">从 DSH 会话与账本到受保护的 HTTP API 和 Dashboard Client</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<pattern id="arch-zh-dots" width="32" height="32" patternUnits="userSpaceOnUse">
|
|
6
|
+
<circle cx="2" cy="2" r="1.5" fill="#dce2e9"/></pattern>
|
|
7
|
+
<marker id="arch-zh-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
8
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#6c7a8d"/></marker></defs>
|
|
9
|
+
<rect width="100%" height="100%" fill="#fbfcfe"/>
|
|
10
|
+
<rect width="100%" height="100%" fill="url(#arch-zh-dots)"/>
|
|
11
|
+
<circle cx="72" cy="74" r="15" fill="#2c99ad" opacity=".18"/>
|
|
12
|
+
<circle cx="72" cy="74" r="7" fill="#2c99ad"/>
|
|
13
|
+
<text x="102" y="81" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="34" font-weight="700" fill="#1b2638">用量看板 · 系统架构</text>
|
|
14
|
+
<text x="102" y="119" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" fill="#637083">从 DSH 会话与账本到受保护的 HTTP API 和 Dashboard Client</text>
|
|
15
|
+
<g>
|
|
16
|
+
<rect x="55" y="180" width="320" height="740" rx="22" fill="#f8fafc" stroke="#738195" stroke-width="2"/>
|
|
17
|
+
<text x="77" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">DSH 输入</text></g>
|
|
18
|
+
<g>
|
|
19
|
+
<rect x="410" y="180" width="680" height="740" rx="22" fill="#f4fbf7" stroke="#299572" stroke-width="2"/>
|
|
20
|
+
<text x="432" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">Host 服务</text></g>
|
|
21
|
+
<g>
|
|
22
|
+
<rect x="1125" y="180" width="420" height="740" rx="22" fill="#faf8fd" stroke="#885bd0" stroke-width="2"/>
|
|
23
|
+
<text x="1147" y="216" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">持久化、API 与界面</text></g>
|
|
24
|
+
<path d="M350 420 H400 V390 H475" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
25
|
+
<path d="M720 390 H790" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
26
|
+
<path d="M1035 390 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
27
|
+
<path d="M912 465 V660" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
28
|
+
<path d="M350 790 H475" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
29
|
+
<path d="M720 735 H790" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
30
|
+
<path d="M1035 735 H1100 V575 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
31
|
+
<path d="M1340 425 V510" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
32
|
+
<path d="M1340 662 V740" fill="none" stroke="#6c7a8d" stroke-width="2.5" marker-start="url(#arch-zh-arrow)" marker-end="url(#arch-zh-arrow)"/>
|
|
33
|
+
<path d="M597 810 V858 H1145 V620 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#arch-zh-arrow)"/>
|
|
34
|
+
<g>
|
|
35
|
+
<rect x="85" y="305" width="260" height="230" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
36
|
+
<rect x="99" y="319" width="5" height="202" rx="2.5" fill="#738195" opacity=".42"/>
|
|
37
|
+
<text x="215" y="392" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">会话数据</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">持久化历史日志</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">实时 session/event</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">注册工作区 registry</tspan></text></g>
|
|
38
|
+
<g>
|
|
39
|
+
<rect x="85" y="715" width="260" height="150" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
40
|
+
<rect x="99" y="729" width="5" height="122" rx="2.5" fill="#738195" opacity=".42"/>
|
|
41
|
+
<text x="215" y="773.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">定价与密钥</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">models.dev / 手动价格</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">DSH DeepSeek 密钥</tspan></text></g>
|
|
42
|
+
<g>
|
|
43
|
+
<rect x="475" y="315" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
44
|
+
<rect x="489" y="329" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
45
|
+
<text x="597.5" y="373.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="597.5">历史 / 实时同步</tspan><tspan x="597.5" dy="25" font-size="14" font-weight="450" fill="#596579">扫描变化会话</tspan><tspan x="597.5" dy="22" font-size="14" font-weight="450" fill="#596579">折叠实时事件</tspan></text></g>
|
|
46
|
+
<g>
|
|
47
|
+
<rect x="790" y="315" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
48
|
+
<rect x="804" y="329" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
49
|
+
<text x="912.5" y="373.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="912.5">用量归一化</tspan><tspan x="912.5" dy="25" font-size="14" font-weight="450" fill="#596579">turn/step 去重与替换</tspan><tspan x="912.5" dy="22" font-size="14" font-weight="450" fill="#596579">解析模型身份与 Token 桶</tspan></text></g>
|
|
50
|
+
<g>
|
|
51
|
+
<rect x="475" y="660" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
52
|
+
<rect x="489" y="674" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
53
|
+
<text x="597.5" y="718.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="597.5">定价 / 余额</tspan><tspan x="597.5" dy="25" font-size="14" font-weight="450" fill="#596579">四桶成本估算</tspan><tspan x="597.5" dy="22" font-size="14" font-weight="450" fill="#596579">账户余额查询</tspan></text></g>
|
|
54
|
+
<g>
|
|
55
|
+
<rect x="790" y="660" width="245" height="150" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
56
|
+
<rect x="804" y="674" width="5" height="122" rx="2.5" fill="#299572" opacity=".42"/>
|
|
57
|
+
<text x="912.5" y="718.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="912.5">范围聚合</tspan><tspan x="912.5" dy="25" font-size="14" font-weight="450" fill="#596579">summary · trend · heatmap</tspan><tspan x="912.5" dy="22" font-size="14" font-weight="450" fill="#596579">daily/hourly · 分页明细</tspan></text></g>
|
|
58
|
+
<g>
|
|
59
|
+
<rect x="1170" y="275" width="340" height="150" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
60
|
+
<rect x="1184" y="289" width="5" height="122" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
61
|
+
<text x="1340" y="333.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">逐会话账本</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">每个 session 独立文档</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">请求明细按需分页读取</tspan></text></g>
|
|
62
|
+
<g>
|
|
63
|
+
<rect x="1170" y="510" width="340" height="152" rx="18" fill="#ffe9dc" stroke="#df7446" stroke-width="2.5"/>
|
|
64
|
+
<rect x="1184" y="524" width="5" height="124" rx="2.5" fill="#df7446" opacity=".42"/>
|
|
65
|
+
<text x="1340" y="558.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">Host HTTP API</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">仅限 loopback 访问</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">查询限定工作区与模型</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">写入使用进程级令牌</tspan></text></g>
|
|
66
|
+
<g>
|
|
67
|
+
<rect x="1170" y="740" width="340" height="145" rx="18" fill="#def2f7" stroke="#298da8" stroke-width="2.5"/>
|
|
68
|
+
<rect x="1184" y="754" width="5" height="117" rx="2.5" fill="#298da8" opacity=".42"/>
|
|
69
|
+
<text x="1340" y="796" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1340">Dashboard Client</tspan><tspan x="1340" dy="25" font-size="14" font-weight="450" fill="#596579">筛选 · 图表 · 请求日志</tspan><tspan x="1340" dy="22" font-size="14" font-weight="450" fill="#596579">CSV 导出</tspan></text></g>
|
|
70
|
+
<g>
|
|
71
|
+
<rect x="724" y="345" width="62" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
72
|
+
<text x="755" y="365" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">usage</text></g>
|
|
73
|
+
<g>
|
|
74
|
+
<rect x="914" y="545" width="76" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
75
|
+
<text x="952" y="565" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">聚合查询</text></g>
|
|
76
|
+
<g>
|
|
77
|
+
<rect x="724" y="690" width="62" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
78
|
+
<text x="755" y="710" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">费率</text></g>
|
|
79
|
+
<g>
|
|
80
|
+
<rect x="1359" y="451" width="76" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
81
|
+
<text x="1397" y="471" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">分页明细</text></g>
|
|
82
|
+
<g>
|
|
83
|
+
<rect x="1360" y="674" width="150" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
84
|
+
<text x="1435" y="694" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">请求 / 结果</text></g>
|
|
85
|
+
<g>
|
|
86
|
+
<rect x="770" y="833" width="200" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
87
|
+
<text x="870" y="853" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">定价 / 余额</text></g>
|
|
88
|
+
<rect x="480" y="943" width="22" height="18" rx="5" fill="#e9edf2" stroke="#738195" stroke-width="2"/>
|
|
89
|
+
<text x="512" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">DSH 输入</text>
|
|
90
|
+
<rect x="690" y="943" width="22" height="18" rx="5" fill="#dcf4e8" stroke="#299572" stroke-width="2"/>
|
|
91
|
+
<text x="722" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Host 处理</text>
|
|
92
|
+
<rect x="930" y="943" width="22" height="18" rx="5" fill="#eee5fc" stroke="#885bd0" stroke-width="2"/>
|
|
93
|
+
<text x="962" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">持久化</text>
|
|
94
|
+
<rect x="1150" y="943" width="22" height="18" rx="5" fill="#ffe9dc" stroke="#df7446" stroke-width="2"/>
|
|
95
|
+
<text x="1182" y="958" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">API / 界面</text></svg>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" lang="en" width="1600" height="1100" viewBox="0 0 1600 1100" role="img" aria-labelledby="sync-en-title sync-en-desc">
|
|
2
|
+
<title id="sync-en-title">History and Live Data Flow</title>
|
|
3
|
+
<desc id="sync-en-desc">Reuse unchanged sessions; refold changed logs only, and coalesce live writes per session</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<pattern id="sync-en-dots" width="32" height="32" patternUnits="userSpaceOnUse">
|
|
6
|
+
<circle cx="2" cy="2" r="1.5" fill="#dce2e9"/></pattern>
|
|
7
|
+
<marker id="sync-en-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
8
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#6c7a8d"/></marker></defs>
|
|
9
|
+
<rect width="100%" height="100%" fill="#fbfcfe"/>
|
|
10
|
+
<rect width="100%" height="100%" fill="url(#sync-en-dots)"/>
|
|
11
|
+
<circle cx="72" cy="74" r="15" fill="#2c99ad" opacity=".18"/>
|
|
12
|
+
<circle cx="72" cy="74" r="7" fill="#2c99ad"/>
|
|
13
|
+
<text x="102" y="81" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="34" font-weight="700" fill="#1b2638">History and Live Data Flow</text>
|
|
14
|
+
<text x="102" y="119" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" fill="#637083">Reuse unchanged sessions; refold changed logs only, and coalesce live writes per session</text>
|
|
15
|
+
<g>
|
|
16
|
+
<rect x="55" y="175" width="1490" height="430" rx="22" fill="#f8fafc" stroke="#738195" stroke-width="2"/>
|
|
17
|
+
<text x="77" y="211" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">History scan · revision check</text></g>
|
|
18
|
+
<g>
|
|
19
|
+
<rect x="55" y="640" width="1490" height="320" rx="22" fill="#f4fbf7" stroke="#299572" stroke-width="2"/>
|
|
20
|
+
<text x="77" y="676" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">Live events · coalesced async persistence</text></g>
|
|
21
|
+
<path d="M330 365 H420" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
22
|
+
<path d="M670 365 H760" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
23
|
+
<path d="M980 350 H1030 V285 H1090" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
24
|
+
<g>
|
|
25
|
+
<rect x="996" y="241" width="64" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
26
|
+
<text x="1028" y="261" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">No</text></g>
|
|
27
|
+
<path d="M980 405 H1030 V470 H1090" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
28
|
+
<g>
|
|
29
|
+
<rect x="996" y="426" width="64" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
30
|
+
<text x="1028" y="446" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">Yes</text></g>
|
|
31
|
+
<path d="M1340 470 H1360" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
32
|
+
<path d="M350 800 H435" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
33
|
+
<path d="M725 800 H800" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
34
|
+
<path d="M1090 800 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-en-arrow)"/>
|
|
35
|
+
<g>
|
|
36
|
+
<rect x="100" y="300" width="230" height="130" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
37
|
+
<rect x="114" y="314" width="5" height="102" rx="2.5" fill="#738195" opacity=".42"/>
|
|
38
|
+
<text x="215" y="348.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">Plugin activation</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">Load ledger index</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">List registered workspaces</tspan></text></g>
|
|
39
|
+
<g>
|
|
40
|
+
<rect x="420" y="300" width="250" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
41
|
+
<rect x="434" y="314" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
42
|
+
<text x="545" y="360" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="545">Read session revision</tspan><tspan x="545" dy="25" font-size="14" font-weight="450" fill="#596579">Compare with ledger revision</tspan></text></g>
|
|
43
|
+
<g>
|
|
44
|
+
<rect x="760" y="300" width="220" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
45
|
+
<rect x="774" y="314" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
46
|
+
<text x="870" y="360" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="870">Check for changes</tspan><tspan x="870" dy="25" font-size="14" font-weight="450" fill="#596579">Reread this log?</tspan></text></g>
|
|
47
|
+
<g>
|
|
48
|
+
<rect x="1090" y="220" width="270" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
49
|
+
<rect x="1104" y="234" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
50
|
+
<text x="1225" y="268.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1225">Reuse existing record</tspan><tspan x="1225" dy="25" font-size="14" font-weight="450" fill="#596579">Revision unchanged</tspan><tspan x="1225" dy="22" font-size="14" font-weight="450" fill="#596579">Skip the session log read</tspan></text></g>
|
|
51
|
+
<g>
|
|
52
|
+
<rect x="1090" y="405" width="250" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
53
|
+
<rect x="1104" y="419" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
54
|
+
<text x="1215" y="453.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1215">Read and fold changes</tspan><tspan x="1215" dy="25" font-size="14" font-weight="450" fill="#596579">Normalize usage</tspan><tspan x="1215" dy="22" font-size="14" font-weight="450" fill="#596579">Replace by turn/step</tspan></text></g>
|
|
55
|
+
<g>
|
|
56
|
+
<rect x="1360" y="405" width="172" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
57
|
+
<rect x="1374" y="419" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
58
|
+
<text x="1446" y="465" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1446">Session record</tspan><tspan x="1446" dy="25" font-size="14" font-weight="450" fill="#596579">This session only</tspan></text></g>
|
|
59
|
+
<g>
|
|
60
|
+
<rect x="100" y="735" width="250" height="130" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
61
|
+
<rect x="114" y="749" width="5" height="102" rx="2.5" fill="#738195" opacity=".42"/>
|
|
62
|
+
<text x="225" y="783.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="225">DSH usage events</tspan><tspan x="225" dy="25" font-size="14" font-weight="450" fill="#596579">assistant/chunk · turn/end</tspan><tspan x="225" dy="22" font-size="14" font-weight="450" fill="#596579">Final message.usage</tspan></text></g>
|
|
63
|
+
<g>
|
|
64
|
+
<rect x="435" y="735" width="290" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
65
|
+
<rect x="449" y="749" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
66
|
+
<text x="580" y="783.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="580">Fold by session · turn/step</tspan><tspan x="580" dy="25" font-size="14" font-weight="450" fill="#596579">Keep latest valid usage</tspan><tspan x="580" dy="22" font-size="14" font-weight="450" fill="#596579">Update session aggregate</tspan></text></g>
|
|
67
|
+
<g>
|
|
68
|
+
<rect x="800" y="735" width="290" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
69
|
+
<rect x="814" y="749" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
70
|
+
<text x="945" y="795" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="945">Coalesce pending writes</tspan><tspan x="945" dy="25" font-size="14" font-weight="450" fill="#596579">Keep latest record per session</tspan></text></g>
|
|
71
|
+
<g>
|
|
72
|
+
<rect x="1170" y="735" width="300" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
73
|
+
<rect x="1184" y="749" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
74
|
+
<text x="1320" y="795" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1320">Flush ledger asynchronously</tspan><tspan x="1320" dy="25" font-size="14" font-weight="450" fill="#596579">Failed writes can retry later</tspan></text></g>
|
|
75
|
+
<text x="80" y="1005" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="15" fill="#465468">History scans and live events converge on the same per-session ledger; request details are loaded by page when viewed.</text>
|
|
76
|
+
<rect x="80" y="1053" width="22" height="18" rx="5" fill="#e9edf2" stroke="#738195" stroke-width="2"/>
|
|
77
|
+
<text x="112" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Input / decision</text>
|
|
78
|
+
<rect x="330" y="1053" width="22" height="18" rx="5" fill="#dcf4e8" stroke="#299572" stroke-width="2"/>
|
|
79
|
+
<text x="362" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Processing</text>
|
|
80
|
+
<rect x="560" y="1053" width="22" height="18" rx="5" fill="#eee5fc" stroke="#885bd0" stroke-width="2"/>
|
|
81
|
+
<text x="592" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">Persistence</text></svg>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" lang="zh-CN" width="1600" height="1100" viewBox="0 0 1600 1100" role="img" aria-labelledby="sync-zh-title sync-zh-desc">
|
|
2
|
+
<title id="sync-zh-title">历史与实时数据流</title>
|
|
3
|
+
<desc id="sync-zh-desc">未变化的会话复用账本;变化日志才重新折叠,实时更新按会话合并写入</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<pattern id="sync-zh-dots" width="32" height="32" patternUnits="userSpaceOnUse">
|
|
6
|
+
<circle cx="2" cy="2" r="1.5" fill="#dce2e9"/></pattern>
|
|
7
|
+
<marker id="sync-zh-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
8
|
+
<path d="M 0 0 L 10 5 L 0 10 z" fill="#6c7a8d"/></marker></defs>
|
|
9
|
+
<rect width="100%" height="100%" fill="#fbfcfe"/>
|
|
10
|
+
<rect width="100%" height="100%" fill="url(#sync-zh-dots)"/>
|
|
11
|
+
<circle cx="72" cy="74" r="15" fill="#2c99ad" opacity=".18"/>
|
|
12
|
+
<circle cx="72" cy="74" r="7" fill="#2c99ad"/>
|
|
13
|
+
<text x="102" y="81" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="34" font-weight="700" fill="#1b2638">历史与实时数据流</text>
|
|
14
|
+
<text x="102" y="119" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" fill="#637083">未变化的会话复用账本;变化日志才重新折叠,实时更新按会话合并写入</text>
|
|
15
|
+
<g>
|
|
16
|
+
<rect x="55" y="175" width="1490" height="430" rx="22" fill="#f8fafc" stroke="#738195" stroke-width="2"/>
|
|
17
|
+
<text x="77" y="211" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">历史扫描 · revision 对照</text></g>
|
|
18
|
+
<g>
|
|
19
|
+
<rect x="55" y="640" width="1490" height="320" rx="22" fill="#f4fbf7" stroke="#299572" stroke-width="2"/>
|
|
20
|
+
<text x="77" y="676" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="17" font-weight="650" fill="#586578">实时事件 · 合并后异步落盘</text></g>
|
|
21
|
+
<path d="M330 365 H420" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
22
|
+
<path d="M670 365 H760" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
23
|
+
<path d="M980 350 H1030 V285 H1090" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
24
|
+
<g>
|
|
25
|
+
<rect x="996" y="241" width="64" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
26
|
+
<text x="1028" y="261" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">否</text></g>
|
|
27
|
+
<path d="M980 405 H1030 V470 H1090" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
28
|
+
<g>
|
|
29
|
+
<rect x="996" y="426" width="64" height="30" rx="15" fill="#fff" stroke="#d7dde5" stroke-width="1.4"/>
|
|
30
|
+
<text x="1028" y="446" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="13" fill="#5e6b7d">是</text></g>
|
|
31
|
+
<path d="M1360 470 H1380" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
32
|
+
<path d="M350 800 H435" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
33
|
+
<path d="M725 800 H800" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
34
|
+
<path d="M1090 800 H1170" fill="none" stroke="#6c7a8d" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" marker-end="url(#sync-zh-arrow)"/>
|
|
35
|
+
<g>
|
|
36
|
+
<rect x="100" y="300" width="230" height="130" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
37
|
+
<rect x="114" y="314" width="5" height="102" rx="2.5" fill="#738195" opacity=".42"/>
|
|
38
|
+
<text x="215" y="348.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="215">插件激活</tspan><tspan x="215" dy="25" font-size="14" font-weight="450" fill="#596579">读取账本索引</tspan><tspan x="215" dy="22" font-size="14" font-weight="450" fill="#596579">枚举已注册工作区</tspan></text></g>
|
|
39
|
+
<g>
|
|
40
|
+
<rect x="420" y="300" width="250" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
41
|
+
<rect x="434" y="314" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
42
|
+
<text x="545" y="360" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="545">读取会话 revision</tspan><tspan x="545" dy="25" font-size="14" font-weight="450" fill="#596579">与账本版本对照</tspan></text></g>
|
|
43
|
+
<g>
|
|
44
|
+
<rect x="760" y="300" width="220" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
45
|
+
<rect x="774" y="314" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
46
|
+
<text x="870" y="360" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="870">判断会话变化</tspan><tspan x="870" dy="25" font-size="14" font-weight="450" fill="#596579">是否需要重读日志?</tspan></text></g>
|
|
47
|
+
<g>
|
|
48
|
+
<rect x="1090" y="220" width="270" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
49
|
+
<rect x="1104" y="234" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
50
|
+
<text x="1225" y="268.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1225">复用已有记录</tspan><tspan x="1225" dy="25" font-size="14" font-weight="450" fill="#596579">revision 未变</tspan><tspan x="1225" dy="22" font-size="14" font-weight="450" fill="#596579">不重读会话日志</tspan></text></g>
|
|
51
|
+
<g>
|
|
52
|
+
<rect x="1090" y="405" width="270" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
53
|
+
<rect x="1104" y="419" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
54
|
+
<text x="1225" y="453.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1225">读取并折叠变化日志</tspan><tspan x="1225" dy="25" font-size="14" font-weight="450" fill="#596579">规范化 usage</tspan><tspan x="1225" dy="22" font-size="14" font-weight="450" fill="#596579">按 turn/step 替换</tspan></text></g>
|
|
55
|
+
<g>
|
|
56
|
+
<rect x="1380" y="405" width="150" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
57
|
+
<rect x="1394" y="419" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
58
|
+
<text x="1455" y="465" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1455">会话记录</tspan><tspan x="1455" dy="25" font-size="14" font-weight="450" fill="#596579">仅写本 session</tspan></text></g>
|
|
59
|
+
<g>
|
|
60
|
+
<rect x="100" y="735" width="250" height="130" rx="18" fill="#e9edf2" stroke="#738195" stroke-width="2.5"/>
|
|
61
|
+
<rect x="114" y="749" width="5" height="102" rx="2.5" fill="#738195" opacity=".42"/>
|
|
62
|
+
<text x="225" y="783.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="225">DSH usage 事件</tspan><tspan x="225" dy="25" font-size="14" font-weight="450" fill="#596579">assistant/chunk · turn/end</tspan><tspan x="225" dy="22" font-size="14" font-weight="450" fill="#596579">最终 message.usage</tspan></text></g>
|
|
63
|
+
<g>
|
|
64
|
+
<rect x="435" y="735" width="290" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
65
|
+
<rect x="449" y="749" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
66
|
+
<text x="580" y="783.5" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="580">按 session · turn/step 折叠</tspan><tspan x="580" dy="25" font-size="14" font-weight="450" fill="#596579">保留最新有效 usage</tspan><tspan x="580" dy="22" font-size="14" font-weight="450" fill="#596579">更新会话聚合</tspan></text></g>
|
|
67
|
+
<g>
|
|
68
|
+
<rect x="800" y="735" width="290" height="130" rx="18" fill="#dcf4e8" stroke="#299572" stroke-width="2.5"/>
|
|
69
|
+
<rect x="814" y="749" width="5" height="102" rx="2.5" fill="#299572" opacity=".42"/>
|
|
70
|
+
<text x="945" y="795" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="945">合并 pending 写入</tspan><tspan x="945" dy="25" font-size="14" font-weight="450" fill="#596579">每会话仅保留最新记录</tspan></text></g>
|
|
71
|
+
<g>
|
|
72
|
+
<rect x="1170" y="735" width="300" height="130" rx="18" fill="#eee5fc" stroke="#885bd0" stroke-width="2.5"/>
|
|
73
|
+
<rect x="1184" y="749" width="5" height="102" rx="2.5" fill="#885bd0" opacity=".42"/>
|
|
74
|
+
<text x="1320" y="795" text-anchor="middle" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="18" font-weight="700" fill="#1e293b"><tspan x="1320">异步 flush 账本</tspan><tspan x="1320" dy="25" font-size="14" font-weight="450" fill="#596579">失败时后续可重试</tspan></text></g>
|
|
75
|
+
<text x="80" y="1005" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="15" fill="#465468">历史扫描与实时事件最终归入同一份逐会话账本;请求明细在查看时按页读取。</text>
|
|
76
|
+
<rect x="80" y="1053" width="22" height="18" rx="5" fill="#e9edf2" stroke="#738195" stroke-width="2"/>
|
|
77
|
+
<text x="112" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">输入 / 判断</text>
|
|
78
|
+
<rect x="330" y="1053" width="22" height="18" rx="5" fill="#dcf4e8" stroke="#299572" stroke-width="2"/>
|
|
79
|
+
<text x="362" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">处理</text>
|
|
80
|
+
<rect x="560" y="1053" width="22" height="18" rx="5" fill="#eee5fc" stroke="#885bd0" stroke-width="2"/>
|
|
81
|
+
<text x="592" y="1068" font-family="Inter,system-ui,'Microsoft YaHei',sans-serif" font-size="14" fill="#536174">持久化</text></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|