OpenProse

OpenProse est un format de workflow portable, orienté markdown, pour orchestrer des sessions IA. Dans Mayros, il est fourni en tant que plugin qui installe un pack de compétences OpenProse plus une commande slash /prose. Les programmes vivent dans des fichiers .prose et peuvent générer plusieurs sous-agents avec un flux de contrôle explicite.

Site officiel : https://www.prose.md

Ce qu'il peut faire

  • Recherche et synthèse multi-agents avec parallélisme explicite.
  • Workflows répétables avec approbation sécurisée (revue de code, triage d'incidents, pipelines de contenu).
  • Programmes .prose réutilisables que vous pouvez exécuter sur des runtimes d'agents pris en charge.

Installer + activer

Les plugins intégrés sont désactivés par défaut. Activez OpenProse :

bash
mayros plugins enable open-prose

Redémarrez le Gateway après avoir activé le plugin.

Dev/checkout local : mayros plugins install ./extensions/open-prose

Docs connexes : Plugins, Manifeste de plugin, Skills.

Commande slash

OpenProse enregistre /prose comme une commande de compétence invocable par l'utilisateur. Elle dirige vers les instructions de la VM OpenProse et utilise les outils Mayros en coulisses.

Commandes courantes :

/prose help
/prose run <file.prose>
/prose run <handle/slug>
/prose run <https://example.com/file.prose>
/prose compile <file.prose>
/prose examples
/prose update

Exemple : un fichier .prose simple

prose
# Recherche + synthèse avec deux agents s'exécutant en parallèle.

input topic: "Sur quoi devrions-nous faire des recherches ?"

agent researcher:
  model: sonnet
  prompt: "Vous effectuez des recherches approfondies et citez vos sources."

agent writer:
  model: opus
  prompt: "Vous rédigez un résumé concis."

parallel:
  findings = session: researcher
    prompt: "Recherchez {topic}."
  draft = session: writer
    prompt: "Résumez {topic}."

session "Fusionnez les résultats + le brouillon en une réponse finale."
context: { findings, draft }

Emplacements des fichiers

OpenProse conserve l'état sous .prose/ dans votre espace de travail :

.prose/
├── .env
├── runs/
│   └── {YYYYMMDD}-{HHMMSS}-{random}/
│       ├── program.prose
│       ├── state.md
│       ├── bindings/
│       └── agents/
└── agents/

Les agents persistants au niveau utilisateur se trouvent à :

~/.prose/agents/

Modes d'état

OpenProse prend en charge plusieurs backends d'état :

  • filesystem (par défaut) : .prose/runs/...
  • in-context : transitoire, pour les petits programmes
  • sqlite (expérimental) : nécessite le binaire sqlite3
  • postgres (expérimental) : nécessite psql et une chaîne de connexion

Notes :

  • sqlite/postgres sont opt-in et expérimentaux.
  • Les identifiants postgres circulent dans les logs des sous-agents ; utilisez une DB dédiée avec privilèges minimaux.

Programmes distants

/prose run <handle/slug> résout vers https://p.prose.md/<handle>/<slug>. Les URL directes sont récupérées telles quelles. Cela utilise l'outil web_fetch (ou exec pour POST).

Mapping du runtime Mayros

Les programmes OpenProse correspondent aux primitives Mayros :

Concept OpenProseOutil Mayros
Spawn session / Task toolsessions_spawn
File read/writeread / write
Web fetchweb_fetch

Si votre liste d'autorisation d'outils bloque ces outils, les programmes OpenProse échoueront. Voir Config Skills.

Sécurité + approbations

Traitez les fichiers .prose comme du code. Révisez avant d'exécuter. Utilisez les listes d'autorisation d'outils Mayros et les portes d'approbation pour contrôler les effets secondaires.

Pour des workflows déterministes avec approbation, comparez avec Lobster.