index.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>OpenClaw Task Board V2</title>
  7. <link rel="stylesheet" href="./css/styles.css">
  8. </head>
  9. <body>
  10. <div class="app-shell">
  11. <header class="top-bar">
  12. <div class="brand-block">
  13. <h1>OpenClaw 任务看板 V2</h1>
  14. <p>只读公网画布 + 会话下拉筛选 + 思维链可视化</p>
  15. </div>
  16. <div class="conversation-filter">
  17. <label for="conversationSelect">选择对话</label>
  18. <div class="filter-actions">
  19. <select id="conversationSelect" aria-label="选择对话"></select>
  20. <button id="refreshBtn" class="btn" type="button">刷新</button>
  21. </div>
  22. </div>
  23. <div class="toolbar-actions">
  24. <button id="fitViewBtn" type="button" class="btn">适配视图</button>
  25. <button id="resetViewBtn" type="button" class="btn">重置缩放</button>
  26. <button id="exportSvgBtn" type="button" class="btn">导出 SVG</button>
  27. </div>
  28. </header>
  29. <main class="board-layout">
  30. <aside class="side-panel">
  31. <section class="panel-card">
  32. <h2>状态说明</h2>
  33. <ul class="legend-list">
  34. <li><span class="legend-dot pending"></span>待开始</li>
  35. <li><span class="legend-dot in-progress"></span>执行中</li>
  36. <li><span class="legend-dot completed"></span>已完成</li>
  37. <li><span class="legend-dot bug"></span>Bug / 截断</li>
  38. </ul>
  39. </section>
  40. <section class="panel-card">
  41. <h2>会话统计</h2>
  42. <dl class="stats-list">
  43. <div><dt>节点数</dt><dd id="statNodes">0</dd></div>
  44. <div><dt>连线数</dt><dd id="statEdges">0</dd></div>
  45. <div><dt>执行中</dt><dd id="statRunning">0</dd></div>
  46. <div><dt>Bug</dt><dd id="statBug">0</dd></div>
  47. </dl>
  48. </section>
  49. <section class="panel-card debug-card">
  50. <h2>诊断侧栏</h2>
  51. <div id="debugPanel" class="debug-panel">
  52. <p class="empty-text">点击节点查看详情</p>
  53. </div>
  54. </section>
  55. </aside>
  56. <section class="canvas-panel">
  57. <div class="canvas-wrapper" id="canvasWrapper">
  58. <svg id="mindmapSvg" viewBox="0 0 2000 1200" role="img" aria-label="OpenClaw Thought Chain">
  59. <defs>
  60. <filter id="pulseGlow" x="-50%" y="-50%" width="200%" height="200%">
  61. <feGaussianBlur in="SourceGraphic" stdDeviation="2.5" result="blur" />
  62. <feMerge>
  63. <feMergeNode in="blur" />
  64. <feMergeNode in="SourceGraphic" />
  65. </feMerge>
  66. </filter>
  67. </defs>
  68. <g id="viewportGroup">
  69. <g id="linksLayer"></g>
  70. <g id="nodesLayer"></g>
  71. </g>
  72. </svg>
  73. <div id="canvasHint" class="canvas-hint">拖拽平移,滚轮缩放</div>
  74. </div>
  75. </section>
  76. </main>
  77. </div>
  78. <script type="module" src="./js/app.js"></script>
  79. </body>
  80. </html>