fix(eslint): reduce warnings in GitHub Actions deployment
- Disable formatting rules (handled by Prettier) - Relaxed strict Vue/JS rules for demo code compatibility - Fix syntax errors in ApiPlayground and VoiceCloningDemo - Fix duplicate else-if condition in ApiPlayground - Fix Promise executor async pattern in AutoregressiveAudioDemo - Add TypeScript file support to ESLint config Warnings reduced from 295 to 251 problems. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
<template>
|
||||
<div class="agent-chat-demo">
|
||||
<div class="header">
|
||||
<div class="title">🤖 Agent 初体验:从"能说"到"能做"</div>
|
||||
<div class="subtitle">体验 Agent 如何自动调用工具完成任务</div>
|
||||
<div class="title">
|
||||
🤖 Agent 初体验:从"能说"到"能做"
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
体验 Agent 如何自动调用工具完成任务
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 场景选择 -->
|
||||
@@ -22,43 +26,78 @@
|
||||
<div class="chat-window">
|
||||
<!-- 用户消息 -->
|
||||
<div class="message user">
|
||||
<div class="avatar">👤</div>
|
||||
<div class="bubble">{{ currentScenarioData.query }}</div>
|
||||
<div class="avatar">
|
||||
👤
|
||||
</div>
|
||||
<div class="bubble">
|
||||
{{ currentScenarioData.query }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- LLM 回复(对比) -->
|
||||
<div class="message llm">
|
||||
<div class="avatar">🤖</div>
|
||||
<div class="avatar">
|
||||
🤖
|
||||
</div>
|
||||
<div class="bubble llm-bubble">
|
||||
<div class="llm-label">普通 LLM</div>
|
||||
<div class="llm-content">{{ currentScenarioData.llmResponse }}</div>
|
||||
<div class="llm-label">
|
||||
普通 LLM
|
||||
</div>
|
||||
<div class="llm-content">
|
||||
{{ currentScenarioData.llmResponse }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Agent 回复 -->
|
||||
<div class="message agent">
|
||||
<div class="avatar agent-avatar">🦾</div>
|
||||
<div class="avatar agent-avatar">
|
||||
🦾
|
||||
</div>
|
||||
<div class="bubble agent-bubble">
|
||||
<div class="agent-label">Agent 智能体</div>
|
||||
<div class="agent-label">
|
||||
Agent 智能体
|
||||
</div>
|
||||
|
||||
<!-- 思考过程(可折叠) -->
|
||||
<div v-if="showThinking" class="thinking-section">
|
||||
<div class="thinking-header" @click="toggleThinking">
|
||||
<div
|
||||
v-if="showThinking"
|
||||
class="thinking-section"
|
||||
>
|
||||
<div
|
||||
class="thinking-header"
|
||||
@click="toggleThinking"
|
||||
>
|
||||
<span>🧠 思考过程</span>
|
||||
<span class="toggle-icon">{{ thinkingExpanded ? '▼' : '▶' }}</span>
|
||||
</div>
|
||||
<div v-if="thinkingExpanded" class="thinking-content">
|
||||
<div class="thought-item">{{ currentScenarioData.thinking }}</div>
|
||||
<div
|
||||
v-if="thinkingExpanded"
|
||||
class="thinking-content"
|
||||
>
|
||||
<div class="thought-item">
|
||||
{{ currentScenarioData.thinking }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 工具调用(可折叠) -->
|
||||
<div v-if="showTools" ref="toolsSection" class="tools-section">
|
||||
<div class="tools-header" @click="toggleTools">
|
||||
<div
|
||||
v-if="showTools"
|
||||
ref="toolsSection"
|
||||
class="tools-section"
|
||||
>
|
||||
<div
|
||||
class="tools-header"
|
||||
@click="toggleTools"
|
||||
>
|
||||
<span>🔧 工具调用 ({{ currentScenarioData.tools.length }}个)</span>
|
||||
<span class="toggle-icon">{{ toolsExpanded ? '▼' : '▶' }}</span>
|
||||
</div>
|
||||
<div v-if="toolsExpanded" class="tools-list">
|
||||
<div
|
||||
v-if="toolsExpanded"
|
||||
class="tools-list"
|
||||
>
|
||||
<div
|
||||
v-for="(tool, idx) in currentScenarioData.tools"
|
||||
:key="idx"
|
||||
@@ -68,14 +107,27 @@
|
||||
>
|
||||
<div class="tool-status">
|
||||
<span v-if="toolExecuted > idx">✅</span>
|
||||
<span v-else-if="toolExecuting === idx" class="spinner">⏳</span>
|
||||
<span
|
||||
v-else-if="toolExecuting === idx"
|
||||
class="spinner"
|
||||
>⏳</span>
|
||||
<span v-else>⏸️</span>
|
||||
</div>
|
||||
<div class="tool-info">
|
||||
<div class="tool-name">{{ tool.name }}</div>
|
||||
<div v-if="toolExecuted > idx || toolExecuting === idx" class="tool-detail">
|
||||
<div class="tool-name">
|
||||
{{ tool.name }}
|
||||
</div>
|
||||
<div
|
||||
v-if="toolExecuted > idx || toolExecuting === idx"
|
||||
class="tool-detail"
|
||||
>
|
||||
<code class="tool-params">{{ tool.params }}</code>
|
||||
<div v-if="toolExecuted > idx" class="tool-result">{{ tool.result }}</div>
|
||||
<div
|
||||
v-if="toolExecuted > idx"
|
||||
class="tool-result"
|
||||
>
|
||||
{{ tool.result }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -83,16 +135,31 @@
|
||||
</div>
|
||||
|
||||
<!-- 最终回复 -->
|
||||
<div v-if="showResponse" class="final-response">
|
||||
<div class="response-header">💬 最终回复</div>
|
||||
<div class="response-content">{{ currentScenarioData.agentResponse }}</div>
|
||||
<div
|
||||
v-if="showResponse"
|
||||
class="final-response"
|
||||
>
|
||||
<div class="response-header">
|
||||
💬 最终回复
|
||||
</div>
|
||||
<div class="response-content">
|
||||
{{ currentScenarioData.agentResponse }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 执行按钮 -->
|
||||
<button v-if="!isExecuting && !executionComplete" class="execute-btn" @click="startExecution">
|
||||
<button
|
||||
v-if="!isExecuting && !executionComplete"
|
||||
class="execute-btn"
|
||||
@click="startExecution"
|
||||
>
|
||||
▶ 让 Agent 执行
|
||||
</button>
|
||||
<button v-else-if="executionComplete" class="execute-btn reset" @click="reset">
|
||||
<button
|
||||
v-else-if="executionComplete"
|
||||
class="execute-btn reset"
|
||||
@click="reset"
|
||||
>
|
||||
🔄 重置对话
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user