manus
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseManus AI Agent
Manus AI Agent
Manus is an autonomous AI agent for long-running, complex tasks. Excels at deep research with parallel processing, web browsing, and comprehensive report generation.
Manus是一款适用于长时间复杂任务的自主AI Agent。它擅长通过并行处理进行深度调研、网页浏览,以及生成全面的报告。
Quick Start
快速开始
bash
undefinedbash
undefinedCreate a task
创建任务
curl -X POST "https://api.manus.ai/v1/tasks"
-H "API_KEY: $MANUS_API_KEY"
-H "Content-Type: application/json"
-d '{ "prompt": "Your task description", "agentProfile": "manus-1.6" }'
-H "API_KEY: $MANUS_API_KEY"
-H "Content-Type: application/json"
-d '{ "prompt": "Your task description", "agentProfile": "manus-1.6" }'
curl -X POST "https://api.manus.ai/v1/tasks"
-H "API_KEY: $MANUS_API_KEY"
-H "Content-Type: application/json"
-d '{ "prompt": "你的任务描述", "agentProfile": "manus-1.6" }'
-H "API_KEY: $MANUS_API_KEY"
-H "Content-Type: application/json"
-d '{ "prompt": "你的任务描述", "agentProfile": "manus-1.6" }'
Poll for results (repeat until status != "running")
轮询获取结果(重复执行直到状态不等于"running")
curl -s "https://api.manus.ai/v1/tasks/{task_id}"
-H "API_KEY: $MANUS_API_KEY"
-H "API_KEY: $MANUS_API_KEY"
---curl -s "https://api.manus.ai/v1/tasks/{task_id}"
-H "API_KEY: $MANUS_API_KEY"
-H "API_KEY: $MANUS_API_KEY"
---When to Use Manus
何时使用Manus
Best for (1-10+ minute autonomous work):
- Research: Market analysis, competitive intelligence, fact-checking, stock analysis
- Content: Reports, presentations, videos, websites, visualizations
- Data: PDF translation, multi-source synthesis, analysis with charts
- Development: Chrome extensions, POCs, prototypes, code review
- Automation: Form filling, Web scraping (JS-rendered), task scheduling
Not for (use Claude Code instead):
- Quick web searches or page fetches
- Code generation/editing
- Simple file I/O operations
- Git operations
最适合(1-10+分钟的自主工作):
- 调研:市场分析、竞争情报、事实核查、股票分析
- 内容创作:报告、演示文稿、视频、网站、可视化内容
- 数据处理:PDF翻译、多源数据合成、带图表的数据分析
- 开发:Chrome扩展、POC、原型、代码评审
- 自动化:表单填写、网页抓取(JS渲染页面)、任务调度
不适合(建议使用Claude Code):
- 快速网页搜索或页面抓取
- 代码生成/编辑
- 简单文件I/O操作
- Git操作
Core Workflow
核心工作流
Create Task → Get task_id → Poll Status → Extract Results → Done- POST /v1/tasks - Create and get
task_id - GET /v1/tasks/{task_id} - Poll every 5-10 seconds until ≠
status"running" - Extract - Read from completed response
output[].content[].text
创建任务 → 获取task_id → 轮询状态 → 提取结果 → 完成- POST /v1/tasks - 创建任务并获取
task_id - GET /v1/tasks/{task_id} - 每5-10秒轮询一次,直到≠
status"running" - 提取结果 - 从完成的响应中读取
output[].content[].text
API Reference
API参考
Base URL
基础URL
https://api.manus.ai/v1https://api.manus.ai/v1Authentication
身份验证
bash
API_KEY: $MANUS_API_KEY (header)bash
API_KEY: $MANUS_API_KEY (请求头)Create Task
创建任务
bash
POST /v1/tasks
Content-Type: application/json
API_KEY: $MANUS_API_KEY
{
"prompt": "Your task description",
"agentProfile": "manus-1.6", # manus-1.6-lite | manus-1.6 | manus-1.6-max
"taskMode": "agent", # agent | chat | adaptive (optional)
"projectId": "proj_xxx", # optional - use project context
"connectors": ["uuid1"], # optional - gmail, calendar, notion
"attachments": [], # optional - files, URLs, file_ids
"hideInTaskList": false, # optional - hide from task list
"createShareableLink": false, # optional - public accessibility
"taskId": "existing_task_id", # optional - continue multi-turn conversation
"locale": "en-US", # optional - user locale (e.g. "en-US", "zh-CN")
"interactiveMode": false # optional - enable follow-up questions
}Response:
json
{
"task_id": "TeBim6FDQf9peS52xHtAyh",
"task_title": "Generated Title",
"task_url": "https://manus.im/app/TeBim6FDQf9peS52xHtAyh",
"share_url": "https://manus.im/share/xxx"
}bash
POST /v1/tasks
Content-Type: application/json
API_KEY: $MANUS_API_KEY
{
"prompt": "你的任务描述",
"agentProfile": "manus-1.6", # manus-1.6-lite | manus-1.6 | manus-1.6-max
"taskMode": "agent", # agent | chat | adaptive(可选)
"projectId": "proj_xxx", # 可选 - 使用项目上下文
"connectors": ["uuid1"], # 可选 - gmail, calendar, notion
"attachments": [], # 可选 - 文件、URL、file_ids
"hideInTaskList": false, # 可选 - 在任务列表中隐藏
"createShareableLink": false, # 可选 - 设为公开可访问
"taskId": "existing_task_id", # 可选 - 继续多轮对话
"locale": "en-US", # 可选 - 用户区域(例如"en-US", "zh-CN")
"interactiveMode": false # 可选 - 启用后续提问
}响应:
json
{
"task_id": "TeBim6FDQf9peS52xHtAyh",
"task_title": "生成的标题",
"task_url": "https://manus.im/app/TeBim6FDQf9peS52xHtAyh",
"share_url": "https://manus.im/share/xxx"
}Get Task (Poll for Results)
获取任务(轮询结果)
bash
GET /v1/tasks/{task_id}
API_KEY: $MANUS_API_KEYResponse:
json
{
"id": "task_id",
"status": "running", # running | completed | failed | stopped
"model": "manus-1.6-adaptive",
"metadata": {
"task_title": "Task Title",
"task_url": "https://manus.im/app/xxx"
},
"output": [
{
"role": "assistant",
"status": "completed",
"content": [
{"type": "output_text", "text": "The result text..."}
]
}
],
"credit_usage": 42
}bash
GET /v1/tasks/{task_id}
API_KEY: $MANUS_API_KEY响应:
json
{
"id": "task_id",
"status": "running", # running | completed | failed | stopped
"model": "manus-1.6-adaptive",
"metadata": {
"task_title": "任务标题",
"task_url": "https://manus.im/app/xxx"
},
"output": [
{
"role": "assistant",
"status": "completed",
"content": [
{"type": "output_text", "text": "结果文本..."}
]
}
],
"credit_usage": 42
}List All Tasks
列出所有任务
bash
GET /v1/tasks
API_KEY: $MANUS_API_KEYReturns array of all tasks with status, metadata, and credit usage.
bash
GET /v1/tasks
API_KEY: $MANUS_API_KEY返回包含所有任务的状态、元数据和积分使用情况的数组。
Delete Task
删除任务
bash
DELETE /v1/tasks/{task_id}
API_KEY: $MANUS_API_KEYbash
DELETE /v1/tasks/{task_id}
API_KEY: $MANUS_API_KEYCreate Project
创建项目
bash
POST /v1/projects
API_KEY: $MANUS_API_KEY
{
"name": "Project Name",
"instruction": "Default instruction for all tasks in this project"
}bash
POST /v1/projects
API_KEY: $MANUS_API_KEY
{
"name": "项目名称",
"instruction": "此项目中所有任务的默认指令"
}List Projects
列出项目
bash
GET /v1/projects
API_KEY: $MANUS_API_KEYbash
GET /v1/projects
API_KEY: $MANUS_API_KEYUpload File (for attachment)
上传文件(用于附件)
bash
POST /v1/files/upload
API_KEY: $MANUS_API_KEY
Content-Type: multipart/form-data
file: <binary file data>Returns for use in task attachments. Upload window: 3 minutes.
file_idbash
POST /v1/files/upload
API_KEY: $MANUS_API_KEY
Content-Type: multipart/form-data
file: <二进制文件数据>返回可用于任务附件的。上传窗口为3分钟。
file_idCreate Webhook
创建Webhook
bash
POST /v1/webhooks
API_KEY: $MANUS_API_KEY
{
"url": "https://your-server.com/webhook"
}Webhook Events:
- - Task started
task_created - - Task making progress (plan updates)
task_progress - - Task completed or needs input (
task_stopped: "finish" or "ask")stop_reason
bash
POST /v1/webhooks
API_KEY: $MANUS_API_KEY
{
"url": "https://your-server.com/webhook"
}Webhook事件:
- - 任务已启动
task_created - - 任务正在进行(计划更新)
task_progress - - 任务完成或需要输入(
task_stopped: "finish"或"ask")stop_reason
Agent Profiles
Agent配置文件
| Profile | Best For | Speed |
|---|---|---|
| Quick lookups, fact checks | Fast |
| Most research tasks (balanced) | Medium |
| Complex analysis, multi-source deep dives | Slow (~complex) |
| 配置文件 | 最适合场景 | 速度 |
|---|---|---|
| 快速查询、事实核查 | 快 |
| 大多数调研任务(平衡型) | 中等 |
| 复杂分析、多源深度调研 | 慢(~复杂任务) |
Integration Patterns
集成模式
Simple Task (Standard)
简单任务(标准)
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Analyze Bitcoin price trends this week",
"agentProfile": "manus-1.6"
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "分析本周比特币价格走势",
"agentProfile": "manus-1.6"
}'Complex Research (Max Profile)
复杂调研(Max配置)
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Deep analysis of AI market 2024-2026: market size, top 10 players, M&A trends, funding landscape",
"agentProfile": "manus-1.6-max",
"locale": "en-US"
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "深度分析2024-2026年AI市场:市场规模、Top10玩家、并购趋势、融资格局",
"agentProfile": "manus-1.6-max",
"locale": "en-US"
}'With Attachments (URL + Base64 + File ID)
带附件(URL + Base64 + 文件ID)
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Analyze this financial report and create a summary",
"attachments": [
{"type": "url", "url": "https://example.com/report.pdf"},
{"type": "file_id", "file_id": "file_xxx"},
{"type": "base64", "data": "base64....", "mimeType": "text/csv", "fileName": "data.csv"}
],
"agentProfile": "manus-1.6"
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "分析这份财务报告并生成摘要",
"attachments": [
{"type": "url", "url": "https://example.com/report.pdf"},
{"type": "file_id", "file_id": "file_xxx"},
{"type": "base64", "data": "base64....", "mimeType": "text/csv", "fileName": "data.csv"}
],
"agentProfile": "manus-1.6"
}'Multi-turn Conversation
多轮对话
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Based on your previous analysis, what are the investment implications?",
"taskId": "abc123",
"interactiveMode": true
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "基于你之前的分析,有哪些投资启示?",
"taskId": "abc123",
"interactiveMode": true
}'With Project Context
带项目上下文
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Analyze our Q1 competitor landscape",
"projectId": "proj_xxx",
"agentProfile": "manus-1.6"
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "分析我们Q1的竞品格局",
"projectId": "proj_xxx",
"agentProfile": "manus-1.6"
}'With Connectors (Gmail, Calendar, Notion)
带连接器(Gmail、日历、Notion)
bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Check my calendar for the next 3 months and suggest the best time for a team offsite",
"connectors": ["google-calendar-uuid"],
"agentProfile": "manus-1.6"
}'bash
curl -X POST "https://api.manus.ai/v1/tasks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "查看我未来3个月的日历,建议团队外出团建的最佳时间",
"connectors": ["google-calendar-uuid"],
"agentProfile": "manus-1.6"
}'Playbook Templates
工作流模板
Pre-optimized prompts for common workflows:
| Template | Description |
|---|---|
| Competitive analysis, market sizing |
| Professional presentations (PPT/PDF) |
| AI-generated videos |
| Full website generation |
| Professional resumes |
| Business SWOT analysis |
| Browser extension development |
| Travel itineraries |
| YouTube creator discovery |
| Claim verification |
| Document translation |
| Room/space design |
| Custom workout plans |
| Proof of concept prototypes |
| Research profiles on people/companies |
| Reddit sentiment analysis |
| YouTube viral content analysis |
| Business model canvas |
针对常见工作流预优化的提示词:
| 模板 | 描述 |
|---|---|
| 竞品分析、市场规模测算 |
| 专业演示文稿(PPT/PDF) |
| AI生成视频 |
| 完整网站生成 |
| 专业简历制作 |
| 企业SWOT分析 |
| 浏览器扩展开发 |
| 旅行行程规划 |
| YouTube创作者挖掘 |
| 主张验证 |
| 文档翻译 |
| 空间/室内设计 |
| 定制健身计划 |
| 原型概念验证 |
| 人物/企业调研档案 |
| Reddit情感分析 |
| YouTube爆款内容分析 |
| 商业模式画布 |
Prompt Tips for Better Results
优化提示词以获得更好结果
Good prompt structure:
Task: [Clear objective]
Scope: [Research scope/timeframe]
Sources: [Prefer specific sources if known]
Output Format: [Structured report, bullet points, CSV, etc.]Example:
json
{
"prompt": "Analyze competitors to ChatGPT in the enterprise AI space (2024-2026).
Scope: Market share, pricing, key features, customer segments.
Sources: G2, Gartner, official docs, recent news.
Output: Structured comparison table + strategic positioning analysis.",
"agentProfile": "manus-1.6-max",
"locale": "en-US"
}优质提示词结构:
任务:[清晰的目标]
范围:[调研范围/时间框架]
来源:[如果有指定偏好的来源]
输出格式:[结构化报告、项目符号、CSV等]示例:
json
{
"prompt": "分析2024-2026年企业AI领域中ChatGPT的竞品。
范围:市场份额、定价、核心功能、客户群体。
来源:G2、Gartner、官方文档、近期新闻。
输出:结构化对比表格 + 战略定位分析。",
"agentProfile": "manus-1.6-max",
"locale": "en-US"
}Best Practices
最佳实践
-
Agent Profiles
- lite (fast, simple) → Quick lookups, fact checks
- 1.6 (default) → Most research tasks, balanced
- 1.6-max → Complex analysis, multi-source deep dives
-
Prompts
- Be specific: scope, sources, output format
- Define timeframe if researching recent events
- Request structured output (tables, bullet points, etc.)
-
Polling
- Poll every 5-10 seconds for results
- Most tasks complete in 1-5 minutes
- Complex research may take 10+ minutes
-
Projects - Organize related tasks with shared instructions (e.g., "Always cite sources")
-
Webhooks - Monitor task events asynchronously instead of polling (production recommended)
-
Attachments - Include PDFs, images, URLs as research context. File uploads have 3-minute window.
-
Locale - Setfor Chinese output,
locale: "zh-CN"for English, etc."en-US" -
Cost - Monitorper task. Budget accordingly.
credit_usage
-
Agent配置文件
- lite(快速、简单)→ 快速查询、事实核查
- 1.6(默认)→ 大多数调研任务,平衡型
- 1.6-max→ 复杂分析、多源深度调研
-
提示词
- 要具体:明确范围、来源、输出格式
- 如果调研近期事件,定义时间框架
- 要求结构化输出(表格、项目符号等)
-
轮询
- 每5-10秒轮询一次结果
- 大多数任务在1-5分钟内完成
- 复杂调研可能需要10+分钟
-
项目 - 用共享指令组织相关任务(例如“始终注明来源”)
-
Webhook - 异步监控任务事件,替代轮询(生产环境推荐)
-
附件 - 包含PDF、图片、URL作为调研上下文。文件上传窗口为3分钟。
-
区域设置 - 设置以获取中文输出,
locale: "zh-CN"获取英文输出,依此类推。"en-US" -
成本 - 监控每个任务的,合理规划预算。
credit_usage
Polling Loop (Python Example)
轮询循环(Python示例)
python
import requests
import time
import json
API_KEY = "your-manus-api-key"
BASE_URL = "https://api.manus.ai/v1"python
import requests
import time
import json
API_KEY = "your-manus-api-key"
BASE_URL = "https://api.manus.ai/v1"1. Create task
1. 创建任务
response = requests.post(
f"{BASE_URL}/tasks",
headers={"API_KEY": API_KEY, "Content-Type": "application/json"},
json={
"prompt": "Your task description",
"agentProfile": "manus-1.6"
}
)
task_id = response.json()["task_id"]
print(f"Task created: {task_id}")
response = requests.post(
f"{BASE_URL}/tasks",
headers={"API_KEY": API_KEY, "Content-Type": "application/json"},
json={
"prompt": "你的任务描述",
"agentProfile": "manus-1.6"
}
)
task_id = response.json()["task_id"]
print(f"Task created: {task_id}")
2. Poll for completion
2. 轮询直到完成
max_retries = 120 # 10 minutes with 5s interval
retry = 0
while retry < max_retries:
result = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"API_KEY": API_KEY}
).json()
status = result.get("status")
print(f"Status: {status}")
if status == "completed":
# 3. Extract results
outputs = result.get("output", [])
for output in outputs:
if output.get("role") == "assistant":
for content in output.get("content", []):
if content.get("type") == "output_text":
print("\n=== RESULT ===")
print(content["text"])
break
elif status in ["failed", "stopped"]:
print(f"Task {status}")
break
time.sleep(5)
retry += 1if retry == max_retries:
print("Timeout: Task took too long")
---max_retries = 120 # 5秒间隔,共10分钟
retry = 0
while retry < max_retries:
result = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"API_KEY": API_KEY}
).json()
status = result.get("status")
print(f"Status: {status}")
if status == "completed":
# 3. 提取结果
outputs = result.get("output", [])
for output in outputs:
if output.get("role") == "assistant":
for content in output.get("content", []):
if content.get("type") == "output_text":
print("\n=== 结果 ===")
print(content["text"])
break
elif status in ["failed", "stopped"]:
print(f"任务{status}")
break
time.sleep(5)
retry += 1if retry == max_retries:
print("超时:任务耗时过长")
---Routing Logic
路由逻辑
Use Claude Code (free, instant) for:
- Code generation, editing, refactoring
- File operations (read/write/search)
- Git operations, GitHub PRs
- Web search, simple page fetching
- Memory persistence
Use Manus (costs credits) for:
- Browser automation (JS-rendered sites)
- Form filling, login-required scraping
- PDF/slide/video generation
- OAuth integrations (Gmail, Calendar)
- Multi-hour autonomous research
- Real purchases/bookings
使用Claude Code(免费、即时)处理:
- 代码生成、编辑、重构
- 文件操作(读/写/搜索)
- Git操作、GitHub PR
- 网页搜索、简单页面抓取
- 记忆持久化
使用Manus(消耗积分)处理:
- 浏览器自动化(JS渲染网站)
- 表单填写、需要登录的抓取
- PDF/幻灯片/视频生成
- OAuth集成(Gmail、日历)
- 数小时的自主调研
- 实际购买/预订
Webhook Server Example
Webhook服务器示例
Simple Python webhook receiver:
python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def handle_webhook():
event = request.json
event_type = event.get('event_type')
if event_type == 'task_created':
print(f"✅ Task started: {event['task_detail']['task_id']}")
elif event_type == 'task_progress':
print(f"⏳ Progress: {event['progress_detail']['message']}")
elif event_type == 'task_stopped':
detail = event['task_detail']
if detail['stop_reason'] == 'finish':
print(f"✓ Completed: {detail['message']}")
for att in detail.get('attachments', []):
print(f" 📎 {att['file_name']} ({att['size_bytes']} bytes)")
print(f" URL: {att['url']}")
else:
print(f"❓ Needs input: {detail['message']}")
return jsonify({"status": "ok"})
if __name__ == '__main__':
app.run(port=8080)Register webhook:
bash
curl -X POST "https://api.manus.ai/v1/webhooks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/webhook"
}'简单的Python Webhook接收器:
python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def handle_webhook():
event = request.json
event_type = event.get('event_type')
if event_type == 'task_created':
print(f"✅ 任务已启动:{event['task_detail']['task_id']}")
elif event_type == 'task_progress':
print(f"⏳ 进度:{event['progress_detail']['message']}")
elif event_type == 'task_stopped':
detail = event['task_detail']
if detail['stop_reason'] == 'finish':
print(f"✓ 任务完成:{detail['message']}")
for att in detail.get('attachments', []):
print(f" 📎 {att['file_name']} ({att['size_bytes']} 字节)")
print(f" URL: {att['url']}")
else:
print(f"❓ 需要输入:{detail['message']}")
return jsonify({"status": "ok"})
if __name__ == '__main__':
app.run(port=8080)注册Webhook:
bash
curl -X POST "https://api.manus.ai/v1/webhooks" \
-H "API_KEY: $MANUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/webhook"
}'Error Codes & Solutions
错误码与解决方案
| Code | Message | Fix |
|---|---|---|
| 8 | Credit limit exceeded | Add credits at manus.im |
| 401 | Unauthorized | Check API_KEY in header |
| 400 | Bad request | Validate JSON payload, check agentProfile |
| 404 | Task not found | Verify task_id is correct |
| 429 | Rate limited | Wait before retrying |
| 500 | Server error | Retry after a few seconds |
| 错误码 | 提示信息 | 解决方法 |
|---|---|---|
| 8 | 积分额度已用完 | 在manus.im充值积分 |
| 401 | 未授权 | 检查请求头中的API_KEY |
| 400 | 请求无效 | 验证JSON payload,检查agentProfile是否正确 |
| 404 | 任务未找到 | 确认task_id正确 |
| 429 | 请求频率受限 | 等待后重试 |
| 500 | 服务器错误 | 几秒后重试 |
Resources
相关资源
- API Docs: https://open.manus.ai/docs
- Playbook Gallery: https://manus.im/playbook
- API Settings: https://manus.im/app?show_settings=integrations&app_name=api
- Webhook Setup: https://manus.im/app?show_settings=integrations
- Dashboard: https://manus.im/app