index.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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>ChatGPT-like Clone</title>
  7. <link rel="stylesheet" href="/static/styles.css">
  8. </head>
  9. <body>
  10. <div class="app-shell">
  11. <aside class="sidebar">
  12. <div class="sidebar-scroll">
  13. <section class="sidebar-section">
  14. <label for="model-select" class="sidebar-label">选择模型</label>
  15. <select id="model-select" class="sidebar-input"></select>
  16. </section>
  17. <section class="sidebar-section">
  18. <label for="output-mode" class="sidebar-label">选择输出模式</label>
  19. <select id="output-mode" class="sidebar-input"></select>
  20. </section>
  21. <section class="sidebar-section">
  22. <label for="search-input" class="sidebar-label">搜索当前对话内容</label>
  23. <input id="search-input" type="text" class="sidebar-input" placeholder="输入关键字...">
  24. <div id="search-feedback" class="sidebar-help">无匹配。</div>
  25. </section>
  26. <section class="sidebar-section">
  27. <label for="history-range" class="sidebar-label" id="history-range-label">选择使用的历史消息数量</label>
  28. <input id="history-range" type="range" min="0" max="0" value="0" class="sidebar-range">
  29. <div id="history-range-value" class="sidebar-help">您选择的历史消息数量是: 0</div>
  30. </section>
  31. <section class="sidebar-section sidebar-actions">
  32. <button id="new-chat-btn" class="primary-button">New Chat</button>
  33. </section>
  34. </div>
  35. <div class="sidebar-history" aria-label="历史聊天记录">
  36. <div class="sidebar-history-header">
  37. <h3 class="sidebar-heading">历史聊天记录</h3>
  38. <span id="history-count" class="history-count" aria-live="polite"></span>
  39. </div>
  40. <div id="history-list" class="history-list" role="list"></div>
  41. <div class="history-pagination">
  42. <button id="history-prev" class="secondary-button">上一页</button>
  43. <button id="history-next" class="secondary-button">下一页</button>
  44. </div>
  45. </div>
  46. </aside>
  47. <main class="main-panel">
  48. <header class="app-header">
  49. <h1>ChatGPT-like Clone</h1>
  50. </header>
  51. <section id="chat-messages" class="chat-messages"></section>
  52. <form id="chat-form" class="chat-form">
  53. <textarea id="chat-input" placeholder="What is up?" rows="3" class="chat-textarea"></textarea>
  54. <div class="chat-form-footer">
  55. <label for="file-input" class="file-input-label">选择文件</label>
  56. <input id="file-input" type="file" multiple accept=".jpg,.jpeg,.png,.txt,.pdf,.doc,.docx" class="file-input">
  57. <button type="submit" id="send-btn" class="primary-button">发送</button>
  58. </div>
  59. <div id="chat-status" class="chat-status" aria-live="polite"></div>
  60. </form>
  61. </main>
  62. </div>
  63. <div id="toast" class="toast hidden"></div>
  64. <script defer src="/static/app.js"></script>
  65. </body>
  66. </html>