External assistant · assist-only · strict validation

RunFlow Agent,
without autopilot.

An assist-only CLI agent with local LLM providers, strict JSON contracts, YAML diagnostics, run explanations, and daily reports. It proposes, validates, audits, then leaves the user in control.

Install → See how it works
runflow-agent draft
kind: draft_workflow
workflow_yaml: |
  name: ping-monitor
  steps:
    - name: ping
      type: command
      run:
        command: ping
        args: ["-n", "4", "1.1.1.1"]
validation: schema-valid
permissions: no-run no-mutation
Assist-only Draft workflows Review YAML Explain failed runs Daily reports Schema validation Policy checks LLM providers No autopilot ▶ Open Source Assist-only Draft workflows Review YAML Explain failed runs Daily reports Schema validation Policy checks LLM providers No autopilot ▶ Open Source
Comment ça marche

De la demande au résultat validé.

📝
Lire contexte
🤖
Appeler modèle
Valider JSON
🛡️
Policy check
📋
Afficher
01

Construis le contexte

L'agent construit un contexte minimal : demande utilisateur, YAML, diagnostics, events, manifests et extraits de logs bornés.

$ runflow-agent review workflow.yml
02

Valide chaque sortie

Les réponses du modèle passent par des contrats JSON, la validation du schéma workflow et un moteur de policy deny-by-default.

$ runflow-agent draft --prompt "Ping 1.1.1.1"
03

Affiche, sans muter

V1 peut proposer du YAML, des diagnostics et des rapports. Il ne lance pas de job, n'annule rien et n'appelle aucune API externe par défaut.

$ runflow-agent explain-run <run_id>
Fonctionnalités

Local-first. Deny-by-default.

⚙️

Draft YAML

Transforme une demande en draft YAML structuré, avec warnings, validation schéma et réparation bornée si le LLM produit un YAML invalide.

📄

Review workflow

Détecte erreurs de schéma, timeouts manquants, commandes risquées, env trop large et sorties non bornées.

🧾

Explain run

Résume un échec depuis events, manifests, métadonnées step, stdout/stderr bornés et indices de cause probable.

🗂️

Rapports locaux

Produit des bilans quotidiens depuis les events, manifests et projections SQLite quand elles existent.

🔌

Providers LLM

Supporte mock, Ollama natif et OpenAI-compatible pour LM Studio ou serveurs locaux similaires, avec timeout configurable.

📦

Contrats JSON

Chaque mode retourne une structure validée avant affichage, avec réparation JSON bornée si le LLM sort du contrat.

🗄️

Audit agent

Trace l'usage dans .flow/agent/audit.jsonl sans créer de faux events de run.

🧹

Aucune action directe

Pas de run, cancel, rerun, shell, secrets, alertes, webhooks ou API externe en v1.

Contrats de sortie

Structuré. Vérifiable.

Le modèle ne pilote aucune action. Il produit une réponse typée, validée par JSON Schema, puis contrôlée par la policy.

Contrats v1 :

draft review explain-run report
agent-review.json
{
  "kind": "workflow_review",
  "valid": true,
  "findings": [
    {
      "severity": "warning",
      "path": "/steps/0/run",
      "message": "Command has no timeout.",
      "suggestion": "Add timeout: 30s."
    }
  ]
}
Commandes CLI

Sept commandes, zéro mutation.

