Servidor MCP

OutilsIA — Conseiller IA locale

fr.outilsia/local-ai-advisor
IA y agentes Herramientas para desarrolladores Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides read-only advice on local AI models, runtimes, hardware suitability, benchmarks, and website GEO audits without accessing or modifying the user's computer.

analyze_shared_report
Analyser un rapport OutilsIA partagé
Lit un rapport public OutilsIA Local Cockpit déjà créé par l'utilisateur. Accepte uniquement une URL exacte https://outilsia.fr/r/... et ne donne aucun accès à la machine.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['report_url'], 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string', 'default': 'polyvalent'}, 'report_url': {'type': 'string', 'format': 'uri', 'maxLength': 500}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision'], 'properties': {'decision': {'type': 'object', 'required': ['schema_version', 'decision_type', 'title', 'verdict', 'usage', 'source', 'machine', 'score', 'recommended_models', 'benchmark_evidence', 'purchase', 'blocked_next', 'links', 'limits'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'score': {'type': 'object', 'required': ['value', 'label', 'summary'], 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report', 'upgrade_simulation'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'gpu_vendor', 'vram_gb', 'unified_memory', 'storage_free_gb', 'storage_status', 'os'], 'properties': {'os': {'type': 'string'}, 'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'gpu_vendor': {'type': 'string'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'verdict': {'type': 'string'}, 'purchase': {'type': 'object', 'required': ['priority', 'headline', 'summary', 'upgrade'], 'properties': {'summary': {'type': 'string'}, 'upgrade': {'anyOf': [{'type': 'object', 'required': ['name', 'summary', 'target_vram_gb', 'target_ram_gb', 'price', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'price': {'type': 'string'}, 'summary': {'type': 'string'}, 'component': {'type': 'string'}, 'guide_url': {'type': 'string'}, 'target_ram_gb': {'type': 'number'}, 'target_vram_gb': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'headline': {'type': 'string'}, 'priority': {'type': 'string'}, 'facts_used': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'score_gain': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'required_vram_gb', 'reason'], 'properties': {'name': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'required_vram_gb': {'type': 'number'}}, 'additionalProperties': False}}, 'decision_type': {'enum': ['compatibility', 'upgrade_simulation'], 'type': 'string'}, 'baseline_score': {'$ref': '#/properties/decision/properties/score'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.decision.v1'}, 'unlocked_models': {'type': 'array', 'items': {'$ref': '#/properties/decision/properties/recommended_models/items'}}, 'simulated_target': {'type': 'object', 'required': ['ram_gb', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'benchmark_evidence': {'anyOf': [{'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'measured'], 'properties': {'model': {'type': 'string'}, 'measured': {'type': 'boolean'}, 'elapsed_ms': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recommended_models': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'status', 'label', 'vram_q4_gb', 'ollama', 'reason'], 'properties': {'fit': {'enum': ['full_gpu_fit', 'partial_offload', 'cpu_offload_heavy', 'storage_only', 'blocked', 'unknown'], 'type': 'string'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'fit_label': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
check_pc_for_local_ai
Vérifier un PC pour l'IA locale
Estime quels modèles IA locaux conviennent à partir de caractéristiques que l'utilisateur fournit explicitement. Ce n'est pas un scan et l'outil ne doit pas être appelé si CPU, RAM, GPU et VRAM manquent.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cpu_name', 'ram_gb', 'gpu_name', 'vram_gb'], 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string', 'default': 'polyvalent'}, 'ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 1}, 'os_name': {'type': 'string', 'maxLength': 120}, 'vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}, 'cpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'gpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'cpu_cores': {'type': 'integer', 'maximum': 512, 'minimum': 1}, 'gpu_vendor': {'type': 'string', 'maxLength': 80}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': 'number', 'maximum': 1000000, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision'], 'properties': {'decision': {'type': 'object', 'required': ['schema_version', 'decision_type', 'title', 'verdict', 'usage', 'source', 'machine', 'score', 'recommended_models', 'benchmark_evidence', 'purchase', 'blocked_next', 'links', 'limits'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'score': {'type': 'object', 'required': ['value', 'label', 'summary'], 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report', 'upgrade_simulation'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'gpu_vendor', 'vram_gb', 'unified_memory', 'storage_free_gb', 'storage_status', 'os'], 'properties': {'os': {'type': 'string'}, 'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'gpu_vendor': {'type': 'string'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'verdict': {'type': 'string'}, 'purchase': {'type': 'object', 'required': ['priority', 'headline', 'summary', 'upgrade'], 'properties': {'summary': {'type': 'string'}, 'upgrade': {'anyOf': [{'type': 'object', 'required': ['name', 'summary', 'target_vram_gb', 'target_ram_gb', 'price', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'price': {'type': 'string'}, 'summary': {'type': 'string'}, 'component': {'type': 'string'}, 'guide_url': {'type': 'string'}, 'target_ram_gb': {'type': 'number'}, 'target_vram_gb': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'headline': {'type': 'string'}, 'priority': {'type': 'string'}, 'facts_used': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'score_gain': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'required_vram_gb', 'reason'], 'properties': {'name': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'required_vram_gb': {'type': 'number'}}, 'additionalProperties': False}}, 'decision_type': {'enum': ['compatibility', 'upgrade_simulation'], 'type': 'string'}, 'baseline_score': {'$ref': '#/properties/decision/properties/score'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.decision.v1'}, 'unlocked_models': {'type': 'array', 'items': {'$ref': '#/properties/decision/properties/recommended_models/items'}}, 'simulated_target': {'type': 'object', 'required': ['ram_gb', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'benchmark_evidence': {'anyOf': [{'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'measured'], 'properties': {'model': {'type': 'string'}, 'measured': {'type': 'boolean'}, 'elapsed_ms': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recommended_models': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'status', 'label', 'vram_q4_gb', 'ollama', 'reason'], 'properties': {'fit': {'enum': ['full_gpu_fit', 'partial_offload', 'cpu_offload_heavy', 'storage_only', 'blocked', 'unknown'], 'type': 'string'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'fit_label': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
explain_bottleneck
Expliquer le goulot VRAM, RAM ou stockage
Identifie le goulot probable à partir d'un rapport /r/... ou d'un profil RAM/VRAM déclaré. Ce n'est pas un scan. Fournir report_url ou bien ram_gb et vram_gb.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 0}, 'vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}, 'cpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'gpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'cpu_cores': {'type': 'integer', 'maximum': 512, 'minimum': 1}, 'report_url': {'type': 'string', 'format': 'uri', 'maxLength': 500}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': 'number', 'maximum': 1000000, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bottleneck'], 'properties': {'bottleneck': {'type': 'object', 'required': ['schema_version', 'primary', 'summary', 'machine', 'source', 'report_url', 'facts', 'next_step', 'limits'], 'properties': {'facts': {'type': 'array', 'items': {'type': 'string'}}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'vram_gb', 'unified_memory', 'storage_free_gb'], 'properties': {'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'primary': {'enum': ['vram', 'ram', 'storage', 'cpu', 'none'], 'type': 'string'}, 'summary': {'type': 'string'}, 'next_step': {'type': 'string'}, 'report_url': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.bottleneck.v1'}}, 'additionalProperties': False}}, 'additionalProperties': False}
explain_geo_audit_method
Expliquer la méthode ScoreBot
Rappelle ce que l'audit ScoreBot mesure et ce qu'il ne mesure pas. Aucun fetch, aucune citation observée, lecture seule.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['method'], 'properties': {'method': {'type': 'object', 'required': ['schema_version', 'method_version', 'score_type', 'page', 'kit_page', 'measures', 'does_not_measure', 'limits'], 'properties': {'page': {'type': 'string', 'format': 'uri'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'kit_page': {'type': 'string', 'format': 'uri'}, 'measures': {'type': 'array', 'items': {'type': 'string'}}, 'score_type': {'type': 'string'}, 'method_version': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.scorebot.method.v1'}, 'does_not_measure': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
explain_local_action_boundary
Expliquer la limite des actions locales
Doit être appelé pour toute demande d'installer, télécharger, mettre à jour, exécuter ou supprimer Ollama, un modèle ou un pilote, ainsi que pour scanner ou benchmarker le PC depuis ChatGPT. Retourne la réponse complète en lecture seule : après l'appel, ne pas ajouter de commande, de procédure, de recherche Web, de source externe ou d'alternative manuelle. Cet outil n'accède jamais à la machine et n'effectue aucune action.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'target': {'type': 'string', 'default': '', 'maxLength': 200}, 'requested_action': {'enum': ['install', 'download', 'update', 'run', 'delete', 'scan', 'benchmark', 'other'], 'type': 'string', 'default': 'other'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['boundary'], 'properties': {'boundary': {'type': 'object', 'required': ['schema_version', 'allowed', 'mode', 'requested_action', 'target', 'message', 'desktop_app_url'], 'properties': {'mode': {'type': 'string', 'const': 'read_only'}, 'target': {'type': 'string'}, 'allowed': {'type': 'boolean', 'const': False}, 'message': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.local_action_boundary.v1'}, 'desktop_app_url': {'type': 'string', 'format': 'uri'}, 'requested_action': {'enum': ['install', 'download', 'update', 'run', 'delete', 'scan', 'benchmark', 'other'], 'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
geo_audit
Auditer un site (ScoreBot, lecture seule)
Audit déterministe SEO + préparation IA d'une URL publique via ScoreBot (Core OutilsIA). Lecture seule : ne modifie pas le site cible, ne promet pas d'être cité par ChatGPT.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'maxLength': 500, 'minLength': 8}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['geo_audit'], 'properties': {'geo_audit': {'type': 'object', 'required': ['schema_version', 'url', 'method_version', 'score_type', 'seo_score', 'geo_score', 'grade', 'cached', 'measured_at', 'top_issues', 'sections', 'page', 'limits', 'source'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string', 'format': 'uri'}, 'grade': {'type': 'string'}, 'cached': {'type': 'boolean'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'is_real_scan', 'writes_target'], 'properties': {'kind': {'type': 'string', 'const': 'public_http_audit'}, 'is_real_scan': {'type': 'boolean', 'const': False}, 'writes_target': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'sections': {'type': 'object', 'additionalProperties': {'type': 'object', 'properties': {'score': {'type': ['number', 'null']}, 'status': {'type': 'string'}}, 'additionalProperties': True}}, 'geo_score': {'type': 'number'}, 'seo_score': {'type': 'number'}, 'score_type': {'type': 'string'}, 'top_issues': {'type': 'array', 'items': {'type': 'string'}}, 'measured_at': {'type': 'string'}, 'measurement': {'anyOf': [{'type': 'object', 'properties': {}, 'additionalProperties': True}, {'type': 'null'}]}, 'method_version': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.scorebot.geo_audit.v1'}}, 'additionalProperties': False}}, 'additionalProperties': False}
geo_kit
Générer un kit GEO (llms.txt, robots IA, schemas)
Génère un kit GEO lecture seule à partir d'une URL publique : llms.txt, verdict robots IA, schemas JSON-LD. N'écrit rien sur le site cible et n'appelle aucun modèle.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'maxLength': 500, 'minLength': 8}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['geo_kit'], 'properties': {'geo_kit': {'type': 'object', 'required': ['schema_version', 'url', 'site_name', 'score_kit', 'llms_txt', 'robots', 'checklist', 'schemas', 'page', 'llm_calls', 'limits'], 'properties': {'url': {'type': 'string'}, 'page': {'type': 'string', 'format': 'uri'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'robots': {'type': 'object', 'properties': {}, 'additionalProperties': True}, 'schemas': {'type': 'object', 'properties': {}, 'additionalProperties': True}, 'llms_txt': {'type': 'string'}, 'checklist': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'additionalProperties': True}}, 'llm_calls': {'type': 'number', 'const': 0}, 'score_kit': {'type': 'number'}, 'site_name': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.scorebot.geo_kit.v1'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_benchmark_proofs_from_report
Lire les preuves de benchmark d'un rapport
Retourne seulement les tokens/s déjà mesurés dans un rapport public https://outilsia.fr/r/... Si le rapport n'a pas de preuve, l'outil le dit et n'invente aucune vitesse.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['report_url'], 'properties': {'report_url': {'type': 'string', 'format': 'uri', 'maxLength': 500}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['proofs'], 'properties': {'proofs': {'type': 'object', 'required': ['schema_version', 'report_url', 'source', 'count', 'proofs', 'raw_prompts_included', 'raw_model_outputs_included', 'limits'], 'properties': {'count': {'type': 'number'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'proofs': {'type': 'array', 'items': {'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'backend', 'context_tokens', 'measured', 'created_at'], 'properties': {'model': {'type': 'string'}, 'backend': {'type': 'string'}, 'measured': {'type': 'boolean', 'const': True}, 'created_at': {'type': 'string'}, 'elapsed_ms': {'type': 'number'}, 'context_tokens': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'shared_report'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'report_url': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.report_benchmark_proofs.v1'}, 'raw_prompts_included': {'type': 'boolean', 'const': False}, 'raw_model_outputs_included': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_first_party_measurements
Citer les mesures first-party OutilsIA
Retourne uniquement les bancs publics datés OutilsIA (machine, runtime, tok/s, référence). Une mesure n'est jamais extrapolée à un autre PC. Campagne multi-machines non terminée.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'default': '', 'maxLength': 80}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['measurements'], 'properties': {'measurements': {'type': 'object', 'required': ['schema_version', 'page', 'methodology_url', 'campaign_complete', 'count', 'query', 'measurements', 'source', 'limits'], 'properties': {'page': {'type': 'string'}, 'count': {'type': 'number'}, 'query': {'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'first_party_publication'}, 'is_real_scan': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'measurements': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'date', 'model', 'ollama', 'tokens_per_second', 'elapsed_ms', 'measured', 'gpu', 'vram_gb', 'vram_used_gb', 'runtime', 'os', 'placement', 'source_url'], 'properties': {'id': {'type': 'string'}, 'os': {'type': 'string'}, 'gpu': {'type': 'string'}, 'date': {'type': 'string'}, 'model': {'type': 'string'}, 'ollama': {'type': 'string'}, 'runtime': {'type': 'string'}, 'vram_gb': {'type': 'number'}, 'measured': {'type': 'boolean', 'const': True}, 'placement': {'type': 'string'}, 'elapsed_ms': {'type': 'number'}, 'source_url': {'type': 'string'}, 'vram_used_gb': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.first_party_measurements.v1'}, 'methodology_url': {'type': 'string'}, 'campaign_complete': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_installed_models_from_report
Lister les modèles déjà observés dans un rapport
Lit uniquement les modèles installés déjà présents dans un rapport public https://outilsia.fr/r/... N'accède pas à la machine et n'installe rien.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['report_url'], 'properties': {'report_url': {'type': 'string', 'format': 'uri', 'maxLength': 500}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['installed'], 'properties': {'installed': {'type': 'object', 'required': ['schema_version', 'report_url', 'source', 'machine', 'count', 'installed_models', 'limits'], 'properties': {'count': {'type': 'number'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'shared_report'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['gpu', 'vram_gb', 'ram_gb', 'os'], 'properties': {'os': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'report_url': {'type': 'string'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.report_installed_models.v1'}, 'installed_models': {'type': 'array', 'items': {'type': 'object', 'required': ['runtime', 'model_name', 'model_tag', 'size_gb', 'quantization'], 'properties': {'runtime': {'type': 'string'}, 'size_gb': {'type': 'number'}, 'model_tag': {'type': 'string'}, 'model_name': {'type': 'string'}, 'quantization': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
list_models_for_budget
Lister les modèles pour un budget VRAM/RAM
Filtre le catalogue public selon une VRAM, une RAM optionnelle et un usage. Estimation catalogue uniquement : pas un scan, pas un benchmark, pas de tokens/s inventés.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['vram_gb'], 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string', 'default': 'polyvalent'}, 'ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 0}, 'vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': 'number', 'maximum': 1000000, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['budget'], 'properties': {'budget': {'type': 'object', 'required': ['schema_version', 'catalog_version', 'usage', 'budget', 'count_fits', 'fits', 'hybrid', 'blocked_next', 'source', 'limits'], 'properties': {'fits': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'kind', 'category', 'use_case', 'vram_q4_gb', 'recommended_vram_gb', 'hybrid_min_vram_gb', 'hybrid_min_ram_gb', 'download_size_gb', 'ollama', 'ollama_resolved_tag', 'context_tokens', 'runtime_context_policy', 'memory_note'], 'properties': {'fit': {'type': 'string'}, 'kind': {'type': 'string'}, 'name': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'status': {'type': 'string'}, 'category': {'type': 'string'}, 'use_case': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}, 'memory_note': {'type': 'string'}, 'context_tokens': {'type': 'number'}, 'download_size_gb': {'type': 'number'}, 'required_vram_gb': {'type': 'number'}, 'hybrid_min_ram_gb': {'type': 'number'}, 'hybrid_min_vram_gb': {'type': 'number'}, 'ollama_resolved_tag': {'type': 'string'}, 'recommended_vram_gb': {'type': 'number'}, 'runtime_context_policy': {'type': 'string'}}, 'additionalProperties': False}}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'budget': {'type': 'object', 'required': ['vram_gb', 'ram_gb', 'unified_memory', 'storage_free_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'hybrid': {'type': 'array', 'items': {'$ref': '#/properties/budget/properties/fits/items'}}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'catalog'}, 'is_real_scan': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'count_fits': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'$ref': '#/properties/budget/properties/fits/items'}}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.catalog_budget.v1'}, 'catalog_version': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
lookup_local_model
Chercher un modèle du catalogue OutilsIA
Cherche un modèle dans le catalogue public OutilsIA (nom, taille ou tag Ollama). Ce n'est pas un scan et l'outil n'invente aucun tokens/s.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 80, 'minLength': 2}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lookup'], 'properties': {'lookup': {'type': 'object', 'required': ['schema_version', 'catalog_version', 'query', 'count', 'matches', 'source', 'limits'], 'properties': {'count': {'type': 'number'}, 'query': {'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'catalog'}, 'is_real_scan': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'kind', 'category', 'use_case', 'vram_q4_gb', 'recommended_vram_gb', 'hybrid_min_vram_gb', 'hybrid_min_ram_gb', 'download_size_gb', 'ollama', 'ollama_resolved_tag', 'context_tokens', 'runtime_context_policy', 'memory_note'], 'properties': {'fit': {'type': 'string'}, 'kind': {'type': 'string'}, 'name': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'status': {'type': 'string'}, 'category': {'type': 'string'}, 'use_case': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}, 'memory_note': {'type': 'string'}, 'context_tokens': {'type': 'number'}, 'download_size_gb': {'type': 'number'}, 'required_vram_gb': {'type': 'number'}, 'hybrid_min_ram_gb': {'type': 'number'}, 'hybrid_min_vram_gb': {'type': 'number'}, 'ollama_resolved_tag': {'type': 'string'}, 'recommended_vram_gb': {'type': 'number'}, 'runtime_context_policy': {'type': 'string'}}, 'additionalProperties': False}}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.catalog_lookup.v1'}, 'catalog_version': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
recommend_runtime
Recommander Ollama, LM Studio ou llama.cpp
Choisit un chemin runtime à partir d'un OS, d'une VRAM et d'une RAM déclarés. Ce n'est pas une installation, pas un scan et pas un benchmark.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string', 'default': 'polyvalent'}, 'ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 0}, 'os_name': {'type': 'string', 'maxLength': 120}, 'vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}, 'unified_memory': {'type': 'boolean'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['runtime'], 'properties': {'runtime': {'type': 'object', 'required': ['schema_version', 'primary', 'alternatives', 'summary', 'usage', 'machine', 'source', 'desktop_app_url', 'limits'], 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'is_real_scan'], 'properties': {'kind': {'type': 'string', 'const': 'declared_profile'}, 'is_real_scan': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['os_name', 'vram_gb', 'ram_gb', 'unified_memory'], 'properties': {'ram_gb': {'type': 'number'}, 'os_name': {'type': 'string'}, 'vram_gb': {'type': 'number'}, 'unified_memory': {'type': 'boolean'}}, 'additionalProperties': False}, 'primary': {'type': 'string'}, 'summary': {'type': 'string'}, 'alternatives': {'type': 'array', 'items': {'type': 'string'}}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.runtime_recommendation.v1'}, 'desktop_app_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'additionalProperties': False}
render_machine_cockpit
Afficher la fiche OutilsIA
Affiche sans recalculer une décision produite par un outil OutilsIA de cette app.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision'], 'properties': {'decision': {'type': 'object', 'required': ['schema_version', 'decision_type', 'title', 'verdict', 'usage', 'source', 'machine', 'score', 'recommended_models', 'benchmark_evidence', 'purchase', 'blocked_next', 'links', 'limits'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'score': {'type': 'object', 'required': ['value', 'label', 'summary'], 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report', 'upgrade_simulation'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'gpu_vendor', 'vram_gb', 'unified_memory', 'storage_free_gb', 'storage_status', 'os'], 'properties': {'os': {'type': 'string'}, 'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'gpu_vendor': {'type': 'string'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'verdict': {'type': 'string'}, 'purchase': {'type': 'object', 'required': ['priority', 'headline', 'summary', 'upgrade'], 'properties': {'summary': {'type': 'string'}, 'upgrade': {'anyOf': [{'type': 'object', 'required': ['name', 'summary', 'target_vram_gb', 'target_ram_gb', 'price', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'price': {'type': 'string'}, 'summary': {'type': 'string'}, 'component': {'type': 'string'}, 'guide_url': {'type': 'string'}, 'target_ram_gb': {'type': 'number'}, 'target_vram_gb': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'headline': {'type': 'string'}, 'priority': {'type': 'string'}, 'facts_used': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'score_gain': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'required_vram_gb', 'reason'], 'properties': {'name': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'required_vram_gb': {'type': 'number'}}, 'additionalProperties': False}}, 'decision_type': {'enum': ['compatibility', 'upgrade_simulation'], 'type': 'string'}, 'baseline_score': {'$ref': '#/properties/decision/properties/score'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.decision.v1'}, 'unlocked_models': {'type': 'array', 'items': {'$ref': '#/properties/decision/properties/recommended_models/items'}}, 'simulated_target': {'type': 'object', 'required': ['ram_gb', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'benchmark_evidence': {'anyOf': [{'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'measured'], 'properties': {'model': {'type': 'string'}, 'measured': {'type': 'boolean'}, 'elapsed_ms': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recommended_models': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'status', 'label', 'vram_q4_gb', 'ollama', 'reason'], 'properties': {'fit': {'enum': ['full_gpu_fit', 'partial_offload', 'cpu_offload_heavy', 'storage_only', 'blocked', 'unknown'], 'type': 'string'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'fit_label': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision'], 'properties': {'decision': {'type': 'object', 'required': ['schema_version', 'decision_type', 'title', 'verdict', 'usage', 'source', 'machine', 'score', 'recommended_models', 'benchmark_evidence', 'purchase', 'blocked_next', 'links', 'limits'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'score': {'type': 'object', 'required': ['value', 'label', 'summary'], 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report', 'upgrade_simulation'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'gpu_vendor', 'vram_gb', 'unified_memory', 'storage_free_gb', 'storage_status', 'os'], 'properties': {'os': {'type': 'string'}, 'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'gpu_vendor': {'type': 'string'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'verdict': {'type': 'string'}, 'purchase': {'type': 'object', 'required': ['priority', 'headline', 'summary', 'upgrade'], 'properties': {'summary': {'type': 'string'}, 'upgrade': {'anyOf': [{'type': 'object', 'required': ['name', 'summary', 'target_vram_gb', 'target_ram_gb', 'price', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'price': {'type': 'string'}, 'summary': {'type': 'string'}, 'component': {'type': 'string'}, 'guide_url': {'type': 'string'}, 'target_ram_gb': {'type': 'number'}, 'target_vram_gb': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'headline': {'type': 'string'}, 'priority': {'type': 'string'}, 'facts_used': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'score_gain': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'required_vram_gb', 'reason'], 'properties': {'name': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'required_vram_gb': {'type': 'number'}}, 'additionalProperties': False}}, 'decision_type': {'enum': ['compatibility', 'upgrade_simulation'], 'type': 'string'}, 'baseline_score': {'$ref': '#/properties/decision/properties/score'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.decision.v1'}, 'unlocked_models': {'type': 'array', 'items': {'$ref': '#/properties/decision/properties/recommended_models/items'}}, 'simulated_target': {'type': 'object', 'required': ['ram_gb', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'benchmark_evidence': {'anyOf': [{'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'measured'], 'properties': {'model': {'type': 'string'}, 'measured': {'type': 'boolean'}, 'elapsed_ms': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recommended_models': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'status', 'label', 'vram_q4_gb', 'ollama', 'reason'], 'properties': {'fit': {'enum': ['full_gpu_fit', 'partial_offload', 'cpu_offload_heavy', 'storage_only', 'blocked', 'unknown'], 'type': 'string'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'fit_label': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
simulate_hardware_upgrade
Simuler un upgrade IA locale
Compare le même profil avant et après une hausse de RAM ou VRAM. La simulation ne modifie rien et doit conclure qu'aucun achat n'est utile si le catalogue ne montre pas de gain.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profile'], 'properties': {'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string', 'default': 'polyvalent'}, 'profile': {'type': 'object', 'required': ['cpu_name', 'ram_gb', 'gpu_name', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 1}, 'os_name': {'type': 'string', 'maxLength': 120}, 'vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}, 'cpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 2}, 'gpu_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'cpu_cores': {'type': 'integer', 'maximum': 512, 'minimum': 1}, 'gpu_vendor': {'type': 'string', 'maxLength': 80}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': 'number', 'maximum': 1000000, 'minimum': 0}}, 'additionalProperties': False}, 'target_ram_gb': {'type': 'number', 'maximum': 2048, 'minimum': 1}, 'target_vram_gb': {'type': 'number', 'maximum': 512, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision'], 'properties': {'decision': {'type': 'object', 'required': ['schema_version', 'decision_type', 'title', 'verdict', 'usage', 'source', 'machine', 'score', 'recommended_models', 'benchmark_evidence', 'purchase', 'blocked_next', 'links', 'limits'], 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url', 'kind'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'score': {'type': 'object', 'required': ['value', 'label', 'summary'], 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'usage': {'enum': ['polyvalent', 'assistant', 'code', 'francais', 'portable', 'image', 'gros_modeles'], 'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['kind', 'label', 'is_real_scan'], 'properties': {'kind': {'enum': ['declared_profile', 'shared_report', 'upgrade_simulation'], 'type': 'string'}, 'label': {'type': 'string'}, 'is_real_scan': {'type': 'boolean'}}, 'additionalProperties': False}, 'machine': {'type': 'object', 'required': ['cpu', 'cpu_cores', 'ram_gb', 'gpu', 'gpu_vendor', 'vram_gb', 'unified_memory', 'storage_free_gb', 'storage_status', 'os'], 'properties': {'os': {'type': 'string'}, 'cpu': {'type': 'string'}, 'gpu': {'type': 'string'}, 'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}, 'cpu_cores': {'type': 'number'}, 'gpu_vendor': {'type': 'string'}, 'storage_status': {'enum': ['unknown', 'measured'], 'type': 'string'}, 'unified_memory': {'type': 'boolean'}, 'storage_free_gb': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'verdict': {'type': 'string'}, 'purchase': {'type': 'object', 'required': ['priority', 'headline', 'summary', 'upgrade'], 'properties': {'summary': {'type': 'string'}, 'upgrade': {'anyOf': [{'type': 'object', 'required': ['name', 'summary', 'target_vram_gb', 'target_ram_gb', 'price', 'guide_url'], 'properties': {'name': {'type': 'string'}, 'price': {'type': 'string'}, 'summary': {'type': 'string'}, 'component': {'type': 'string'}, 'guide_url': {'type': 'string'}, 'target_ram_gb': {'type': 'number'}, 'target_vram_gb': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'headline': {'type': 'string'}, 'priority': {'type': 'string'}, 'facts_used': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'score_gain': {'type': 'number'}, 'blocked_next': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'required_vram_gb', 'reason'], 'properties': {'name': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'required_vram_gb': {'type': 'number'}}, 'additionalProperties': False}}, 'decision_type': {'enum': ['compatibility', 'upgrade_simulation'], 'type': 'string'}, 'baseline_score': {'$ref': '#/properties/decision/properties/score'}, 'schema_version': {'type': 'string', 'const': 'outilsia.chatgpt.decision.v1'}, 'unlocked_models': {'type': 'array', 'items': {'$ref': '#/properties/decision/properties/recommended_models/items'}}, 'simulated_target': {'type': 'object', 'required': ['ram_gb', 'vram_gb'], 'properties': {'ram_gb': {'type': 'number'}, 'vram_gb': {'type': 'number'}}, 'additionalProperties': False}, 'benchmark_evidence': {'anyOf': [{'type': 'object', 'required': ['model', 'tokens_per_second', 'elapsed_ms', 'measured'], 'properties': {'model': {'type': 'string'}, 'measured': {'type': 'boolean'}, 'elapsed_ms': {'type': 'number'}, 'tokens_per_second': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recommended_models': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'params', 'status', 'label', 'vram_q4_gb', 'ollama', 'reason'], 'properties': {'fit': {'enum': ['full_gpu_fit', 'partial_offload', 'cpu_offload_heavy', 'storage_only', 'blocked', 'unknown'], 'type': 'string'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}, 'ollama': {'type': 'string'}, 'params': {'type': 'string'}, 'reason': {'type': 'string'}, 'status': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'fit_label': {'type': 'string'}, 'vram_q4_gb': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}}, 'additionalProperties': False}
Añadido
render_machine_cockpit
17 de September de 2026 a las 12:39
Añadido
explain_local_action_boundary
17 de September de 2026 a las 12:39
Añadido
geo_kit
17 de September de 2026 a las 12:39
Añadido
explain_geo_audit_method
17 de September de 2026 a las 12:39
Añadido
geo_audit
17 de September de 2026 a las 12:39
Añadido
recommend_runtime
17 de September de 2026 a las 12:39
Añadido
list_first_party_measurements
17 de September de 2026 a las 12:39
Añadido
explain_bottleneck
17 de September de 2026 a las 12:39
Añadido
list_benchmark_proofs_from_report
17 de September de 2026 a las 12:39
Añadido
list_installed_models_from_report
17 de September de 2026 a las 12:39
Añadido
list_models_for_budget
17 de September de 2026 a las 12:39
Añadido
lookup_local_model
17 de September de 2026 a las 12:39
Añadido
simulate_hardware_upgrade
17 de September de 2026 a las 12:39
Añadido
analyze_shared_report
17 de September de 2026 a las 12:39
Añadido
check_pc_for_local_ai
17 de September de 2026 a las 12:39