ollama-intern-mcp 2.0.1 → 2.1.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.es.md +130 -130
- package/README.fr.md +130 -130
- package/README.hi.md +130 -130
- package/README.it.md +130 -130
- package/README.ja.md +130 -130
- package/README.md +345 -304
- package/README.pt-BR.md +130 -130
- package/README.zh.md +130 -130
- package/SECURITY.md +42 -24
- package/dist/corpus/indexer.d.ts +21 -3
- package/dist/corpus/indexer.d.ts.map +1 -1
- package/dist/corpus/indexer.js +61 -9
- package/dist/corpus/indexer.js.map +1 -1
- package/dist/corpus/lock.d.ts +26 -0
- package/dist/corpus/lock.d.ts.map +1 -0
- package/dist/corpus/lock.js +46 -0
- package/dist/corpus/lock.js.map +1 -0
- package/dist/corpus/manifest.d.ts +51 -0
- package/dist/corpus/manifest.d.ts.map +1 -1
- package/dist/corpus/manifest.js +11 -3
- package/dist/corpus/manifest.js.map +1 -1
- package/dist/corpus/refresh.d.ts +30 -0
- package/dist/corpus/refresh.d.ts.map +1 -1
- package/dist/corpus/refresh.js +73 -14
- package/dist/corpus/refresh.js.map +1 -1
- package/dist/corpus/searcher.d.ts +9 -0
- package/dist/corpus/searcher.d.ts.map +1 -1
- package/dist/corpus/searcher.js +18 -0
- package/dist/corpus/searcher.js.map +1 -1
- package/dist/corpus/storage.d.ts +15 -0
- package/dist/corpus/storage.d.ts.map +1 -1
- package/dist/corpus/storage.js +19 -1
- package/dist/corpus/storage.js.map +1 -1
- package/dist/embedMath.d.ts +6 -0
- package/dist/embedMath.d.ts.map +1 -1
- package/dist/embedMath.js +11 -1
- package/dist/embedMath.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/guardrails/bannedPhrases.d.ts.map +1 -1
- package/dist/guardrails/bannedPhrases.js +6 -1
- package/dist/guardrails/bannedPhrases.js.map +1 -1
- package/dist/guardrails/stringifiedArrayGuard.js +1 -1
- package/dist/guardrails/stringifiedArrayGuard.js.map +1 -1
- package/dist/guardrails/timeouts.d.ts +7 -0
- package/dist/guardrails/timeouts.d.ts.map +1 -1
- package/dist/guardrails/timeouts.js +12 -3
- package/dist/guardrails/timeouts.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -6
- package/dist/index.js.map +1 -1
- package/dist/observability.d.ts +24 -0
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +15 -0
- package/dist/observability.js.map +1 -1
- package/dist/ollama.d.ts +53 -0
- package/dist/ollama.d.ts.map +1 -1
- package/dist/ollama.js +200 -21
- package/dist/ollama.js.map +1 -1
- package/dist/prewarm.d.ts +4 -0
- package/dist/prewarm.d.ts.map +1 -1
- package/dist/prewarm.js +15 -3
- package/dist/prewarm.js.map +1 -1
- package/dist/profiles.d.ts +6 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +19 -2
- package/dist/profiles.js.map +1 -1
- package/dist/semaphore.d.ts +23 -1
- package/dist/semaphore.d.ts.map +1 -1
- package/dist/semaphore.js +72 -15
- package/dist/semaphore.js.map +1 -1
- package/dist/sources.js +1 -1
- package/dist/sources.js.map +1 -1
- package/dist/tools/_helpers.d.ts +29 -0
- package/dist/tools/_helpers.d.ts.map +1 -0
- package/dist/tools/_helpers.js +39 -0
- package/dist/tools/_helpers.js.map +1 -0
- package/dist/tools/artifactDiff.d.ts +14 -39
- package/dist/tools/artifactDiff.d.ts.map +1 -1
- package/dist/tools/artifactDiff.js +1 -1
- package/dist/tools/artifactDiff.js.map +1 -1
- package/dist/tools/artifactExportToPath.d.ts +8 -19
- package/dist/tools/artifactExportToPath.d.ts.map +1 -1
- package/dist/tools/artifactList.d.ts +7 -19
- package/dist/tools/artifactList.d.ts.map +1 -1
- package/dist/tools/artifactPrune.d.ts +41 -0
- package/dist/tools/artifactPrune.d.ts.map +1 -0
- package/dist/tools/artifactPrune.js +164 -0
- package/dist/tools/artifactPrune.js.map +1 -0
- package/dist/tools/artifactRead.d.ts +8 -14
- package/dist/tools/artifactRead.d.ts.map +1 -1
- package/dist/tools/artifactRead.js +2 -2
- package/dist/tools/artifactRead.js.map +1 -1
- package/dist/tools/artifactSnippets.d.ts +9 -27
- package/dist/tools/artifactSnippets.d.ts.map +1 -1
- package/dist/tools/artifacts/diff.d.ts.map +1 -1
- package/dist/tools/artifacts/diff.js +11 -0
- package/dist/tools/artifacts/diff.js.map +1 -1
- package/dist/tools/artifacts/scan.js +1 -1
- package/dist/tools/artifacts/scan.js.map +1 -1
- package/dist/tools/artifacts/snippets.d.ts.map +1 -1
- package/dist/tools/artifacts/snippets.js +50 -32
- package/dist/tools/artifacts/snippets.js.map +1 -1
- package/dist/tools/batch.d.ts.map +1 -1
- package/dist/tools/batch.js +3 -1
- package/dist/tools/batch.js.map +1 -1
- package/dist/tools/batchProofCheck.d.ts +74 -0
- package/dist/tools/batchProofCheck.d.ts.map +1 -0
- package/dist/tools/batchProofCheck.js +241 -0
- package/dist/tools/batchProofCheck.js.map +1 -0
- package/dist/tools/changeBrief.d.ts +2 -18
- package/dist/tools/changeBrief.d.ts.map +1 -1
- package/dist/tools/changeBrief.js +4 -1
- package/dist/tools/changeBrief.js.map +1 -1
- package/dist/tools/chat.d.ts +7 -21
- package/dist/tools/chat.d.ts.map +1 -1
- package/dist/tools/classify.d.ts +3 -31
- package/dist/tools/classify.d.ts.map +1 -1
- package/dist/tools/codeCitation.d.ts +42 -0
- package/dist/tools/codeCitation.d.ts.map +1 -0
- package/dist/tools/codeCitation.js +196 -0
- package/dist/tools/codeCitation.js.map +1 -0
- package/dist/tools/codeMap.d.ts +42 -0
- package/dist/tools/codeMap.d.ts.map +1 -0
- package/dist/tools/codeMap.js +358 -0
- package/dist/tools/codeMap.js.map +1 -0
- package/dist/tools/corpusAmend.d.ts +39 -0
- package/dist/tools/corpusAmend.d.ts.map +1 -0
- package/dist/tools/corpusAmend.js +245 -0
- package/dist/tools/corpusAmend.js.map +1 -0
- package/dist/tools/corpusAmendHistory.d.ts +35 -0
- package/dist/tools/corpusAmendHistory.d.ts.map +1 -0
- package/dist/tools/corpusAmendHistory.js +62 -0
- package/dist/tools/corpusAmendHistory.js.map +1 -0
- package/dist/tools/corpusAnswer.d.ts +8 -14
- package/dist/tools/corpusAnswer.d.ts.map +1 -1
- package/dist/tools/corpusAnswer.js +54 -4
- package/dist/tools/corpusAnswer.js.map +1 -1
- package/dist/tools/corpusHealth.d.ts +64 -0
- package/dist/tools/corpusHealth.d.ts.map +1 -0
- package/dist/tools/corpusHealth.js +192 -0
- package/dist/tools/corpusHealth.js.map +1 -0
- package/dist/tools/corpusIndex.d.ts +2 -12
- package/dist/tools/corpusIndex.d.ts.map +1 -1
- package/dist/tools/corpusIndex.js +13 -4
- package/dist/tools/corpusIndex.js.map +1 -1
- package/dist/tools/corpusList.d.ts +1 -1
- package/dist/tools/corpusList.d.ts.map +1 -1
- package/dist/tools/corpusList.js +13 -0
- package/dist/tools/corpusList.js.map +1 -1
- package/dist/tools/corpusRefresh.d.ts +2 -5
- package/dist/tools/corpusRefresh.d.ts.map +1 -1
- package/dist/tools/corpusRefresh.js +6 -1
- package/dist/tools/corpusRefresh.js.map +1 -1
- package/dist/tools/corpusRerank.d.ts +70 -0
- package/dist/tools/corpusRerank.d.ts.map +1 -0
- package/dist/tools/corpusRerank.js +179 -0
- package/dist/tools/corpusRerank.js.map +1 -0
- package/dist/tools/corpusSearch.d.ts +72 -15
- package/dist/tools/corpusSearch.d.ts.map +1 -1
- package/dist/tools/corpusSearch.js +242 -11
- package/dist/tools/corpusSearch.js.map +1 -1
- package/dist/tools/doctor.d.ts +77 -0
- package/dist/tools/doctor.d.ts.map +1 -0
- package/dist/tools/doctor.js +236 -0
- package/dist/tools/doctor.js.map +1 -0
- package/dist/tools/draft.d.ts +12 -15
- package/dist/tools/draft.d.ts.map +1 -1
- package/dist/tools/draft.js +1 -1
- package/dist/tools/draft.js.map +1 -1
- package/dist/tools/embed.d.ts +21 -6
- package/dist/tools/embed.d.ts.map +1 -1
- package/dist/tools/embed.js +35 -0
- package/dist/tools/embed.js.map +1 -1
- package/dist/tools/embedSearch.d.ts +2 -24
- package/dist/tools/embedSearch.d.ts.map +1 -1
- package/dist/tools/embedSearch.js +4 -2
- package/dist/tools/embedSearch.js.map +1 -1
- package/dist/tools/extract.d.ts +2 -28
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +1 -1
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/hypothesisDrill.d.ts +44 -0
- package/dist/tools/hypothesisDrill.d.ts.map +1 -0
- package/dist/tools/hypothesisDrill.js +154 -0
- package/dist/tools/hypothesisDrill.js.map +1 -0
- package/dist/tools/incidentBrief.d.ts +2 -16
- package/dist/tools/incidentBrief.d.ts.map +1 -1
- package/dist/tools/incidentBrief.js +5 -1
- package/dist/tools/incidentBrief.js.map +1 -1
- package/dist/tools/logTail.d.ts +30 -0
- package/dist/tools/logTail.d.ts.map +1 -0
- package/dist/tools/logTail.js +137 -0
- package/dist/tools/logTail.js.map +1 -0
- package/dist/tools/multiFileRefactorPropose.d.ts +49 -0
- package/dist/tools/multiFileRefactorPropose.d.ts.map +1 -0
- package/dist/tools/multiFileRefactorPropose.js +203 -0
- package/dist/tools/multiFileRefactorPropose.js.map +1 -0
- package/dist/tools/packs/changePack.d.ts +2 -24
- package/dist/tools/packs/changePack.d.ts.map +1 -1
- package/dist/tools/packs/changePack.js +13 -2
- package/dist/tools/packs/changePack.js.map +1 -1
- package/dist/tools/packs/incidentPack.d.ts +2 -20
- package/dist/tools/packs/incidentPack.d.ts.map +1 -1
- package/dist/tools/packs/incidentPack.js +12 -2
- package/dist/tools/packs/incidentPack.js.map +1 -1
- package/dist/tools/packs/repoPack.d.ts +2 -22
- package/dist/tools/packs/repoPack.d.ts.map +1 -1
- package/dist/tools/packs/repoPack.js +10 -2
- package/dist/tools/packs/repoPack.js.map +1 -1
- package/dist/tools/refactorPlan.d.ts +40 -0
- package/dist/tools/refactorPlan.d.ts.map +1 -0
- package/dist/tools/refactorPlan.js +154 -0
- package/dist/tools/refactorPlan.js.map +1 -0
- package/dist/tools/repoBrief.d.ts +2 -18
- package/dist/tools/repoBrief.d.ts.map +1 -1
- package/dist/tools/repoBrief.js +4 -1
- package/dist/tools/repoBrief.js.map +1 -1
- package/dist/tools/research.d.ts +2 -12
- package/dist/tools/research.d.ts.map +1 -1
- package/dist/tools/research.js +1 -1
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/summarizeDeep.d.ts +3 -14
- package/dist/tools/summarizeDeep.d.ts.map +1 -1
- package/dist/tools/summarizeDeep.js +14 -4
- package/dist/tools/summarizeDeep.js.map +1 -1
- package/dist/tools/summarizeFast.d.ts +1 -7
- package/dist/tools/summarizeFast.d.ts.map +1 -1
- package/dist/tools/triageLogs.d.ts +9 -23
- package/dist/tools/triageLogs.d.ts.map +1 -1
- package/dist/tools/triageLogs.js +37 -3
- package/dist/tools/triageLogs.js.map +1 -1
- package/package.json +62 -61
package/README.es.md
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.md">English</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ollama-intern-mcp/readme.png" alt="Ollama Intern MCP" width="500">
|
|
7
|
-
</p>
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ollama-intern-mcp/readme.png" alt="Ollama Intern MCP" width="500">
|
|
7
|
+
</p>
|
|
8
8
|
|
|
9
|
-
<p align="center">
|
|
10
|
-
<a href="https://github.com/mcp-tool-shop-org/ollama-intern-mcp/actions"><img alt="CI" src="https://github.com/mcp-tool-shop-org/ollama-intern-mcp/actions/workflows/ci.yml/badge.svg"></a>
|
|
11
|
-
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
|
12
|
-
<a href="https://mcp-tool-shop-org.github.io/ollama-intern-mcp/"><img alt="Landing Page" src="https://img.shields.io/badge/landing-page-8b5cf6"></a>
|
|
13
|
-
<a href="https://mcp-tool-shop-org.github.io/ollama-intern-mcp/handbook/"><img alt="Handbook" src="https://img.shields.io/badge/handbook-docs-10b981"></a>
|
|
14
|
-
</p>
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://github.com/mcp-tool-shop-org/ollama-intern-mcp/actions"><img alt="CI" src="https://github.com/mcp-tool-shop-org/ollama-intern-mcp/actions/workflows/ci.yml/badge.svg"></a>
|
|
11
|
+
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
|
12
|
+
<a href="https://mcp-tool-shop-org.github.io/ollama-intern-mcp/"><img alt="Landing Page" src="https://img.shields.io/badge/landing-page-8b5cf6"></a>
|
|
13
|
+
<a href="https://mcp-tool-shop-org.github.io/ollama-intern-mcp/handbook/"><img alt="Handbook" src="https://img.shields.io/badge/handbook-docs-10b981"></a>
|
|
14
|
+
</p>
|
|
15
15
|
|
|
16
16
|
> **El "becario" local para Claude Code.** 28 herramientas estructuradas, informes basados en evidencia, artefactos duraderos.
|
|
17
17
|
|
|
@@ -19,49 +19,49 @@ Un servidor MCP que proporciona a Claude Code un **"becario" local** con reglas,
|
|
|
19
19
|
|
|
20
20
|
Sin nube. Sin telemetría. Nada de funciones "autónomas". Cada llamada muestra su trabajo.
|
|
21
21
|
|
|
22
|
-
---
|
|
22
|
+
---
|
|
23
23
|
|
|
24
24
|
## Ejemplo principal: una llamada, un artefacto
|
|
25
25
|
|
|
26
|
-
```jsonc
|
|
27
|
-
// Claude → ollama-intern-mcp
|
|
28
|
-
{
|
|
29
|
-
"tool": "ollama_incident_pack",
|
|
30
|
-
"arguments": {
|
|
31
|
-
"title": "sprite pipeline 5 AM paging regression",
|
|
32
|
-
"logs": "[2026-04-16 05:07] worker-3 OOM killed\n[2026-04-16 05:07] ollama /api/ps reports evicted=true size=8.1GB\n...",
|
|
33
|
-
"source_paths": ["F:/AI/sprite-foundry/src/worker.ts", "memory/sprite-foundry-visual-mastery.md"]
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
26
|
+
```jsonc
|
|
27
|
+
// Claude → ollama-intern-mcp
|
|
28
|
+
{
|
|
29
|
+
"tool": "ollama_incident_pack",
|
|
30
|
+
"arguments": {
|
|
31
|
+
"title": "sprite pipeline 5 AM paging regression",
|
|
32
|
+
"logs": "[2026-04-16 05:07] worker-3 OOM killed\n[2026-04-16 05:07] ollama /api/ps reports evicted=true size=8.1GB\n...",
|
|
33
|
+
"source_paths": ["F:/AI/sprite-foundry/src/worker.ts", "memory/sprite-foundry-visual-mastery.md"]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
37
|
|
|
38
38
|
Devuelve un "sobre" que apunta a un archivo en el disco:
|
|
39
39
|
|
|
40
|
-
```jsonc
|
|
41
|
-
{
|
|
42
|
-
"result": {
|
|
43
|
-
"pack": "incident",
|
|
44
|
-
"slug": "2026-04-16-sprite-pipeline-5-am-paging-regression",
|
|
45
|
-
"artifact_md": "~/.ollama-intern/artifacts/incident/2026-04-16-sprite-pipeline-5-am-paging-regression.md",
|
|
46
|
-
"artifact_json": "~/.ollama-intern/artifacts/incident/2026-04-16-sprite-pipeline-5-am-paging-regression.json",
|
|
47
|
-
"weak": false,
|
|
48
|
-
"evidence_count": 6,
|
|
49
|
-
"next_checks": ["residency.evicted across last 24h", "OLLAMA_MAX_LOADED_MODELS vs loaded size"]
|
|
50
|
-
},
|
|
51
|
-
"tier_used": "deep",
|
|
52
|
-
"model": "hermes3:8b",
|
|
53
|
-
"hardware_profile": "dev-rtx5080",
|
|
54
|
-
"tokens_in": 4180, "tokens_out": 612,
|
|
55
|
-
"elapsed_ms": 8410,
|
|
56
|
-
"residency": { "in_vram": true, "evicted": false }
|
|
57
|
-
}
|
|
58
|
-
```
|
|
40
|
+
```jsonc
|
|
41
|
+
{
|
|
42
|
+
"result": {
|
|
43
|
+
"pack": "incident",
|
|
44
|
+
"slug": "2026-04-16-sprite-pipeline-5-am-paging-regression",
|
|
45
|
+
"artifact_md": "~/.ollama-intern/artifacts/incident/2026-04-16-sprite-pipeline-5-am-paging-regression.md",
|
|
46
|
+
"artifact_json": "~/.ollama-intern/artifacts/incident/2026-04-16-sprite-pipeline-5-am-paging-regression.json",
|
|
47
|
+
"weak": false,
|
|
48
|
+
"evidence_count": 6,
|
|
49
|
+
"next_checks": ["residency.evicted across last 24h", "OLLAMA_MAX_LOADED_MODELS vs loaded size"]
|
|
50
|
+
},
|
|
51
|
+
"tier_used": "deep",
|
|
52
|
+
"model": "hermes3:8b",
|
|
53
|
+
"hardware_profile": "dev-rtx5080",
|
|
54
|
+
"tokens_in": 4180, "tokens_out": 612,
|
|
55
|
+
"elapsed_ms": 8410,
|
|
56
|
+
"residency": { "in_vram": true, "evicted": false }
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
59
|
|
|
60
60
|
Ese archivo Markdown es el resultado del "becario" en su escritorio: encabezados, bloque de evidencia con identificadores citados, comandos de investigación `next_checks`, y un indicador `weak: true` si la evidencia es limitada. Es determinista: el renderizador es código, no una instrucción. Ábrelo mañana, compáralo la semana que viene y expórtalo a un manual con `ollama_artifact_export_to_path`.
|
|
61
61
|
|
|
62
62
|
Todos los competidores en esta categoría destacan la función de "ahorro de tokens". Nosotros destacamos el hecho de que _aquí está el archivo que el becario escribió_.
|
|
63
63
|
|
|
64
|
-
---
|
|
64
|
+
---
|
|
65
65
|
|
|
66
66
|
## ¿Qué hay aquí? Cuatro niveles, 28 herramientas
|
|
67
67
|
|
|
@@ -79,34 +79,34 @@ Líneas congeladas:
|
|
|
79
79
|
- Los paquetes están congelados en 3. No hay nuevos tipos de paquete.
|
|
80
80
|
- El nivel de artefacto está congelado en 7.
|
|
81
81
|
|
|
82
|
-
La referencia completa de las herramientas se encuentra en el [manual](https://mcp-tool-shop-org.github.io/ollama-intern-mcp/handbook/
|
|
82
|
+
La referencia completa de las herramientas se encuentra en el [manual](https://mcp-tool-shop-org.github.io/ollama-intern-mcp/handbook/tools/).
|
|
83
83
|
|
|
84
|
-
---
|
|
84
|
+
---
|
|
85
85
|
|
|
86
86
|
## Instalación
|
|
87
87
|
|
|
88
|
-
```bash
|
|
89
|
-
npm install -g ollama-intern-mcp
|
|
90
|
-
```
|
|
88
|
+
```bash
|
|
89
|
+
npm install -g ollama-intern-mcp
|
|
90
|
+
```
|
|
91
91
|
|
|
92
92
|
Requiere [Ollama](https://ollama.com) instalado localmente y los modelos de nivel descargados.
|
|
93
93
|
|
|
94
94
|
### Claude Code
|
|
95
95
|
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"mcpServers": {
|
|
99
|
-
"ollama-intern": {
|
|
100
|
-
"command": "npx",
|
|
101
|
-
"args": ["-y", "ollama-intern-mcp"],
|
|
102
|
-
"env": {
|
|
103
|
-
"OLLAMA_HOST": "http://127.0.0.1:11434",
|
|
104
|
-
"INTERN_PROFILE": "dev-rtx5080"
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
```
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"mcpServers": {
|
|
99
|
+
"ollama-intern": {
|
|
100
|
+
"command": "npx",
|
|
101
|
+
"args": ["-y", "ollama-intern-mcp"],
|
|
102
|
+
"env": {
|
|
103
|
+
"OLLAMA_HOST": "http://127.0.0.1:11434",
|
|
104
|
+
"INTERN_PROFILE": "dev-rtx5080"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
110
|
|
|
111
111
|
### Claude Desktop
|
|
112
112
|
|
|
@@ -118,31 +118,31 @@ Este MCP fue validado de extremo a extremo con el [Agente Hermes](https://github
|
|
|
118
118
|
|
|
119
119
|
Configuración de referencia ([hermes.config.example.yaml](hermes.config.example.yaml) en este repositorio):
|
|
120
120
|
|
|
121
|
-
```yaml
|
|
122
|
-
model:
|
|
123
|
-
provider: custom
|
|
124
|
-
base_url: http://localhost:11434/v1
|
|
125
|
-
default: hermes3:8b
|
|
126
|
-
context_length: 65536 # Hermes requires 64K floor under model.*
|
|
127
|
-
|
|
128
|
-
providers:
|
|
129
|
-
local-ollama:
|
|
130
|
-
name: local-ollama
|
|
131
|
-
base_url: http://localhost:11434/v1
|
|
132
|
-
api_mode: openai_chat
|
|
133
|
-
api_key: ollama
|
|
134
|
-
model: hermes3:8b
|
|
135
|
-
|
|
136
|
-
mcp_servers:
|
|
137
|
-
ollama-intern:
|
|
138
|
-
command: npx
|
|
139
|
-
args: ["-y", "ollama-intern-mcp"]
|
|
140
|
-
env:
|
|
141
|
-
OLLAMA_HOST: http://localhost:11434
|
|
142
|
-
INTERN_PROFILE: dev-rtx5080
|
|
143
|
-
# hermes3:8b is the default ladder in v2.0.0, so tier overrides are
|
|
144
|
-
# only needed if you're pinning a different local model.
|
|
145
|
-
```
|
|
121
|
+
```yaml
|
|
122
|
+
model:
|
|
123
|
+
provider: custom
|
|
124
|
+
base_url: http://localhost:11434/v1
|
|
125
|
+
default: hermes3:8b
|
|
126
|
+
context_length: 65536 # Hermes requires 64K floor under model.*
|
|
127
|
+
|
|
128
|
+
providers:
|
|
129
|
+
local-ollama:
|
|
130
|
+
name: local-ollama
|
|
131
|
+
base_url: http://localhost:11434/v1
|
|
132
|
+
api_mode: openai_chat
|
|
133
|
+
api_key: ollama
|
|
134
|
+
model: hermes3:8b
|
|
135
|
+
|
|
136
|
+
mcp_servers:
|
|
137
|
+
ollama-intern:
|
|
138
|
+
command: npx
|
|
139
|
+
args: ["-y", "ollama-intern-mcp"]
|
|
140
|
+
env:
|
|
141
|
+
OLLAMA_HOST: http://localhost:11434
|
|
142
|
+
INTERN_PROFILE: dev-rtx5080
|
|
143
|
+
# hermes3:8b is the default ladder in v2.0.0, so tier overrides are
|
|
144
|
+
# only needed if you're pinning a different local model.
|
|
145
|
+
```
|
|
146
146
|
|
|
147
147
|
**La estructura del prompt es importante.** Los prompts de invocación de herramientas imperativos ("Llama a X con los argumentos…") son la prueba de integración; proporcionan a un modelo local de 8B suficiente estructura para generar llamadas de herramientas limpias (`tool_calls`). Los prompts de tareas múltiples en formato de lista ("haz A, luego B, luego C") son puntos de referencia de capacidad para modelos más grandes; no interpretes un fallo en formato de lista en un modelo de 8B como "el sistema está dañado". Consulta [handbook/with-hermes](https://mcp-tool-shop-org.github.io/ollama-intern-mcp/handbook/with-hermes/) para obtener una guía completa de la integración y las limitaciones de transporte conocidas (transmisión de Ollama `/v1` + shim no transmisivo de openai-SDK).
|
|
148
148
|
|
|
@@ -150,62 +150,62 @@ mcp_servers:
|
|
|
150
150
|
|
|
151
151
|
**Perfil de desarrollo predeterminado (RTX 5080 16GB y similar):**
|
|
152
152
|
|
|
153
|
-
```bash
|
|
154
|
-
ollama pull hermes3:8b
|
|
155
|
-
ollama pull nomic-embed-text
|
|
156
|
-
export OLLAMA_MAX_LOADED_MODELS=2
|
|
157
|
-
export OLLAMA_KEEP_ALIVE=-1
|
|
158
|
-
```
|
|
153
|
+
```bash
|
|
154
|
+
ollama pull hermes3:8b
|
|
155
|
+
ollama pull nomic-embed-text
|
|
156
|
+
export OLLAMA_MAX_LOADED_MODELS=2
|
|
157
|
+
export OLLAMA_KEEP_ALIVE=-1
|
|
158
|
+
```
|
|
159
159
|
|
|
160
160
|
**Ruta alternativa de Qwen 3 (mismo hardware, para herramientas de Qwen):**
|
|
161
161
|
|
|
162
|
-
```bash
|
|
163
|
-
ollama pull qwen3:8b
|
|
164
|
-
ollama pull qwen3:14b
|
|
165
|
-
ollama pull nomic-embed-text
|
|
166
|
-
export INTERN_PROFILE=dev-rtx5080-qwen3
|
|
167
|
-
```
|
|
162
|
+
```bash
|
|
163
|
+
ollama pull qwen3:8b
|
|
164
|
+
ollama pull qwen3:14b
|
|
165
|
+
ollama pull nomic-embed-text
|
|
166
|
+
export INTERN_PROFILE=dev-rtx5080-qwen3
|
|
167
|
+
```
|
|
168
168
|
|
|
169
169
|
**Perfil M5 Max (128GB unificados):**
|
|
170
170
|
|
|
171
|
-
```bash
|
|
172
|
-
ollama pull qwen3:14b
|
|
173
|
-
ollama pull qwen3:32b
|
|
174
|
-
ollama pull nomic-embed-text
|
|
175
|
-
export INTERN_PROFILE=m5-max
|
|
176
|
-
```
|
|
171
|
+
```bash
|
|
172
|
+
ollama pull qwen3:14b
|
|
173
|
+
ollama pull qwen3:32b
|
|
174
|
+
ollama pull nomic-embed-text
|
|
175
|
+
export INTERN_PROFILE=m5-max
|
|
176
|
+
```
|
|
177
177
|
|
|
178
178
|
Las variables de entorno por nivel (`INTERN_TIER_INSTANT`, `INTERN_TIER_WORKHORSE`, `INTERN_TIER_DEEP`, `INTERN_EMBED_MODEL`) aún anulan las selecciones del perfil para casos individuales.
|
|
179
179
|
|
|
180
|
-
---
|
|
180
|
+
---
|
|
181
181
|
|
|
182
182
|
## "Sobre" uniforme
|
|
183
183
|
|
|
184
184
|
Cada herramienta devuelve la misma estructura:
|
|
185
185
|
|
|
186
|
-
```ts
|
|
187
|
-
{
|
|
188
|
-
result: <tool-specific>,
|
|
189
|
-
tier_used: "instant" | "workhorse" | "deep" | "embed",
|
|
190
|
-
model: string,
|
|
191
|
-
hardware_profile: string, // "dev-rtx5080" | "dev-rtx5080-qwen3" | "m5-max"
|
|
192
|
-
tokens_in: number,
|
|
193
|
-
tokens_out: number,
|
|
194
|
-
elapsed_ms: number,
|
|
195
|
-
residency: {
|
|
196
|
-
in_vram: boolean,
|
|
197
|
-
size_bytes: number,
|
|
198
|
-
size_vram_bytes: number,
|
|
199
|
-
evicted: boolean
|
|
200
|
-
} | null
|
|
201
|
-
}
|
|
202
|
-
```
|
|
186
|
+
```ts
|
|
187
|
+
{
|
|
188
|
+
result: <tool-specific>,
|
|
189
|
+
tier_used: "instant" | "workhorse" | "deep" | "embed",
|
|
190
|
+
model: string,
|
|
191
|
+
hardware_profile: string, // "dev-rtx5080" | "dev-rtx5080-qwen3" | "m5-max"
|
|
192
|
+
tokens_in: number,
|
|
193
|
+
tokens_out: number,
|
|
194
|
+
elapsed_ms: number,
|
|
195
|
+
residency: {
|
|
196
|
+
in_vram: boolean,
|
|
197
|
+
size_bytes: number,
|
|
198
|
+
size_vram_bytes: number,
|
|
199
|
+
evicted: boolean
|
|
200
|
+
} | null
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
203
|
|
|
204
204
|
La información de `residency` (residencia) proviene de `/api/ps` de Ollama. Cuando `evicted: true` (desalojado) o `size_vram < size` (tamaño de la VRAM menor que el tamaño), el modelo se carga en el disco y la inferencia se reduce entre 5 y 10 veces. Muestra esta información al usuario para que sepa que debe reiniciar Ollama o reducir el número de modelos cargados.
|
|
205
205
|
|
|
206
206
|
Cada llamada se registra como una línea en formato NDJSON en `~/.ollama-intern/log.ndjson`. Filtra por `hardware_profile` para mantener los datos de desarrollo fuera de los puntos de referencia publicados.
|
|
207
207
|
|
|
208
|
-
---
|
|
208
|
+
---
|
|
209
209
|
|
|
210
210
|
## Perfiles de hardware
|
|
211
211
|
|
|
@@ -217,7 +217,7 @@ Cada llamada se registra como una línea en formato NDJSON en `~/.ollama-intern/
|
|
|
217
217
|
|
|
218
218
|
**Configuración de desarrollo predeterminada** consolida los tres niveles de trabajo en `hermes3:8b`: la ruta de integración del Agente Hermes validada. El uso del mismo modelo de arriba a abajo significa que solo hay un componente que descargar, un costo de alojamiento y un conjunto de comportamientos que comprender. Los usuarios que prefieren Qwen 3 (con su infraestructura `THINK_BY_SHAPE`) pueden optar por `dev-rtx5080-qwen3`. `m5-max` es la versión de Qwen 3 optimizada para memoria unificada.
|
|
219
219
|
|
|
220
|
-
---
|
|
220
|
+
---
|
|
221
221
|
|
|
222
222
|
## Normas de evidencia
|
|
223
223
|
|
|
@@ -230,7 +230,7 @@ Estas normas se aplican en el servidor, no en la solicitud:
|
|
|
230
230
|
- **Renderizadores deterministas.** La forma del marcador de texto de los artefactos es código, no una solicitud. `draft` se reserva para el texto donde la redacción del modelo es importante.
|
|
231
231
|
- **Solo diferencias dentro del mismo paquete.** Se rechaza explícitamente la función `artifact_diff` entre diferentes paquetes; los paquetes permanecen distintos.
|
|
232
232
|
|
|
233
|
-
---
|
|
233
|
+
---
|
|
234
234
|
|
|
235
235
|
## Artefactos y continuidad
|
|
236
236
|
|
|
@@ -246,7 +246,7 @@ Los paquetes escriben en `~/.ollama-intern/artifacts/{incident,repo,change}/<slu
|
|
|
246
246
|
|
|
247
247
|
No hay llamadas a modelos en esta capa. Todo se renderiza a partir de contenido almacenado.
|
|
248
248
|
|
|
249
|
-
---
|
|
249
|
+
---
|
|
250
250
|
|
|
251
251
|
## Modelo de amenazas y telemetría
|
|
252
252
|
|
|
@@ -262,7 +262,7 @@ No hay llamadas a modelos en esta capa. Todo se renderiza a partir de contenido
|
|
|
262
262
|
|
|
263
263
|
Política completa: [SECURITY.md](SECURITY.md).
|
|
264
264
|
|
|
265
|
-
---
|
|
265
|
+
---
|
|
266
266
|
|
|
267
267
|
## Estándares
|
|
268
268
|
|
|
@@ -273,7 +273,7 @@ Construido según los estándares de [Shipcheck](https://github.com/mcp-tool-sho
|
|
|
273
273
|
- **C. Documentación** — README actualizado, CHANGELOG, LICENSE; esquemas de herramientas con autocomentarios
|
|
274
274
|
- **D. Higiene** — `npm run verify` (395 pruebas), CI con análisis de dependencias, Dependabot, archivo de bloqueo, `engines.node`
|
|
275
275
|
|
|
276
|
-
---
|
|
276
|
+
---
|
|
277
277
|
|
|
278
278
|
## Hoja de ruta (fortalecimiento, no ampliación del alcance)
|
|
279
279
|
|
|
@@ -285,12 +285,12 @@ Construido según los estándares de [Shipcheck](https://github.com/mcp-tool-sho
|
|
|
285
285
|
|
|
286
286
|
Fase por capa de fortalecimiento. La interfaz de átomos/paquetes/artefactos permanece inalterada.
|
|
287
287
|
|
|
288
|
-
---
|
|
288
|
+
---
|
|
289
289
|
|
|
290
290
|
## Licencia
|
|
291
291
|
|
|
292
292
|
MIT — ver [LICENSE](LICENSE).
|
|
293
293
|
|
|
294
|
-
---
|
|
294
|
+
---
|
|
295
295
|
|
|
296
|
-
<p align="center">Built by <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a></p>
|
|
296
|
+
<p align="center">Built by <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a></p>
|