Kaynağa Gözat

展示调整

肖栋 13 saat önce
ebeveyn
işleme
02ac07d888

+ 8 - 7
src/pages/guide/index.vue

@@ -65,7 +65,7 @@
                 <icon-svg name="Mcp_general" size="38px" />
                 <div>
                   <div class="home-guide-feature-title">MCP 通用配置</div>
-                  <div class="home-guide-feature-desc">3 个 Server 共用同一套 Token</div>
+                  <div class="home-guide-feature-desc">所有 Server 共用同一套 Token</div>
                 </div>
               </div>
               <div class="home-guide-feature">
@@ -118,9 +118,9 @@
                     <div class="home-guide-tool-step">
                       <div class="home-guide-tool-step-num">1</div>
                       <div class="home-guide-tool-step-copy">
-                        <div class="home-guide-tool-step-title">自定义 MCP 配置</div>
+                        <div class="home-guide-tool-step-title">复制右侧提示词到workbuddy</div>
                         <div class="home-guide-tool-step-desc">
-                          复制右侧 JSON → 对话框发送「这是环评云助手的 MCP 服务 JSON,帮我配置自定义的 mcp」并粘贴
+                          在 workbuddy 粘贴该提示词,点击发送按钮,等待接入成功
                         </div>
                       </div>
                     </div>
@@ -141,8 +141,6 @@
                         <div class="home-guide-note-title">注意事项</div>
                       </div>
                       <ul class="home-guide-note-list">
-                        <li>自定义接入时 type 字段为 streamableHttp(H 大写)</li>
-                        <li>不需要在 URL 末尾添加 /mcp 后缀</li>
                         <li>{{ guideToken ? "JSON 配置文件已自动填入真实 Token" : "将 YOUR_ACCESS_TOKEN 替换为真实 Token" }}</li>
                         <li>若工具未立即出现,完全退出并重新打开 WorkBuddy 后再验证</li>
                       </ul>
@@ -167,7 +165,7 @@
                                 <span></span>
                               </div>
                               <div class="home-guide-code-title">mcp.prompt</div>
-                              <button type="button" class="home-guide-code-copy" @click="copyGuideMcpJson">
+                              <button type="button" class="home-guide-code-copy" @click="copyGuideWorkbuddyPrompt">
                                 <icon-svg name="copy_icon_white" size="14px" class="home-guide-code-copy-icon" />
                                 <span>复制</span>
                               </button>
@@ -906,9 +904,10 @@ const highlightGuideJson = (jsonText) => {
 };
 
 const guideMcpJsonHtml = computed(() => highlightGuideJson(guideMcpJson.value));
+const guideWorkbuddyPrompt = "这是环评云助手的MCP服务JSON,帮我配置自定义的mcp";
 const guideWorkbuddyMcpJsonHtml = computed(
   () =>
-    `<span class="code-string">这是环评云助手的MCP服务JSON,帮我配置自定义的mcp</span>\n${guideMcpJsonHtml.value}`,
+    `<span class="code-string">${guideWorkbuddyPrompt}</span>\n${guideMcpJsonHtml.value}`,
 );
 const guideMcpLines = computed(() =>
   Array.from({ length: guideMcpJson.value.split("\n").length }, (_, i) => i + 1),
@@ -941,6 +940,8 @@ const copyText = async (text) => {
   }
 };
 const copyGuideMcpJson = () => copyText(guideMcpJson.value);
