Skip to main content
Glama
schema.ts3.17 kB
/** * 配置 Schema 定义模块 * 使用 Zod 进行类型安全的配置验证 */ import { z } from 'zod'; /** 支持的模型提供商 */ const PROVIDERS = ['gemini', 'anthropic', 'openai', 'ollama'] as const; /** 模型能力级别 */ const MODEL_TIERS = ['fast', 'balanced', 'powerful'] as const; /** * 模型配置 Schema */ export const ModelConfigSchema = z.object({ /** 模型提供商 */ provider: z.enum(PROVIDERS), /** 模型 ID */ model: z.string().min(1), /** 自定义 API 地址 */ baseUrl: z.string().url().optional(), /** 温度参数 (0-2) */ temperature: z.number().min(0).max(2).optional(), /** 最大输出 token 数 */ maxTokens: z.number().positive().optional(), /** 模型能力级别(用于动态专家分配) */ tier: z.enum(MODEL_TIERS).optional(), }); /** * Tech Lead 配置 Schema */ export const LeadConfigSchema = z.object({ /** 使用的模型名称 */ model: z.string().min(1), /** 温度参数 */ temperature: z.number().min(0).max(2).optional(), }); /** * 模型池配置 Schema * 按能力级别配置模型,用于动态专家分配 */ export const ModelPoolSchema = z.object({ /** 快速模型(简单任务) */ fast: z.string().min(1), /** 均衡模型(常规任务) */ balanced: z.string().min(1), /** 强力模型(复杂任务) */ powerful: z.string().min(1), }); /** * 自定义专家配置 Schema */ export const CustomExpertSchema = z.object({ /** 专家显示名称 */ name: z.string().min(1), /** 专家角色描述(System Prompt) */ prompt: z.string().min(1), /** 推荐模型级别 */ tier: z.enum(MODEL_TIERS).optional().default('balanced'), /** 技能标签 */ skills: z.array(z.string()).optional().default([]), }); /** * 协作配置 Schema */ export const CollaborationConfigSchema = z.object({ /** 最大迭代次数 */ maxIterations: z.number().positive().default(5), /** 是否自动审查 */ autoReview: z.boolean().default(true), /** 是否输出详细日志 */ verbose: z.boolean().default(false), }); /** * 完整配置 Schema */ export const ConfigSchema = z.object({ /** Tech Lead 配置 */ lead: LeadConfigSchema, /** 模型配置映射 */ models: z.record(z.string(), ModelConfigSchema), /** 模型池配置(按能力级别) */ modelPool: ModelPoolSchema, /** 协作配置 */ collaboration: CollaborationConfigSchema.optional(), /** 自定义专家配置 */ customExperts: z.record(z.string(), CustomExpertSchema).optional(), }); /** 完整配置类型 */ export type Config = z.infer<typeof ConfigSchema>; /** 模型配置类型 */ export type ModelConfig = z.infer<typeof ModelConfigSchema>; /** Tech Lead 配置类型 */ export type LeadConfig = z.infer<typeof LeadConfigSchema>; /** 模型池配置类型 */ export type ModelPoolConfig = z.infer<typeof ModelPoolSchema>; /** 协作配置类型 */ export type CollaborationConfig = z.infer<typeof CollaborationConfigSchema>; /** 模型能力级别类型 */ export type ModelTier = (typeof MODEL_TIERS)[number]; /** 自定义专家配置类型 */ export type CustomExpert = z.infer<typeof CustomExpertSchema>;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/7836246/claude-team-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server