技能

OpenProse

OpenProse 是一种可移植、Markdown 优先的工作流格式,用于编排 AI 会话。在 OpenClaw 中,它作为插件提供,会安装 OpenProse 技能 包和 /prose 斜杠命令。程序存放在 .prose 文件中,并可 通过显式控制流生成多个子智能体。

安装

  • 启用插件

    OpenProse 已内置,但默认禁用。启用它:

    bash
    openclaw plugins enable open-prose
  • 重启 Gateway 网关

    bash
    openclaw gateway restart
  • 验证

    bash
    openclaw plugins list | grep prose

    你应该会看到 open-prose 已启用。现在可以在聊天中使用 /prose 技能命令。

  • 在仓库检出目录中,可以直接安装该插件: openclaw plugins install ./extensions/open-prose

    斜杠命令

    OpenProse 将 /prose 注册为用户可调用的技能命令:

    text
    /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 run <handle/slug> 会解析为 https://p.prose.md/<handle>/<slug>。 直接 URL 会使用 web_fetch 工具按原样获取。

    顶层远程运行是显式的。.prose 程序中的远程导入属于 传递性代码依赖:在 OpenProse 获取任何远程 use 目标之前, 它会显示解析后的导入列表,并要求操作员针对该次运行准确回复 approve remote prose imports

    功能

    • 通过显式并行机制开展多智能体研究和综合。
    • 可重复且审批安全的工作流(代码审查、事件分流、内容流水线)。
    • 可在受支持的 Agent Runtimes 中运行的可复用 .prose 程序。

    示例:并行研究和综合

    prose
    # 由两个智能体并行执行研究和综合。 input topic: "我们应该研究什么?" agent researcher:  model: sonnet  prompt: "你需要进行全面研究并引用来源。" agent writer:  model: opus  prompt: "你需要撰写简明摘要。" parallel:  findings = session: researcher    prompt: "研究 {topic}。"  draft = session: writer    prompt: "总结 {topic}。" session "将研究结果和草稿合并为最终答案。"  context: { findings, draft }

    OpenClaw 运行时映射

    OpenProse 程序映射到 OpenClaw 原语:

    OpenProse 概念 OpenClaw 工具
    生成会话 / Task 工具 sessions_spawn
    文件读取 / 写入 read / write
    Web 获取 web_fetch(需要 POST 时使用 exec + curl)

    文件位置

    OpenProse 将状态保存在工作区的 .prose/ 下:

    text
    .prose/├── .env                      # 配置(key=value),例如 OPENPROSE_POSTGRES_URL├── runs/│   └── {YYYYMMDD}-{HHMMSS}-{random}/│       ├── program.prose     # 正在运行的程序副本│       ├── state.md          # 执行状态│       ├── bindings/│       ├── imports/          # 嵌套的远程程序运行│       └── agents/└── agents/                   # 项目范围的持久化智能体

    用户级持久化智能体(跨项目共享)位于:

    text
    ~/.prose/agents/

    状态后端

    文件系统(默认)

    状态写入工作区中的 .prose/runs/...。无需额外 依赖。

    上下文内

    临时状态保存在上下文窗口中;使用 --in-context 选择。 适用于小型、短期运行的程序。

    sqlite(实验性)

    使用 --state=sqlite 选择。要求 PATH 中存在 sqlite3 二进制文件 (缺失时回退到文件系统);状态存储在 .prose/runs/{id}/state.db 中。

    postgres(实验性)

    使用 --state=postgres 选择。要求 psql,并在 OPENPROSE_POSTGRES_URL 中提供连接字符串(在 .prose/.env 中设置)。

    安全

    .prose 文件视为代码。运行前请审查这些文件,包括远程 use 导入。顶层 /prose run https://... 请求是显式的,但 传递性远程导入在获取或执行前需要逐次运行审批。使用 OpenClaw 工具允许列表和审批门槛来控制 副作用。对于确定性且受审批门槛控制的工作流,可与 Lobster 比较。

    相关内容

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

    Was this useful?
    On this page

    On this page