manus-openclaw-bridge
v1.0.2Connect OpenClaw to Manus task APIs for chat-driven image generation, document/slides jobs, task polling, output collection, and messaging-surface return flows.
Installation
Manus OpenClaw Bridge
Use this skill to turn OpenClaw into a Manus launcher and result collector.
Requirements
Runtime dependencies:
- OpenClaw
- Bash
- curl
- Python 3.9+
- Node.js 18+ (required for slides JSON -> PPTX conversion)
Required local configuration:
- ~/.config/manus-openclaw-bridge/manus.env
- MANUS_API_KEY must be supplied by each installer
- MANUS_API_BASE must be supplied explicitly by each installer and must use https://
Read REQUIREMENTS.md for a concise dependency and configuration summary.
Read SECURITY.md for the download and credential safety model.
Quick start
- Read
references/setup.mdif Manus API access is not configured yet. - Put the Manus API key and Manus API base URL in
~/.config/manus-openclaw-bridge/manus.env. - Submit a task with
scripts/manus_submit.shorscripts/manus_prompt.sh. - Poll/download results with
scripts/manus_get_task.shorscripts/manus_wait_and_collect.py. - If the result is a slides JSON bundle, convert it with
scripts/manus_slides_json_to_pptx.mjs. - If the user is on Feishu, return downloaded files with the normal OpenClaw message/file send flow.
Workflow
1. Submit a new Manus task
Use scripts/manus_submit.sh "<prompt>" when the prompt is already clean.
Use scripts/manus_prompt.sh "Manus, generate an image of a rainy forest" when the message may contain a leading Manus trigger and mixed punctuation.
Defaults:
- MANUS_AGENT_PROFILE=manus-1.6
- MANUS_TASK_MODE=agent
- MANUS_API_BASE must be set explicitly to your Manus API base URL
2. Inspect an existing task
Use scripts/manus_get_task.sh <task_id> to fetch the raw task payload.
3. Wait for completion and collect files
Use python3 scripts/manus_wait_and_collect.py <task_id> [timeout_seconds].
This writes downloaded files to tmp/manus/ under the skill folder and prints a JSON summary with:
- task_id
- status
- task_title
- task_url
- files[]
- raw
Download safety rules:
- only https:// URLs are accepted
- only Manus-controlled allowlisted hosts are accepted
- redirect targets are validated again after connection open
- if Manus returns any other URL, the script refuses to fetch it and records a download_error
4. Handle slides/report outputs
If Manus returns a slides JSON artifact instead of a ready-made .pptx, convert it with:
node scripts/manus_slides_json_to_pptx.mjs <slides.json> <output.pptx>
Read references/slides.md when the task is slide-heavy.
5. Return results to the user
Prefer this pattern: - If Manus returns downloadable files, send the files. - If Manus returns images, send image files directly. - If Manus returns only text/status, send a short summary plus the task URL when available. - If Manus is still running, acknowledge quickly and poll with a bounded interval instead of a tight loop.
Feishu return pattern
When the current conversation is Feishu:
- Download files first with scripts/manus_wait_and_collect.py.
- Send each saved file path back through OpenClaw’s normal reply/file mechanism.
- For images, prefer image/file upload rather than pasting long CDN URLs.
- If there are multiple files, send the best result first, then the rest if useful.
Read references/feishu-return.md when wiring file return behavior.
OpenClaw integration notes
- Keep secrets out of the skill package. Never hardcode
MANUS_API_KEYin scripts or docs. - Store keys and endpoints in
~/.config/manus-openclaw-bridge/manus.envon each recipient machine. - For direct-message style image requests, a simple trigger is enough: strip
Manus,ormanus:and forward the remainder. - For group chats, define an explicit trigger rule to avoid accidental job launches.
- If returning files to Feishu/Telegram/etc., use the platform’s native send/upload tool after
manus_wait_and_collect.pydownloads the outputs. - If the request is long-running, prefer acknowledging first and completing asynchronously.
When to read references
- Read
references/setup.mdfor first-time installation and environment setup. - Read
references/chat-patterns.mdwhen wiring the Manus flow into OpenClaw message handling rules. - Read
references/feishu-return.mdwhen returning Manus images/files into Feishu. - Read
references/feishu-skill-template.mdwhen another OpenClaw user wants a ready-made Feishu routing pattern. - Read
references/openclaw-integration.mdfor a full end-to-end integration pattern. - Read
references/slides.mdwhen handling deck-generation outputs.