smart-thinking-mcp 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -333
- package/build/config.d.ts +0 -10
- package/build/config.js +1 -11
- package/build/config.js.map +1 -1
- package/build/embedding-service.d.ts +19 -57
- package/build/embedding-service.js +79 -192
- package/build/embedding-service.js.map +1 -1
- package/build/examples/demo-session.d.ts +1 -0
- package/build/examples/demo-session.js +141 -0
- package/build/examples/demo-session.js.map +1 -0
- package/build/feature-flags.d.ts +18 -0
- package/build/feature-flags.js +22 -0
- package/build/feature-flags.js.map +1 -0
- package/build/heuristics/constants.d.ts +14 -0
- package/build/heuristics/constants.js +55 -0
- package/build/heuristics/constants.js.map +1 -0
- package/build/index.d.ts +1 -1
- package/build/index.js +29 -247
- package/build/index.js.map +1 -1
- package/build/memory-manager.d.ts +4 -3
- package/build/memory-manager.js +56 -41
- package/build/memory-manager.js.map +1 -1
- package/build/metrics-calculator.d.ts +18 -1
- package/build/metrics-calculator.js +357 -239
- package/build/metrics-calculator.js.map +1 -1
- package/build/quality-evaluator.js +34 -13
- package/build/quality-evaluator.js.map +1 -1
- package/build/reasoning-orchestrator.d.ts +37 -0
- package/build/reasoning-orchestrator.js +360 -0
- package/build/reasoning-orchestrator.js.map +1 -0
- package/build/services/service-container.d.ts +3 -3
- package/build/services/service-container.js +5 -5
- package/build/services/verification-service.js +26 -30
- package/build/services/verification-service.js.map +1 -1
- package/build/similarity-engine.d.ts +21 -0
- package/build/similarity-engine.js +153 -0
- package/build/similarity-engine.js.map +1 -0
- package/build/test-utils/logger-setup.d.ts +1 -0
- package/build/test-utils/logger-setup.js +7 -0
- package/build/test-utils/logger-setup.js.map +1 -0
- package/build/thought-graph.d.ts +3 -3
- package/build/thought-graph.js +174 -58
- package/build/thought-graph.js.map +1 -1
- package/build/tool-integrator.js +1 -3
- package/build/tool-integrator.js.map +1 -1
- package/build/types.d.ts +61 -0
- package/build/utils/logger.d.ts +26 -0
- package/build/utils/logger.js +136 -0
- package/build/utils/logger.js.map +1 -0
- package/build/utils/math-evaluator.js +1 -1
- package/build/utils/math-evaluator.js.map +1 -1
- package/build/utils/openrouter-client.d.ts +1 -36
- package/build/utils/openrouter-client.js +10 -258
- package/build/utils/openrouter-client.js.map +1 -1
- package/build/utils/persistence-utils.d.ts +40 -0
- package/build/utils/persistence-utils.js +209 -0
- package/build/utils/persistence-utils.js.map +1 -0
- package/build/verification-memory.d.ts +17 -5
- package/build/verification-memory.js +207 -148
- package/build/verification-memory.js.map +1 -1
- package/build/visualizer.js +75 -14
- package/build/visualizer.js.map +1 -1
- package/package.json +9 -4
- package/build/utils/e2b-calculator.d.ts +0 -118
- package/build/utils/e2b-calculator.js +0 -365
- package/build/utils/e2b-calculator.js.map +0 -1
- package/build/utils/e2b-client.d.ts +0 -53
- package/build/utils/e2b-client.js +0 -185
- package/build/utils/e2b-client.js.map +0 -1
- package/build/utils/enhanced-math-evaluator.d.ts +0 -42
- package/build/utils/enhanced-math-evaluator.js +0 -110
- package/build/utils/enhanced-math-evaluator.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
[](https://mseep.ai/app/leghis-smart-thinking)
|
|
2
|
+
|
|
1
3
|
# Smart-Thinking
|
|
2
4
|
|
|
3
5
|
[](https://smithery.ai/server/@Leghis/smart-thinking)
|
|
@@ -8,371 +10,85 @@
|
|
|
8
10
|
[](https://github.com/Leghis/smart-thinking-mcp)
|
|
9
11
|
[](https://github.com/Leghis/smart-thinking-mcp)
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
<img width="380" height="200" src="https://glama.ai/mcp/servers/@Leghis/Smart-Thinking/badge" alt="Smart-Thinking MCP server" />
|
|
13
|
-
</a>
|
|
14
|
-
|
|
15
|
-
## Vue d'ensemble
|
|
16
|
-
|
|
17
|
-
Smart-Thinking est un serveur MCP (Model Context Protocol) sophistiqué qui fournit un cadre de raisonnement multi-dimensionnel, adaptatif et auto-vérifiable pour les assistants IA comme Claude. Contrairement aux approches de raisonnement linéaire, Smart-Thinking utilise une architecture basée sur des graphes qui permet des connexions complexes entre les pensées, offrant ainsi une capacité de raisonnement plus nuancée et plus proche de la cognition humaine.
|
|
18
|
-
|
|
19
|
-
Smart-Thinking est entièrement compatible avec toutes les plateformes (Windows, macOS, Linux) et s'intègre parfaitement avec de nombreux clients MCP, notamment Claude Desktop, Cline, Windsurf et d'autres applications compatibles MCP.
|
|
13
|
+
Smart-Thinking is a Model Context Protocol (MCP) server that delivers graph-based, multi-step reasoning without relying on external AI APIs. Everything happens locally: similarity search, heuristic-based scoring, verification tracking, memory, and visualization all run in a deterministic pipeline designed for transparency and reproducibility.
|
|
20
14
|
|
|
21
|
-
##
|
|
15
|
+
## Core Capabilities
|
|
16
|
+
- Graph-first reasoning that connects thoughts with rich relationships (supports, contradicts, refines, contextual links, and more).
|
|
17
|
+
- Local TF-IDF + cosine similarity engine powering memory lookups and graph expansion without third-party embedding services.
|
|
18
|
+
- Heuristic quality evaluation that scores confidence, relevance, and quality using transparent rules instead of LLM calls.
|
|
19
|
+
- Verification workflow with detailed statuses and calculation tracing to surface facts, guardrails, and uncertainties.
|
|
20
|
+
- Persistent sessions that can be resumed across runs, keeping both the reasoning graph and verification ledger in sync.
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
## Reasoning Flow
|
|
23
|
+
1. **Session bootstrap** – `ReasoningOrchestrator` initializes a session, restores any saved graph state, and prepares feature flags.
|
|
24
|
+
2. **Pre-verification** – deterministic guards inspect the incoming thought, perform light-weight calculation checks, and annotate the payload.
|
|
25
|
+
3. **Graph integration** – the thought is inserted into `ThoughtGraph`, linking to context, prior thoughts, and relevant memories.
|
|
26
|
+
4. **Heuristic evaluation** – `QualityEvaluator` and `MetricsCalculator` compute weighted scores and traces that explain the decision path.
|
|
27
|
+
5. **Verification feedback** – statuses from `VerificationService` and heuristic traces are attached to the node and propagated across connections.
|
|
28
|
+
6. **Persistence & response** – updates are written to `MemoryManager`/`VerificationMemory`, and a structured MCP response is returned with a timeline of reasoning steps.
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
- Vérification automatique des faits et calculs avec 8 statuts différents
|
|
31
|
-
- Détection des contradictions et incertitudes dans le raisonnement
|
|
32
|
-
- Scores de fiabilité adaptés à chaque type de vérification
|
|
33
|
-
- Génération de résumés de certitude adaptés au contexte
|
|
34
|
-
|
|
35
|
-
### Fonctionnalités avancées
|
|
36
|
-
- Mémoire persistante pour les sessions précédentes
|
|
37
|
-
- Mécanismes d'auto-apprentissage pour améliorer le raisonnement
|
|
38
|
-
- Personnalisation adaptée à l'utilisateur pour un raisonnement pertinent
|
|
39
|
-
- Visualisations interactives du processus de raisonnement
|
|
40
|
-
- Collaboration multi-agents pour le travail d'équipe
|
|
41
|
-
- Intégration transparente avec l'écosystème d'outils MCP
|
|
42
|
-
|
|
43
|
-
### Compatibilité cross-plateforme
|
|
44
|
-
- Fonctionne de manière identique sur Windows, macOS et Linux
|
|
45
|
-
- Compatible avec NVM (Node Version Manager) sur toutes les plateformes
|
|
46
|
-
- Gestion automatique des chemins de fichiers selon la plateforme
|
|
47
|
-
- Configuration simplifiée pour chaque environnement
|
|
48
|
-
- Résolution automatique des problèmes spécifiques à chaque OS
|
|
30
|
+
Each step is logged with structured metadata so you can visualize the reasoning fabric, audit decisions, and replay sessions deterministically.
|
|
49
31
|
|
|
50
32
|
## Installation
|
|
33
|
+
Smart-Thinking ships as an npm package compatible with Windows, macOS, and Linux.
|
|
51
34
|
|
|
52
|
-
###
|
|
53
|
-
|
|
35
|
+
### Global install (recommended)
|
|
54
36
|
```bash
|
|
55
|
-
# Sur macOS/Linux
|
|
56
|
-
npm install -g smart-thinking-mcp
|
|
57
|
-
|
|
58
|
-
# Sur Windows (depuis PowerShell ou CMD)
|
|
59
37
|
npm install -g smart-thinking-mcp
|
|
60
38
|
```
|
|
61
39
|
|
|
62
|
-
###
|
|
63
|
-
|
|
64
|
-
Pour installer Smart-Thinking automatiquement via [Smithery](https://smithery.ai/server/@Leghis/smart-thinking):
|
|
65
|
-
|
|
40
|
+
### Run with npx
|
|
66
41
|
```bash
|
|
67
|
-
npx -y
|
|
42
|
+
npx -y smart-thinking-mcp
|
|
68
43
|
```
|
|
69
44
|
|
|
70
|
-
###
|
|
71
|
-
|
|
45
|
+
### Install via Smithery
|
|
72
46
|
```bash
|
|
73
|
-
|
|
74
|
-
npx -y smart-thinking-mcp
|
|
75
|
-
|
|
76
|
-
# Sur Windows (moins recommandé, préférez l'installation globale)
|
|
77
|
-
npx -y smart-thinking-mcp
|
|
47
|
+
npx -y @smithery/cli install @Leghis/smart-thinking --client claude
|
|
78
48
|
```
|
|
79
49
|
|
|
80
|
-
###
|
|
81
|
-
|
|
50
|
+
### From source
|
|
82
51
|
```bash
|
|
83
|
-
# Cloner le dépôt
|
|
84
52
|
git clone https://github.com/Leghis/Smart-Thinking.git
|
|
85
53
|
cd Smart-Thinking
|
|
86
|
-
|
|
87
|
-
# Installer les dépendances
|
|
88
54
|
npm install
|
|
89
|
-
|
|
90
|
-
# Compiler le projet
|
|
91
55
|
npm run build
|
|
92
|
-
|
|
93
|
-
# Créer un lien npm global
|
|
94
56
|
npm link
|
|
95
57
|
```
|
|
96
58
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
### Configuration sur macOS
|
|
100
|
-
|
|
101
|
-
Ajoutez cette configuration à votre fichier `~/Library/Application Support/Claude/claude_desktop_config.json` :
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"mcpServers": {
|
|
106
|
-
"smart-thinking": {
|
|
107
|
-
"command": "smart-thinking-mcp"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
OU via npx:
|
|
114
|
-
|
|
115
|
-
```json
|
|
116
|
-
{
|
|
117
|
-
"mcpServers": {
|
|
118
|
-
"smart-thinking": {
|
|
119
|
-
"command": "npx",
|
|
120
|
-
"args": ["-y", "smart-thinking-mcp"]
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Configuration sur Windows
|
|
127
|
-
|
|
128
|
-
Ajoutez cette configuration à votre fichier `%APPDATA%\Claude\claude_desktop_config.json` :
|
|
129
|
-
|
|
130
|
-
```json
|
|
131
|
-
{
|
|
132
|
-
"mcpServers": {
|
|
133
|
-
"smart-thinking": {
|
|
134
|
-
"command": "C:/Users/VotreNom/AppData/Roaming/npm/smart-thinking-mcp.cmd"
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
OU avec le chemin complet vers Node.js (recommandé pour Windows):
|
|
141
|
-
|
|
142
|
-
```json
|
|
143
|
-
{
|
|
144
|
-
"mcpServers": {
|
|
145
|
-
"smart-thinking": {
|
|
146
|
-
"command": "C:/Program Files/nodejs/node.exe",
|
|
147
|
-
"args": ["C:/Users/VotreNom/AppData/Roaming/npm/node_modules/smart-thinking-mcp/build/index.js"]
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Important**:
|
|
154
|
-
- Remplacez `VotreNom` par votre nom d'utilisateur Windows.
|
|
155
|
-
- Utilisez des forward slashes (`/`) dans les chemins Windows, même si l'OS utilise des backslashes (`\`).
|
|
156
|
-
|
|
157
|
-
Pour des instructions d'installation détaillées, consultez le [Guide d'installation](./GUIDE_INSTALLATION.md).
|
|
158
|
-
|
|
159
|
-
## Système de fichiers cross-plateforme
|
|
160
|
-
|
|
161
|
-
Smart-Thinking implémente une gestion avancée du système de fichiers compatible avec toutes les plateformes:
|
|
162
|
-
|
|
163
|
-
### Fonctionnalités du système de fichiers
|
|
164
|
-
|
|
165
|
-
- **Normalisation automatique des chemins**: Conversion transparente entre les séparateurs de chemin Windows (`\`) et Unix (`/`)
|
|
166
|
-
- **Détection de plateforme intégrée**: Adaptation automatique selon l'OS (Windows, macOS, Linux)
|
|
167
|
-
- **Gestion des chemins spéciaux**: Support pour les chemins UNC Windows, WSL et les chemins avec espaces
|
|
168
|
-
- **Répertoire de données auto-configuré**: Création et gestion automatique du répertoire de données
|
|
169
|
-
- **Fallback intelligent**: Création automatique d'un répertoire alternatif en cas de problème d'accès
|
|
170
|
-
- **Chemins de configuration spécifiques à la plateforme**: Localisation correcte des fichiers de configuration selon l'OS
|
|
171
|
-
|
|
172
|
-
### Configuration du répertoire de données
|
|
173
|
-
|
|
174
|
-
Par défaut, Smart-Thinking crée et utilise un dossier `data` dans son répertoire de travail. Vous pouvez également spécifier un répertoire personnalisé avec la variable d'environnement `SMART_THINKING_DATA_DIR`:
|
|
175
|
-
|
|
176
|
-
```json
|
|
177
|
-
{
|
|
178
|
-
"mcpServers": {
|
|
179
|
-
"smart-thinking": {
|
|
180
|
-
"command": "smart-thinking-mcp",
|
|
181
|
-
"env": {
|
|
182
|
-
"SMART_THINKING_DATA_DIR": "/chemin/absolu/vers/data"
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Support pour NVM (Node Version Manager)
|
|
190
|
-
|
|
191
|
-
Smart-Thinking détecte automatiquement si Node.js est installé via NVM et adapte les chemins en conséquence, offrant une compatibilité parfaite sur toutes les plateformes, y compris Windows avec NVM.
|
|
192
|
-
|
|
193
|
-
## Utilisation
|
|
194
|
-
|
|
195
|
-
### Paramètres principaux
|
|
196
|
-
|
|
197
|
-
| Paramètre | Type | Description |
|
|
198
|
-
|-----------|------|-------------|
|
|
199
|
-
| `thought` | string | Contenu de la pensée à analyser (obligatoire) |
|
|
200
|
-
| `thoughtType` | string | Type de pensée ('regular', 'revision', 'meta', 'hypothesis', 'conclusion') |
|
|
201
|
-
| `connections` | array | Connexions à d'autres pensées |
|
|
202
|
-
| `requestVerification` | boolean | Activer la vérification automatique |
|
|
203
|
-
| `containsCalculations` | boolean | Indiquer si la pensée contient des calculs |
|
|
204
|
-
| `generateVisualization` | boolean | Générer une visualisation du graphe de pensée |
|
|
205
|
-
| `suggestTools` | boolean | Suggérer des outils MCP pertinents |
|
|
206
|
-
| `sessionId` | string | Identifiant de session pour la persistance |
|
|
207
|
-
|
|
208
|
-
### Exemples d'utilisation
|
|
209
|
-
|
|
210
|
-
#### Raisonnement simple
|
|
211
|
-
```
|
|
212
|
-
Utilise l'outil Smart-Thinking pour analyser les avantages et inconvénients des énergies renouvelables.
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
#### Avec vérification automatique
|
|
216
|
-
```
|
|
217
|
-
Utilise Smart-Thinking avec vérification (requestVerification=true) pour évaluer les affirmations suivantes sur le changement climatique.
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
#### Avec visualisation
|
|
221
|
-
```
|
|
222
|
-
Utilise Smart-Thinking avec visualisation (generateVisualization=true) pour développer une stratégie marketing multicouche.
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
#### Analyse collaborative
|
|
226
|
-
```
|
|
227
|
-
Utilise Smart-Thinking avec un identifiant de session (sessionId="projet-innovation") pour analyser ce problème complexe d'optimisation.
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## Système de vérification
|
|
231
|
-
|
|
232
|
-
Smart-Thinking intègre un système sophistiqué de vérification qui évalue la fiabilité des informations et des calculs. Il prend en charge 8 statuts de vérification distincts :
|
|
233
|
-
|
|
234
|
-
| Statut | Description |
|
|
235
|
-
|--------|-------------|
|
|
236
|
-
| `verified` | Information vérifiée avec confiance |
|
|
237
|
-
| `partially_verified` | Information partiellement vérifiée |
|
|
238
|
-
| `unverified` | Information non vérifiée |
|
|
239
|
-
| `contradicted` | Information contredite par d'autres sources |
|
|
240
|
-
| `inconclusive` | Vérification non concluante |
|
|
241
|
-
| `absence_of_information` | Absence d'information sur le sujet |
|
|
242
|
-
| `uncertain` | Information incertaine à cause de contradictions |
|
|
243
|
-
| `contradictory` | Information intrinsèquement contradictoire |
|
|
244
|
-
|
|
245
|
-
Le système calcule un score de fiabilité qui combine ces statuts avec d'autres métriques comme la confiance, la pertinence et la qualité.
|
|
246
|
-
|
|
247
|
-
### Calcul du score de fiabilité
|
|
248
|
-
|
|
249
|
-
Le score de fiabilité est calculé selon une formule qui équilibre :
|
|
250
|
-
- Les métriques de base (confiance, pertinence, qualité)
|
|
251
|
-
- Le statut de vérification
|
|
252
|
-
- Les résultats de vérification des calculs (si présents)
|
|
253
|
-
- L'historique des scores précédents (pour un lissage temporel)
|
|
254
|
-
|
|
255
|
-
Les seuils et les scores ont été optimisés par simulation pour garantir une cohérence maximale.
|
|
256
|
-
|
|
257
|
-
## Visualisation
|
|
258
|
-
|
|
259
|
-
Smart-Thinking propose plusieurs types de visualisations du graphe de pensée :
|
|
260
|
-
|
|
261
|
-
- **Graphe standard**: Disposition standard du réseau de pensées
|
|
262
|
-
- **Chronologique**: Organisation temporelle des pensées
|
|
263
|
-
- **Thématique**: Clusters par thèmes similaires
|
|
264
|
-
- **Hiérarchique**: Structure arborescente
|
|
265
|
-
- **Force**: Disposition basée sur les forces d'attraction/répulsion
|
|
266
|
-
- **Radiale**: Cercles concentriques autour d'une pensée centrale
|
|
59
|
+
> Need platform-specific configuration details? See `GUIDE_INSTALLATION.md` for step-by-step instructions covering Windows, macOS, Linux, and Claude Desktop integration.
|
|
267
60
|
|
|
268
|
-
|
|
269
|
-
-
|
|
270
|
-
-
|
|
271
|
-
-
|
|
272
|
-
-
|
|
273
|
-
- Plages de dates
|
|
61
|
+
## Quick Tour
|
|
62
|
+
- `smart-thinking-mcp` — start the MCP server (globally installed package).
|
|
63
|
+
- `npx -y smart-thinking-mcp` — launch without a global install.
|
|
64
|
+
- `npm run start` — execute the built server from source.
|
|
65
|
+
- `npm run demo:session` — run the built-in CLI walkthrough that feeds sample thoughts through the reasoning pipeline and prints the resulting timeline.
|
|
274
66
|
|
|
275
|
-
|
|
67
|
+
The demo script showcases how the orchestrator adds nodes, evaluates heuristics, and records verification feedback step by step.
|
|
276
68
|
|
|
277
|
-
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
-
|
|
281
|
-
- Les préférences utilisateur pour personnalisation
|
|
282
|
-
|
|
283
|
-
Les données sont stockées de manière compatible cross-plateforme dans des fichiers JSON structurés sur le système de fichiers, garantissant la persistance entre les sessions.
|
|
284
|
-
|
|
285
|
-
## Compatibilité avec les clients MCP
|
|
286
|
-
|
|
287
|
-
Smart-Thinking est compatible avec de nombreux clients MCP, dont :
|
|
288
|
-
|
|
289
|
-
- **Claude Desktop App**: Support complet des outils, ressources et prompts
|
|
290
|
-
- **Cline**: Support pour les outils et ressources
|
|
291
|
-
- **Continue**: Support complet pour toutes les fonctionnalités MCP
|
|
292
|
-
- **5ire**: Support pour les outils
|
|
293
|
-
- **Cursor**: Support pour les outils
|
|
294
|
-
- **Windsurf Editor**: Support pour les outils AI Flow
|
|
295
|
-
- **Et plus encore...**
|
|
296
|
-
|
|
297
|
-
## Comparaison avec Sequential-Thinking
|
|
298
|
-
|
|
299
|
-
| Fonctionnalité | Sequential-Thinking | Smart-Thinking |
|
|
300
|
-
|----------------|---------------------|---------------|
|
|
301
|
-
| Structure de pensée | Linéaire | Multi-dimensionnelle (graphe) |
|
|
302
|
-
| Types de connexions | Limités | Riches et nuancés (16+ types) |
|
|
303
|
-
| Adaptation | Statique | Dynamique et contextuelle |
|
|
304
|
-
| Vérification | Basique | Avancée (8 statuts différents) |
|
|
305
|
-
| Visualisation | Simple | Interactive et paramétrable |
|
|
306
|
-
| Mémoire | Temporaire | Persistante avec vectorisation |
|
|
307
|
-
| Collaboration | Non | Oui (multi-agents) |
|
|
308
|
-
| Personnalisation | Limitée | Adaptative à l'utilisateur |
|
|
309
|
-
| Auto-apprentissage | Non | Oui |
|
|
310
|
-
| Métriques | Basiques | Contextuelle et multi-facteurs |
|
|
311
|
-
| Compatibilité plateforme | Limitée | Complète (Windows, macOS, Linux) |
|
|
312
|
-
|
|
313
|
-
## API et intégration
|
|
314
|
-
|
|
315
|
-
Smart-Thinking peut être intégré dans d'autres applications Node.js :
|
|
316
|
-
|
|
317
|
-
```javascript
|
|
318
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
319
|
-
import { SmartThinking } from 'smart-thinking-mcp';
|
|
320
|
-
|
|
321
|
-
// Initialiser Smart-Thinking
|
|
322
|
-
const smartThinking = new SmartThinking({
|
|
323
|
-
persistenceEnabled: true,
|
|
324
|
-
verificationEnabled: true
|
|
325
|
-
});
|
|
326
|
-
|
|
327
|
-
// Utiliser les fonctionnalités
|
|
328
|
-
const result = await smartThinking.processThought({
|
|
329
|
-
thought: "Cette pensée sera analysée et vérifiée",
|
|
330
|
-
requestVerification: true
|
|
331
|
-
});
|
|
332
|
-
|
|
333
|
-
console.log(result.qualityMetrics);
|
|
334
|
-
console.log(result.verificationStatus);
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
## Résolution des problèmes
|
|
338
|
-
|
|
339
|
-
### Vérification rapide du fonctionnement
|
|
340
|
-
|
|
341
|
-
Pour vérifier que Smart-Thinking fonctionne correctement:
|
|
69
|
+
## Configuration & Feature Flags
|
|
70
|
+
- `feature-flags.ts` toggles advanced behaviours such as external integrations (disabled by default) and verbose tracing.
|
|
71
|
+
- `config.ts` aligns platform-specific paths and verification thresholds.
|
|
72
|
+
- `memory-manager.ts` and `verification-memory.ts` store session graphs, metrics, and calculation results using deterministic JSON snapshots.
|
|
342
73
|
|
|
74
|
+
## Development Workflow
|
|
343
75
|
```bash
|
|
344
|
-
#
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
#
|
|
348
|
-
|
|
76
|
+
npm run build # Compile TypeScript sources
|
|
77
|
+
npm run lint # ESLint across src/
|
|
78
|
+
npm run test # Jest test suite
|
|
79
|
+
npm run test:coverage # Jest coverage report
|
|
80
|
+
npm run watch # Incremental TypeScript compilation
|
|
349
81
|
```
|
|
350
82
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
### Consulter les logs
|
|
354
|
-
|
|
355
|
-
Si vous rencontrez des difficultés, consultez les logs de Claude Desktop :
|
|
356
|
-
|
|
357
|
-
- Sur macOS : `~/Library/Logs/Claude/mcp*.log`
|
|
358
|
-
- Sur Windows : `%USERPROFILE%\AppData\Local\Claude\logs\mcp*.log`
|
|
359
|
-
- Sur Linux : `~/.local/share/Claude/logs/mcp*.log`
|
|
360
|
-
|
|
361
|
-
### Problèmes courants et solutions
|
|
362
|
-
|
|
363
|
-
| Problème | Solution |
|
|
364
|
-
|----------|----------|
|
|
365
|
-
| Smart-Thinking n'apparaît pas dans Claude | Vérifiez les chemins dans la configuration, redémarrez Claude Desktop |
|
|
366
|
-
| Erreurs d'accès aux fichiers | Vérifiez les permissions du répertoire de données |
|
|
367
|
-
| Problèmes de connexion sur Windows | Utilisez des chemins complets et absolus avec forward slashes |
|
|
368
|
-
| Erreurs avec NVM sur Windows | Utilisez le chemin complet vers la version active de Node.js |
|
|
369
|
-
|
|
370
|
-
Pour les problèmes spécifiques à Windows et NVM, consultez la section dédiée dans le [Guide d'installation](./GUIDE_INSTALLATION.md).
|
|
371
|
-
|
|
372
|
-
## Contribution
|
|
83
|
+
See `TRANSFORMATION_PLAN.md` for the full transformation history and the checklist that drives ongoing hardening.
|
|
373
84
|
|
|
374
|
-
|
|
85
|
+
## Quality & Support
|
|
86
|
+
- Deterministic heuristics and verification eliminate dependency on remote LLMs.
|
|
87
|
+
- Coverage targets: ≥80 % on persistence modules, ≥60 % branch coverage across orchestrator logic.
|
|
88
|
+
- CI recommendations: run `npm run lint` and `npm run test:coverage` before each release candidate.
|
|
375
89
|
|
|
376
|
-
##
|
|
90
|
+
## Contributing
|
|
91
|
+
Contributions are welcome. Please open an issue or pull request describing the change, and run the quality checks above before submitting.
|
|
377
92
|
|
|
93
|
+
## License
|
|
378
94
|
[MIT](./LICENSE)
|
package/build/config.d.ts
CHANGED
|
@@ -21,16 +21,6 @@ export declare const VerificationConfig: {
|
|
|
21
21
|
DEFAULT_SESSION_TTL: number;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
-
/**
|
|
25
|
-
* Configuration pour le service d'embeddings
|
|
26
|
-
*/
|
|
27
|
-
export declare const EmbeddingConfig: {
|
|
28
|
-
MODEL: string;
|
|
29
|
-
INPUT_TYPE: string;
|
|
30
|
-
BATCH_SIZE: number;
|
|
31
|
-
RETRY_ATTEMPTS: number;
|
|
32
|
-
RETRY_DELAY: number;
|
|
33
|
-
};
|
|
34
24
|
/**
|
|
35
25
|
* Constantes générales du système
|
|
36
26
|
*/
|
package/build/config.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PlatformConfig = exports.SystemConfig = exports.
|
|
36
|
+
exports.PlatformConfig = exports.SystemConfig = exports.VerificationConfig = void 0;
|
|
37
37
|
/**
|
|
38
38
|
* config.ts
|
|
39
39
|
*
|
|
@@ -68,16 +68,6 @@ exports.VerificationConfig = {
|
|
|
68
68
|
DEFAULT_SESSION_TTL: 86400000 // Durée de vie d'une session par défaut (24h)
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
|
-
/**
|
|
72
|
-
* Configuration pour le service d'embeddings
|
|
73
|
-
*/
|
|
74
|
-
exports.EmbeddingConfig = {
|
|
75
|
-
MODEL: 'embed-multilingual-v3.0', // Modèle d'embedding à utiliser
|
|
76
|
-
INPUT_TYPE: 'search_document', // Type d'entrée pour l'API d'embeddings
|
|
77
|
-
BATCH_SIZE: 20, // Taille maximale des lots pour les requêtes d'embedding
|
|
78
|
-
RETRY_ATTEMPTS: 3, // Nombre de tentatives en cas d'échec
|
|
79
|
-
RETRY_DELAY: 1000 // Délai entre les tentatives en milliseconds
|
|
80
|
-
};
|
|
81
71
|
/**
|
|
82
72
|
* Constantes générales du système
|
|
83
73
|
*/
|
package/build/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2BAA8B;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,89 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Service
|
|
3
|
-
*
|
|
2
|
+
* Service d'embeddings local sans dépendance externe.
|
|
3
|
+
*
|
|
4
|
+
* Phase 1 retire les appels Cohere et remplace la génération de vecteurs
|
|
5
|
+
* par une représentation déterministe construite à partir du texte.
|
|
4
6
|
*/
|
|
5
7
|
export declare class EmbeddingService {
|
|
6
|
-
private client;
|
|
7
8
|
private cache;
|
|
8
9
|
private cacheSize;
|
|
9
10
|
private maxCacheSize;
|
|
10
11
|
private cacheExpiration;
|
|
11
|
-
private
|
|
12
|
-
|
|
13
|
-
private batchSize;
|
|
14
|
-
private batchDelay;
|
|
15
|
-
constructor(apiKey: string);
|
|
12
|
+
private static warnedExternalUsage;
|
|
13
|
+
constructor();
|
|
16
14
|
/**
|
|
17
|
-
* Génère un embedding
|
|
18
|
-
* Utilise une file d'attente pour regrouper les requêtes en batch
|
|
19
|
-
*
|
|
20
|
-
* @param text Le texte pour lequel générer un embedding
|
|
21
|
-
* @returns Un vecteur d'embedding
|
|
15
|
+
* Génère un embedding déterministe à partir du texte (analyse de fréquence).
|
|
22
16
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
*/
|
|
27
|
-
private processBatch;
|
|
17
|
+
private buildLocalEmbedding;
|
|
18
|
+
private warnFeatureDisabled;
|
|
19
|
+
private addToCache;
|
|
28
20
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* @param text Le texte clé
|
|
32
|
-
* @param embedding Le vecteur à mettre en cache
|
|
21
|
+
* Génère un embedding pour un texte donné.
|
|
33
22
|
*/
|
|
34
|
-
|
|
23
|
+
getEmbedding(text: string): Promise<number[]>;
|
|
35
24
|
/**
|
|
36
|
-
* Génère des embeddings pour plusieurs textes
|
|
37
|
-
* avec gestion optimisée des batchs et du cache
|
|
38
|
-
*
|
|
39
|
-
* @param texts Les textes pour lesquels générer des embeddings
|
|
40
|
-
* @returns Un tableau de vecteurs d'embedding
|
|
25
|
+
* Génère des embeddings pour plusieurs textes.
|
|
41
26
|
*/
|
|
42
27
|
getEmbeddings(texts: string[]): Promise<number[][]>;
|
|
43
28
|
/**
|
|
44
|
-
* Calcule la similarité cosinus entre deux vecteurs
|
|
45
|
-
*
|
|
46
|
-
* @param vecA Premier vecteur
|
|
47
|
-
* @param vecB Second vecteur
|
|
48
|
-
* @returns Score de similarité entre 0 et 1
|
|
29
|
+
* Calcule la similarité cosinus entre deux vecteurs.
|
|
49
30
|
*/
|
|
50
31
|
calculateCosineSimilarity(vecA: number[], vecB: number[]): number;
|
|
51
32
|
/**
|
|
52
|
-
* Trouve les textes les plus similaires
|
|
53
|
-
* Utilise KNN pour la recherche de similarité
|
|
54
|
-
*
|
|
55
|
-
* @param referenceText Texte de référence
|
|
56
|
-
* @param candidateTexts Textes candidats
|
|
57
|
-
* @param limit Nombre maximum de résultats
|
|
58
|
-
* @param threshold Seuil de similarité minimum (optionnel)
|
|
59
|
-
* @returns Les textes les plus similaires avec leurs scores
|
|
33
|
+
* Trouve les textes les plus similaires.
|
|
60
34
|
*/
|
|
61
35
|
findSimilarTexts(referenceText: string, candidateTexts: string[], limit?: number, threshold?: number): Promise<Array<{
|
|
62
36
|
text: string;
|
|
63
37
|
score: number;
|
|
64
38
|
}>>;
|
|
65
39
|
/**
|
|
66
|
-
* Efface le cache
|
|
67
|
-
*
|
|
68
|
-
* @param all Si true, efface tout le cache, sinon seulement les entrées expirées
|
|
40
|
+
* Efface le cache ou supprime les entrées expirées.
|
|
69
41
|
*/
|
|
70
42
|
clearCache(all?: boolean): void;
|
|
71
43
|
/**
|
|
72
|
-
* Ajuste les paramètres du cache
|
|
73
|
-
*
|
|
74
|
-
* @param maxSize Taille maximale du cache
|
|
75
|
-
* @param expiration Durée de validité en millisecondes
|
|
44
|
+
* Ajuste les paramètres du cache.
|
|
76
45
|
*/
|
|
77
46
|
configureCacheParams(maxSize?: number, expiration?: number): void;
|
|
78
47
|
/**
|
|
79
|
-
*
|
|
80
|
-
*/
|
|
81
|
-
private reduceCache;
|
|
82
|
-
/**
|
|
83
|
-
* Configure les paramètres de batch
|
|
84
|
-
*
|
|
85
|
-
* @param batchSize Taille maximale des lots
|
|
86
|
-
* @param batchDelay Délai en ms pour regrouper les requêtes
|
|
48
|
+
* Paramètres de batch conservés pour compatibilité (aucun effet en mode local).
|
|
87
49
|
*/
|
|
88
|
-
configureBatchParams(
|
|
50
|
+
configureBatchParams(_batchSize?: number, _batchDelay?: number): void;
|
|
89
51
|
}
|