support self-check

This commit is contained in:
锦恢 2025-07-03 19:48:40 +08:00
parent 8a6d555da1
commit e478ae95f2
13 changed files with 57 additions and 17 deletions

View File

@ -2,8 +2,10 @@
## [main] 0.1.9
- 增加 mook 功能可以利用随机种子或者AI生成来自动化填充测试 tool 的表单数据
- 增加工具自检功能openmcp 的 tool 下可以点击「工具模块」 右侧的 「工具自检」进入自检模式,该模式下,用户可以自己定义工具执行的拓扑顺序,然后一次性进行自动检测。
- 修复 issue #44: 完成链接跳转的平台适配
- 修复 issue #36: 完成非文件夹打开下的成功启动
- 修复 issue #45: 数组类型参数不支持
- 修复多行对话粘贴进入对话框样式异常的问题
## [main] 0.1.8

View File

@ -67,7 +67,7 @@ function formatJson(obj: any) {
border-radius: 8px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
font-size: 15px;
max-width: 300px;
max-width: 1000px;
word-break: break-all;
}
@ -127,6 +127,14 @@ function formatJson(obj: any) {
.item-json {
border-radius: 4px;
padding: 6px 10px;
font-size: 13px;
font-family: var(--code-font-family, monospace);
margin: 2px 0 8px 0;
white-space: pre-wrap;
word-break: break-all;
overflow-x: auto;
max-width: 100%;
box-sizing: border-box;
}
.item-result {
@ -137,8 +145,11 @@ function formatJson(obj: any) {
margin-bottom: 6px;
border-radius: .5em;
margin: 5px 0;
overflow-x: auto;
max-width: 100%;
}
.result-block.error {
background-color: rgba(245, 108, 108, 0.5);
}

View File

@ -1,5 +1,5 @@
<template>
<el-dialog v-model="showDiagram" width="800px" append-to-body class="no-padding-dialog">
<el-dialog v-model="showDialog" width="800px" class="no-padding-dialog">
<template #header>
<div style="display: flex; align-items: center;">
<span>Tool Diagram</span>
@ -43,7 +43,7 @@
</template>
<script setup lang="ts">
import { nextTick, provide, ref } from 'vue';
import { computed, nextTick, provide, ref } from 'vue';
import Diagram from './diagram.vue';
import { makeNodeTest, topoSortParallel, type DiagramContext, type DiagramState } from './diagram';
import { ElMessage } from 'element-plus';
@ -52,18 +52,27 @@ import { useI18n } from 'vue-i18n';
import type { ToolStorage } from '../tools';
import { tabs } from '../../panel';
const showDiagram = ref(true);
const { t } = useI18n();
const caption = ref('');
const showCaption = ref(false);
const props = defineProps({
modelValue: {
type: Boolean,
default: false
},
tabId: {
type: Number,
required: true
}
});
const emit = defineEmits(['update:modelValue']);
const showDialog = computed({
get: () => props.modelValue,
set: v => emit('update:modelValue', v)
});
function setCaption(text: string) {
caption.value = text;

View File

@ -6,22 +6,29 @@
<h2>
<span class="iconfont icon-tool"></span>
{{ t('tool-module') }}
<el-button
style="font-size: 12px;"
@click="showAutoDetector = true"
>
{{ t('tool-self-detect') }}
</el-button>
</h2>
<ToolList :tab-id="props.tabId"></ToolList>
</div>
<div class="right">
<ToolExecutor :tab-id="props.tabId"></ToolExecutor>
<ToolLogger :tab-id="props.tabId"></ToolLogger>
</div>
</div>
<AutoDetector
v-model="showAutoDetector"
:tab-id="props.tabId"
/>
</el-scrollbar>
</template>
<script setup lang="ts">
import { defineProps } from 'vue';
import { defineProps, ref } from 'vue';
import ToolList from './tool-list.vue';
import ToolExecutor from './tool-executor.vue';
import ToolLogger from './tool-logger.vue';
@ -36,6 +43,8 @@ const props = defineProps({
required: true
}
});
const showAutoDetector = ref(false);
</script>
<style scoped>

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "خطأ في تحليل JSON الذي تم إنشاؤه بواسطة الذكاء الاصطناعي",
"ai-invoke-unknown-tool": "استدعت الذكاء الاصطناعي أداة غير معروفة",
"click-edge-to-delete": "انقر على الحافة للحذف",
"select-node-define-test-tomo": "اختر عقدة أخرى لتحديد طوبولوجيا الاختبار"
"select-node-define-test-tomo": "اختر عقدة أخرى لتحديد طوبولوجيا الاختبار",
"tool-self-detect": "الفحص الذاتي للأداة"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "Fehler beim Parsen von KI-generiertem JSON",
"ai-invoke-unknown-tool": "KI hat ein unbekanntes Tool aufgerufen",
"click-edge-to-delete": "Klicken Sie auf die Kante, um sie zu löschen",
"select-node-define-test-tomo": "Wählen Sie einen anderen Knoten aus, um die Testtopologie zu definieren"
"select-node-define-test-tomo": "Wählen Sie einen anderen Knoten aus, um die Testtopologie zu definieren",
"tool-self-detect": "Werkzeug-Selbsttest"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "AI-generated JSON parsing error",
"ai-invoke-unknown-tool": "AI called an unknown tool",
"click-edge-to-delete": "Click the edge to delete",
"select-node-define-test-tomo": "Select another node to define the test topology"
"select-node-define-test-tomo": "Select another node to define the test topology",
"tool-self-detect": "Tool Self-Check"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "Erreur d'analyse JSON générée par IA",
"ai-invoke-unknown-tool": "L'IA a appelé un outil inconnu",
"click-edge-to-delete": "Cliquez sur le bord pour supprimer",
"select-node-define-test-tomo": "Sélectionnez un autre nœud pour définir la topologie de test"
"select-node-define-test-tomo": "Sélectionnez un autre nœud pour définir la topologie de test",
"tool-self-detect": "Auto-vérification de l'outil"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "AI生成JSONの解析エラー",
"ai-invoke-unknown-tool": "AIが未知のツールを呼び出しました",
"click-edge-to-delete": "クリックして削除",
"select-node-define-test-tomo": "テストトポロジを定義するために別のノードを選択してください"
"select-node-define-test-tomo": "テストトポロジを定義するために別のノードを選択してください",
"tool-self-detect": "ツール自己診断"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "AI 생성 JSON 구문 분석 오류",
"ai-invoke-unknown-tool": "AI가 알 수 없는 도구를 호출했습니다",
"click-edge-to-delete": "가장자리를 클릭하여 삭제",
"select-node-define-test-tomo": "테스트 토폴로지를 정의하려면 다른 노드를 선택하세요"
"select-node-define-test-tomo": "테스트 토폴로지를 정의하려면 다른 노드를 선택하세요",
"tool-self-detect": "도구 자체 점검"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "Ошибка разбора JSON, созданного ИИ",
"ai-invoke-unknown-tool": "ИИ вызвал неизвестный инструмент",
"click-edge-to-delete": "Нажмите на край, чтобы удалить",
"select-node-define-test-tomo": "Выберите другой узел для определения тестовой топологии"
"select-node-define-test-tomo": "Выберите другой узел для определения тестовой топологии",
"tool-self-detect": "Самопроверка инструмента"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "AI 生成的 JSON 解析错误",
"ai-invoke-unknown-tool": "AI 调用了未知的工具",
"click-edge-to-delete": "点击边以删除",
"select-node-define-test-tomo": "选择另一个节点以定义测试拓扑"
"select-node-define-test-tomo": "选择另一个节点以定义测试拓扑",
"tool-self-detect": "工具自检"
}

View File

@ -194,5 +194,6 @@
"ai-gen-error-json": "AI 生成的 JSON 解析錯誤",
"ai-invoke-unknown-tool": "AI調用了未知的工具",
"click-edge-to-delete": "點擊邊緣以刪除",
"select-node-define-test-tomo": "選擇另一個節點以定義測試拓撲"
"select-node-define-test-tomo": "選擇另一個節點以定義測試拓撲",
"tool-self-detect": "工具自檢"
}