OpenProse

OpenProse 是一种可移植的、以 Markdown 为核心的工作流格式,用于编排 AI 会话。在 OpenClaw 中,它以 Plugin 的形式提供,安装后会添加一个 OpenProse Skill 包和一个 /prose 斜杠命令。程序保存在 .prose 文件中,可以生成多个子 Agent 并实现显式的控制流。

官方网站:https://www.prose.md

它能做什么

  • 多 Agent 研究和综合,支持显式并行处理。
  • 可重复的、审批安全的工作流(代码审查、事件分类、内容流水线)。
  • 可复用的 .prose 程序,可以在支持的 Agent Runtime 上运行。

安装和启用

内置的 Plugin 默认是禁用的。启用 OpenProse:

openclaw plugins enable open-prose

启用 Plugin 后需要重启 Gateway。

开发/本地版本:openclaw plugins install ./extensions/open-prose

相关文档:插件插件清单技能

斜杠命令

OpenProse 注册了 /prose 作为用户可调用的 Skill 命令。它会路由到 OpenProse VM 指令,并在底层使用 OpenClaw 工具。

常用命令:

/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

示例:一个简单的 .prose 文件

# Research + synthesis with two agents running in parallel.

input topic: "What should we research?"

agent researcher:
  model: sonnet
  prompt: "You research thoroughly and cite sources."

agent writer:
  model: opus
  prompt: "You write a concise summary."

parallel:
  findings = session: researcher
    prompt: "Research {topic}."
  draft = session: writer
    prompt: "Summarize {topic}."

session "Merge the findings + draft into a final answer."
context: { findings, draft }

文件位置

OpenProse 会在你的 Workspace 下的 .prose/ 目录中保存状态:

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

用户级别的持久化 Agent 保存在:

~/.prose/agents/

状态模式

OpenProse 支持多种状态后端:

  • filesystem(默认):.prose/runs/...
  • in-context:临时的,适用于小型程序
  • sqlite(实验性):需要 sqlite3 二进制文件
  • postgres(实验性):需要 psql 和连接字符串

注意事项:

  • sqlite/postgres 是可选的实验性功能。
  • postgres 凭据会流入子 Agent 日志;请使用专用的、最小权限的数据库。

远程程序

/prose run <handle/slug> 会解析为 https://p.prose.md/<handle>/<slug>。 直接的 URL 会按原样获取。这会使用 web_fetch 工具(或用 exec 处理 POST)。

OpenClaw Runtime 映射

OpenProse 程序会映射到 OpenClaw 的基础功能:

OpenProse 概念OpenClaw 工具
Spawn session / Task toolsessions_spawn
File read/writeread / write
Web fetchweb_fetch

如果你的工具白名单阻止了这些工具,OpenProse 程序会运行失败。参见技能配置

安全和审批

.prose 文件当作代码来对待。运行前先审查。使用 OpenClaw 的工具白名单和审批机制来控制副作用。

如果需要确定性的、带审批机制的工作流,可以对比参考 Lobster