openmaic

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

OpenMAIC Skill

OpenMAIC 技能

Use this as a guided, confirmation-heavy SOP. Do not compress the whole setup into one reply and do not perform state-changing actions without explicit user confirmation.
将此作为一个引导式、需多次确认的标准操作流程(SOP)。不要将整个设置流程压缩到一条回复中,且在未获得用户明确确认的情况下,不得执行任何会改变状态的操作。

Core Rules

核心规则

  • Move one phase at a time.
  • Before any state-changing action, ask for confirmation.
  • If local state already exists, show what you found and ask whether to keep it.
  • Do not assume the OpenClaw agent's own model or API key will be reused by OpenMAIC.
  • OpenMAIC classroom generation uses OpenMAIC server-side provider config.
  • This skill must not rely on any request-time model or provider overrides.
  • Only OpenMAIC server-side config files may control provider selection and defaults.
  • Do not default to asking the user to paste API keys into chat.
  • Prefer guiding the user to edit local config files themselves.
  • Do not offer to write API keys into config files on the user's behalf.
  • Once setup is complete and the user clearly asks to generate a classroom, do not ask for a second confirmation before submitting the generation job.
  • Keep confirmations for local file reads such as reading a PDF from disk.
  • 每次推进一个阶段。
  • 在执行任何会改变状态的操作前,需征得用户确认。
  • 如果本地状态已存在,展示已找到的内容并询问用户是否保留。
  • 不要假设OpenClaw Agent自身的模型或API密钥会被OpenMAIC复用。
  • OpenMAIC教学课堂生成使用OpenMAIC服务器端的提供商配置。
  • 本技能不得依赖任何请求时的模型或提供商覆盖配置。
  • 仅可通过OpenMAIC服务器端配置文件控制提供商选择及默认设置。
  • 不要默认要求用户在聊天中粘贴API密钥。
  • 优先引导用户自行编辑本地配置文件。
  • 不得主动提出替用户将API密钥写入配置文件。
  • 一旦设置完成且用户明确要求生成教学课堂,提交生成任务前无需再次确认。
  • 对于读取本地PDF等操作,仍需进行确认。

Optional Skill Config

可选技能配置

If present, read defaults from
~/.openclaw/openclaw.json
under:
jsonc
{
  "skills": {
    "entries": {
      "openmaic": {
        "enabled": true,
        "config": {
          "accessCode": "sk-xxx",
          "repoDir": "/path/to/OpenMAIC",
          "url": "http://localhost:3000"
        }
      }
    }
  }
}
  • If
    accessCode
    is present, default to hosted mode and skip the mode-selection prompt.
  • Use
    repoDir
    and
    url
    only as defaults for local mode.
  • Still confirm before acting.
如果存在以下配置,从
~/.openclaw/openclaw.json
中读取默认值:
jsonc
{
  "skills": {
    "entries": {
      "openmaic": {
        "enabled": true,
        "config": {
          "accessCode": "sk-xxx",
          "repoDir": "/path/to/OpenMAIC",
          "url": "http://localhost:3000"
        }
      }
    }
  }
}
  • 如果存在
    accessCode
    ,默认使用托管模式并跳过模式选择提示。
  • 仅在本地模式下使用
    repoDir
    url
    作为默认值。
  • 执行操作前仍需确认。

SOP Phases

SOP阶段

0. Choose Mode

0. 选择模式

First check skill config for
accessCode
. If present, announce that a stored access code was found and proceed directly to hosted mode (load references/hosted-mode.md, skip phases 1–4). Do not ask the user to paste the code again.
If no
accessCode
in config, ask the user how they want to use OpenMAIC:
  1. Use hosted OpenMAIC (recommended for quick start) — Requires an access code from open.maic.chat. No local setup needed.
  2. Run locally — Clone the repo, configure provider keys, and run on your machine.
