Deep Thinker
Servidor MCP de pensamiento cognitivo avanzado con grafo de pensamiento basado en DAG, múltiples estrategias de razonamiento, metacognición y autoevaluación.
Documentación
deep-thinker
Servidor MCP de pensamiento cognitivo avanzado con grafo de pensamiento basado en DAG, 10 estrategias de razonamiento (incluida la auto-selección), 17 herramientas, alias de nodos, persistencia de sesiones, respuestas estructuradas y manejo inteligente de errores.
Una evolución significativa más allá del MCP de pensamiento secuencial, que proporciona razonamiento profundo estructurado con gestión de pensamiento basada en grafos, validación de esquemas y selección inteligente de estrategias.
Inicio rápido
npx deep-thinker
{
"mcpServers": {
"deep-thinker": {
"command": "npx",
"args": ["-y", "deep-thinker"]
}
}
}
Ejemplos
| Ejemplo | Estrategia | Caso de uso |
|---|---|---|
| Decisión de arquitectura | Dialéctica + Paralela | Monolito vs microservicios |
| Incidente de depuración | Abductiva | Errores 500 en producción |
| Priorización de funciones | Paralela + Dialéctica | Planificación del trimestre 3 |
| Hipótesis científica | Analógica + Abductiva | Entrega de LNP para CRISPR |
| Superar puntos muertos | Cambio metacognitivo | Análisis de costos de serverless |
Características
- Grafo de pensamiento basado en DAG — Los pensamientos forman un grafo acíclico dirigido con ramificaciones, fusiones y aristas cruzadas (no solo una cadena lineal)
- 10 Estrategias de razonamiento — Secuencial, Dialéctica (tesis→antítesis→síntesis), Paralela, Analógica, Abductiva, Primeros principios (deconstrucción hasta lo fundamental), Contrafactual (qué pasaría si con efectos en cadena), Pensamiento sistémico (bucles de retroalimentación y puntos de apalancamiento), MCTS (optimización de Monte Carlo), Auto (auto-selección inteligente basada en el contenido y el estado del grafo)
- Alias de nodos — Use
"last","best","root"en lugar de IDs de nodo crípticos para cualquier parámetro nodeId - Respuestas estructuradas — Todas las respuestas de las herramientas devuelven JSON
MCPResponseconsistente con acciónstatus,summary,confidence,nextSuggested - Persistencia de sesiones — Guarda automáticamente el grafo de pensamiento en
~/.deep-thinker/sessions/; reanuda entre reinicios de MCP conreset({ resume: "name" }) - Mensajes de error amigables — Errores de validación de Zod traducidos a sugerencias legibles (p. ej.,
"confidence 0 ile 1 arasında...") - Puntuación de confianza — Evaluación de confianza multifactorial con análisis de soporte/contradicción, penalizaciones por profundidad y mejoras por integración de conocimiento
- Autocrítica — Generación automática de críticas con niveles de gravedad y ajustes de confianza
- Motor metacognitivo — Detecta estados de estancamiento, estancamiento, disminución de confianza; sugiere cambios de estrategia y acciones correctivas
- Integración de conocimiento — Adjunta conocimiento externo a los pensamientos, detecta vacíos, valida la consistencia entre fuentes
- Poda de pensamientos — Detección de callejones sin salida, eliminación de redundancias, eliminación de ramas improductivas profundas, optimización de rutas
- Herramienta help — Descubra las 17 herramientas agrupadas por categoría (núcleo/avanzadas/flujo de trabajo) con ejemplos de inicio rápido
- Herramienta conclude — Resumen integral del grafo con primaryFinding, actionItems, graphHealth y nextSuggested
- Mejoras de razonamiento de alto coeficiente intelectual — 8 herramientas avanzadas: visualización, abogado del diablo, síntesis interdisciplinaria, proyección temporal, evaluación ética, análisis de inteligencia emocional, explicación de decisiones, análisis de impacto social
- Inteligencia emocional — Analiza el tono emocional, la empatía, la efectividad de la persuasión, las emociones de las partes interesadas
- Marcos éticos — Evalúa desde perspectivas deontológicas, consecuencialistas, de ética de la virtud y basadas en derechos
- Síntesis entre dominios — Combina conocimientos de biología, economía, física, psicología, informática y arte
- Razonamiento temporal — Proyecta pensamientos en escenarios futuros/pasados con escenarios optimistas, pesimistas, realistas y disruptivos
- Modelado de impacto social — Analiza las emociones de las partes interesadas, la cohesión grupal, la efectividad de la persuasión, la alineación ética
- Cuantificación de incertidumbre — Intervalos de confianza, distribuciones de probabilidad, análisis de sensibilidad para decisiones sólidas
- Soporte multiidioma — Pensamientos en inglés, turco, alemán, francés, español, japonés, chino y ruso
- Capas meta-cognitivas — Razonamiento recursivo en 5 niveles de meta-cognición
- PromptOptimizer (Nodo Cero) — Punto de entrada que transforma indicaciones vagas en super indicaciones optimizadas con enrutamiento automático de estrategias
Instalación
Global
npm install -g deep-thinker
npx (sin instalación)
npx deep-thinker
Configuración de MCP
Claude Desktop
Agregue a su claude_desktop_config.json:
{
"mcpServers": {
"deep-thinker": {
"command": "npx",
"args": ["-y", "deep-thinker"]
}
}
}
O si está instalado globalmente:
{
"mcpServers": {
"deep-thinker": {
"command": "deep-thinker"
}
}
}
Otros clientes MCP
El servidor se comunica a través de stdio. Apunte su cliente MCP al comando deep-thinker o a node path/to/dist/index.js.
Formato de respuesta
Todas las respuestas de las herramientas siguen la estructura MCPResponse:
{
"status": "ok | error | warning",
"nodeId": "thought_3",
"summary": "sequential stratejisiyle \"Should we use microservices?...\" eklendi",
"confidence": 0.75,
"data": { "...": "tool-specific data" },
"nextSuggested": {
"tool": "evaluate",
"params": { "critique": true },
"reason": "Düşük confidence — değerlendirme önerilir"
},
"warnings": ["Stuck detected: ..."]
}
El campo nextSuggested siempre recomienda el siguiente paso lógico, lo que facilita el encadenamiento de llamadas a herramientas sin adivinar.
Alias de nodos
En lugar de buscar IDs de nodo crípticos, use alias para cualquier parámetro nodeId, parentId o targetId:
| Alias | Resuelve a |
|---|---|
"last" | Nodo agregado más recientemente (orden de inserción) |
"best" | Nodo con la puntuación de confianza más alta |
"root" | Primer nodo sin aristas entrantes |
evaluate({ nodeId: "last" }) → evaluates the latest thought
simulate_devils_advocate({ nodeId: "best", depth: 2 }) → challenges the strongest thought
graph({ action: "path", nodeId: "root", targetId: "best" }) → traces from root to best conclusion
Persistencia de sesiones
Los grafos de pensamiento se guardan automáticamente después de cada llamada a think. Las sesiones se almacenan en ~/.deep-thinker/sessions/.
// Save current session explicitly
reset({ save: true, saveName: "my-analysis" })
// List saved sessions
reset({ listSessions: true })
// Resume a saved session after MCP restart
reset({ resume: "my-analysis" })
Herramientas
Herramientas principales
think
Agrega un pensamiento al grafo cognitivo usando una estrategia de razonamiento.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
content | string | Sí | El contenido del pensamiento |
type | string | No | Tipo de pensamiento: hypothesis, analysis, evidence, conclusion, question, assumption, insight, critique, synthesis, observation |
strategy | string | No | Estrategia: sequential, dialectic, parallel, analogical, abductive, first_principles, counterfactual, systems_thinking, mcts, auto |
confidence | number | No | Confianza inicial 0-1 (predeterminado: 0.5) |
parentId | string | No | ID o alias del nodo padre (predeterminado: última hoja) |
branch | string | No | Nombre de la rama para exploración paralela |
tags | string[] | No | Etiquetas para categorización |
edgeTo | object | No | Arista explícita: { targetId, type } |
dialectic | object | No | Modo dialéctico: { thesis, antithesis?, synthesis? } |
parallel | array | No | Modo paralelo: [{ content, type, confidence }] |
analogical | object | No | Modo analógico: { sourceDomain, mapping, projectedConclusion } |
abductive | object | No | Modo abductivo: { observation, explanations[], bestExplanation? } |
firstPrinciples | object | No | Modo de primeros principios: { problem, assumptions?, depth?, domain? } |
counterfactual | object | No | Modo contrafactual: { currentState?, variablesToChange, rippleDepth? } |
systemsThinking | object | No | Modo de pensamiento sistémico: { systemDescription?, components, focusArea? } |
mcts | object | No | Modo MCTS: { problem?, possibleActions, numSimulations? } |
knowledge | object | No | Adjuntar conocimiento: { source, content, relevance } |
Detalles de la estrategia:
| Estrategia | Descripción | Mejor para |
|---|---|---|
| Secuencial | Cadena lineal: cada pensamiento se deriva del anterior | Razonamiento paso a paso |
| Dialéctica | Patrón de tesis → antítesis → síntesis para resolver contradicciones | Resolver conflictos |
| Paralela | Explorar múltiples ramas independientes simultáneamente | Lluvia de ideas de opciones |
| Analógica | Mapear patrones de un dominio conocido al problema actual | Perspectivas entre dominios |
| Abductiva | Generar hipótesis e inferir la mejor explicación | Análisis de causa raíz |
| Primeros principios | Deconstruir hasta verdades fundamentales, desafiar suposiciones | Romper convenciones |
| Contrafactual | Escenarios de "qué pasaría si" con efectos en cadena de múltiples etapas | Análisis de riesgo/impacto |
| Pensamiento sistémico | Bucles de retroalimentación, puntos de apalancamiento, propiedades emergentes | Sistemas complejos |
| MCTS | Búsqueda de árbol de Monte Carlo para la selección óptima de decisiones | Problemas de optimización |
| Auto | Selecciona automáticamente la estrategia según las señales de contenido y el contexto del grafo | Razonamiento sin intervención |
Cómo funciona la estrategia auto:
La estrategia auto analiza su contenido en busca de palabras clave y el estado actual del grafo:
- Contenido con "why"/"neden"/"how"/"nasıl" →
abductive - Contenido con "if"/"eğer"/"what if"/"varsayalım" →
counterfactual - Contenido con "vs"/"veya"/"compare"/"karşılaştır" →
dialectic - Contenido con "system"/"sistem"/"loop"/"döngü" →
systems_thinking - Contenido con "fundamental"/"temel"/"assumption"/"varsayım" →
first_principles - Confianza promedio baja + muchos nodos →
parallel(superar el punto muerto) - Primer pensamiento →
sequential - Después de 4+ pensamientos secuenciales →
dialectic(introducir el punto de vista opuesto) - Predeterminado →
sequential
Tipos de aristas: derives_from, contradicts, supports, refines, challenges, synthesizes, parallels, abstracts, instantiates
evaluate
Evalúa el proceso de pensamiento con puntuación de confianza, crítica y análisis de salud del grafo.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | No | Nodo específico a evaluar (acepta alias: last, best, root) |
critique | boolean | No | Generar autocrítica (predeterminado: true) |
findGaps | boolean | No | Encontrar vacíos de conocimiento (predeterminado: false) |
validateKnowledge | boolean | No | Validar consistencia del conocimiento (predeterminado: false) |
metacog
Operaciones metacognitivas: monitorear y controlar el proceso de pensamiento.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
action | string | Sí | report = estado completo, switch = cambiar estrategia, auto_update = dejar que el sistema analice |
strategy | string | No | Nueva estrategia (para la acción switch) |
reason | string | No | Razón del cambio (para la acción switch) |
El motor metacognitivo automáticamente:
- Detecta estancamiento (la confianza no mejora)
- Detecta tendencias de confianza decreciente
- Detecta contradicciones excesivas
- Sugiere cambios de estrategia, poda, retroceso o conclusión
graph
Consulta y visualiza el grafo de pensamiento.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
action | string | Sí | visualize, stats, path, node, branches, best_path, leaves |
nodeId | string | No | ID o alias del nodo (para las acciones path, node) |
targetId | string | No | ID o alias de destino (para la acción path) |
prune
Poda y optimiza el grafo de pensamiento.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
action | string | Sí | analyze (solo informe), prune (ejecutar), optimize_path, prune_node |
nodeId | string | No | Nodo a podar: acepta alias (para prune_node) |
reason | string | No | Razón (para prune_node) |
reset
Reinicia el grafo de pensamiento y comienza una sesión nueva, guarda o reanuda una sesión guardada.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
problem | string | No | Nueva declaración del problema |
save | boolean | No | Guardar la sesión actual antes de reiniciar (predeterminado: false) |
saveName | string | No | Nombre para la sesión guardada (recomendado si save: true) |
resume | string | No | Reanudar una sesión guardada previamente por nombre |
listSessions | boolean | No | Listar todas las sesiones guardadas |
conclude
Analizar el grafo de pensamiento completo y producir un resumen-conclusión integral con elementos de acción e informe de salud del grafo.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
detailLevel | string | No | brief, detailed, technical (predeterminado: detailed) |
includeCounterfactuals | boolean | No | Incluir análisis contrafáctico (predeterminado: false) |
format | string | No | prose, structured, executive (predeterminado: structured) |
La respuesta incluye:
primaryFinding— Conclusión principal con confianzasupportingEvidence— Nodos adicionales de alta confianzastrategiesUsed— Qué estrategias contribuyeronkeyInsights— Nodos de tipo insight del mejor caminoactionItems— Acciones priorizadas derivadas de las conclusionesgraphHealth— Recuento de nodos, callejones sin salida, confianza promedio, recomendaciónnextSuggested— Siguiente paso lógico (podar si está insalubre, guardar si está completo)
help
Descubrir herramientas de deep-thinker y aprender flujos de trabajo de uso.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
category | string | No | all, core, advanced, workflow (predeterminado: all) |
Categorías:
- core — 7 herramientas de uso diario (think, evaluate, metacog, graph, prune, reset, conclude)
- advanced — 8 herramientas de análisis profundo (visualization, devil's advocate, cross-disciplinary, temporal, ethical, emotional, explanation, social impact, prompt optimizer)
- workflow — 3 flujos de trabajo recomendados:
- Quick Decision — reset → think parallel → evaluate → conclude
- Deep Analysis — reset → first_principles → counterfactual → devil's advocate → evaluate → metacog → prune → conclude
- Breaking Dead Ends — metacog report → switch strategy → cross-disciplinary → abductive
Herramientas Mejoradas (Razonamiento de Alto IQ)
visualize_thought_graph
Generar representación visual del grafo de pensamiento como SVG o ASCII.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
format | string | No | svg, ascii, o tree (predeterminado: ascii) |
highlightPath | string | No | Ruta entre dos IDs de nodo (formato: fromId-toId) |
showConfidence | boolean | No | Mostrar puntuaciones de confianza (predeterminado: true) |
simulate_devils_advocate
Generar contraargumentos y puntos de vista opuestos para un pensamiento dado.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | Sí | ID de nodo objetivo o alias (last, best, root) |
depth | number | No | Niveles de contraargumentos (1-5, predeterminado: 2) |
intensity | string | No | mild, moderate, o aggressive (predeterminado: moderate) |
cross_disciplinary_synthesis
Combinar ideas de múltiples dominios para generar perspectivas novedosas.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
sourceDomains | string[] | Sí | Dominios de los que extraer analogías (p. ej., ["biology", "economics", "art"]) |
targetProblem | string | Sí | Problema al que aplicar ideas interdisciplinarias |
maxAnalogies | number | No | Máximo de analogías a generar (1-10, predeterminado: 3) |
temporal_projection
Proyectar pensamientos en escenarios futuros o pasados.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | Sí | ID de nodo raíz o alias |
years | number | Sí | Años hacia adelante (positivo) o hacia atrás (negativo) |
scenario | string | No | optimistic, pessimistic, realistic, disruptive (predeterminado: realistic) |
ethical_framework_evaluation
Evaluar un pensamiento o decisión a través de múltiples marcos éticos.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | Sí | ID de nodo o alias |
frameworks | string[] | No | Qué marcos: deontological, consequentialist, virtue, rights_based (predeterminado: all) |
emotional_intelligence_analysis
Analizar tono emocional, emociones de las partes interesadas y dinámicas sociales.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
text | string | Sí | Texto a analizar por contenido emocional |
context | string | No | Contexto (p. ej., team meeting, customer feedback, crisis situation) |
perspectiveTaking | number | No | Nivel de adopción de perspectiva 0-1 (predeterminado: 0.7) |
explain_decision
Generar explicación comprensible para humanos de una ruta de decisión.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | Sí | ID de nodo de decisión/conclusión o alias |
detailLevel | string | No | simple, detailed, technical (predeterminado: detailed) |
includeCounterfactuals | boolean | No | Mostrar escenarios hipotéticos (predeterminado: true) |
social_impact_analysis
Analizar impacto social, emociones de las partes interesadas, cohesión grupal y efectividad de persuasión.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
nodeId | string | Sí | ID de nodo o alias |
stakeholders | string[] | No | Grupos de partes interesadas (predeterminado: ["customers", "employees", "investors", "community"]) |
optimize_prompt
PromptOptimizer (Node Zero) — transformar prompts vagos en Super Prompts optimizados con enrutamiento de estrategia.
Parámetros:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
originalPrompt | string | Sí | Prompt crudo y potencialmente vago del usuario |
userContext | object | No | { expertiseLevel, domainKnowledge[], preferences } |
conversationHistory | array | No | Mensajes previos para contexto (máx. 20) |
optimizationLevel | string | No | light, standard, aggressive (predeterminado: standard) |
targetModel | string | No | claude, gpt4, gpt35, local, generic (predeterminado: generic) |
autoRoute | boolean | No | Enrutar automáticamente a la estrategia recomendada (predeterminado: false) |
Ejemplos de Uso
Selección Automática de Estrategia (¡Nuevo!)
think: { content: "Eğer mikroservis kullansaydık ne olurdu?" }
→ Auto-selects strategy: counterfactual (detected "Eğer" = "if" signal)
think: { content: "Why is the server crashing?" }
→ Auto-selects strategy: abductive (detected "why" signal)
think: { content: "Monolith vs microservices?" }
→ Auto-selects strategy: dialectic (detected "vs" comparison signal)
Razonamiento Secuencial
think: "Should we use microservices?" → type: question, confidence: 0.9
think: "Monolith has deployment bottlenecks" → type: analysis, confidence: 0.7
think: "Team lacks DevOps capacity for microservices" → type: evidence, confidence: 0.8
evaluate: { nodeId: "last", critique: true }
→ { status: "ok", confidence: 0.73, nextSuggested: { tool: "metacog" } }
Razonamiento Dialéctico
think: {
strategy: "dialectic",
dialectic: {
thesis: "Microservices improve scalability",
antithesis: "But add operational complexity",
synthesis: "Use modular monolith as middle ground"
},
confidence: 0.75
}
Uso de Alias de Nodo
evaluate({ nodeId: "last" }) → evaluate latest thought
simulate_devils_advocate({ nodeId: "best", depth: 3 }) → challenge strongest thought
graph({ action: "path", nodeId: "root", targetId: "best" }) → trace reasoning path
think({ parentId: "root", content: "Alternative..." }) → branch from root
Guardado y Reanudación de Sesión
// Work on a problem...
think({ content: "Analysis...", strategy: "auto" })
think({ content: "Another insight..." })
// Save before closing
reset({ save: true, saveName: "architecture-review" })
// ... MCP restarts ...
// Resume exactly where you left off
reset({ resume: "architecture-review" })
→ { status: "ok", summary: "architecture-review oturumu geri yüklendi — 5 node ile devam ediliyor" }
Razonamiento de Primeros Principios
think: {
strategy: "first_principles",
firstPrinciples: {
problem: "How to improve battery efficiency?",
assumptions: ["Batteries must use lithium", "Charging takes hours"],
depth: 3,
domain: "physics"
}
}
→ Creates: Problem → Assumptions Challenged → Fundamental Truths → Reconstructed Solution
Análisis Contrafáctico (Qué Pasaría Si)
think: {
strategy: "counterfactual",
counterfactual: {
currentState: "Office-based work with 5-day commute",
variablesToChange: [
{ variable: "work_location", currentValue: "office", hypotheticalValue: "remote", impactWeight: 0.9 },
{ variable: "commute_days", currentValue: 5, hypotheticalValue: 0, impactWeight: 0.8 }
],
timeHorizon: "medium_term",
rippleDepth: 3
}
}
→ Creates: Baseline → Variable Changes → Stage 1/2/3 Ripple Effects → Scenarios → Risk Analysis
Pensamiento Sistémico
think: {
strategy: "systems_thinking",
systemsThinking: {
systemDescription: "Software development team dynamics",
components: [
{ name: "FeatureBacklog", type: "stock", description: "Pending work" },
{ name: "DeveloperCapacity", type: "stock", description: "Available developers" },
{ name: "CodeReviews", type: "flow", description: "Review process" },
{ name: "Quality", type: "converter", description: "Quality gates" }
],
focusArea: "feedback_loops"
}
}
→ Creates: System Overview → Components → Feedback Loops → Leverage Points → Recommendations
MCTS (Búsqueda de Árbol Monte Carlo)
think: {
strategy: "mcts",
mcts: {
problem: "Which architecture pattern to choose?",
possibleActions: [
{ id: "microservices", description: "Microservices architecture", estimatedReward: 0.7 },
{ id: "monolith", description: "Monolithic architecture", estimatedReward: 0.5 },
{ id: "modular", description: "Modular monolith", estimatedReward: 0.8 }
],
numSimulations: 100,
pruningThreshold: 0.2
}
}
→ Creates: Root → Actions → Simulations → Pruning Analysis → Optimal Path
Análisis de Conclusión
conclude({ detailLevel: "detailed" })
→ {
status: "ok",
summary: "12 dusunce, 3 dal, sequential+counterfactual stratejileriyle analiz tamamlandi",
data: {
conclusion: { primaryFinding: "...", confidence: 0.85 },
actionItems: [{ action: "Investigate...", priority: "high" }, ...],
graphHealth: { totalThoughts: 12, avgConfidence: 0.72, recommendation: "Graf saglikli gorunuyor" }
},
nextSuggested: { tool: "reset", params: { save: true }, reason: "Analizi kaydetmeyi unutmayin" }
}
Guía Metacognitiva
metacog: { action: "auto_update" }
→ Stuck detected + suggested action in nextSuggested
metacog: { action: "switch", strategy: "parallel", reason: "Break through impasse" }
→ Strategy switched + next step recommended
Podado (Pruning)
prune: { action: "analyze" }
→ Dead Ends, Redundant Branches, Total prunable count
prune: { action: "prune" }
→ Nodes pruned + metacog updated + nextSuggested
Obteniendo Ayuda
help() → all tools, all categories, all workflows
help({ category: "core" }) → 7 core tools with quick-start examples
help({ category: "advanced" }) → 9 advanced tools
help({ category: "workflow" }) → 3 recommended workflows
Mensajes de Error Amigables
Cuando la validación falla, obtienes errores legibles por humanos en lugar de salida Zod cruda:
think({ confidence: 1.5 })
→ {
status: "error",
error: "VALIDATION_ERROR",
message: "\"confidence\" parametresinde hata: ...",
field: "confidence",
hint: "confidence 0 ile 1 arasında bir sayı olmalı. Örnek: confidence: 0.7"
}
evaluate({ nodeId: "nonexistent" })
→ {
status: "error",
error: "NODE_NOT_FOUND",
provided: "nonexistent",
hint: "Geçerli alias'lar: \"last\", \"best\", \"root\" veya graph aracıyla node ID alın"
}
Arquitectura
src/
├── index.ts MCP server & 17 tool handlers
├── test.ts Core functionality tests (118 tests)
├── test_enhanced_strategies.ts Strategy tests (13 tests)
├── core/
│ ├── types.ts Type definitions, MCPResponse, NextAction
│ ├── schemas.ts Zod validation schemas (10 strategies incl. auto)
│ ├── node.ts ThoughtNode CRUD operations
│ ├── graph.ts DAG-based thought graph + resolveNodeId + aliases
│ ├── strategies.ts 10 reasoning strategies + selectStrategy (auto)
│ ├── scorer.ts Confidence scoring & self-critique
│ ├── metacog.ts Metacognitive engine with smart triggers
│ ├── knowledge.ts Knowledge integration & validation
│ ├── pruner.ts Dead-end/redundancy detection & pruning
│ ├── session.ts Session persistence (save/load/resume)
│ └── errors.ts Friendly error formatting (Zod + unknown)
└── enhancements/
├── visualization.ts SVG & ASCII graph visualization
├── devils_advocate.ts Counterargument generation
├── cross_disciplinary.ts Cross-domain analogy engine
├── temporal_projection.ts Future/past thought projection
├── ethical_evaluation.ts 4 ethical frameworks
├── emotional_intelligence.ts Emotion & sentiment analysis
├── explanation.ts Decision explainability
└── social_impact.ts Stakeholder & social impact
Novedades en v3.0.0
| Característica | Descripción |
|---|---|
| Alias de Nodo | Usar "last", "best", "root" en lugar de IDs de nodo para todos los parámetros nodeId |
| MCPResponse | Respuestas JSON estructuradas con status, summary, confidence, nextSuggested |
| Persistencia de Sesión | Auto-guardado en ~/.deep-thinker/sessions/, reanudar entre reinicios |
| Errores Amigables | Errores Zod → sugerencias legibles por humanos con orientación específica por campo |
| Herramienta help | Descubrimiento de herramientas en 3 categorías con ejemplos de flujos de trabajo |
| Herramienta conclude | Resumen del grafo con primaryFinding, actionItems, graphHealth |
| strategy: auto | Selección automática de estrategia basada en palabras clave del contenido + estado del grafo |
Comparación con sequential-thinking
| Característica | sequential-thinking | deep-thinker |
|---|---|---|
| Estructura de pensamiento | Cadena lineal | DAG (ramificaciones/fusiones/enlaces cruzados) |
| Estrategias | Solo secuencial | 10 estrategias (incl. selección automática) |
| Validación de esquema | Ninguna | Esquemas Zod para todas las estrategias |
| Confianza | Número de pensamiento básico | Puntuación multifactorial con análisis de tendencia |
| Autocrítica | Ninguna | Automática con niveles de gravedad |
| Metacognición | Ninguna | Detección de estancamiento, disparadores de estrategia inteligentes, cambio automático |
| Conocimiento | Ninguno | Referencias externas, detección de vacíos, validación de consistencia |
| Podado | Ninguno | Puntos muertos, redundancia, optimización de rutas |
| Consultas de grafo | Revisión lineal | Visualización, mejor camino, análisis de ramas, estadísticas |
| Referencias de nodo | Solo por ID | Alias: last, best, root |
| Formato de respuesta | Texto plano | MCPResponse estructurado con nextSuggested |
| Persistencia de sesión | Ninguna | Auto-guardado, guardar/cargar/reanudar |
| Mensajes de error | Errores crudos | Legibles por humanos con sugerencias |
| Descubrimiento de herramientas | Ninguno | Herramienta help con categorías y flujos de trabajo |
| Conclusión | Revisión manual | Herramienta conclude con actionItems |
| Selección de estrategia | Solo manual | Estrategia auto basada en contenido |
Desarrollo
git clone https://github.com/hubinoretros/deep-thinker.git
cd deep-thinker
npm install
npm run build
npm start
Pruebas
npm run build
npm test
131 pruebas cubriendo todos los módulos: Node, Graph, 10 Estrategias (incluyendo auto), Scorer, Metacog, Knowledge, Pruner, Integración, Casos límite, Validación de esquema.
Documentación
- Inmersión Profunda en Arquitectura — cómo funcionan internamente el DAG, la puntuación, la metacognición y el podado
- Guía de Selección de Estrategia — cuándo usar cada estrategia y cómo combinarlas
Contribuciones
Consulta CONTRIBUTING.md para las pautas. Se agradecen los PRs — especialmente nuevas estrategias de razonamiento e ideas de herramientas MCP.
Licencia
MIT