Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ZeeLin Deep Research 深度研究是一款 AI 驱动的专业研究辅助平台,支持一句话生成与多步骤生成,提供深度、专家两大研究路径。从快速信息梳理、系统分析到超万字专家报告全流程覆盖,依托多轮推理与多源数据整合,高效完成企业分析、市场洞察、招商研究等复杂任务,一站式提升研究效率与决策质量。
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 172% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 239% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 262% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 192% | 0% |
> ZeeLin Deep Research 深度研究是一款 AI 驱动的专业研究辅助平台,支持一句话生成与多步骤生成,提供深度、专家两大研究路径。从快速信息梳理、系统分析到超万字专家报告全流程覆盖,依托多轮推理与多源数据整合,高效完成企业分析、市场洞察、招商研究等复杂任务,一站式提升研究效率与决策质量。
如果用户没有提供 api_key,提示用户前往 https://desearch.zeelin.cn/skill-activity 进行免费注册或登录,获取点数及 api_key
https://desearch.zeelin.cnx-api-keyPOST /api/conversation/anewdeep - 深度思考模式 - 需要全面分析但不需要万字报告major - 专家模式 - 需要深度系统性输出、万字报告使用深度模式 (deep) 的场景:
使用专家模式 (major) 的场景:
如果不确定使用哪种模式:可以询问用户确认
bashAPI_KEY="${DESEARCH_API_KEY}" curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }'
bashAPI_KEY="${DESEARCH_API_KEY}" curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "major", "workflow": "", "needEditChapter": 0, "moreSettings": {} }'
第一轮返回的 sessionId 可以用于后续对话:
bashAPI_KEY="${DESEARCH_API_KEY}" curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "上一轮的sessionId", "content": "追问内容", "thinking": "deep", "workflow": "", "moreSettings": {} }'
用户 API key 从环境变量 DESEARCH_API_KEY 读取。
设置方式:
bashexport DESEARCH_API_KEY="你的API Key"
bashAPI_KEY="${DESEARCH_API_KEY}" curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "调研一下汽车产业规模", "thinking": "deep", "workflow": "", "moreSettings": {} }'
sessionId 为空时创建新对话thinking 参数决定推理深度任务提交后,需要轮询查询状态:
bashAPI_KEY="${DESEARCH_API_KEY}" curl -s -X GET "https://desearch.zeelin.cn/api/conversation/status?sessionId={sessionId}" \ -H "x-api-key: ${API_KEY}"
返回示例:
json{ "code": 200, "v": "v1.5.0", "msg": "成功", "data": { "status": 2, "thinking": "deep", "workflow": "", "message": "会话已生成", "content": "调研一下汽车产业规模", "time": "", "thinkingWorkflowName": "深度模式", "pptUrl": "", "wavUrl": "", "mdxUrl": "", "mdUrl": "", "htmlUrl": "", "wavScriptUrl": "", "isShare": 0, "isMine": 0, "title": "调研一下汽车产业规模", "short": "jVICQSS5", "questionId": 281697, "sessionId": "b9162dfdefa74461a764aebe51366d87", "useKnowledge": 0, "onlyKnowledge": 0, "searchRange": "web" } }
状态码说明:
1 = 进行中2 = 正常结束 ✅3 = 用户主动结束4 = 失败5 = 排队中/api/conversation/anew 获取 sessionId/api/conversation/status?sessionId={id} 检查状态/api/conversation/to_report?sessionId={id}&reportType=pdf 获取 PDF 下载链接message 工具发送 PDF 文件到用户当 API 返回 code=315 且 msg 包含"当前接口调用已超限"时,表示当前并发任务数已达到上限(max_limit_conversation),需要等待当前任务执行完成后再提交新任务:
bash# 检查返回码 RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') CODE=$(echo $RESULT | jq -r '.code') MSG=$(echo $RESULT | jq -r '.msg') if [ "$CODE" = "315" ] && echo "$MSG" | grep -q "当前接口调用已超限"; then # 发送提示给用户,等待当前任务完成 message action=send target=用户ID message="⚠️ 当前接口调用已超限,请等待当前任务执行完成后再提交新任务。" exit 1 fi
返回示例:
json{ "code": 315, "v": "0.0.914", "msg": "当前接口调用已超限,请联系我们", "data": { "max_limit_conversation": 1, "now_conversation": 1 } }
当 API 返回 code=315 且 msg 包含"试用已超限"时,需要引导用户充值:
bash# 检查返回码 RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') CODE=$(echo $RESULT | jq -r '.code') MSG=$(echo $RESULT | jq -r '.msg') if [ "$CODE" = "315" ] && echo "$MSG" | grep -q "试用已超限"; then # 发送充值提示给用户 message action=send target=用户ID message="⚠️ 您的点数已超限,无法继续使用。请前往充值页面购买点数:https://desearch.zeelin.cn/skill-activity" exit 1 fi
充值地址: https://desearch.zeelin.cn/skill-activity
bash# 1. 创建任务 API_KEY="${DESEARCH_API_KEY}" RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') SESSION_ID=$(echo $RESULT | jq -r '.data.sessionId') QUESTION_ID=$(echo $RESULT | jq -r '.data.id') echo "Session ID: $SESSION_ID, Question ID: $QUESTION_ID" # 2. 轮询状态直到完成 while true; do STATUS=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/status?sessionId=${SESSION_ID}" \ -H "x-api-key: ${API_KEY}" | jq -r '.data.status') if [ "$STATUS" = "2" ]; then echo "任务完成" break fi echo "状态: $STATUS, 等待中..." sleep 60 # 每分钟检查一次 done # 3. 获取 PDF 报告链接 REPORT_RESULT=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/to_report?sessionId=${SESSION_ID}&reportType=pdf" \ -H "x-api-key: ${API_KEY}") PDF_URL=$(echo $REPORT_RESULT | jq -r '.data') echo "PDF URL: $PDF_URL" # 4. 下载 PDF 文件 curl -s -o /tmp/research_result.pdf "$PDF_URL" # 5. 发送 PDF 文件给用户 message action=send target=用户ID filePath=/tmp/research_result.pdf
bash# 1. 创建任务 API_KEY="${DESEARCH_API_KEY}" curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "你的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }'
bash# 轮询直到任务完成 (status = 2) API_KEY="${DESEARCH_API_KEY}" SESSION_ID="替换为实际的sessionId" while true; do STATUS_RESPONSE=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/status?sessionId=${SESSION_ID}" \ -H "x-api-key: ${API_KEY}") STATUS=$(echo $STATUS_RESPONSE | jq -r '.data.status') echo "当前状态: $STATUS" if [ "$STATUS" = "2" ]; then echo "任务完成!" break fi sleep 60 # 每分钟检查一次 done # 获取 PDF 报告链接 REPORT_RESULT=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/to_report?sessionId=${SESSION_ID}&reportType=pdf" \ -H "x-api-key: ${API_KEY}") PDF_URL=$(echo $REPORT_RESULT | jq -r '.data') # 下载 PDF 文件 curl -s -o /tmp/research_result.pdf "$PDF_URL" # 发送 PDF 文件给用户 message action=send target=用户ID filePath=/tmp/research_result.pdf
❌ 禁止直接发送文字内容给用户 ✅ 必须:获取 PDF 链接 → 下载 PDF 文件 → 发送 PDF 文件给用户
bash# 1. 创建任务 API_KEY="${DESEARCH_API_KEY}" RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "用户的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') SESSION_ID=$(echo $RESULT | jq -r '.data.sessionId') # 2. 轮询状态直到完成 (status=2) while true; do STATUS=$(curl -s "https://desearch.zeelin.cn/api/conversation/status?sessionId=${SESSION_ID}" \ -H "x-api-key: ${API_KEY}" | jq -r '.data.status') [ "$STATUS" = "2" ] && break sleep 30 done # 3. 获取 PDF 报告链接 REPORT_RESULT=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/to_report?sessionId=${SESSION_ID}&reportType=pdf" \ -H "x-api-key: ${API_KEY}") PDF_URL=$(echo $REPORT_RESULT | jq -r '.data') # 4. 下载 PDF 文件 curl -s -o /tmp/research_result.pdf "$PDF_URL" # 5. 发送 PDF 文件给用户 message action=send target=用户ID filePath=/tmp/research_result.pdf
/api/conversation/to_report?sessionId={id}&reportType=pdf 获取 PDF 下载链接data 字段提取 PDF URL确保任务完成后自动发送 PDF 的关键:
timeout=1200 或更长,确保 exec 命令等待任务完成bash while true; do STATUS=$(curl -s "https://desearch.zeelin.cn/api/conversation/status?sessionId=${SESSION_ID}" \ -H "x-api-key: ${API_KEY}" | jq -r '.data.status') [ "$STATUS" = "2" ] && break # 任务完成后跳出循环 [ "$STATUS" = "4" ] && exit 1 # 任务失败则退出 sleep 30 done
bash # 下载 PDF 后立即发送 curl -s -o /tmp/research_result.pdf "$PDF_URL" message action=send target=用户ID filePath=/tmp/research_result.pdf
❌ 错误做法:轮询后不等待结果就退出,或超时时间太短导致任务未完成就退出
✅ 正确做法:使用 while 循环 + 足够长的 timeout,任务完成后立即发送 PDF
当用户希望任务在后台运行、同时可以让你执行其他任务时,使用 OpenClaw 的后台执行功能:
方式一:使用 background=true 参数
bashexec command="..." background=true timeout=1200
这样命令会在后台运行,不会阻塞当前会话,你可以继续给其他命令。
方式二:使用 exec + yieldMs 参数
bashexec command="..." yieldMs=10000
设置 yieldMs 让出控制权,命令在后台继续运行。
方式三:使用 process 工具管理后台任务
bash exec command="完整的轮询+发送脚本" timeout=1200
process(action=poll) 轮询结果:bash process action=poll sessionId=<session_id> timeout=600000
后台任务完整示例:
bash# 1. 创建任务(立即返回) API_KEY="${DESEARCH_API_KEY}" RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "用户的研究问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') SESSION_ID=$(echo "$RESULT" | jq -r '.data.sessionId') echo "任务已创建: $SESSION_ID" # 2. 后台轮询 + 下载 + 发送(设置长timeout) exec command=" SESSION_ID='$SESSION_ID' API_KEY='$API_KEY' # 轮询直到完成 while true; do STATUS=\$(curl -s 'https://desearch.zeelin.cn/api/conversation/status?sessionId=\${SESSION_ID}' \\ -H 'x-api-key: \${API_KEY}' | jq -r '.data.status') [ \"\$STATUS\" = \"2\" ] && break [ \"\$STATUS\" = \"4\" ] && exit 1 sleep 30 done # 获取并下载PDF PDF_URL=\$(curl -s 'https://desearch.zeelin.cn/api/conversation/to_report?sessionId=\${SESSION_ID}&reportType=pdf' \\ -H 'x-api-key: \${API_KEY}' | jq -r '.data') curl -s -o /tmp/report.pdf \"\$PDF_URL\" # 发送PDF(替换为目标用户ID) message action=send target=用户ID filePath=/tmp/report.pdf " timeout=1200
用户可以:
| 渠道 | 文件大小限制 | |-----|------------| | 钉钉 | 20MB | | 飞书 | 20MB | | Telegram | 50MB | | Discord | 8MB | | WhatsApp | 16MB |
当用户渠道为飞书时,禁止直接发送 PDF 文件给用户,必须按以下流程操作:
bash# 1. 创建任务 API_KEY="${DESEARCH_API_KEY}" RESULT=$(curl -s -X POST "https://desearch.zeelin.cn/api/conversation/anew" \ -H "Content-Type: application/json" \ -H "x-api-key: ${API_KEY}" \ -d '{ "sessionId": "", "content": "用户的问题", "thinking": "deep", "workflow": "", "needEditChapter": 0, "moreSettings": {} }') SESSION_ID=$(echo $RESULT | jq -r '.data.sessionId') TITLE=$(echo $RESULT | jq -r '.data.title') # 2. 轮询状态直到完成 (status=2) while true; do STATUS=$(curl -s "https://desearch.zeelin.cn/api/conversation/status?sessionId=${SESSION_ID}" \ -H "x-api-key: ${API_KEY}" | jq -r '.data.status') [ "$STATUS" = "2" ] && break sleep 30 done # 3. 获取 Word 报告链接(Word 格式更容易提取文字内容) REPORT_RESULT=$(curl -s -X GET "https://desearch.zeelin.cn/api/conversation/to_report?sessionId=${SESSION_ID}&reportType=word" \ -H "x-api-key: ${API_KEY}") WORD_URL=$(echo $REPORT_RESULT | jq -r '.data') # 4. 下载 Word 文件 curl -s -o /tmp/research.docx "$WORD_URL" # 5. 解压 Word 文件提取文字内容 unzip -q /tmp/research.docx -d /tmp/research_docx/ sed 's/<[^>]*>//g' /tmp/research_docx/word/document.xml | tr -s ' \n' > /tmp/research.txt # 6. 创建飞书文档 DOC_RESULT=$(feishu_doc action=create title="调研报告:${TITLE}") DOC_TOKEN=$(echo $DOC_RESULT | jq -r '.document_id') DOC_URL=$(echo $DOC_RESULT | jq -r '.url') # 7. 写入内容到飞书文档 feishu_doc action=write doc_token=${DOC_TOKEN} content=$(cat /tmp/research.txt) # 8. 发送文档链接给用户 message action=send target=用户ID message="📄 调研报告已生成:${DOC_URL}"
bash# 检查文件是否存在且非空 if [ -f /tmp/research.md ] && [ -s /tmp/research.md ]; then # 发送文件 message action=send target=用户ID filePath=/tmp/research.md else echo "文件无效或为空" fi
Other measured skills in the registry, with their headline benchmark lift.