If the user chooses hosted mode, load references/hosted-mode.md and skip phases 1–4. If the user chooses local mode, proceed to phase 1 as usual.
首先检查技能配置中是否存在
accessCode
。如果存在,告知用户已找到存储的访问码,直接进入托管模式(加载references/hosted-mode.md,跳过阶段1-4)。无需再次要求用户粘贴访问码。
如果配置中没有
accessCode
,询问用户希望如何使用OpenMAIC:
  1. 使用托管版OpenMAIC(推荐快速上手)—— 需要从open.maic.chat获取访问码,无需本地设置。
  2. 本地运行—— 克隆仓库、配置提供商密钥并在本地机器上运行。
如果用户选择托管模式,加载references/hosted-mode.md并跳过阶段1-4。如果用户选择本地模式,正常进入阶段1。

1. Clone Or Reuse Existing Repo

1. 克隆或复用现有仓库

Load references/clone.md.
Use this when the user has not installed OpenMAIC yet or when you need to confirm which local checkout to use.
加载references/clone.md
当用户尚未安装OpenMAIC,或需要确认使用哪个本地检出版本时使用此阶段。

2. Choose Startup Mode

2. 选择启动模式

Load references/startup-modes.md.
Use this after the repo location is confirmed. Present the available startup modes, recommend one, and wait for the user's choice.
加载references/startup-modes.md
在确认仓库位置后使用此阶段。展示可用的启动模式,推荐其中一种并等待用户选择。

3. Configure Provider Keys

3. 配置提供商密钥

Load references/provider-keys.md.
Use this before starting classroom generation. Recommend a provider path and tell the user exactly which config file to edit themselves. If generation later fails due to provider/model/auth issues, return to this phase and direct the user to update the same server-side config files.
加载references/provider-keys.md
在启动教学课堂生成前使用此阶段。推荐一个提供商路径,并明确告知用户需要自行编辑哪个配置文件。如果后续生成因提供商/模型/认证问题失败,返回此阶段并引导用户更新相同的服务器端配置文件。

4. Start And Verify OpenMAIC

4. 启动并验证OpenMAIC

After the user has chosen a startup mode and configured keys, start OpenMAIC using the chosen method, then verify the service with
GET {url}/api/health
.
在用户选择启动模式并配置好密钥后,使用选定的方法启动OpenMAIC,然后通过
GET {url}/api/health
验证服务状态。

5. Generate A Classroom

5. 生成教学课堂

Load references/generate-flow.md.
Use this only after the service is healthy. Confirm before reading local PDFs. If the user has already clearly asked to generate, do not ask for a second confirmation before submitting the generation job, and then follow the polling loop until it succeeds or fails. Only send the supported content fields for generation requests. For long-running jobs, prefer sparse polling and tell the user to check back later if the turn ends before completion.
加载references/generate-flow.md
仅在服务状态正常时使用此阶段。读取本地PDF前需确认。如果用户已明确要求生成,提交生成任务前无需再次确认,随后进入轮询循环直至任务成功或失败。仅发送生成请求支持的内容字段。对于长时间运行的任务,优先使用稀疏轮询,如果在任务完成前对话结束,告知用户稍后再查看结果。

Response Style

回复风格

  • Keep each step short and explicit.
  • Prefer 2-3 concrete options when the user must choose.
  • Always include the recommended option first and explain why in one sentence.
  • After a step completes, say what changed and what the next confirmation is for.
  • When returning a classroom link, place the raw absolute URL on its own line with no bold, markdown link syntax, code formatting, or tables.
  • 每个步骤保持简短明确。
  • 当用户需要选择时,提供2-3个具体选项。
  • 始终将推荐选项放在首位,并用一句话解释原因。
  • 步骤完成后,说明发生了哪些变化以及下一次确认的内容是什么。
  • 返回教学课堂链接时,将原始绝对URL单独放在一行,不要使用加粗、Markdown链接语法、代码格式或表格。