Doctor
runflow-agent doctorTeste le provider LLM et le workspace agent sans lancer de workflowrunflow-agent doctor
--rootDiagnostique un workspace RunFlow précisrunflow-agent doctor --root C:\path\to\workspace
--format jsonRetourne les checks provider/workspace structurésrunflow-agent doctor --format json
Inspect workspace
runflow-agent inspect-workspaceInventorie jobs, drafts agent et runs récents depuis .flow/runflow-agent inspect-workspace
--limitLimite le nombre de runs récents affichésrunflow-agent inspect-workspace --limit 5
--healthSignale jobs invalides, manifests manquants, logs incomplets et drafts orphelinsrunflow-agent inspect-workspace --health
--format jsonRetourne l'inventaire structuré pour scripts et UIrunflow-agent inspect-workspace --format json
Draft
runflow-agent draftGénère un draft YAML depuis une demanderunflow-agent draft --prompt "Ping 1.1.1.1"
--inputLit la demande depuis un fichier texterunflow-agent draft --input .\request.txt
--outputÉcrit le YAML seulement si demandé explicitementrunflow-agent draft --prompt "Backup logs" --output .\.flow\agent\drafts\backup-logs.yml
Review
runflow-agent reviewValide puis audite un workflow YAML sans l'éditerrunflow-agent review .\.flow\agent\drafts\backup-logs.yml
--format jsonRetourne les diagnostics structurésrunflow-agent review .\.flow\agent\drafts\backup-logs.yml --format json
Explain run
runflow-agent explain-runExplique un échec depuis .flow/ et logs/runflow-agent explain-run <run_id>
--format jsonExpose cause probable, preuves et prochaines étapes manuellesrunflow-agent explain-run <run_id> --format json
Reports
runflow-agent report dailyProduit un rapport local depuis les traces disponiblesrunflow-agent report daily
--from / --toDélimite la période ISO-8601runflow-agent report daily --from 2026-06-09T00:00:00Z --to 2026-06-10T00:00:00Z
--format jsonExpose compteurs, jobs instables, incidents et recommandationsrunflow-agent report daily --format json
Self update
runflow-agent self versionAffiche version, OS, arch et asset release attendurunflow-agent self version
runflow-agent self updateMet à jour le binaire installé depuis GitHub Releasesrunflow-agent self update
--dry-runPrévisualise l'asset et le chemin ciblerunflow-agent self update --dry-run
Installation

En ligne en quelques minutes.

iwr https://github.com/dandyArise/runflow-agent/releases/latest/download/install.ps1 -UseBasicParsing | iex
runflow-agent --help
runflow-agent self update

Le script télécharge l'asset Windows depuis GitHub Releases, l'installe dans %USERPROFILE%\.runflow-agent\bin et peut l'ajouter au PATH utilisateur.

curl -fsSL https://github.com/dandyArise/runflow-agent/releases/latest/download/install.sh | sh
runflow-agent --help
runflow-agent self update

Les releases GitHub sont générées sur tags v* pour Windows, Linux et macOS.

Guides

Exemples pas à pas.

Objectif : générer un workflow, le relire, puis expliquer un run existant sans jamais l'exécuter depuis l'agent.

runflow-agent draft --prompt "Ping 1.1.1.1 every 5 minutes"
runflow-agent draft --prompt "Backup logs" --output .\.flow\agent\drafts\backup-logs.yml

Le fichier n'est écrit que si --output est fourni. L'agent ne lance aucune commande d'exécution.

runflow-agent review .\.flow\agent\drafts\backup-logs.yml
runflow-agent review .\.flow\agent\drafts\backup-logs.yml --format json
runflow-agent inspect-workspace
runflow-agent inspect-workspace --health
runflow-agent inspect-workspace --format json

L'inventaire reste local : .flow/jobs, .flow/agent/drafts et .flow/runs.

runflow-agent explain-run <run_id>
runflow-agent explain-run <run_id> --format json

Sources lues : .flow/runs/<run_id>/events.jsonl, manifest.json, workflow.metadata.json, step.metadata.json, logs/<run_id> et extraits stdout/stderr bornés.

runflow-agent report daily --format json
.\demo\demo.ps1

Le fichier d'audit local garde une trace des commandes agent, du modèle, du statut, des fichiers changés et des warnings.

.flow/agent/audit.jsonl
Statut actuel

Ce qui marche, ce qui arrive.

✅ Périmètre MVP

CLI agent autonome
Mode assist-only unique
Providers mock, Ollama et OpenAI-compatible
Doctor, inspect-workspace, draft, review, explain-run, report daily, self update
Sorties JSON Schema validées
YAML et sorties JSON validés
Policy deny-by-default
Audit local dans .flow/agent/audit.jsonl
Smoke tests install et release Windows

🔧 Hors v1

Pas d'autopilot, watch ou oncall
Pas d'exécution shell directe
Pas de run, cancel ou rerun par l'agent
Pas de webhooks, emails, Slack ou API externe par défaut