This commit is contained in:
锦恢 2025-05-26 22:16:40 +08:00
parent d89ba35c55
commit 160ca6dfd1
11 changed files with 192 additions and 46 deletions

View File

@ -1,33 +1,37 @@
import { defineConfig } from 'vitepress'
export default defineConfig({
title: "OpenMCP",
description: "为开发者和科研人员准备的MCP开发环境和SDK",
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
{ text: 'Examples', link: '/markdown-examples' }
],
title: "OpenMCP",
description: "为开发者和科研人员准备的MCP开发环境和SDK",
head: [
['link', { rel: 'icon', href: '/images/favicon.png' }]
],
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: 'Home', link: '/' },
{ text: 'Examples', link: '/markdown-examples' }
],
sidebar: [
{
text: 'Examples',
items: [
{ text: 'Markdown Examples', link: '/markdown-examples' },
{ text: 'Runtime API Examples', link: '/api-examples' }
]
}
],
sidebar: [
{
text: 'Examples',
items: [
{ text: 'Markdown Examples', link: '/markdown-examples' },
{ text: 'Runtime API Examples', link: '/api-examples' }
]
}
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/vuejs/vitepress' }
],
footer: {
message: '缩短LLM到Agent的最后一公里'
},
socialLinks: [
{ icon: 'github', link: 'https://github.com/vuejs/vitepress' }
],
footer: {
message: '缩短LLM到Agent的最后一公里',
copyright: 'OpenMCP All rights reserved'
},
// 添加右侧图片配置
logo: '/openmcp.png', // 确保图片放在public目录下
}
// 添加右侧图片配置
logo: '/images/openmcp.png', // 确保图片放在public目录下
}
})

View File

@ -1,5 +1,7 @@
<template>
<img class="VPImage image-src" src="/openmcp.png" alt="">
<div style="height: 420px;">
<img class="VPImage image-src" src="/images/openmcp.png" alt="">
</div>
</template>
<style scoped>
@ -27,10 +29,9 @@
position: absolute;
top: 50%;
left: 50%;
max-width: 352px;
max-height: 352px;
width: 100%;
height: 100%;
max-width: 500px;
max-height: 500px;
height: 99%;
object-fit: contain;
transform: translate(-50%, -50%);
}

View File

@ -0,0 +1,98 @@
<template>
<div class="two-side-layout">
<div :class="['content-container', { 'reverse': imagePlacement === 'left' }]">
<div class="text-content">
<div v-for="(item, index) in texts" :key="index" class="text-item">
<span class="prefix">{{ index + 1 }}.</span> {{ item }}
</div>
</div>
<div class="image-container">
<img :src="image" alt="双栏布局图片" />
</div>
</div>
</div>
</template>
<script setup>
import { defineProps } from 'vue';
const props = defineProps({
imagePlacement: {
type: String,
default: 'left',
validator: (value) => ['left', 'right'].includes(value)
},
texts: {
type: Array,
required: true
},
image: {
type: String,
required: true
}
});
</script>
<style>
.two-side-layout {
display: flex;
justify-content: center;
align-items: center;
}
.content-container {
display: flex;
gap: 2rem;
max-width: 1200px;
width: 100%;
}
.content-container.reverse {
flex-direction: row-reverse;
}
.text-content {
flex: 1;
font-size: 1.1rem;
line-height: 1.6;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.text-item {
width: 100%;
border-bottom: 1px solid var(--vp-c-default-3);
padding-bottom: 0.5rem;
margin-bottom: 0.5rem;
}
.prefix {
color: var(--vp-c-brand-1);
margin-right: 0.5rem;
}
.image-container {
flex: 2;
display: flex;
justify-content: center;
align-items: center;
}
.image-container img {
max-width: 100%;
object-fit: contain;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
.content-container {
flex-direction: column;
}
.content-container.reverse {
flex-direction: column-reverse;
}
}
</style>

View File

@ -2,7 +2,8 @@
import { h } from 'vue';
import type { Theme } from 'vitepress';
import DefaultTheme from 'vitepress/theme';
import HeroImage from './openmcp-hero-image.vue';
import HeroImage from './components/home/HeroImage.vue';
import TwoSideLayout from './components/home/TwoSideLayout.vue';
import './style.css';
@ -14,6 +15,6 @@ export default {
})
},
enhanceApp({ app, router, siteData }) {
// ...
app.component('TwoSideLayout', TwoSideLayout);
}
} satisfies Theme

View File

