chore(i18n): refresh zh-CN translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-03 22:56:40 +00:00
parent 9873208558
commit a6f7495a9c
3 changed files with 206 additions and 206 deletions

View File

@ -3,68 +3,68 @@ read_when:
- 你想要超出普通 MEMORY.md 笔记的持久知识
- 你正在配置内置的 memory-wiki 插件
- 你想了解 wiki_search、wiki_get 或桥接模式
summary: memory-wiki带有来源、声明、仪表板和桥接模式的已编译知识库
title: Memory Wiki
summary: 'memory-wiki: 带有来源信息、声明、仪表板和桥接模式的编译知识库'
title: 记忆 wiki
x-i18n:
generated_at: "2026-04-29T19:21:18Z"
generated_at: "2026-05-03T22:55:52Z"
model: gpt-5.5
provider: openai
source_hash: 744d569f8b0c9b668ea54dc057f808544359eaae87d5557de2e6acd1b31acd89
source_hash: b070177b7c1217e9102bc57680b4009265e3584ede7ad6dc3ba7b6393260fefe
source_path: plugins/memory-wiki.md
workflow: 16
---
`memory-wiki` 是一个内置插件,可将持久化记忆转换为编译后的知识库。
`memory-wiki` 是一个内置插件,会将持久记忆转换为编译后的知识库。
它**不会**取代活跃记忆插件。活跃记忆插件仍然负责召回、提升、索引和 Dreaming。`memory-wiki` 与它并行工作,并将持久化知识编译成可导航的 wiki其中包含确定性页面、结构化声明、来源、仪表盘和机器可读摘要。
它**不会**取代主动记忆插件。主动记忆插件仍然负责召回、提升、索引和 Dreaming。`memory-wiki` 与它并列工作,并将持久知识编译成可导航的 wiki其中包含确定性页面、结构化声明、来源依据、仪表板和机器可读摘要。
当你希望记忆更像一个维护良好的知识层,而不是一堆 Markdown 文件时,可以使用它。
当你希望记忆更像一个维护良好的知识层,而不是一堆 Markdown 文件时,使用它。
## 它加了什么
## 它加了什么
- 一个带有确定性页面布局的专用 wiki 库
- 结构化的声明和证据元数据,而不仅仅是散文
- 页面级来源、置信度、矛盾和开放问题
- 结构化声明和证据元数据,而不仅是 prose
- 页面级来源依据、置信度、矛盾和开放问题
- 面向智能体/运行时消费者的编译摘要
- wiki 原生搜索/获取/应用/lint 工具
- 可选桥接模式,用于从活跃记忆插件导入公共工件
- 可选 Obsidian 友好渲染模式和 CLI 集成
- wiki 原生的 search/get/apply/lint 工具
- 可选桥接模式,用于从主动记忆插件导入公共产物
- 可选 Obsidian 友好渲染模式和 CLI 集成
## 它如何与记忆配合
## 它如何配合记忆
可以这样理解这种分层:
| 层 | 拥有 |
| 层 | 负责 |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| 活跃记忆插件(`memory-core`、QMD、Honcho 等) | 召回、语义搜索、提升、Dreaming、记忆运行时 |
| `memory-wiki` | 编译后的 wiki 页面、来源丰富的综合内容、仪表盘、wiki 专用搜索/获取/应用 |
| 主动记忆插件(`memory-core`、QMD、Honcho 等) | 召回、语义搜索、提升、Dreaming、记忆运行时 |
| `memory-wiki` | 编译后的 wiki 页面、富含来源依据的综合内容、仪表板、wiki 专用 search/get/apply |
如果活跃记忆插件公开共享召回工件OpenClaw 可以用 `memory_search corpus=all` 一次性搜索这两层。
如果主动记忆插件暴露共享召回产物OpenClaw 可以用 `memory_search corpus=all` 在一次处理中搜索两个层。
当你需要 wiki 专用排序、来源或直接页面访问时,请改用 wiki 原生工具。
当你需要 wiki 专用排序、来源依据或直接页面访问时,请改用 wiki 原生工具。
## 推荐的混合模式
对于本地优先设置,一个可靠的默认选择是:
对于本地优先设置,一个强默认方案是:
- 使用 QMD 作为活跃记忆后端,用于召回和广泛语义搜索
- 使用处于 `bridge` 模式的 `memory-wiki`,用于持久综合知识页面
- 使用 QMD 作为主动记忆后端,用于召回和广泛语义搜索
- 使用 `bridge` 模式的 `memory-wiki`,用于持久综合知识页面
这种分层效果很好,因为每一层都保持专注:
- QMD 让原始笔记、会话导出和额外集合保持可搜索
- `memory-wiki` 编译稳定实体、声明、仪表和来源页面
- QMD 让原始笔记、会话导出和额外集合可搜索
- `memory-wiki` 编译稳定实体、声明、仪表和来源页面
实用规则:
- 当你想对记忆进行一次广泛召回时,使用 `memory_search`
- 当你想要具有来源感知能力的 wiki 结果时,使用 `wiki_search``wiki_get`
- 当你希望共享搜索跨越两层时,使用 `memory_search corpus=all`
- 当你想要具有来源依据感知能力的 wiki 结果时,使用 `wiki_search``wiki_get`
- 当你想让共享搜索跨越两层时,使用 `memory_search corpus=all`
如果桥接模式报告导出工件为零,说明活跃记忆插件当前尚未公开公共桥接输入。先运行 `openclaw wiki doctor`,然后确认活跃记忆插件支持公共工件
如果桥接模式报告导出的产物为零,说明主动记忆插件当前尚未暴露公共桥接输入。先运行 `openclaw wiki doctor`,然后确认主动记忆插件支持公共产物
当桥接模式处于活动状态且启用了 `bridge.readMemoryArtifacts` 时,`openclaw wiki status`、`openclaw wiki doctor` 和 `openclaw wiki bridge
import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检查与运行时记忆插件上下文保持一致。如果桥接被禁用或工件读取被关闭,这些命令会保留本地/离线行为。
import` 会通过正在运行的 Gateway 网关读取。这样可让 CLI 桥接检查与运行时记忆插件上下文保持一致。如果桥接被禁用或产物读取被关闭,这些命令会保持本地/离线行为。
## 库模式
@ -72,19 +72,19 @@ import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检
### `isolated`
自己的库、自己的来源,不依赖 `memory-core`
拥有自己的库、自己的来源,不依赖 `memory-core`
当你希望 wiki 成为自己的精选知识存储时使用此模式。
当你希望 wiki 成为独立策划的知识存储时使用此模式。
### `bridge`
通过公共插件 SDK 边界,从活跃记忆插件读取公共记忆工件和记忆事件。
通过公共插件 SDK 接缝,从主动记忆插件读取公共记忆产物和记忆事件。
当你希望 wiki 编译和组织记忆插件导出的工件,而不访问私有插件内部实现时使用此模式。
当你希望 wiki 编译和整理记忆插件导出的产物,而不进入私有插件内部机制时使用此模式。
桥接模式可以索引:
- 导出的记忆工件
- 导出的记忆产物
- Dream 报告
- 每日笔记
- 记忆根文件
@ -92,9 +92,9 @@ import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检
### `unsafe-local`
显式同机逃生口,用于本地私有路径
针对本机私有路径的显式同机逃生口。
此模式有意设计为实验性且不可移植。仅当你理解信任边界,并且确需要桥接模式无法提供的本地文件系统访问时才使用它。
此模式有意保持实验性且不可移植。仅当你理解信任边界,并且确需要桥接模式无法提供的本地文件系统访问时才使用它。
## 库布局
@ -118,19 +118,19 @@ import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检
托管内容保留在生成块内。人工笔记块会被保留。
主要页面组包括:
主要页面组包括:
- `sources/` 用于导入的原始材料和桥接支持的页面
- `entities/` 用于持久事物、人物、系统、项目和对象
- `entities/` 用于持久事物、人物、系统、项目和对象
- `concepts/` 用于想法、抽象、模式和策略
- `syntheses/` 用于编译后的摘要和维护型汇总
- `reports/` 用于生成的仪表
- `syntheses/` 用于编译摘要和维护型汇总
- `reports/` 用于生成的仪表
## 结构化声明和证据
页面可以携带结构化的 `claims` frontmatter而不仅仅是自由形式文本。
页面可以携带结构化的 `claims` frontmatter而不仅是自由格式文本。
声明可以包括:
声明可以包括:
- `id`
- `text`
@ -151,7 +151,7 @@ import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检
- `note`
- `updatedAt`
让 wiki 更像一个信念层,而不是被动的笔记堆。声明可以被跟踪、评分、质疑,并回溯到来源来解决
使 wiki 更像一个信念层,而不是被动的笔记转储。声明可以被跟踪、评分、争议化,并追溯回来源
## 面向智能体的实体元数据
@ -165,10 +165,10 @@ import` 会通过正在运行的 Gateway 网关读取。这会让 CLI 桥接检
- `privacyTier``public`、`local-private`、`sensitive` 或 `confirm-before-use`
- `bestUsedFor` / `notEnoughFor`:紧凑的路由提示
- `lastRefreshedAt`:独立于页面编辑时间的来源刷新时间戳
- `personCard`:可选的人物专用路由卡,包含用户名、社交账号、邮箱、时区、路线、适合询问、不适合询问、置信度和隐私
- `relationships`:指向相关页面的类型化边,包含目标、类型、权重、置信度、证据类型、隐私级和备注
- `personCard`:可选的人物专用路由卡,包含用户名、社交账号、邮箱、时区、通道、适合询问事项、避免询问事项、置信度和隐私
- `relationships`:指向相关页面的类型化边,包含目标、类型、权重、置信度、证据类型、隐私级和备注
对于人物 wiki智能体通常应从 `reports/person-agent-directory.md` 开始,然后在使用联系方式或推断事实前,用 `wiki_get` 打开人物页面。
对于人物 wiki智能体通常应`reports/person-agent-directory.md` 开始,然后在使用联系方式或推断事实前,用 `wiki_get` 打开人物页面。
示例:
@ -220,23 +220,23 @@ claims:
## 编译流水线
编译步骤会读取 wiki 页面、规范化摘要,并在以下位置输出稳定的面向机器的工件
编译步骤会读取 wiki 页面、规范化摘要,并在以下位置输出稳定的机器面向产物
- `.openclaw-wiki/cache/agent-digest.json`
- `.openclaw-wiki/cache/claims.jsonl`
这些摘要存在的目的,是让智能体和运行时代码不必抓取 Markdown 页面。
这些摘要存在,是为了让智能体和运行时代码不必抓取 Markdown 页面。
编译输出还支持:
- 搜索/获取流程的首轮 wiki 索引
- search/get 流程的首轮 wiki 索引
- 声明 ID 回查到所属页面
- 紧凑的提示词补充
- 报告/仪表生成
- 报告/仪表生成
## 仪表和健康报告
## 仪表和健康报告
启用 `render.createDashboards` 后,编译会维护 `reports/` 下的仪表盘
启用 `render.createDashboards` 后,编译会`reports/` 下维护仪表板
内置报告包括:
@ -252,16 +252,16 @@ claims:
这些报告会跟踪如下内容:
- 矛盾备注集群
- 竞争声明集群
- 矛盾备注
- 竞争声明
- 缺少结构化证据的声明
- 低置信度页面和声明
- 过期或未知新鲜度
- 带有未解决问题的页面
- 人物/实体路由卡
- 人物/实体路由卡
- 结构化关系边
- 证据类别覆盖率
- 使用前需要审查的非公开隐私层级
- 使用前需要审查的非公共隐私级别
## 搜索和检索
@ -278,26 +278,26 @@ claims:
重要行为:
- `wiki_search``wiki_get` 会在可能时使用编译摘要作为首轮结果
- `wiki_search``wiki_get` 会在可能时使用编译摘要作为第一轮处理
- 声明 ID 可以解析回所属页面
- 有争议/过期/新鲜的声明会影响排序
- 来源标签可以保留到结果中
- 搜索模式可以人物查找、问题路由、来源证据或原始声明偏置排序
- 来源依据标签可以保留到结果中
- 搜索模式可以让排序偏向人物查找、问题路由、来源证据或原始声明
实用规则:
- 使用 `memory_search corpus=all` 进行一次广泛召回
- 当你关心 wiki 专用排序、来源或页面级信念结构时,使用 `wiki_search` + `wiki_get`
- 当你关心 wiki 专用排序、来源依据或页面级信念结构时,使用 `wiki_search` + `wiki_get`
搜索模式:
- `auto`:平衡的默认模式
- `auto`:平衡默认值
- `find-person`:提升类似人物的实体、别名、用户名、社交账号和规范 ID
- `route-question`:提升智能体卡片、适合询问提示、最适用提示和关系上下文
- `route-question`:提升智能体卡片、适合询问提示、最适提示和关系上下文
- `source-evidence`:提升来源页面和结构化证据元数据
- `raw-claim`:提升匹配的结构化声明,并在结果中返回声明/证据元数据
当结果匹配结构化声明时,`wiki_search` 可以在其详情载荷中返回 `matchedClaimId`、`matchedClaimStatus`、`matchedClaimConfidence`、`evidenceKinds` 和 `evidenceSourceIds`。可用时,文本输出会包含紧凑的 `Claim:``Evidence:` 行。
当结果匹配结构化声明时,`wiki_search` 可以在其 details payload 中返回 `matchedClaimId`、`matchedClaimStatus`、`matchedClaimConfidence`、`evidenceKinds` 和 `evidenceSourceIds`。可用时,文本输出会包含紧凑的 `Claim:``Evidence:` 行。
## 智能体工具
@ -312,26 +312,26 @@ claims:
它们的作用:
- `wiki_status`当前库模式、健康状态、Obsidian CLI 可用性
- `wiki_search`:搜索 wiki 页面,以及在配置后搜索共享记忆语料库;接受 `mode`,用于人物查找、问题路由、来源证据或原始声明深挖
- `wiki_search`:搜索 wiki 页面,并在配置后搜索共享记忆语料库;接受用于人物查找、问题路由、来源证据或原始声明钻取的 `mode`
- `wiki_get`:按 ID/路径读取 wiki 页面,或回退到共享记忆语料库
- `wiki_apply`:进行窄范围综合/元数据变更,而不是自由式页面手术
- `wiki_lint`:结构检查、来源缺口、矛盾、开放问题
- `wiki_apply`:进行窄范围综合/元数据变更,而不是自由式页面手术
- `wiki_lint`:结构检查、来源依据缺口、矛盾、开放问题
该插件还会注册非独占的记忆语料库补充,因此当活跃记忆插件支持语料库选择时,共享的 `memory_search``memory_get` 可以访问 wiki。
该插件还会注册一个非独占的记忆语料库补充,因此当主动记忆插件支持语料库选择时,共享的 `memory_search``memory_get` 可以触达 wiki。
## 提示词和上下文行为
启用 `context.includeCompiledDigestPrompt` 后,记忆提示词部分会附加来自 `agent-digest.json` 的紧凑编译快照。
启用 `context.includeCompiledDigestPrompt` 后,记忆提示词区段会附加来自 `agent-digest.json` 的紧凑编译快照。
该快照有意保持小而高信号:
- 仅包含顶页面
- 仅包含顶声明
- 仅包含顶页面
- 仅包含顶声明
- 矛盾数量
- 问题数量
- 置信度/新鲜度限定信息
- 置信度/新鲜度限定
这是可选功能,因为它会改变提示词形态,并且主要适用于显式消费记忆补充的上下文引擎或旧版提示词组装。
这是可选项,因为它会改变提示词形状,并且主要适用于明确消费记忆补充的上下文引擎或旧版提示词组装。
## 配置
@ -389,24 +389,27 @@ claims:
关键开关:
- `vaultMode`: `isolated`、`bridge`、`unsafe-local`
- `vault.renderMode`: `native``obsidian`
- `bridge.readMemoryArtifacts`: 导入活跃 memory 插件的公共工件
- `bridge.followMemoryEvents`: 在 bridge 模式中包含事件日志
- `search.backend`: `shared``local`
- `search.corpus`: `wiki`、`memory` 或 `all`
- `context.includeCompiledDigestPrompt`: 将紧凑摘要快照追加到 memory 提示词分区
- `render.createBacklinks`: 生成确定性的相关区
- `render.createDashboards`: 生成仪表板页面
- `vaultMode``isolated`、`bridge`、`unsafe-local`
- `vault.renderMode``native``obsidian`
- `bridge.readMemoryArtifacts`:导入主动记忆插件的公开产物
- `bridge.followMemoryEvents`:在桥接模式中包含事件日志
- `search.backend``shared``local`
- `search.corpus``wiki`、`memory` 或 `all`
- `context.includeCompiledDigestPrompt`:将紧凑摘要快照追加到记忆提示词部分
- `render.createBacklinks`:生成确定性的相关
- `render.createDashboards`:生成仪表盘页面
### 示例QMD + bridge 模式
### 示例QMD + 桥接模式
当你想用 QMD 进行召回,并用 `memory-wiki` 维护知识层时,请使用此配置:
当你想将 QMD 用于回忆,并将 `memory-wiki` 用作维护型知识层时使用此配置:
```json5
{
memory: {
backend: "qmd",
},
plugins: {
entries: {
"memory-wiki": {
enabled: true,
config: {
@ -435,13 +438,13 @@ claims:
这会保持:
- QMD 负责活跃 memory 召回
- `memory-wiki` 专注于编译页面和仪表板
- 在你有意启用编译摘要提示词之前,提示词形态保持不变
- QMD 负责主动记忆回忆
- `memory-wiki` 专注于编译后的页面和仪表盘
- 提示词形态保持不变,直到你有意启用编译摘要提示词
## CLI
`memory-wiki`暴露一个顶层 CLI 界面:
`memory-wiki`公开了一个顶层 CLI 界面:
```bash
openclaw wiki status
@ -465,27 +468,27 @@ openclaw wiki obsidian status
支持的工作流包括:
- Status 探测
- 状态探测
- vault 搜索
- 打开页面
- 调用 Obsidian 命令
- 跳转到日记
- 跳转到
这是可选的。即使没有 Obsidianwiki 仍可在原生模式下工作。
## 推荐工作流
1. 保留你的活跃 memory 插件,用于召回、提升和 Dreaming。
1. 保留你的主动记忆插件,用于回忆、提升和 Dreaming。
2. 启用 `memory-wiki`
3. 除非你明确需要 bridge 模式,否则从 `isolated` 模式开始。
4. 当来源出处很重要时,使用 `wiki_search` / `wiki_get`
5. 使用 `wiki_apply` 进行范围较窄的综合整理或元数据更新。
6. 在有意义的更后运行 `wiki_lint`
7. 如果你想查看陈旧内容或矛盾内容,请开启仪表板
3. 除非你明确想要桥接模式,否则从 `isolated` 模式开始。
4. 当来源依据很重要时,使用 `wiki_search` / `wiki_get`
5. 使用 `wiki_apply` 进行范围综合或元数据更新。
6. 在有意义的更后运行 `wiki_lint`
7. 如果你想查看过期内容或矛盾内容,请开启仪表盘
## 相关文档
- [Memory 概览](/zh-CN/concepts/memory)
- [记忆概览](/zh-CN/concepts/memory)
- [CLImemory](/zh-CN/cli/memory)
- [CLIwiki](/zh-CN/cli/wiki)
- [插件 SDK 概览](/zh-CN/plugins/sdk-overview)

View File

@ -1,21 +1,21 @@
---
read_when:
- 你想在工作流中加入一个纯 JSON 的 LLM 步骤
- 你需要经过 schema 验证的 LLM 输出用于自动化
summary: 用于工作流的纯 JSON LLM 任务(可选插件工具)
- 你想要在工作流中使用仅 JSON 的 LLM 步骤
- 你需要用于自动化的、经过模式验证的大语言模型输出
summary: 仅 JSON 的 LLM 任务,用于工作流(可选插件工具)
title: LLM 任务
x-i18n:
generated_at: "2026-04-23T23:04:53Z"
model: gpt-5.4
generated_at: "2026-05-03T22:55:44Z"
model: gpt-5.5
provider: openai
source_hash: 613aefd1bac5b9675821a118c11130c8bfaefb1673d0266f14ff4e91b47fed8b
source_hash: 9cdc5d4feef17fb6d6d90d819d4c92d26a4ec43e4f5364c6acbaad1934a89269
source_path: tools/llm-task.md
workflow: 15
workflow: 16
---
`llm-task` 是一个**可选插件工具**,用于运行 JSON 的 LLM 任务,并返回结构化输出(可选根据 JSON Schema 进行验证)。
`llm-task` 是一个**可选插件工具**,用于运行 JSON 的 LLM 任务,并返回结构化输出(可选根据 JSON Schema 验证)。
这非常适合 Lobster 之类的工作流引擎:你可以添加一个单独的 LLM 步骤,而无需为每个工作流编写自定义 OpenClaw 代码。
这非常适合 Lobster 这样的工作流引擎:你可以添加单个 LLM 步骤,而无需为每个工作流编写自定义 OpenClaw 代码。
## 启用插件
@ -31,21 +31,18 @@ x-i18n:
}
```
2. 将该工具加入 allowlist它以 `optional: true` 注册)
2. 允许可选工具
```json
{
"agents": {
"list": [
{
"id": "main",
"tools": { "allow": ["llm-task"] }
}
]
"tools": {
"alsoAllow": ["llm-task"]
}
}
```
只有在你想使用限制性允许列表模式时,才使用 `tools.allow`
## 配置(可选)
```json
@ -68,11 +65,11 @@ x-i18n:
}
```
`allowedModels`一个由 `provider/model` 字符串组成的 allowlist。如果设置了它则任何不在列表中的请求都会被拒绝。
`allowedModels` `provider/model` 字符串的允许列表。如果已设置,列表之外的任何请求都会被拒绝。
## 工具参数
- `prompt`(字符串,必
- `prompt`(字符串,必
- `input`(任意类型,可选)
- `schema`(对象,可选 JSON Schema
- `provider`(字符串,可选)
@ -83,11 +80,11 @@ x-i18n:
- `maxTokens`(数字,可选)
- `timeoutMs`(数字,可选)
`thinking` 接受标准 OpenClaw 推理预设,例如 `low``medium`
`thinking` 接受标准 OpenClaw 推理预设,例如 `low``medium`
## 输出
返回包含解析后 JSON 的 `details.json`(提供 `schema` 时会据此验证)。
返回包含已解析 JSON 的 `details.json`(并在提供 `schema` 时根据它进行验证)。
## 示例Lobster 工作流步骤
@ -111,15 +108,15 @@ openclaw.invoke --tool llm-task --action json --args-json '{
}'
```
## 安全说明
## 安全注意事项
- 该工具是**纯 JSON** 的,并会指示模型仅输出 JSON无代码围栏、无评论)。
- 次运行不会向模型暴露任何工具。
- 除非你使用 `schema` 进行验证,否则应将输出视为不受信任
- 在任何有副作用的步骤(发送、发布、exec之前放置审批。
- 该工具**仅输出 JSON**,并指示模型只输出 JSON不输出代码围栏不输出评论)。
- 次运行不会向模型暴露任何工具。
- 除非你使用 `schema` 进行验证,否则应将输出视为不可信
- 在任何有副作用的步骤(发送、发布、执行)之前加入审批。
## 相关
## 相关内容
- [Thinking 级别](/zh-CN/tools/thinking)
- [思考级别](/zh-CN/tools/thinking)
- [子智能体](/zh-CN/tools/subagents)
- [斜杠命令](/zh-CN/tools/slash-commands)

View File

@ -1,52 +1,52 @@
---
read_when:
- 你希望使用具有显式批准机制的确定性多步骤工作流
- 你需要在不重新运行前步骤的情况下恢复工作流
summary: 带可恢复批准关卡的 OpenClaw 类型化工作流运行时。
title: Lobster
- 你需要带有明确审批的确定性多步骤工作流
- 你需要在不重新运行前步骤的情况下恢复工作流
summary: OpenClaw 类型化工作流运行时,带可恢复的审批门禁
title: 龙虾
x-i18n:
generated_at: "2026-04-27T06:07:17Z"
model: gpt-5.4
generated_at: "2026-05-03T22:55:42Z"
model: gpt-5.5
provider: openai
source_hash: 1700bcfdbcf4558cb908935834e9059221d0d26ad78ed6f9e2158f7e0b83edbd
source_hash: e1a81fddd11fa36f4ce3b3f0bce35f5a7e90300e225027331965bdfdc8919532
source_path: tools/lobster.md
workflow: 15
workflow: 16
---
Lobster 是一个工作流 shell让 OpenClaw 能够把多步骤工具序列作为一次单一、确定性的操作来运行,并带有显式批准检查点。
Lobster 是一个工作流 shell可让 OpenClaw 将多步工具序列作为单个确定性操作运行,并带有明确的批准检查点。
Lobster 位于分离式后台工作之上的一个编写层。若要了解单个任务之上的流程编排,请参见 [Task Flow](/zh-CN/automation/taskflow)`openclaw tasks flow`)。若要查看任务活动账本,请参见 [`openclaw tasks`](/zh-CN/automation/tasks)。
Lobster 是位于分离式后台工作之上的一个创作层。若要了解高于单个任务的流程编排,请参阅[任务流](/zh-CN/automation/taskflow)`openclaw tasks flow`)。若要了解任务活动账本,请参阅 [`openclaw tasks`](/zh-CN/automation/tasks)。
##
##
你的助手可以构建管理它自己的工具。只要提出一个工作流请求30 分钟后你就能得到一个 CLI 和一组可通过一次调用运行的流水线。Lobster 就是缺失的那一块:确定性流水线、显式批准,以及可恢复状态。
你的助手可以构建用于管理自身的工具。提出一个工作流需求30 分钟后你就会得到一个 CLI 加上能作为一次调用运行的管道。Lobster 就是缺失的那一环:确定性管道、明确批准,以及可恢复状态。
## 为什么要用它
## 为什么
如今,复杂工作流需要来回进行许多工具调用。每次调用都会消耗 token而且 LLM 必须编排每一个步骤。Lobster 把这种编排移入一个类型化运行时:
如今,复杂工作流需要大量来回工具调用。每次调用都会消耗 token并且 LLM 必须编排每一步。Lobster 将这种编排移入一个类型化运行时:
- **一次调用替多次调用**OpenClaw 运行一次 Lobster 工具调用并获得结构化结果。
- **内置批准**带副作用的操作(发送邮件、发布评论)会暂停工作流,直到被显式批准。
- **可恢复**:暂停的工作流会返回一个令牌;批准后可恢复,而无需重新运行所有内容。
- **一次调用多次调用**OpenClaw 运行一次 Lobster 工具调用并获得结构化结果。
- **内置批准**副作用(发送电子邮件、发表评论)会暂停工作流,直到获得明确批准。
- **可恢复**:暂停的工作流会返回一个 token批准后即可恢复无需重新运行所有内容。
## 为什么使用 DSL而不是普通程序?
## 为什么使用 DSL 而不是普通程序?
Lobster 是有意保持精简的。目标不是“发明一种新语言”,而是提供一个可预测、对 AI 友好的流水线规范,并拥有一等的批准与恢复令牌能力。
Lobster 有意保持小巧。目标不是“一个新语言”而是一个可预测、AI 友好的管道规格,并以批准和恢复 token 作为一等能力。
- **内置批准/恢复**普通程序可以提示人类但如果没有你自己实现那套运行时它无法使用持久令牌来_暂停并恢复_。
- **确定性 + 可审计性**流水线是数据因此易于记录、Diffs、重放和审查。
- **面向 AI 的受限表面**微小语法 + JSON 管道可以减少“创造性”代码路径,并使验证更现实。
- **内安全策略**:超时、输出上限、沙箱检查和允许列表由运行时统一强制执行,而不是由每个脚本自处理。
- **批准/恢复是内置的**:普通程序可以提示人工确认,但除非你自己发明这套运行时,否则它无法使用持久 token 来_暂停和恢复_。
- **确定性 + 可审计性**管道是数据,因此很容易记录、比较差异、重放和审查。
- **面向 AI 的受限表面**小型语法 + JSON 管道减少了“创意型”代码路径,并让验证变得现实。
- **内安全策略**:超时、输出上限、沙箱检查和允许列表由运行时强制执行,而不是由每个脚本自处理。
- **仍然可编程**:每一步都可以调用任意 CLI 或脚本。如果你想使用 JS/TS可以从代码生成 `.lobster` 文件。
## 工作原理
OpenClaw **在进程内**运行 Lobster 工作流,使用的是嵌入式运行器。不会启动外部 CLI 子进程;工作流引擎在 Gateway 网关进程内执行,并直接返回一个 JSON 信封。
如果流水线因等待批准而暂停,该工具会返回 `resumeToken`,以便你稍后继续。
OpenClaw 使用嵌入式 runner **进程内**运行 Lobster 工作流。不会生成外部 CLI 子进程;工作流引擎在 Gateway 网关进程内执行,并直接返回 JSON 信封。
如果管道因批准而暂停,该工具会返回 `resumeToken`,方便你之后继续。
## 模式:小型 CLI + JSON 管道 + 批准
构建一些会说 JSON 的小命令,然后把它们串联成一次 Lobster 调用。(下面的命令名只是示例——请替换成你自己的。)
构建会输出 JSON 的小命令,然后将它们串联成一次 Lobster 调用。(下面的示例命令名可替换为你自己的。)
```bash
inbox list --json
@ -62,7 +62,7 @@ inbox apply --json
}
```
如果流水线请求批准,请使用该令牌恢复:
如果管道请求批准,请使用 token 恢复:
```json
{
@ -72,7 +72,7 @@ inbox apply --json
}
```
AI 触发工作流Lobster 执行步骤。批准关卡让副作用保持显式且可审计。
AI 触发工作流Lobster 执行步骤。批准门禁让副作用保持明确且可审计。
示例:将输入项映射为工具调用:
@ -84,10 +84,10 @@ gog.gmail.search --query 'newer_than:1d' \
## 仅 JSON 的 LLM 步骤llm-task
对于需要**结构化 LLM 步骤**的工作流,请启用可选的
`llm-task` 插件工具,并从 Lobster 调用它。这样既能保持工作流
的确定性,又能让你借助模型完成分类/总结/起草。
`llm-task` 插件工具,并从 Lobster 调用它。这样既能保持工作流确定性,
又仍然可以用模型进行分类、总结或起草。
启用工具:
启用工具:
```json
{
@ -107,7 +107,7 @@ gog.gmail.search --query 'newer_than:1d' \
}
```
流水线中使用它
管道中使用
```lobster
openclaw.invoke --tool llm-task --action json --args-json '{
@ -126,11 +126,11 @@ openclaw.invoke --tool llm-task --action json --args-json '{
}'
```
详情和配置选项请参见 [LLM Task](/zh-CN/tools/llm-task)。
详情和配置选项请参阅 [LLM 任务](/zh-CN/tools/llm-task)。
## 工作流文件(.lobster
Lobster 可以运行带有 `name`、`args`、`steps`、`env`、`condition` 和 `approval` 字段的 YAML/JSON 工作流文件。在 OpenClaw 工具调用中,将 `pipeline` 设置为文件路径即可
Lobster 可以运行带有 `name`、`args`、`steps`、`env`、`condition` 和 `approval` 字段的 YAML/JSON 工作流文件。在 OpenClaw 工具调用中,将 `pipeline` 设置为文件路径。
```yaml
name: inbox-triage
@ -155,18 +155,18 @@ steps:
说明:
- `stdin: $step.stdout``stdin: $step.json` 用于传递前一步的输出。
- `condition`(或 `when`)可根据 `$step.approved` 对步骤进行门控
- `stdin: $step.stdout``stdin: $step.json` 会传递先前步骤的输出。
- `condition`(或 `when`)可以根据 `$step.approved` 为步骤设置门禁
## 安装 Lobster
内置的 Lobster 工作流在进程内运行;不需要单独的 `lobster` 二进制文件。嵌入式运行器会随 Lobster 插件一起提供。
内置 Lobster 工作流以进程内方式运行;不需要单独的 `lobster` 二进制文件。嵌入式 runner 随 Lobster 插件一起提供。
如果你在开发或外部流水线中需要独立的 Lobster CLI请从 [Lobster 仓库](https://github.com/openclaw/lobster) 安装,并确保 `lobster` 位于 `PATH` 中。
如果你需要用于开发或外部管道的独立 Lobster CLI请从 [Lobster repo](https://github.com/openclaw/lobster) 安装,并确保 `lobster` 位于 `PATH` 中。
## 启用工具
## 启用工具
Lobster 是一个**可选**插件工具(默认启用)。
Lobster 是一个**可选**插件工具(默认启用)。
推荐方式(增量、安全):
@ -178,7 +178,7 @@ Lobster 是一个**可选**插件工具(默认不启用)。
}
```
者按智能体启用
按 agent 配置
```json
{
@ -195,25 +195,25 @@ Lobster 是一个**可选**插件工具(默认不启用)。
}
```
除非你明确打算在严格允许列表模式下运行,否则不要使用 `tools.allow: ["lobster"]`
除非你打算以限制性允许列表模式运行,否则请避免使用 `tools.allow: ["lobster"]`
<Note>
可选插件的允许列表采用选择启用机制。如果你的允许列表只列出插件工具(如 `lobster`OpenClaw 仍会保留核心工具为启用状态。若要限制核心工具,也请将你需要的核心工具或工具组一并加入允许列表
允许列表对于可选插件是选择启用的。`alsoAllow` 只启用指定的可选插件工具,同时保留正常核心工具集。若要限制核心工具,请将 `tools.allow` 与你需要的核心工具或工具组一起使用
</Note>
## 示例:电子邮件分
## 示例:电子邮件分
不使用 Lobster
没有 Lobster
```
用户:“检查我的邮件并起草回复”
→ openclaw 调用 gmail.list
→ LLM 总结
用户:“为 #2#5 起草回复”
→ LLM 起草
用户:“发送 #2
→ openclaw 调用 gmail.send
(每天重复,不记得哪些已经处理过)
User: "Check my email and draft replies"
→ openclaw calls gmail.list
→ LLM summarizes
User: "draft replies to #2 and #5"
→ LLM drafts
User: "send #2"
→ openclaw calls gmail.send
(repeat daily, no memory of what was triaged)
```
使用 Lobster
@ -252,13 +252,13 @@ Lobster 是一个**可选**插件工具(默认不启用)。
}
```
一个工作流。确定。安全。
一个工作流。确定。安全。
## 工具参数
### `run`
以工具模式运行一个流水线
以工具模式运行管道
```json
{
@ -270,7 +270,7 @@ Lobster 是一个**可选**插件工具(默认不启用)。
}
```
参数运行工作流文件:
使用参数运行工作流文件:
```json
{
@ -282,7 +282,7 @@ Lobster 是一个**可选**插件工具(默认不启用)。
### `resume`
批准后继续暂停的工作流。
批准后继续暂停的工作流。
```json
{
@ -294,62 +294,62 @@ Lobster 是一个**可选**插件工具(默认不启用)。
### 可选输入
- `cwd`流水线的相对工作目录(必须保持在 Gateway 网关工作目录内)。
- `timeoutMs`:如果工作流超过时长则中止默认20000
- `maxStdoutBytes`:如果输出超过该大小则中止工作流默认512000
- `argsJson`:传递给 `lobster run --args-json` 的 JSON 字符串(仅适用于工作流文件)。
- `cwd`管道的相对工作目录(必须保持在 Gateway 网关工作目录内)。
- `timeoutMs`:如果工作流超过时长则中止默认20000
- `maxStdoutBytes`:如果输出超过此大小则中止默认512000
- `argsJson`:传递给 `lobster run --args-json` 的 JSON 字符串(仅工作流文件)。
## 输出信封
Lobster 会返回一个 JSON 信封,其状态为以下三种之一
Lobster 返回带有三种状态之一的 JSON 信封
- `ok` → 成功完成
- `needs_approval` → 已暂停;恢复时需要 `requiresApproval.resumeToken`
- `cancelled`被显式拒绝或取消
- `needs_approval` → 已暂停;需要 `requiresApproval.resumeToken` 才能恢复
- `cancelled`已明确拒绝或取消
该工具会同时在 `content`美化后的 JSON`details`(原始对象)中暴露该信封。
该工具会同时在 `content`格式化 JSON`details`(原始对象)中公开信封。
## 批准
如果存在 `requiresApproval`,请检查提示并决定:
如果存在 `requiresApproval`,请检查提示并作出决定:
- `approve: true` → 恢复并继续执行带副作用的操作
- `approve: false` → 取消并结束该工作流
- `approve: true` → 恢复并继续副作用
- `approve: false` → 取消并最终完成工作流
使用 `approve --preview-from-stdin --limit N` 可以把 JSON 预览附加到批准请求中,而无需自定义 `jq`/heredoc 粘合代码。现在的恢复令牌更紧凑Lobster 会将工作流恢复状态保存在其状态目录下,并返回一个小型令牌键。
使用 `approve --preview-from-stdin --limit N` 将 JSON 预览附加到批准请求,无需自定义 jq/heredoc 粘合代码。恢复 token 现在很紧凑Lobster 会在其状态目录下存储工作流恢复状态,并返回一个小型 token 键。
## OpenProse
OpenProse 与 Lobster 配合良好:先使用 `/prose` 编排多智能体准备工作,再运行一个 Lobster 流水线来执行带确定性批准的流程。如果某个 Prose 程序需要 Lobster请通过 `tools.subagents.tools` 为子智能体允许 `lobster` 工具。参见 [OpenProse](/zh-CN/prose)。
OpenProse 与 Lobster 配合良好:使用 `/prose` 编排多 agent 准备工作,然后运行 Lobster 管道以获得确定性批准。如果 Prose 程序需要 Lobster请通过 `tools.subagents.tools` 为子 agent 允许 `lobster` 工具。请参阅 [OpenProse](/zh-CN/prose)。
## 安全
- **仅本地进程内**——工作流在 Gateway 网关进程内部执行;插件自身不会发起网络调用。
- **无管理**——Lobster 不管理 OAuth它调用的是负责此事的 OpenClaw 工具。
- **感知沙箱**——当工具上下文处于沙箱隔离中时,该功能会被禁用。
- **已加固**——超时和输出上限由嵌入式运行器强制执行
- **仅本地进程内**——工作流在 Gateway 网关进程内执行;插件本身不会发起网络调用。
- **无密管理**——Lobster 不管理 OAuth它调用负责这些操作的 OpenClaw 工具。
- **感知沙箱**——当工具上下文处于沙箱隔离状态时会禁用。
- **加固**——嵌入式 runner 会强制执行超时和输出上限
## 故障排除
- **`lobster timed out`** → 增加 `timeoutMs`,或拆分较长流水线
- **`lobster output exceeded maxStdoutBytes`** → 提高 `maxStdoutBytes`或减少输出大小。
- **`lobster returned invalid JSON`** → 确保流水线以工具模式运行,并且只输出 JSON。
- **`lobster failed`** → 检查 Gateway 网关日志中的嵌入式运行器错误详情。
- **`lobster timed out`** → 增加 `timeoutMs`,或拆分过长的管道
- **`lobster output exceeded maxStdoutBytes`** → 提高 `maxStdoutBytes` 或减少输出大小。
- **`lobster returned invalid JSON`** → 确保管道以工具模式运行,并且只打印 JSON。
- **`lobster failed`** → 查看 Gateway 网关日志,获取嵌入式 runner 错误详情。
## 了解更多
- [插件](/zh-CN/tools/plugin)
- [插件工具编写](/zh-CN/plugins/building-plugins#registering-agent-tools)
- [插件工具创作](/zh-CN/plugins/building-plugins#registering-agent-tools)
## 案例研究:社区工作流
一个公开示例是:“第二大脑” CLI + Lobster 流水线,用于管理三个 Markdown 仓库(个人、伴侣、共享)。该 CLI 会为统计、收件箱列表和陈旧扫描输出 JSONLobster 会把这些命令串联成诸如 `weekly-review`、`inbox-triage`、`memory-consolidation` 和 `shared-task-sync` 之类的工作流每个都带有批准关卡。AI 在可用时负责判断(分类),在不可用时则回退到确定性规则。
一个公开示例“第二大脑”CLI + Lobster 管道,用于管理三个 Markdown vault个人、伴侣、共享。CLI 会为统计信息、收件箱列表和陈旧扫描输出 JSONLobster 将这些命令串联成 `weekly-review`、`inbox-triage`、`memory-consolidation` 和 `shared-task-sync` 等工作流,每个工作流都带有批准门禁。当 AI 可用时,它负责判断(分类);不可用时,则回退到确定性规则。
- 讨论串[https://x.com/plattenschieber/status/2014508656335770033](https://x.com/plattenschieber/status/2014508656335770033)
- 线程[https://x.com/plattenschieber/status/2014508656335770033](https://x.com/plattenschieber/status/2014508656335770033)
- 仓库:[https://github.com/bloomedai/brain-cli](https://github.com/bloomedai/brain-cli)
## 相关内容
## 相关
- [自动化与任务](/zh-CN/automation) — 调度 Lobster 工作流
- [自动化概览](/zh-CN/automation) — 所有自动化机制
- [工具概览](/zh-CN/tools) — 所有可用的智能体工具
- [工具概览](/zh-CN/tools) — 所有可用 agent 工具