Publish tabtin-architecture via gitea-publish skill
This commit is contained in:
+14879
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 211 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 207 KiB |
@@ -0,0 +1,32 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||||
|
<title>Archify visual-check · index.html</title>
|
||||||
|
<style>
|
||||||
|
*{box-sizing:border-box}body{margin:0;padding:24px;background:#e9eef5;color:#172033;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}header{max-width:1500px;margin:0 auto 18px}h1{margin:0 0 6px;font-size:20px}p{margin:0;color:#526176}.grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}figure{margin:0;padding:10px;background:white;border:1px solid #c9d4e3;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.08)}img{display:block;width:100%;height:auto;border:1px solid #e2e8f0}figcaption{padding:9px 4px 2px;color:#526176}@media(max-width:900px){.grid{grid-template-columns:1fr}}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header><h1>Archify visual-check</h1><p>index.html · automated containment pass · visual review pending</p></header>
|
||||||
|
<main class="grid">
|
||||||
|
<figure>
|
||||||
|
<img src="index.visual-check.1440x900.light.png" alt="light 1440 by 900">
|
||||||
|
<figcaption><strong>LIGHT</strong> · 1440×900 · containment pass</figcaption>
|
||||||
|
</figure>
|
||||||
|
<figure>
|
||||||
|
<img src="index.visual-check.1440x900.dark.png" alt="dark 1440 by 900">
|
||||||
|
<figcaption><strong>DARK</strong> · 1440×900 · containment pass</figcaption>
|
||||||
|
</figure>
|
||||||
|
<figure>
|
||||||
|
<img src="index.visual-check.2048x1320.light.png" alt="light 2048 by 1320">
|
||||||
|
<figcaption><strong>LIGHT</strong> · 2048×1320 · containment pass</figcaption>
|
||||||
|
</figure>
|
||||||
|
<figure>
|
||||||
|
<img src="index.visual-check.2048x1320.dark.png" alt="dark 2048 by 1320">
|
||||||
|
<figcaption><strong>DARK</strong> · 2048×1320 · containment pass</figcaption>
|
||||||
|
</figure>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,547 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"ok": true,
|
||||||
|
"command": "visual-check",
|
||||||
|
"status": "pass",
|
||||||
|
"visualReview": "pending",
|
||||||
|
"artifact": {
|
||||||
|
"path": "/Users/figmarlite/Documents/文稿 - figmarLite的MacBook Pro/gitseek/Gitea/元旷产品/apes-mavrs/deliverables/2026-09-07-tabtin-architecture/index.html",
|
||||||
|
"sha256": "72e839a9ebcee68f969d1eaa54aea00d3eca5e4a20b56102b92e0c2031ea740b",
|
||||||
|
"bytes": 717314
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"detail": "read",
|
||||||
|
"motion": "still"
|
||||||
|
},
|
||||||
|
"chrome": {
|
||||||
|
"status": "available",
|
||||||
|
"executable": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
||||||
|
},
|
||||||
|
"diagnostics": [],
|
||||||
|
"containment": {
|
||||||
|
"status": "pass",
|
||||||
|
"viewports": [
|
||||||
|
{
|
||||||
|
"width": 1440,
|
||||||
|
"height": 900,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1440,
|
||||||
|
"innerHeight": 900,
|
||||||
|
"scrollWidth": 1440,
|
||||||
|
"scrollHeight": 900,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1328,
|
||||||
|
"diagramWidth": 1298,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1600,
|
||||||
|
"height": 1000,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1600,
|
||||||
|
"innerHeight": 1000,
|
||||||
|
"scrollWidth": 1600,
|
||||||
|
"scrollHeight": 1000,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1380,
|
||||||
|
"diagramWidth": 1350,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1920,
|
||||||
|
"innerHeight": 1080,
|
||||||
|
"scrollWidth": 1920,
|
||||||
|
"scrollHeight": 1080,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1552,
|
||||||
|
"diagramWidth": 1522,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 2048,
|
||||||
|
"height": 1320,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 2048,
|
||||||
|
"innerHeight": 1320,
|
||||||
|
"scrollWidth": 2048,
|
||||||
|
"scrollHeight": 1320,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1920,
|
||||||
|
"diagramWidth": 1870,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 41,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"readability": {
|
||||||
|
"status": "pass",
|
||||||
|
"minimumProjectedNodeTextPx": 6,
|
||||||
|
"viewports": [
|
||||||
|
{
|
||||||
|
"width": 1440,
|
||||||
|
"height": 900,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1440,
|
||||||
|
"innerHeight": 900,
|
||||||
|
"scrollWidth": 1440,
|
||||||
|
"scrollHeight": 900,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1328,
|
||||||
|
"diagramWidth": 1298,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1600,
|
||||||
|
"height": 1000,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1600,
|
||||||
|
"innerHeight": 1000,
|
||||||
|
"scrollWidth": 1600,
|
||||||
|
"scrollHeight": 1000,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1380,
|
||||||
|
"diagramWidth": 1350,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1920,
|
||||||
|
"innerHeight": 1080,
|
||||||
|
"scrollWidth": 1920,
|
||||||
|
"scrollHeight": 1080,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1552,
|
||||||
|
"diagramWidth": 1522,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 2048,
|
||||||
|
"height": 1320,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 2048,
|
||||||
|
"innerHeight": 1320,
|
||||||
|
"scrollWidth": 2048,
|
||||||
|
"scrollHeight": 1320,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1920,
|
||||||
|
"diagramWidth": 1870,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 41,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"viewerChrome": {
|
||||||
|
"status": "pass",
|
||||||
|
"viewports": [
|
||||||
|
{
|
||||||
|
"width": 1440,
|
||||||
|
"height": 900,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1440,
|
||||||
|
"innerHeight": 900,
|
||||||
|
"scrollWidth": 1440,
|
||||||
|
"scrollHeight": 900,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1328,
|
||||||
|
"diagramWidth": 1298,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1600,
|
||||||
|
"height": 1000,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1600,
|
||||||
|
"innerHeight": 1000,
|
||||||
|
"scrollWidth": 1600,
|
||||||
|
"scrollHeight": 1000,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1380,
|
||||||
|
"diagramWidth": 1350,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1920,
|
||||||
|
"innerHeight": 1080,
|
||||||
|
"scrollWidth": 1920,
|
||||||
|
"scrollHeight": 1080,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1552,
|
||||||
|
"diagramWidth": 1522,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 2048,
|
||||||
|
"height": 1320,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 2048,
|
||||||
|
"innerHeight": 1320,
|
||||||
|
"scrollWidth": 2048,
|
||||||
|
"scrollHeight": 1320,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1920,
|
||||||
|
"diagramWidth": 1870,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 41,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"captures": {
|
||||||
|
"status": "pass",
|
||||||
|
"screenshots": [
|
||||||
|
{
|
||||||
|
"width": 1440,
|
||||||
|
"height": 900,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 1440,
|
||||||
|
"innerHeight": 900,
|
||||||
|
"scrollWidth": 1440,
|
||||||
|
"scrollHeight": 900,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1328,
|
||||||
|
"diagramWidth": 1298,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light",
|
||||||
|
"file": "index.visual-check.1440x900.light.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 1440,
|
||||||
|
"height": 900,
|
||||||
|
"theme": "dark",
|
||||||
|
"innerWidth": 1440,
|
||||||
|
"innerHeight": 900,
|
||||||
|
"scrollWidth": 1440,
|
||||||
|
"scrollHeight": 900,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1328,
|
||||||
|
"diagramWidth": 1298,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 51,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "dark",
|
||||||
|
"file": "index.visual-check.1440x900.dark.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 2048,
|
||||||
|
"height": 1320,
|
||||||
|
"theme": "light",
|
||||||
|
"innerWidth": 2048,
|
||||||
|
"innerHeight": 1320,
|
||||||
|
"scrollWidth": 2048,
|
||||||
|
"scrollHeight": 1320,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1920,
|
||||||
|
"diagramWidth": 1870,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 41,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "light",
|
||||||
|
"file": "index.visual-check.2048x1320.light.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"width": 2048,
|
||||||
|
"height": 1320,
|
||||||
|
"theme": "dark",
|
||||||
|
"innerWidth": 2048,
|
||||||
|
"innerHeight": 1320,
|
||||||
|
"scrollWidth": 2048,
|
||||||
|
"scrollHeight": 1320,
|
||||||
|
"overflowX": false,
|
||||||
|
"overflowY": false,
|
||||||
|
"ok": true,
|
||||||
|
"readerWidth": 1920,
|
||||||
|
"diagramWidth": 1870,
|
||||||
|
"viewBoxWidth": 1190,
|
||||||
|
"minimumProjectedNodeTextPx": 9,
|
||||||
|
"minimumProjectedNodeText": "Windows / macOS",
|
||||||
|
"minimumProjectedNodeTextDetail": "context",
|
||||||
|
"minimumRequiredNodeTextPx": 6,
|
||||||
|
"readabilityOk": true,
|
||||||
|
"hasLegend": false,
|
||||||
|
"hasNavigationDock": true,
|
||||||
|
"legendDockIntersectionArea": 0,
|
||||||
|
"dockStageIntersectionArea": 0,
|
||||||
|
"dockStageGap": 10.21875,
|
||||||
|
"requiredDockStageGap": 10,
|
||||||
|
"viewerChromeStageOk": true,
|
||||||
|
"viewerChromeReserve": 41,
|
||||||
|
"viewerChromeActive": true,
|
||||||
|
"viewerChromeOk": true,
|
||||||
|
"resolvedTheme": "dark",
|
||||||
|
"file": "index.visual-check.2048x1320.dark.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"contactSheet": "index.visual-check.html"
|
||||||
|
},
|
||||||
|
"sidecars": {
|
||||||
|
"receipt": "index.visual-check.json",
|
||||||
|
"contactSheet": "index.visual-check.html"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,301 @@
|
|||||||
|
{
|
||||||
|
"schema_version": 1,
|
||||||
|
"diagram_type": "architecture",
|
||||||
|
"meta": {
|
||||||
|
"title": "TabTin 开源团队 Harness 架构",
|
||||||
|
"locale": "zh-CN",
|
||||||
|
"quality_profile": "showcase",
|
||||||
|
"viewBox": [
|
||||||
|
1190,
|
||||||
|
552
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"id": "desktop",
|
||||||
|
"type": "frontend",
|
||||||
|
"label": "Electron 桌面端",
|
||||||
|
"sublabel": "Windows / macOS",
|
||||||
|
"pos": [
|
||||||
|
40,
|
||||||
|
60
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "mobile",
|
||||||
|
"type": "frontend",
|
||||||
|
"label": "iOS / Android 客户端",
|
||||||
|
"sublabel": "换设备继续",
|
||||||
|
"pos": [
|
||||||
|
40,
|
||||||
|
180
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "admin",
|
||||||
|
"type": "security",
|
||||||
|
"label": "AdminDash 管理后台",
|
||||||
|
"sublabel": "组织 · 角色 · 额度",
|
||||||
|
"pos": [
|
||||||
|
40,
|
||||||
|
420
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "api",
|
||||||
|
"type": "backend",
|
||||||
|
"label": "Django API",
|
||||||
|
"sublabel": "领域对象 · 后台任务",
|
||||||
|
"pos": [
|
||||||
|
280,
|
||||||
|
120
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tenant",
|
||||||
|
"type": "database",
|
||||||
|
"label": "组织与权限库",
|
||||||
|
"sublabel": "租户隔离",
|
||||||
|
"pos": [
|
||||||
|
280,
|
||||||
|
420
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "collab",
|
||||||
|
"type": "backend",
|
||||||
|
"label": "协作服务",
|
||||||
|
"sublabel": "群聊 · 项目同步",
|
||||||
|
"pos": [
|
||||||
|
520,
|
||||||
|
60
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "runtime",
|
||||||
|
"type": "backend",
|
||||||
|
"label": "Agent Runtime",
|
||||||
|
"sublabel": "编排 · 执行 · 回退",
|
||||||
|
"pos": [
|
||||||
|
520,
|
||||||
|
200
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "runs",
|
||||||
|
"type": "database",
|
||||||
|
"label": "运行记录与产物",
|
||||||
|
"sublabel": "状态 · 结果 · 回退点",
|
||||||
|
"pos": [
|
||||||
|
520,
|
||||||
|
420
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "surface",
|
||||||
|
"type": "cloud",
|
||||||
|
"label": "工作面运行时",
|
||||||
|
"sublabel": "12 个内置应用",
|
||||||
|
"pos": [
|
||||||
|
760,
|
||||||
|
60
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "external",
|
||||||
|
"type": "external",
|
||||||
|
"label": "模型与第三方系统",
|
||||||
|
"sublabel": "LLM · 业务系统",
|
||||||
|
"pos": [
|
||||||
|
760,
|
||||||
|
420
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "objects",
|
||||||
|
"type": "database",
|
||||||
|
"label": "对象与文档存储",
|
||||||
|
"sublabel": "文档 · 表格 · 文件",
|
||||||
|
"pos": [
|
||||||
|
1000,
|
||||||
|
60
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "skills",
|
||||||
|
"type": "cloud",
|
||||||
|
"label": "Skill 应用包",
|
||||||
|
"sublabel": "48 个官方应用包",
|
||||||
|
"pos": [
|
||||||
|
1000,
|
||||||
|
200
|
||||||
|
],
|
||||||
|
"size": [
|
||||||
|
148,
|
||||||
|
60
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"boundaries": [
|
||||||
|
{
|
||||||
|
"kind": "security-group",
|
||||||
|
"label": "组织 · 权限 · 额度",
|
||||||
|
"wraps": [
|
||||||
|
"admin",
|
||||||
|
"tenant"
|
||||||
|
],
|
||||||
|
"pad": 14
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": [
|
||||||
|
{
|
||||||
|
"from": "desktop",
|
||||||
|
"to": "api",
|
||||||
|
"label": "登录会话"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "mobile",
|
||||||
|
"to": "api",
|
||||||
|
"label": "查看与确认"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "api",
|
||||||
|
"to": "collab",
|
||||||
|
"label": "协作读写"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "collab",
|
||||||
|
"to": "runtime",
|
||||||
|
"label": "消息触发任务",
|
||||||
|
"labelAt": [
|
||||||
|
594,
|
||||||
|
134
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "api",
|
||||||
|
"to": "runtime",
|
||||||
|
"label": "派发任务",
|
||||||
|
"variant": "emphasis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "runtime",
|
||||||
|
"to": "surface",
|
||||||
|
"label": "选用工作面",
|
||||||
|
"variant": "emphasis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "runtime",
|
||||||
|
"to": "skills",
|
||||||
|
"label": "装载 Skill"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "runtime",
|
||||||
|
"to": "external",
|
||||||
|
"label": "模型与业务调用",
|
||||||
|
"variant": "dashed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "surface",
|
||||||
|
"to": "objects",
|
||||||
|
"label": "对象读写"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "runtime",
|
||||||
|
"to": "runs",
|
||||||
|
"label": "运行留痕",
|
||||||
|
"labelAt": [
|
||||||
|
594,
|
||||||
|
274
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "admin",
|
||||||
|
"to": "tenant",
|
||||||
|
"label": "权限与额度"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "api",
|
||||||
|
"to": "tenant",
|
||||||
|
"label": "租户与权限校验",
|
||||||
|
"variant": "security",
|
||||||
|
"labelAt": [
|
||||||
|
354,
|
||||||
|
194
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cards": [
|
||||||
|
{
|
||||||
|
"dot": "emerald",
|
||||||
|
"title": "协作闭环",
|
||||||
|
"items": [
|
||||||
|
"Agent 从群消息发现问题、创建任务并 @负责人",
|
||||||
|
"处理进度与结果自动同步回群聊与项目",
|
||||||
|
"任务可分享给好友,对方打开即可从原处接着聊"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dot": "violet",
|
||||||
|
"title": "工作面与能力",
|
||||||
|
"items": [
|
||||||
|
"12 个内置工作面:在线文档、演示、白板、笔记、多维表格、文件、浏览器、任务、邮件、终端、桌面控制、手机控制",
|
||||||
|
"48 个官方 Skill 应用包可为 Agent 增配能力",
|
||||||
|
"每个应用既是人直接工作的界面,也是 Agent 可调用的能力入口"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dot": "amber",
|
||||||
|
"title": "治理与自托管",
|
||||||
|
"items": [
|
||||||
|
"AdminDash 统一管理成员、角色、权限与 AI 额度消耗",
|
||||||
|
"每次任务运行保留状态与结果,出了问题随时回退",
|
||||||
|
"Django 服务端与协作服务可私有化部署到自有基础设施"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user