26 包 monorepo(TS 全源码): - snowcat-core: NT 内核 API 封装 + listener(含 9.9.37 六回调适配)+ Packet 发包 - snowcat-onebot: OneBot v11 全动作 + MCP Streamable HTTP 适配器 + 稳定线 - snowcat-webui-frontend/backend: 雪猫控制台(React+HeroUI) - snowcat-shell: 单文件 bundle 出口(vite inlineDynamicImports) - snowcat-native: napi2native / MoeHoo / ffmpeg / pty 运行时 - 56 项 SnowLuma 独门动作移植(qzone 全家桶/群相册/装扮/闪照/收藏) - 工具件: 解包器/启动器/便携制作器/doctor GitHub 关联已全量指向 DandanLLab/SnowCatQQ
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { Chip } from '@heroui/chip';
|
|
|
|
import NetworkDisplayCard from './common_card';
|
|
import type { NetworkDisplayCardFields } from './common_card';
|
|
|
|
interface McpServerDisplayCardProps {
|
|
data: OneBotConfig['network']['mcpServers'][0];
|
|
showType?: boolean;
|
|
onEdit: () => void;
|
|
onEnable: () => Promise<void>;
|
|
onDelete: () => Promise<void>;
|
|
onEnableDebug: () => Promise<void>;
|
|
}
|
|
|
|
const McpServerDisplayCard: React.FC<McpServerDisplayCardProps> = (
|
|
props
|
|
) => {
|
|
const { data, showType, onEdit, onEnable, onDelete, onEnableDebug } = props;
|
|
const { host, port, token } = data;
|
|
|
|
const fields: NetworkDisplayCardFields<'mcpServers'> = [
|
|
{ label: '主机', value: host },
|
|
{ label: '端口', value: port },
|
|
{ label: '端点', value: `/mcp` },
|
|
{
|
|
label: '鉴权',
|
|
value: !!token,
|
|
render: (value) => (
|
|
<Chip color={value ? 'success' : 'warning'} size='sm' variant='flat'>
|
|
{value ? 'Bearer Token' : '未鉴权'}
|
|
</Chip>
|
|
),
|
|
},
|
|
];
|
|
|
|
return (
|
|
<NetworkDisplayCard
|
|
data={data}
|
|
showType={showType}
|
|
typeLabel='MCP服务器'
|
|
fields={fields}
|
|
onEdit={onEdit}
|
|
onEnable={onEnable}
|
|
onDelete={onDelete}
|
|
onEnableDebug={onEnableDebug}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default McpServerDisplayCard;
|