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.envMANUS_API_KEYmust be supplied by each installerMANUS_API_BASEmust be supplied explicitly by each installer and must usehttps://
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.6MANUS_TASK_MODE=agentMANUS_API_BASEmust 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_idstatustask_titletask_urlfiles[]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.