Claim this agent
agentCLAWHUBUnverified

OpenMAIC

OpenMAIC assistant for setting up, generating, and extending OpenMAIC. Use when the user wants to use OpenMAIC, generate a multi-agent interactive classroom, or build on / extend / customize OpenMAIC and its @openmaic/* SDK (secondary development, 二开) — covers Live Demo or local setup, startup modes, provider keys, classroom generation, and secondary development (forking, providers/storage/themes, routes, or the renderer/editor).

OpenClaw

Rank

62

Safety

84

Downloads

6.4k

Updated

Oct 9, 2026

Version

0.3.11

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 6.4K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
6.4K downloadsadoption · observed Oct 9, 2026
Latest release
0.3.11release · observed Oct 4, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s177bd906czjkr4f79ahq4wj8183m0w4:openmaic
  1. Install using `clawhub skill install s177bd906czjkr4f79ahq4wj8183m0w4:openmaic` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/wyuc/openmaic before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-wyuc-openmaic/snapshot"

Documentation

CLAWHUB

152,667 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: openmaic
description: OpenMAIC assistant for setting up, generating, and extending OpenMAIC. Use when the user wants to use OpenMAIC, generate a multi-agent interactive classroom, or build on / extend / customize OpenMAIC and its @openmaic/* SDK (secondary development, 二开) — covers Live Demo or local setup, startup modes, provider keys, classroom generation, and secondary development (forking, providers/storage/themes, routes, or the renderer/editor).
user-invocable: true
metadata: { "openclaw": { "emoji": "🏫" } }
---

# OpenMAIC Skill

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.

## 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's server-side model configuration (`openmaic.yml` and the model settings in the web app).
- This skill must not rely on any request-time model or provider overrides.
- Only that server-side configuration 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 before uploading it.

## 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 Live Demo mode and skip the mode-selection prompt — unless the user's intent is to extend/build on OpenMAIC (see the exception in Phase 0).
- Use `repoDir` and `url` only as defaults for local mode.
- Still confirm before acting.

## SOP Phases

### 0. Choose Mode

First check skill config for `accessCode`. If present, announce that a stored access code was found and proceed directly to Live Demo mode (load [references/live-demo.md](references/live-demo.md), skip phases 1–4). Do not ask the user to paste the code again. **Exception:** if the user's stated intent is to extend / build on / customize OpenMAIC or consume the `@openmaic/*` SDK (二次开发 / 二开 / SDK), do not auto-shortcut — go to the extend branch below regardless of `accessCode`. A returning Live Demo user who now wants to do 二开 should be routed to extend, not silently sent back to Live Demo.

If no

_meta.json

{
  "ownerId": "kn7cjfn5dkygrges9scanxv97d82x3t1",
  "slug": "openmaic",
  "version": "0.3.11",
  "publishedAt": 1791124895081
}

references/clone.md

# Clone Or Reuse Existing Repo

## Goal

Establish which OpenMAIC checkout will be used for setup and runtime actions.

## Procedure

1. Check whether OpenMAIC already exists locally.
2. If a checkout exists, show the path and ask whether to reuse it.
3. If no checkout exists, propose cloning the repo and ask for confirmation.
4. After clone, confirm dependency installation separately.

## Recommended Path

- Recommended: reuse an existing checkout if it is already on the target branch.
- Otherwise: clone a fresh checkout from GitHub, then install dependencies.

## Commands

Clone:

```bash
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
```

Install dependencies:

```bash
pnpm install
```

## Confirmation Requirements

- Ask before `git clone`.
- Ask before `pnpm install`.
- If the repo is dirty, tell the user and ask whether to continue with that checkout.

references/extend-cookbook.md

# Extend The OpenMAIC Product (Cookbook)

## Scope

You are working **inside a fork of the OpenMAIC product** (the Next.js app at the repo root), customizing it in place. If instead you want to consume `@openmaic/*` in a separate app, use [extend-sdk.md](extend-sdk.md) instead.

Entry points below are given as **file + symbol name** (not line numbers — they drift). Read the file, then jump to the symbol. The `@/*` path alias is anchored at the repo root.

## Task 1 — Swap Or Add An AI Provider

**Goal:** route generation to a different provider, or register a brand-new one.

Two distinct cases:

- **Use an already-supported provider** (it's in the union below): no source change. Declare it in `openmaic.yml` with its preset and assign it to a slot, key in `.env.local` as `${VAR}` — follow [provider-keys.md](provider-keys.md). Chat slots always name `<provider id>:<model id>`.
- **Register a NEW provider** (source change):
  1. Add the id to the `BuiltInProviderId` union in `lib/types/provider.ts`.
  2. Register its config + models in the `PROVIDERS` registry in `lib/ai/providers.ts`.
  3. The registry entry becomes a preset automatically (`lib/config/provider-presets.ts`; the preset id is the registry id unless `lib/config/preset-ids.ts` overrides it), so `openmaic.yml` can declare it with `preset: your-id` and the model settings offer it. No env wiring is needed.
  4. Optional, legacy only: to also accept `<PREFIX>_API_KEY` / `_BASE_URL` / `_MODELS` from the environment without `openmaic.yml`, add a `PREFIX: 'your-id'` entry to `LLM_ENV_MAP` in `lib/server/provider-config.ts`. That path is deprecated.
  5. A new token plan (one key, several capabilities) is one entry in `lib/config/token-plan-presets.ts`; it becomes a preset whose recommended models fill the slots it covers in the first-run setup.

**Gotcha:** OpenMAIC has **no hardcoded model fallback**. If no model is assigned to the `llm` slot (or the more specific slot a call uses), generation fails with `No model is configured for <slot>` rather than picking a vendor — always assign one.

## Task 2 — Server-Side Persistence (PostgreSQL / S3)

**Goal:** understand where documents, runtime state and assets live, and point them at your database.

Accurate topology (there is **no local-file backend**, and no browser-storage mode):

- **Always server-backed:** documents, runtime state and assets are stored on the server. The server **refuses to start without `DATABASE_URL`**; locally, `pnpm db:up` starts a separate development PostgreSQL (its own Compose project and volume) on `127.0.0.1` and `.env.example` carries the matching `DATABASE_URL`.
- **Client side:** `lib/persistence/bootstrap.ts` configures the browser's HTTP-backed `HttpRuntimeStore` / `HttpDocumentStore` / `HttpAssetStore`, which call `/api/persistence`. Those calls carry no credential of their own: the server attributes them to the owner the owner identity seam (`lib/server/identity/`) resolves, and the runtime learner key is that

references/extend-sdk.md

# Consume The @openmaic/* SDK (Build A New App)

## Scope

You are building a **separate app** that consumes `@openmaic/*` packages via `npm install` — not working inside the OpenMAIC monorepo. If you are customizing the OpenMAIC product itself, use [extend-cookbook.md](extend-cookbook.md) instead.

The SDK is early-stage (`0.x`). Versions below are current as of this writing — confirm against the registry when you install.

## Package Quick Reference

| Package | Version | Purpose | Key Exports | Peer Deps |
|---|---|---|---|---|
| `@openmaic/dsl` | 0.8.0 | The slide **contract** — types + JSON schema. Zero runtime deps. | `Slide`, `PPTElement`, `./schema/*` | none |
| `@openmaic/renderer` | 0.1.0 | Render slides to DOM (read-only). | `SlideCanvas`, `./snapshot`→`slideToPng` | react ≥18, react-dom ≥18, motion ≥11, tailwindcss ≥4; **optional:** echarts ≥5, shiki ≥1 |
| `@openmaic/editor` | 0.0.2 | Editable slide surface + prosemirror editor. | `EditableSlideCanvasWithUI` (from `./ui`) | react ≥18, react-dom ≥18 **+ renderer's full peer stack transitively** |
| `@openmaic/generation` | 0.3.0 | LLM-driven scene/lesson generation. | `generateSceneContent` | none |
| `@openmaic/storage` | 0.2.5 | Document / Runtime / Asset / KV stores (Browser · HTTP · PG · S3). | see table below | **optional:** `@aws-sdk/client-s3` |
| `@openmaic/importer` | 0.1.2 | Import PPTX / PDF into the DSL. | `importPptx` | none |

> `editor` is `0.0.2`. Its own `peerDependencies` list only `react`/`react-dom`, but it `dependencies` on `@openmaic/renderer`, so you must also satisfy the renderer's peers (tailwindcss v4, motion, and optionally echarts/shiki) or it breaks at render time.

## Minimal Starter — Render A Slide

1. Install peers and the package (pin exact versions for `0.x`):
   ```bash
   npm i @openmaic/[email protected] @openmaic/[email protected] \
         react@^18 react-dom@^18 motion@^11 tailwindcss@^4
   # only if you render charts / code-highlighted blocks:
   npm i echarts@^5 shiki@^1
   ```
2. Mandatory CSS — without it the canvas renders unstyled:
   ```css
   @import 'tailwindcss';
   @import '@openmaic/renderer/fonts.css';
   ```
   ...and ensure Tailwind v4 scans the renderer's classes, e.g. `@source '../node_modules/@openmaic/renderer/dist';` in your globals. (`fonts.css` is generated and fetches CJK woff2 on demand from `https://file.maic.chat/fonts/<name>.woff2` — relevant for offline/custom-font needs.)
3. Render:
   ```tsx
   import { SlideCanvas } from '@openmaic/renderer';
   import type { Slide } from '@openmaic/dsl';
   ```
   For a working example of props/usage, read `components/slide-renderer/SlideThumbnail.tsx` in the OpenMAIC repo.

## Precise Import Paths

| Want | Import |
|---|---|
| Slide / element types | `@openmaic/dsl` (`Slide`, `PPTElement`) |
| JSON schema (validation) | `@openmaic/dsl/schema/*` |
| Render a slide | `@openmaic/renderer` (`SlideCanvas`) |
| Snapshot a slide → PNG | `@openmaic/renderer/snapshot` (`slideToPng`) |
| Editable 
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/wyuc/skills/openmaic",
      "sourceUrl": "https://clawhub.ai/wyuc/skills/openmaic",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T03:25:13.136Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-wyuc-openmaic/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-wyuc-openmaic/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T03:25:13.136Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "6.4K downloads",
      "href": "https://clawhub.ai/wyuc/openmaic",
      "sourceUrl": "https://clawhub.ai/wyuc/openmaic",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T03:25:13.136Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "0.3.11",
      "href": "https://clawhub.ai/wyuc/openmaic",
      "sourceUrl": "https://clawhub.ai/wyuc/openmaic",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-04T14:41:35.081Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-wyuc-openmaic/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-wyuc-openmaic/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 0.3.11",
      "description": "- Updated the classroom generation phase to clarify retry behavior on failed jobs (now references retrying failed jobs per the generate flow). - Minor clarification in the classroom generation step about submitting supported fields and the handling of optional features. - Removed obsolete documentation file skill-card.md. - No changes to core setup or workflow phases.",
      "href": "https://clawhub.ai/wyuc/openmaic",
      "sourceUrl": "https://clawhub.ai/wyuc/openmaic",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-04T14:41:35.081Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 9, 2026.

Sponsored

Ads related to OpenMAIC and adjacent AI workflows.