@ -137,3 +137,6 @@
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}
.two-side-layout .image-container {
display: unset !important;
}

20
.vscode/vue.code-snippets vendored Normal file
View File

@ -0,0 +1,20 @@
{
"Vue 3 TypeScript Component": {
"prefix": "vue3ts",
"body": [
"<template>",
"\t$1",
"</template>",
"",
"<script setup lang=\"ts\">",
"import { defineComponent } from 'vue';",
"",
"defineComponent({ name: '$TEMPLATE_NAME' });",
"</script>",
"",
"<style>",
"</style>"
],
"description": "Vue 3 TypeScript component template"
}
}

View File

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

BIN
images/openmcp.chatbot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 KiB

BIN
images/openmcp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
images/public-deploy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

View File

@ -4,26 +4,45 @@ layout: home
hero:
name: "OpenMCP"
text: "elegant mcp debuggers and sdk for developers"
tagline: Shortening the last mile from LLM to Agent
text: "面向开发者的优雅 MCP 调试器和 SDK"
tagline: 缩短从大语言模型到智能体的最后一公里
actions:
- theme: brand
text: OpenMCP Client
text: OpenMCP 客户端
link: /markdown-examples
- theme: alt
text: openmcp-sdk
link: /api-examples
- theme: alt
text: Github
link: /api-examples
text: GitHub
link: https://github.com/LSTM-Kirigaya/openmcp-client
features:
- title: Integrated Debugging Environment
details: Combines Inspector with MCP client functions for seamless development and testing
- title: Comprehensive Project Management
details: Offers complete project-level control panels for efficient MCP project oversight
- title: Multi-Model Support
details: Supports various large language models with flexible integration capabilities
- title: 集成调试环境
details: 将检查器与 MCP 客户端功能相结合,实现无缝开发和测试
- title: 全面的项目管理
details: 提供完整的项目级控制面板,实现高效的 MCP 项目监督
- title: 多模型支持
details: 支持多种大语言模型,具备灵活的集成能力
---
<br>
<br>
<br>
# OpenMCP 为谁准备?
<a href="https://qm.qq.com/cgi-bin/qm/qr?k=C6ZUTZvfqWoI12lWe7L93cWa1hUsuVT0&jump_from=webapi&authKey=McW6B1ogTPjPDrCyGttS890tMZGQ1KB3QLuG4aqVNRaYp4vlTSgf2c6dMcNjMuBD" target="_blank" style="display: inline-block; padding: 2px 8px; font-size: 0.8rem; background-color: var(--vp-c-brand-3); color: white; border-radius: .5em; text-decoration: none; margin-right: 10px;">开源社区爱好者</a><a href="https://qm.qq.com/cgi-bin/qm/qr?k=C6ZUTZvfqWoI12lWe7L93cWa1hUsuVT0&jump_from=webapi&authKey=McW6B1ogTPjPDrCyGttS890tMZGQ1KB3QLuG4aqVNRaYp4vlTSgf2c6dMcNjMuBD" target="_blank" style="display: inline-block; padding: 2px 8px; font-size: 0.8rem; background-color: var(--vp-button-alt-bg); color: white; border-radius: .5em; text-decoration: none; margin-right: 10px;">专业软件工程师</a><a href="https://qm.qq.com/cgi-bin/qm/qr?k=C6ZUTZvfqWoI12lWe7L93cWa1hUsuVT0&jump_from=webapi&authKey=McW6B1ogTPjPDrCyGttS890tMZGQ1KB3QLuG4aqVNRaYp4vlTSgf2c6dMcNjMuBD" target="_blank" style="display: inline-block; padding: 2px 8px; font-size: 0.8rem; background-color: var(--vp-button-alt-bg); color: white; border-radius: .5em; text-decoration: none; margin-right: 10px;">AI研发科学家</a>
<TwoSideLayout
:texts="[
'在编辑器中写完代码直接测试,无需打开第三方软件。提供极其丰富的功能和特性。',
'在左侧面板自由而优雅地管理、调试和测试你的智能体。',
'大模型调用工具的每一个细节一览无余,不满意的调用结果直接一键复现。',
'每一次对话都会显示各项性能指标,方便进行成本管理。',
'系统提示词管理面板,让您轻松用 mcp 服务器和系统提示词构建您的智能体应用。',
'每一次测试的细节都会 100% 跟随 git 进行版本控制,方便你分享你的每一次试验结果,也方便你零成本复现别人的 mcp 项目。'
]"
image="/images/openmcp.chatbot.png"
/>