agent-runtime/static/index.html
Nico f6939d47f5 v0.8.5: smart Output renderer + awareness panel
Output node upgraded from dumb echo to device-aware renderer:
- Knows it's rendering to HTML/browser, uses markdown formatting
- Receives full ThoughtResult (response + tool output + controls)
- Always in pipeline: Input perceives, Thinker reasons, Output renders
- Keeps user's language, weaves tool results into natural responses

Awareness panel (3-column layout):
- State: mood, topic, language, facts from Memorizer
- Sensors: clock, idle, memo deltas from Sensor ticks
- Processes: live cards with cancel during tool execution
- Workspace: docked controls (tables/buttons) persist across messages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 02:02:41 +01:00

63 lines
2.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>cog</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<div id="top-bar">
<h1>cog</h1>
<div id="status">disconnected</div>
</div>
<div id="node-metrics">
<div class="node-meter" id="meter-input"><span class="nm-label">input</span><div class="nm-bar"><div class="nm-fill"></div></div><span class="nm-text"></span></div>
<div class="node-meter" id="meter-thinker"><span class="nm-label">thinker</span><div class="nm-bar"><div class="nm-fill"></div></div><span class="nm-text"></span></div>
<div class="node-meter" id="meter-output"><span class="nm-label">output</span><div class="nm-bar"><div class="nm-fill"></div></div><span class="nm-text"></span></div>
<div class="node-meter" id="meter-memorizer"><span class="nm-label">memorizer</span><div class="nm-bar"><div class="nm-fill"></div></div><span class="nm-text"></span></div>
<div class="node-meter" id="meter-sensor"><span class="nm-label">sensor</span><span class="nm-text" style="flex:1"></span></div>
</div>
<div id="main">
<div class="panel chat-panel">
<div class="panel-header chat-h">Chat</div>
<div id="messages"></div>
<div id="input-bar">
<input id="input" placeholder="Type a message..." autocomplete="off">
<button onclick="send()">Send</button>
</div>
</div>
<div class="panel awareness-panel">
<div class="panel-header aware-h">Awareness</div>
<div id="awareness">
<section id="awareness-state" class="aw-section">
<h3 class="aw-title">State</h3>
<div class="aw-body" id="aw-state-body"><span class="aw-empty">waiting for data...</span></div>
</section>
<section id="awareness-sensors" class="aw-section">
<h3 class="aw-title">Sensors</h3>
<div class="aw-body" id="aw-sensors-body"><span class="aw-empty">waiting for tick...</span></div>
</section>
<section id="awareness-processes" class="aw-section">
<h3 class="aw-title">Processes</h3>
<div class="aw-body" id="aw-proc-body"><span class="aw-empty">idle</span></div>
</section>
<section id="awareness-controls" class="aw-section">
<h3 class="aw-title">Workspace</h3>
<div class="aw-body" id="aw-ctrl-body"><span class="aw-empty">no controls</span></div>
</section>
</div>
</div>
<div class="panel">
<div class="panel-header trace-h">Trace</div>
<div id="trace"></div>
</div>
</div>
<script src="/static/app.js"></script>
</body>
</html>