johnlindquist/mdflow

Multi-backend CLI for executable markdown prompts. Run .md files against Claude, Codex, Gemini, or Copilot.

解決的問題

mdflow 是一種面向智能體工作流程的 Git 原生控制平面。它透過允許使用者將特定任務(如程式碼審查或發行說明)定義為版本控制的 Markdown 檔案,解決了 AI 智能體任務不一致、不可重複的問題。這使得提示詞成為一等的 CLI 命令,可被串接、鏈結,並透過行為評估加以保護。

工作原理

  • Markdown 作為命令:以特定模式命名的檔案(如 task.claude.md)會自動對應至 CLI 引擎(如 Claude、Codex 或 Gemini)。Markdown 正文作為提示詞,YAML 前置元資料則轉換為 CLI 標誌。
  • 引擎解析:使用解析優先級鏈來決定執行哪個 AI 引擎,優先順序高於預設值:明確的 CLI 標誌、環境變數與檔案名稱。
  • 上下文隔離:預設情況下會移除環境上下文(如使用者設定或會話持久化),以確保執行是隔離且可重複的,但可透過 _isolated: false 選項停用此行為。
  • 生命週期鈎子:使用者可將 TypeScript 檔案(鈎子)附加至流程中,於特定事件(如 userPromptSubmit)期間注入上下文或阻止操作。
  • 行為評估:內建 md eval 命令,可在隔離的工作區中執行行為測試案例,確保提示詞修改不會引入回歸問題。
  • 演化協議md evolve 命令允許使用者根據回饋提出並驗證提示詞改進方案,而無需立即覆蓋原始檔案。

適用對象

希望將 AI 智能體提示詞當作程式碼來處理的開發者與團隊,支援版本控制、回歸測試,並以標準化方式在不同 CLI 基礎的 LLM 引擎上執行 AI 任務。

核心亮點

  • Git 原生:流程儲存在 ./flows 目錄中,可在拉取請求中進行差異比對。
  • Unix 哲學:支援 stdin/stdout,允許將智能體透過管道串接(例如 git diff | md review.md)。
  • 流程工作台:提供互動式 CLI 界面,用於搜尋與執行專案、全域及已安裝的流程。
  • 引擎無關:支援多種引擎,包括 piclaudecodexcopilotgeminiagy
  • 模板變數:支援透過前置元資料變數、CLI 標誌與互動式表單提示實現動態輸入。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案