UNPKG

dynamic-interaction

Version:

Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用

137 lines (125 loc) 6.58 kB
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title data-i18n="title">交互式反馈系统</title> <link rel="stylesheet" href="css/main.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css"> <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script> <script src="https://unpkg.com/lucide@latest"></script> <script> // 配置 marked 使用 highlight.js 进行代码高亮 marked.setOptions({ highlight: function (code, lang) { const language = hljs.getLanguage(lang) ? lang : 'plaintext'; return hljs.highlight(code, { language }).value; }, langPrefix: 'hljs language-', breaks: true, gfm: true }); </script> </head> <body> <!-- 状态栏 - 苹果风格设计 (内容区顶部) --> <div class="status-bar-container"> <div class="status-bar integrated"> <div class="status-bar-section"> <div class="status-item"> <i data-lucide="folder-open" class="icon"></i> <span class="label" data-i18n="status.workspace">工作区:</span> <span id="workspace-directory-value" class="value" data-i18n="feedback.messages.loadingWorkspace" data-i18n-skip>加载中...</span> </div> <div class="status-item"> <i data-lucide="key-round" class="icon"></i> <span class="label" data-i18n="status.sessionId">会话ID:</span> <span id="session-id-value" class="value" data-i18n="feedback.messages.loadingSession" data-i18n-skip>加载中...</span> </div> </div> <!-- 中间区域:会话倒计时 --> <div class="status-bar-section center-section"> <div class="status-item session-timer" id="session-timer"> <i data-lucide="timer" class="icon"></i> <span class="label" data-i18n="status.sessionTimer">会话剩余时间:</span> <span id="session-timer-value" class="value">--:--</span> </div> </div> <div class="status-bar-section"> <div class="status-item connection"> <span id="status-pulse" class="status-pulse disconnected"></span> <span id="connection-status-value" data-i18n="status.connectionStatus.disconnected" data-i18n-skip>未连接</span> <span class="latency">(<span id="latency-value" class="latency-value" data-i18n-skip>--</span>)</span> </div> <div class="status-item message-status"> <i data-lucide="message-circle" class="icon"></i> <span id="message-status-value" data-i18n="status.messageStatus.idle" data-i18n-skip>暂无新消息</span> </div> <div class="status-item language-switcher" id="language-switcher" title="切换语言"> <i data-lucide="globe" class="icon language-icon"></i> <span class="language-text" id="language-text"></span> </div> <div class="status-item theme-switcher" id="theme-switcher" data-i18n-title="status.themeSwitch"> <i data-lucide="sun" class="icon theme-icon-sun"></i> <i data-lucide="moon" class="icon theme-icon-moon" style="display: none;"></i> </div> </div> </div> </div> <div class="main-container"> <!-- 通知面板 --> <div id="notification-panel" class="panel" style="display: none;"> <!-- 通知内容将由NotificationDisplay组件动态生成 --> </div> <!-- AI 工作摘要 --> <div id="summary-panel" class="panel"> <h2> <i data-lucide="lightbulb" class="icon"></i> <span data-i18n="summary.title">AI 工作摘要</span> </h2> <hr> <div id="summary"> - 我已根据您之前的需求"模仿苹果官网风格设计UI",提供了两个版本的HTML...</div> </div> <!-- 提供反馈 --> <div id="feedback-panel" class="panel"> <div class="panel-header"> <h2> <i data-lucide="corner-down-left" class="icon"></i> <span data-i18n="feedback.title">提供反馈</span> </h2> <button id="send-feedback-btn" data-i18n="feedback.submitButton">提交反馈</button> </div> <hr> <div class="feedback-section"> <label for="feedback-input" data-i18n="feedback.textLabel">文字反馈</label> <div id="feedback-input" contenteditable="true" data-i18n-placeholder="feedback.textPlaceholder" placeholder="请在这里输入您的指示或回复..."></div> </div> <div class="hints-section"> <p data-i18n="feedback.hints.title">小提示:</p> <ul> <li data-i18n="feedback.hints.shortcut">按 Ctrl+Enter (或 Cmd+Enter) 可快速提交</li> <li data-i18n="feedback.hints.pasteImage">支持 Ctrl+V (或 Cmd+V) 粘贴图片</li> </ul> </div> <div class="attachment-section"> <label data-i18n="feedback.attachments.title">图片附件 (可选)</label> <div id="drop-zone"> <div class="drop-zone-text"> <i data-lucide="paperclip" class="icon"></i> <p data-i18n="feedback.attachments.dropZoneText">点击选择或拖拽图片到此处</p> <span data-i18n="feedback.attachments.supportedFormats">支持 PNG, JPG, GIF, WebP 等格式</span> </div> </div> <div id="image-preview-container"></div> </div> </div> </div> <!-- 脚本和模态框 --> <script type="module" src="js/main.js"></script> <div id="image-modal" class="modal"> <img class="modal-content" id="modal-image"> </div> <script> lucide.createIcons(); </script> </body> </html>