113 lines
3.8 KiB
HTML
113 lines
3.8 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Boss Control Plane</title>
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||
<link rel="stylesheet" href="/styles.css" />
|
||
</head>
|
||
<body>
|
||
<div class="shell">
|
||
<aside class="sidebar">
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h1>Boss</h1>
|
||
<button id="reset-demo" class="ghost">重置 Demo</button>
|
||
</div>
|
||
<p class="caption">多设备开发代理控制台</p>
|
||
</div>
|
||
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>项目会话</h2>
|
||
</div>
|
||
<form id="create-session-form" class="stack">
|
||
<input id="session-title" placeholder="新项目标题" />
|
||
<button type="submit">创建会话</button>
|
||
</form>
|
||
<div id="session-list" class="list"></div>
|
||
</div>
|
||
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>设备</h2>
|
||
</div>
|
||
<form id="create-worker-form" class="stack compact">
|
||
<input id="worker-name" placeholder="worker 名称" />
|
||
<select id="worker-os">
|
||
<option value="windows">windows</option>
|
||
<option value="macos">macos</option>
|
||
<option value="linux">linux</option>
|
||
</select>
|
||
<input id="worker-capabilities" placeholder="capabilities,逗号分隔" value="terminal" />
|
||
<button type="submit">注册 worker</button>
|
||
</form>
|
||
<div id="worker-list" class="list"></div>
|
||
</div>
|
||
</aside>
|
||
|
||
<main class="content">
|
||
<section class="panel hero">
|
||
<div class="panel-header">
|
||
<div>
|
||
<h2 id="session-title-display">选择一个项目会话</h2>
|
||
<p id="session-summary" class="muted">创建会话后,在这里持续对话并观察任务状态。</p>
|
||
</div>
|
||
<div class="hero-actions">
|
||
<span id="stream-status" class="badge connecting">连接中</span>
|
||
<button id="archive-session" class="ghost">归档会话</button>
|
||
</div>
|
||
</div>
|
||
<div id="app-banner" class="banner hidden"></div>
|
||
</section>
|
||
|
||
<section id="onboarding" class="panel onboarding hidden"></section>
|
||
|
||
<section class="grid">
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>对话</h2>
|
||
</div>
|
||
<div id="message-list" class="timeline"></div>
|
||
<form id="message-form" class="stack">
|
||
<textarea
|
||
id="message-input"
|
||
rows="4"
|
||
placeholder="输入需求。示例:先调研登录失败根因,不要急着改代码。"
|
||
></textarea>
|
||
<button type="submit">发送消息</button>
|
||
</form>
|
||
</div>
|
||
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>任务树</h2>
|
||
</div>
|
||
<div id="plan-hint" class="hint"></div>
|
||
<div id="task-list" class="list"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="grid">
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>审批</h2>
|
||
</div>
|
||
<div id="approval-list" class="list"></div>
|
||
</div>
|
||
|
||
<div class="panel">
|
||
<div class="panel-header">
|
||
<h2>事件流</h2>
|
||
</div>
|
||
<div id="event-list" class="timeline compact"></div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
</div>
|
||
|
||
<script type="module" src="/app.js"></script>
|
||
</body>
|
||
</html>
|