Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Routes to the best predicted fit from configured metadata/evidence after hard-capability filtering.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ANTHROPIC_API_KEY, ANTHROPIC_MODELS, ANTHROPIC_NAMES, ANTHROPIC_STRENGTHS, ANTHROPIC_CONTEXT, ANTHROPIC_MAX_OUTPUT, ANTHROPIC_TOOLS, ANTHROPIC_COST_IN, ANTHROPIC_COST_OUT, ANTHROPIC_TIER, MOONSHOT_API_KEY, MOONSHOT_BASE_URL, MOONSHOT_MODELS, MOONSHOT_NAMES, MOONSHOT_STRENGTHS, MOONSHOT_CONTEXT, MOONSHOT_MAX_OUTPUT, MOONSHOT_TOOLS, MOONSHOT_COST_IN, MOONSHOT_COST_OUT, MOONSHOT_TIER, OLLAMA_BASE_URL, OLLAMA_API_KEY, OLLAMA_MODELS, OLLAMA_NAMES, OLLAMA_STRENGTHS, OLLAMA_CONTEXT, OLLAMA_MAX_OUTPUT, OLLAMA_TOOLS, OLLAMA_COST_IN, OLLAMA_COST_OUT, OLLAMA_TIER, CLAUDE_CODE_ENABLED, CLAUDE_CODE_MODELS, CLAUDE_CODE_TIER, CLAUDE_CODE_MAX_OUTPUT, CLAUDE_CODE_TIMEOUT, CLAUDE_CODE_SYSTEM_PROMPT_MODE, CODEX_ENABLED, CODEX_MODELS, CODEX_TIER, CODEX_CONTEXT, CODEX_MAX_OUTPUT, CODEX_COST_IN, CODEX_COST_OUT, CODEX_TIMEOUT, OPENAI_COMPAT_BASE_URL, OPENAI_COMPAT_KEY, OPENAI_COMPAT_MODEL, OPENAI_COMPAT_NAME, OPENAI_COMPAT_STRENGTHS, OPENAI_COMPAT_CONTEXT, OPENAI_COMPAT_MAX_OUTPUT, OPENAI_COMPAT_TOOLS, OPENAI_COMPAT_COST_IN, OPENAI_COMPAT_COST_OUT, OPENAI_COMPAT_TIER, OPENAI_COMPAT_2_BASE_URL, OPENAI_COMPAT_2_KEY, OPENAI_COMPAT_2_MODEL, OPENAI_COMPAT_2_NAME, OPENAI_COMPAT_2_STRENGTHS, OPENAI_COMPAT_2_CONTEXT, OPENAI_COMPAT_2_MAX_OUTPUT, OPENAI_COMPAT_2_TOOLS, OPENAI_COMPAT_2_COST_IN, OPENAI_COMPAT_2_COST_OUT, OPENAI_COMPAT_2_TIER, OPENAI_COMPAT_3_BASE_URL, OPENAI_COMPAT_3_KEY, OPENAI_COMPAT_3_MODEL, OPENAI_COMPAT_3_NAME, OPENAI_COMPAT_3_STRENGTHS, OPENAI_COMPAT_3_CONTEXT, OPENAI_COMPAT_3_MAX_OUTPUT, OPENAI_COMPAT_3_TOOLS, OPENAI_COMPAT_3_COST_IN, OPENAI_COMPAT_3_COST_OUT, OPENAI_COMPAT_3_TIER, VOLANTE_QUALITY_PROFILES_FILE, VOLANTE_MODEL_OVERRIDES_FILE, VOLANTE_FETCH_ALLOWLIST, VOLANTE_READ_ROOT, VOLANTE_SANDBOX, VOLANTE_MAX_SUBSCRIPTION_CALLS标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"volante": {
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add volante --env ANTHROPIC_API_KEY=your-value --env ANTHROPIC_MODELS=your-value --env ANTHROPIC_NAMES=your-value --env ANTHROPIC_STRENGTHS=your-value --env ANTHROPIC_CONTEXT=your-value --env ANTHROPIC_MAX_OUTPUT=your-value --env ANTHROPIC_TOOLS=your-value --env ANTHROPIC_COST_IN=your-value --env ANTHROPIC_COST_OUT=your-value --env ANTHROPIC_TIER=your-value --env MOONSHOT_API_KEY=your-value --env MOONSHOT_BASE_URL=your-value --env MOONSHOT_MODELS=your-value --env MOONSHOT_NAMES=your-value --env MOONSHOT_STRENGTHS=your-value --env MOONSHOT_CONTEXT=your-value --env MOONSHOT_MAX_OUTPUT=your-value --env MOONSHOT_TOOLS=your-value --env MOONSHOT_COST_IN=your-value --env MOONSHOT_COST_OUT=your-value --env MOONSHOT_TIER=your-value --env OLLAMA_BASE_URL=your-value --env OLLAMA_API_KEY=your-value --env OLLAMA_MODELS=your-value --env OLLAMA_NAMES=your-value --env OLLAMA_STRENGTHS=your-value --env OLLAMA_CONTEXT=your-value --env OLLAMA_MAX_OUTPUT=your-value --env OLLAMA_TOOLS=your-value --env OLLAMA_COST_IN=your-value --env OLLAMA_COST_OUT=your-value --env OLLAMA_TIER=your-value --env CLAUDE_CODE_ENABLED=your-value --env CLAUDE_CODE_MODELS=your-value --env CLAUDE_CODE_TIER=your-value --env CLAUDE_CODE_MAX_OUTPUT=your-value --env CLAUDE_CODE_TIMEOUT=your-value --env CLAUDE_CODE_SYSTEM_PROMPT_MODE=your-value --env CODEX_ENABLED=your-value --env CODEX_MODELS=your-value --env CODEX_TIER=your-value --env CODEX_CONTEXT=your-value --env CODEX_MAX_OUTPUT=your-value --env CODEX_COST_IN=your-value --env CODEX_COST_OUT=your-value --env CODEX_TIMEOUT=your-value --env OPENAI_COMPAT_BASE_URL=your-value --env OPENAI_COMPAT_KEY=your-value --env OPENAI_COMPAT_MODEL=your-value --env OPENAI_COMPAT_NAME=your-value --env OPENAI_COMPAT_STRENGTHS=your-value --env OPENAI_COMPAT_CONTEXT=your-value --env OPENAI_COMPAT_MAX_OUTPUT=your-value --env OPENAI_COMPAT_TOOLS=your-value --env OPENAI_COMPAT_COST_IN=your-value --env OPENAI_COMPAT_COST_OUT=your-value --env OPENAI_COMPAT_TIER=your-value --env OPENAI_COMPAT_2_BASE_URL=your-value --env OPENAI_COMPAT_2_KEY=your-value --env OPENAI_COMPAT_2_MODEL=your-value --env OPENAI_COMPAT_2_NAME=your-value --env OPENAI_COMPAT_2_STRENGTHS=your-value --env OPENAI_COMPAT_2_CONTEXT=your-value --env OPENAI_COMPAT_2_MAX_OUTPUT=your-value --env OPENAI_COMPAT_2_TOOLS=your-value --env OPENAI_COMPAT_2_COST_IN=your-value --env OPENAI_COMPAT_2_COST_OUT=your-value --env OPENAI_COMPAT_2_TIER=your-value --env OPENAI_COMPAT_3_BASE_URL=your-value --env OPENAI_COMPAT_3_KEY=your-value --env OPENAI_COMPAT_3_MODEL=your-value --env OPENAI_COMPAT_3_NAME=your-value --env OPENAI_COMPAT_3_STRENGTHS=your-value --env OPENAI_COMPAT_3_CONTEXT=your-value --env OPENAI_COMPAT_3_MAX_OUTPUT=your-value --env OPENAI_COMPAT_3_TOOLS=your-value --env OPENAI_COMPAT_3_COST_IN=your-value --env OPENAI_COMPAT_3_COST_OUT=your-value --env OPENAI_COMPAT_3_TIER=your-value --env VOLANTE_QUALITY_PROFILES_FILE=your-value --env VOLANTE_MODEL_OVERRIDES_FILE=your-value --env VOLANTE_FETCH_ALLOWLIST=your-value --env VOLANTE_READ_ROOT=your-value --env VOLANTE_SANDBOX=your-value --env VOLANTE_MAX_SUBSCRIPTION_CALLS=your-value -- uvx volante运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"volante": {
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"volante": {
"type": "stdio",
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ANTHROPIC_MODELS envANTHROPIC_NAMES envANTHROPIC_STRENGTHS envANTHROPIC_CONTEXT envANTHROPIC_MAX_OUTPUT envANTHROPIC_TOOLS envANTHROPIC_COST_IN envANTHROPIC_COST_OUT envANTHROPIC_TIER envMOONSHOT_BASE_URL envMOONSHOT_MODELS envMOONSHOT_NAMES envMOONSHOT_STRENGTHS envMOONSHOT_CONTEXT envMOONSHOT_MAX_OUTPUT envMOONSHOT_TOOLS envMOONSHOT_COST_IN envMOONSHOT_COST_OUT envMOONSHOT_TIER envOLLAMA_BASE_URL envOLLAMA_MODELS envOLLAMA_NAMES envOLLAMA_STRENGTHS envOLLAMA_CONTEXT envOLLAMA_MAX_OUTPUT envOLLAMA_TOOLS envOLLAMA_COST_IN envOLLAMA_COST_OUT envOLLAMA_TIER envCLAUDE_CODE_ENABLED envCLAUDE_CODE_MODELS envCLAUDE_CODE_TIER envCLAUDE_CODE_MAX_OUTPUT envCLAUDE_CODE_TIMEOUT envCLAUDE_CODE_SYSTEM_PROMPT_MODE envCODEX_ENABLED envCODEX_MODELS envCODEX_TIER envCODEX_CONTEXT envCODEX_MAX_OUTPUT envCODEX_COST_IN envCODEX_COST_OUT envCODEX_TIMEOUT envOPENAI_COMPAT_BASE_URL envOPENAI_COMPAT_MODEL envOPENAI_COMPAT_NAME envOPENAI_COMPAT_STRENGTHS envOPENAI_COMPAT_CONTEXT envOPENAI_COMPAT_MAX_OUTPUT envOPENAI_COMPAT_TOOLS envOPENAI_COMPAT_COST_IN envOPENAI_COMPAT_COST_OUT envOPENAI_COMPAT_TIER envOPENAI_COMPAT_2_BASE_URL envOPENAI_COMPAT_2_MODEL envOPENAI_COMPAT_2_NAME envOPENAI_COMPAT_2_STRENGTHS envOPENAI_COMPAT_2_CONTEXT envOPENAI_COMPAT_2_MAX_OUTPUT envOPENAI_COMPAT_2_TOOLS envOPENAI_COMPAT_2_COST_IN envOPENAI_COMPAT_2_COST_OUT envOPENAI_COMPAT_2_TIER envOPENAI_COMPAT_3_BASE_URL envOPENAI_COMPAT_3_MODEL envOPENAI_COMPAT_3_NAME envOPENAI_COMPAT_3_STRENGTHS envOPENAI_COMPAT_3_CONTEXT envOPENAI_COMPAT_3_MAX_OUTPUT envOPENAI_COMPAT_3_TOOLS envOPENAI_COMPAT_3_COST_IN envOPENAI_COMPAT_3_COST_OUT envOPENAI_COMPAT_3_TIER envVOLANTE_QUALITY_PROFILES_FILE envVOLANTE_MODEL_OVERRIDES_FILE envVOLANTE_FETCH_ALLOWLIST envVOLANTE_READ_ROOT envVOLANTE_SANDBOX envVOLANTE_MAX_SUBSCRIPTION_CALLS env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 ribato22 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ANTHROPIC_API_KEY, MOONSHOT_API_KEY, OLLAMA_API_KEY, OPENAI_COMPAT_KEY, OPENAI_COMPAT_2_KEY, OPENAI_COMPAT_3_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.10.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tethered Trust
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A transparent, user-owned model router that checks its own answers (alpha). Volante routes a goal across the models *you* configured — enforcing hard capabilities first, ranking the rest on explainable metadata and evaluation evidence — and can then verify the result by RUNNING it: assertions derived from your goal, executed in a sandbox, reported check by check. Inventory, policy, credentials and decision traces stay on your machine. By default it answers in ONE call — across 72 paired runs, planning and synthesising scored -0.047 against that [95% CI -0.135, +0.041] at 8.8x the cost, so the interval bounds its best case near +0.04. --orchestrate opts back into the task DAG for the work that genuinely needs a tool loop, which one call cannot do.
What the measurements say, including the parts that do not flatter it. This project runs a 3-arm eval against itself and publishes the losses. Orchestration does not reliably beat a single strong model: an earlier release of this README claimed +0.289 at p<0.005, it failed to reproduce, and on the goal built to give decomposition headroom a stronger model in the same family scores 0.958 alone. Four predictive gates, a repair pass and a model-escalation policy were all built, measured, and discarded. What survived every test is narrower and real — the router, the reliability work (unparsable output 2 runs in 8 -> 0 in 8), and the verifier. Full numbers, method and corrections: eval/artifacts/README.md.
Selection quality is an evidence-based prediction, not a claim of a universal winner. Volante does not yet ship published representative cross-provider benchmarks or automatic score calibration. Built without an orchestration framework (no LangChain / CrewAI / LiteLLM).
A *volante* steers the game: the deep-lying midfielder who reads the whole pitch and sends the
ball where it does the most good — then takes it back. One mind, many players.
quality, local, cheap, and cash_protect_quota are distinct routing objectives.AnthropicProvider and a generic OpenAICompatProvider speak to Anthropic, Google AI Studio (Gemini), Groq, OpenRouter, DeepSeek, Moonshot (Kimi), local Ollama, and any other OpenAI-compatible endpoint. The inventory and credentials stay in the user's environment.run_python in a Docker-isolated sandbox when a daemon is available, withheld when none is — plus host-mediated fetch_url / read_file).volante --verify derives assert statements from your goal, runs them against the result in the sandbox, and prints which passed and which failed — with the check text, not a badge, because a failing check is often the CHECK being wrong and only the line shows that. It reports three states, including "not enough evidence" when your goal states no expected result. Measured: 0 false positives and 0 false negatives across 8 goals against a coarse defect, 5 of 6 caught against edit-shaped ones. A clean report is evidence, not a guarantee.CostMeter tallies per-model usage and cost, and propagates an *estimated* flag when a provider returns no usage.FakeProvider + local subprocesses), ruff-clean, mypy-clean.flowchart TD
goal(["goal"]) --> S["Supervisor plan → validated task DAG (acyclic · typed · one_shot | agentic)"] S --> R["Router best predicted fit per task (hard constraints → explainable score)"] R --> P subgraph wave["wave execution · asyncio fan-out · fail-fast"] direction TB P["Projector scoped, budget-capped request (system + task + deps)"] P --> W["Worker one-shot"] P --> AW["AgenticWorker model ↔ tool loop (run_python · fetch_url · read_file)"] end W --> BB[("Blackboard append-only · provenance · latest-wins")] AW --> BB BB --> SY["Synthesizer combine artifacts → final answer"] SY --> result(["result
classDef io stroke:#8b5cf6,stroke-width:2px; classDef store stroke:#f59e0b,stroke-width:2px; class goal,result io; class BB store;
Text version (renders anywhere, e.g. PyPI or a terminal)
┌──────────────┐
goal ──────────► │ Supervisor │ plan → validated task DAG (acyclic, typed, one_shot|agentic) └──────┬───────┘ ▼ ┌──────────────┐ per task: hard-capability filter, then rank the │ Router │ predicted fit from configured evidence └──────┬───────┘ ▼ ┌───────────── wave execution (asyncio, fan-out cap, fail-fast) ─────────────┐ │ ┌───────────┐ scoped, budget-capped request (system + task + deps) │ │ │ Projector │──────────────────────────────────────────────────────────► │ │ └───────────┘ │ │ ▼ ▼ │ │ ┌─────────┐ one-shot ┌───────────────┐ model↔tool loop │ │ │ Worker │ │ AgenticWorker │ (run_python sandbox, │ │ └────┬────┘ └───────┬───────┘ fetch_url, read_file) │ │ └──────────────┬──────────────────┘ │ └───────────────────────┼───────────────────────────────────────────────────┘ ▼ ┌──────────────────────┐ append-only, provenance, latest-wins │ Blackboard │◄────────────────────────────────────── └──────────┬───────────┘ ▼ ┌──────────────┐ │ Synthesizer │ combine artifacts → final answer └──────┬───────┘ ▼ result (+ CostMeter totals, usage, duration)
| Component | File | Responsibility |
|---|---|---|
| Supervisor | src/volante/supervisor.py | Decompose goal → validated task DAG |
| Router | src/volante/router.py | Whole inventory → eligible candidates → explainable ranking |
| Projector | src/volante/projector.py | Scoped, budget-capped request from blackboard artifacts |
| Worker | src/volante/worker.py | One-shot model call |
| AgenticWorker | src/volante/agent.py | Model↔tool loop with per-turn records |
| Blackboard | src/volante/blackboard.py | Append-only shared state with provenance |
| Synthesizer | src/volante/synthesizer.py | Artifacts → final answer |
| Runtime | src/volante/runtime.py | Orchestrate: plan → waves → synthesize (streaming, fail-fast) |
| Providers | src/volante/providers/ | Anthropic + OpenAI-compatible adapters (complete/stream/tools) |
| Tools | src/volante/tools/ | Sandbox / DockerSandbox, run_python, fetch_url, read_file |
| Eval | eval/ | 7 goals (5 katas + 2 multi-part), 3-arm comparison, forgery-resistant scorer |
Requires Python 3.11.10+ (the floor is a security boundary — see Providers).
Install it:
pip install volante # the CLI and the library
pip install "volante[mcp]" # ...plus the MCP server, for IDE use volante --version volante --list-models # what your environment currently offers, offline
volante needs at least one configured provider before it can run a goal — see Providers for the two-line setup. Until then --list-models and --help work and everything else will tell you what is missing.
Or work on it: the clone gives you the tests, the Web UI, and a zero-key demo that the wheel deliberately does not ship.
git clone https://github.com/ribato22/volante
cd volante uv sync --dev # install deps + dev tools uv run pytest # 1200+ tests, no network uv run ruff check . # lint
uv run python examples/fake_provider.py
Then configure at least one real provider (see Providers) and run a demo:
cp .env.example .env # fill in one provider, then `set -a; . .env; set +a`
uv run python demo.py # show detected providers uv run python demo.py orchestrate # full supervisor → workers → synth, streamed live uv run python demo.py agentic # one cross-provider agentic coding task (run_python loop) uv run python demo.py eval # 3-arm eval suite
demo.py orchestrate streams every phase live, then prints the result (illustrative):
Orchestrate demo — planner/synth model=openai/gpt-4o-mini
(planning + workers + synthesis stream live) [haiku] Threads run as one— / tasks bloom in parallel time, / the join gathers all.
STATUS: success
FINAL: Threads run as one— tasks bloom in parallel time, the join gathers all.
cost: $0.001834
demo.py eval prints the 3-arm table (format_report). Here is what it actually printed on the last full run:
GOAL WINNER BASE ORCH AGEN
slugify baseline 1.00
只显示了开头部分;其余内容请在仓库中阅读