|
<!DOCTYPE html> |
|
<html> |
|
<meta charset="UTF-8" /> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
|
<head> |
|
<title>LLM Mixer</title> |
|
<link rel="icon" |
|
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%221em%22 font-size=%2280%22>♾️</text></svg>"> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/js/bootstrap.bundle.min.js"></script> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/css/bootstrap.min.css" /> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css" /> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" /> |
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/v4-shims.min.css" /> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/2.1.0/showdown.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment-with-locales.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/dexie/3.2.4/dexie.min.js"></script> |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/darkreader/4.9.75/darkreader.min.js"></script> |
|
<link rel="stylesheet" href="./css/default.css" /> |
|
</head> |
|
|
|
<body> |
|
<div id="chat-history-sidebar" class="offcanvas offcanvas-start" data-bs-scroll="true" data-bs-backdrop="false" |
|
aria-labelledby="chat-history-sidebar-label"> |
|
<div class="offcanvas-header"> |
|
<button id="chat-history-sidebar-close-button" class="btn"> |
|
<i class="fa fa-close"></i> |
|
</button> |
|
<h5 class="offcanvas-title" id="chat-history-label"> |
|
<a style="text-decoration: none; color:inherit;" href="#">History</a> |
|
</h5> |
|
</div> |
|
<div class="offcanvas-body"> |
|
<ul id="chat-history-sidebar-items" class="navbar-nav justify-content-end flex-grow-1"> |
|
</ul> |
|
</div> |
|
<div class="my-2 row no-gutters justify-content-end"> |
|
<div class="col"> |
|
<button id="clear-chat-history-button" class="btn"> |
|
<i class="fa fa-trash"></i> |
|
</button> |
|
</div> |
|
<div class="col"> |
|
<button id="screenshot-button" class="btn"> |
|
<i class="fa fa-camera"></i> |
|
</button> |
|
</div> |
|
<div class="col"> |
|
<button id="dark-theme-toggle-button" class="btn"> |
|
<i class="fa fa-lightbulb"></i> |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
<div id="chat-agents-sidebar" class="offcanvas offcanvas-end" data-bs-scroll="true" data-bs-backdrop="false" |
|
aria-labelledby="chat-agents-sidebar-label"> |
|
<div class="offcanvas-header"> |
|
<h5 class="offcanvas-title" id="chat-agents-label"> |
|
<a style="text-decoration: none; color:inherit;"> Agent Info</a> |
|
</h5> |
|
<button id="chat-agents-sidebar-close-button" class="btn px-0 mx-0"> |
|
<i class="fa fa-close"></i> |
|
</button> |
|
</div> |
|
<div class="offcanvas-body"> |
|
<div class="my-3 row no-gutters"> |
|
<button id="new-agent-button" type="button" class="new-agent-button"> |
|
<i class="fa fa-plus"></i> New Agent |
|
</button> |
|
</div> |
|
<div id="agent-info-container"></div> |
|
</div> |
|
<div class="my-2 row no-gutters justify-content-start"> |
|
<div class="col"> |
|
<button id="clear-chat-agents-button" class="btn"> |
|
<i class="fa fa-trash"></i> |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
<div id="main-container" class="container"> |
|
<div id="top-toolbar" class="container mt-2"> |
|
<div class="my-1 row no-gutters justify-content-start"> |
|
<div class="col-auto"> |
|
<button id="chat-history-sidebar-toggle-button" class="btn px-0"> |
|
<i class="fa fa-bars"></i> |
|
</button> |
|
</div> |
|
<div class="col-auto"> |
|
<button id="toggle-endpoint-and-api-key-items-button" class="btn px-0"> |
|
<i class="fa fa-fighter-jet"></i> |
|
</button> |
|
</div> |
|
<select class="form-select" id="available-models-select" title="Available Models"></select> |
|
<div class="col px-2"> |
|
<select class="form-select" id="agents-select" title="Agents"></select> |
|
</div> |
|
<div class="col-auto"> |
|
<button id="scroll-to-bottom-button" class="btn px-0"> |
|
<i class="fa fa-angles-down"></i> |
|
</button> |
|
</div> |
|
<div class="col-auto"> |
|
<button id="chat-agents-sidebar-toggle-button" class="btn px-0"> |
|
<i class="fa fa-cog"></i> |
|
</button> |
|
</div> |
|
</div> |
|
<div class="row no-gutters justify-content-start"> |
|
<div id="endpoint-and-api-key-items"> |
|
</div> |
|
<div class="col-auto mt-2"> |
|
<button id="add-endpoint-and-api-key-item-button" class="btn px-0"> |
|
<i class="fa fa-circle-plus"></i> |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
<div id="chat-session-container" class="container mt-1"> |
|
<div id="messagers-container" class="container"></div> |
|
</div> |
|
<div id="user-interactions" class="container mb-2"> |
|
<div class="my-2 row no-gutters"> |
|
<div class="col-auto pr-0"> |
|
<button id="new-chat-session" class="btn px-0"> |
|
<i class="fa fa-plus-circle"></i> |
|
</button> |
|
</div> |
|
<div class="col px-0"> |
|
<textarea id="user-input" class="form-control" rows="1" |
|
placeholder="Ask me anything ..."></textarea> |
|
</div> |
|
<div class="col-auto pr-3 pl-0"> |
|
<button id="send-user-input" class="btn px-0"> |
|
<i class="fa fa-paper-plane"></i> |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</body> |
|
<script type="module" src="./main.js"></script> |
|
|
|
</html> |