Deepseek Thinking & Claude 3.5 Sonnet

Combina las capacidades de razonamiento de DeepSeek con la generación de respuestas de Claude 3.5 Sonnet a través de OpenRouter.

Documentación

Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP

smithery badge

Un servidor de Protocolo de Contexto de Modelo (MCP) que combina las capacidades de razonamiento de DeepSeek R1 con la generación de respuestas de Claude 3.5 Sonnet a través de OpenRouter. Esta implementación utiliza un proceso de dos etapas donde DeepSeek proporciona razonamiento estructurado que luego se incorpora en la generación de respuestas de Claude.

Características

  • Procesamiento de Dos Etapas:

    • Utiliza DeepSeek R1 para el razonamiento inicial (contexto de 50k caracteres)
    • Utiliza Claude 3.5 Sonnet para la respuesta final (contexto de 600k caracteres)
    • Ambos modelos se acceden a través de la API unificada de OpenRouter
    • Inyecta los tokens de razonamiento de DeepSeek en el contexto de Claude
  • Gestión Inteligente de Conversaciones:

    • Detecta conversaciones activas usando tiempos de modificación de archivos
    • Maneja múltiples conversaciones concurrentes
    • Filtra automáticamente conversaciones finalizadas
    • Soporta limpieza de contexto cuando es necesario
  • Parámetros Optimizados:

    • Límites de contexto específicos por modelo:
      • DeepSeek: 50,000 caracteres para razonamiento enfocado
      • Claude: 600,000 caracteres para respuestas completas
    • Configuración recomendada:
      • temperature: 0.7 para creatividad equilibrada
      • top_p: 1.0 para distribución de probabilidad completa
      • repetition_penalty: 1.0 para prevenir repeticiones

Instalación

Instalación mediante Smithery

Para instalar DeepSeek Thinking con Claude 3.5 Sonnet para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @newideas99/Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP --client claude

Instalación Manual

  1. Clona el repositorio:
git clone https://github.com/yourusername/Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP.git
cd Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP
  1. Instala las dependencias:
npm install
  1. Crea un archivo .env con tu clave de API de OpenRouter:
# Required: OpenRouter API key for both DeepSeek and Claude models
OPENROUTER_API_KEY=your_openrouter_api_key_here

# Optional: Model configuration (defaults shown below)
DEEPSEEK_MODEL=deepseek/deepseek-r1  # DeepSeek model for reasoning
CLAUDE_MODEL=anthropic/claude-3.5-sonnet:beta  # Claude model for responses
  1. Compila el servidor:
npm run build

Uso con Cline

Añade a la configuración de MCP de Cline (normalmente en ~/.vscode/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "deepseek-claude": {
      "command": "/path/to/node",
      "args": ["/path/to/Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP/build/index.js"],
      "env": {
        "OPENROUTER_API_KEY": "your_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Uso de Herramientas

El servidor proporciona dos herramientas para generar y monitorear respuestas:

generate_response

Herramienta principal para generar respuestas con los siguientes parámetros:

{
  "prompt": string,           // Required: The question or prompt
  "showReasoning"?: boolean, // Optional: Show DeepSeek's reasoning process
  "clearContext"?: boolean,  // Optional: Clear conversation history
  "includeHistory"?: boolean // Optional: Include Cline conversation history
}

check_response_status

Herramienta para verificar el estado de una tarea de generación de respuestas:

{
  "taskId": string  // Required: The task ID from generate_response
}

Sondeo de Respuestas

El servidor utiliza un mecanismo de sondeo para manejar solicitudes de larga duración:

  1. Solicitud Inicial:

    • generate_response devuelve inmediatamente un ID de tarea
    • Formato de respuesta: {"taskId": "uuid-here"}
  2. Verificación de Estado:

    • Usa check_response_status para sondear el estado de la tarea
    • Nota: Las respuestas pueden tardar hasta 60 segundos en completarse
    • El estado progresa a través de: pendiente → razonamiento → respondiendo → completado

Ejemplo de uso en Cline:

// Initial request
const result = await use_mcp_tool({
  server_name: "deepseek-claude",
  tool_name: "generate_response",
  arguments: {
    prompt: "What is quantum computing?",
    showReasoning: true
  }
});

// Get taskId from result
const taskId = JSON.parse(result.content[0].text).taskId;

// Poll for status (may need multiple checks over ~60 seconds)
const status = await use_mcp_tool({
  server_name: "deepseek-claude",
  tool_name: "check_response_status",
  arguments: { taskId }
});

// Example status response when complete:
{
  "status": "complete",
  "reasoning": "...",  // If showReasoning was true
  "response": "..."    // The final response
}

Desarrollo

Para desarrollo con reconstrucción automática:

npm run watch

Cómo Funciona

  1. Etapa de Razonamiento (DeepSeek R1):

    • Utiliza la función de tokens de razonamiento de OpenRouter
    • El prompt se modifica para generar 'done' mientras captura el razonamiento
    • El razonamiento se extrae de los metadatos de la respuesta
  2. Etapa de Respuesta (Claude 3.5 Sonnet):

    • Recibe el prompt original y el razonamiento de DeepSeek
    • Genera la respuesta final incorporando el razonamiento
    • Mantiene el contexto y el historial de la conversación

Licencia

Licencia MIT - Consulta el archivo LICENSE para más detalles.

Créditos

Basado en el concepto RAT (Retrieval Augmented Thinking) de Skirano, que mejora las respuestas de IA a través de razonamiento estructurado y recuperación de conocimiento.

Esta implementación combina específicamente las capacidades de razonamiento de DeepSeek R1 con la generación de respuestas de Claude 3.5 Sonnet a través de la API unificada de OpenRouter.