+const copyGuideWorkbuddyPrompt = () =>
+  copyText(`${guideWorkbuddyPrompt}\n${guideMcpJson.value}`);
 const guideCliSteps = [
   {
     num: 1,

+ 2 - 2
src/pages/help/faq.vue

@@ -27,9 +27,9 @@ const faqList = [
       "配置完成后请完全退出并重新打开 AI 客户端再验证。若仍不出现,检查 URL 是否完整、Token 是否正确粘贴,以及是否使用了 streamableHttp 类型。",
   },
   {
-    question: "四个知识库 Server 都要分别配置吗?",
+    question: "所有 Server 都要分别配置吗?",
     answer:
-      "四个 Server 共用同一套 Token,建议复制「全部配置」一次性配置完成。",
+      "所有 Server 共用同一套 Token,建议复制「全部配置」一次性配置完成(「豆包」每个server都需要单独配置.)。",
   },
   {
     question: "CLI 和 MCP 有什么区别?",

+ 11 - 10
src/pages/home/index.vue

@@ -15,7 +15,7 @@
           面向标准核查、报告编制、合规咨询、政策问答等场景,为 AI 工具提供专业、可信、可追溯的环境知识服务。
         </p>
         <div class="home-hero-actions">
-          <button type="button" class="home-hero-btn home-hero-btn-primary" @click="openRouteInNewTab('mcpServer')">
+          <button type="button" class="home-hero-btn home-hero-btn-primary" @click="openRouteInNewTab('guide')">
             <icon-svg name="cut_in_Mcp" size="16px" />
             <span>立即接入 MCP</span>
           </button>
@@ -71,7 +71,7 @@
                 <div class="home-overview-icon-box">
                   <icon-svg name="Mcp_serve" size="22px" />
                 </div>
-                <div class="home-overview-card-value">4+</div>
+                <div class="home-overview-card-value">7+</div>
                 <div class="home-overview-card-label">MCP 服务</div>
               </div>
             </div>
@@ -137,7 +137,7 @@
                 <span v-for="tool in item.toolList || []" :key="tool.id">{{ tool.name }}</span>
               </div>
               <div class="home-scenes-card-footer">
-                <span class="home-scenes-card-stat">累计请求 {{ formatHotRequestCount(item.requestCount30d) }}</span>
+                <span class="home-scenes-card-stat">累计请求次数 {{ formatHotRequestCount(item.requestCount30d) }}</span>
                 <router-link class="home-scenes-card-link"
                   :to="{ name: 'mcpServer', query: { id: item.id } }">查看详情</router-link>
               </div>
@@ -231,7 +231,7 @@
                 <icon-svg name="Mcp_general" size="38px" />
                 <div>
                   <div class="home-guide-feature-title">MCP 通用配置</div>
-                  <div class="home-guide-feature-desc">3 个 Server 共用同一套 Token</div>
+                  <div class="home-guide-feature-desc">所有 Server 共用同一套 Token</div>
                 </div>
               </div>
               <div class="home-guide-feature">
@@ -284,9 +284,9 @@
                     <div class="home-guide-tool-step">
                       <div class="home-guide-tool-step-num">1</div>
                       <div class="home-guide-tool-step-copy">
-                        <div class="home-guide-tool-step-title">自定义 MCP 配置</div>
+                        <div class="home-guide-tool-step-title">复制右侧提示词到workbuddy</div>
                         <div class="home-guide-tool-step-desc">
-                          复制右侧 JSON → 对话框发送「这是环评云助手的 MCP 服务 JSON,帮我配置自定义的 mcp」并粘贴
+                          在 workbuddy 粘贴该提示词,点击发送按钮,等待接入成功
                         </div>
                       </div>
                     </div>
@@ -307,8 +307,6 @@
                         <div class="home-guide-note-title">注意事项</div>
                       </div>
                       <ul class="home-guide-note-list">
-                        <li>自定义接入时 type 字段为 streamableHttp(H 大写)</li>
-                        <li>不需要在 URL 末尾添加 /mcp 后缀</li>
                         <li>{{ guideToken ? "JSON 配置文件已自动填入真实 Token" : "将 YOUR_ACCESS_TOKEN 替换为真实 Token" }}</li>
                         <li>若工具未立即出现,完全退出并重新打开 WorkBuddy 后再验证</li>
                       </ul>
@@ -333,7 +331,7 @@
                                 <span></span>
                               </div>
                               <div class="home-guide-code-title">mcp.prompt</div>
-                              <button type="button" class="home-guide-code-copy" @click="copyGuideMcpJson">
+                              <button type="button" class="home-guide-code-copy" @click="copyGuideWorkbuddyPrompt">
                                 <icon-svg name="copy_icon_white" size="14px" class="home-guide-code-copy-icon" />
                                 <span>复制</span>
                               </button>
@@ -1176,9 +1174,10 @@ const highlightGuideJson = (jsonText) => {
 };
 
 const guideMcpJsonHtml = computed(() => highlightGuideJson(guideMcpJson.value));
+const guideWorkbuddyPrompt = "这是环评云助手的MCP服务JSON,帮我配置自定义的mcp";
 const guideWorkbuddyMcpJsonHtml = computed(
   () =>
-    `<span class="code-string">这是环评云助手的MCP服务JSON,帮我配置自定义的mcp</span>\n${guideMcpJsonHtml.value}`,
+    `<span class="code-string">${guideWorkbuddyPrompt}</span>\n${guideMcpJsonHtml.value}`,
 );
 const guideMcpLines = computed(() =>
   Array.from({ length: guideMcpJson.value.split("\n").length }, (_, i) => i + 1),
@@ -1211,6 +1210,8 @@ const copyText = async (text) => {
   }
 };
 const copyGuideMcpJson = () => copyText(guideMcpJson.value);
+const copyGuideWorkbuddyPrompt = () =>
+  copyText(`${guideWorkbuddyPrompt}\n${guideMcpJson.value}`);
 const guideCliSteps = [
   {
     num: 1,

+ 33 - 1
src/pages/mcp/onlineTest.vue

@@ -1507,6 +1507,12 @@ const runTest = async () => {
   margin-top: 14px;
   min-height: 0;
   overflow-y: auto;
+  scrollbar-width: none;
+  -ms-overflow-style: none;
+
+  &::-webkit-scrollbar {
+    display: none;
+  }
 }
 
 .otp-side-item {
@@ -1572,10 +1578,21 @@ const runTest = async () => {
 .otp-main {
   flex: 3 3 0;
   min-width: 0;
-  overflow: hidden;
+  overflow-x: hidden;
+  overflow-y: auto;
   display: flex;
   flex-direction: column;
   gap: 16px;
+  position: sticky;
+  top: 0;
+  max-height: 100%;
+  align-self: stretch;
+  scrollbar-width: none;
+  -ms-overflow-style: none;
+
+  &::-webkit-scrollbar {
+    display: none;
+  }
 }
 
 @keyframes otp-skeleton-shimmer {
@@ -2541,6 +2558,9 @@ const runTest = async () => {
   align-items: center;
   justify-content: center;
   gap: 10px;
+  position: sticky;
+  bottom: 16px;
+  z-index: 10;
   width: 100%;
   margin-top: 16px;
   padding: 11px;
@@ -2555,6 +2575,17 @@ const runTest = async () => {
   text-align: left;
   cursor: pointer;
 
+  &::after {
+    content: "";
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 100%;
+    height: 24px;
+    background: #FFFFFF;
+    pointer-events: none;
+  }
+
   &:disabled {
     opacity: 0.7;
     cursor: not-allowed;
@@ -3005,6 +3036,7 @@ const runTest = async () => {
   }
 
   .otp-side,
+  .otp-main,
   .otp-result {
     position: static;
     top: auto;

+ 1 - 1
src/pages/mcp/serve.vue

@@ -4,7 +4,7 @@
       <div class="wrap">
         <div class="registry-inner">
           <div class="registry-text">
-            <h1>MCP<span class="brand-blue">服务中心</span></h1>
+            <h1>MCP <span class="brand-blue">服务中心</span></h1>
             <div class="sub-title">企业级 MCP 智能服务中枢,打通大模型与环评专业能力</div>
             <p class="lead">
               汇聚环评云助手全量 MCP 智能服务,遵循标准 MCP 服务目录规范。统一 Token 即可接入主流大模型,快速将法规检索、政策问答、排放限值等环评能力注入 AI 应用与 Agent,服务持续迭代更新

+ 1 - 1
src/pages/mcp/serverDetail.vue

@@ -552,7 +552,7 @@ const mapServerDetail = (data) => {
         icon: "number_of_files",
       },
       {
-        label: "累计请求",
+        label: "累计请求次数",
         value: formatRequestCountValue(data.requestCount30d),
         type: "purple",
         icon: "requests_in_the_past_days",