unifuncsAPI接入文档 两种模式:深度研究报告和深度搜索。 一、 深度研究报告模式 Model :选择请求模型。S2 API Key:sk-2fNwqUH73elGq0aDKJEM4ReqP7Ry0iqHo4OXyidDe2WpQ9XQ Introduction:设定研究员的角色和口吻 Plan Approval:执行研究前,是否生成一份研究计划,并等待用户批准或修改。默认关闭。 Reference Style:指定引用文献的输出格式,默认为 link,MarkDown Max Depth:研究的最大深度,建议在25轮为最佳 Domain Scope:自定义搜索网站,限定范围内研究(英文逗号分隔) Domain Blacklist:搜索网站黑名单,排除特定网站的内容(英文逗号分隔)。 Output Type:预期输出的文体类型,默认为report Output Prompt:自定义输出提示词,覆盖output_type的默认提示词。支持嵌入 {{introduction}} / {{output_length}} / {{content}} 占位符,content为用户提问。 Output Length:预期输出内容的长度(模型不一定遵守) Stream:是否流式响应 二、 深度搜索模式 [https://unifuncs.com/api\#deepsearch](https://unifuncs.com/api#deepsearch) 参数说明: Model: S2 API Key: sk-2fNwqUH73elGq0aDKJEM4ReqP7Ry0iqHo4OXyidDe2WpQ9XQ Introduction:设定研究员的角色和口吻 Reference Style: link 和 character 指定引用文献的输出格式,默认为 link Max Depth:研究的最大深度,建议在25轮为最佳 Domain Scope:自定义搜索网站,限定范围内研究(英文逗号分隔)。 Domain Blacklist:搜索网站黑名单,排除特定网站的内容(英文逗号分隔) Output Prompt:自定义输出提示词,覆盖output\_type的默认提示词。支持嵌入 {{introduction}} / {{output\_length}} / {{content}} 占位符,content为用户提问。 Generate Summary: 是否开启异步任务完成后自动生成标题和摘要,默认关闭 (只有异步模式才有) Stream:是否流式响应(只有**Open AI 兼容协议模式才有**) 2种调用方式: **一、Open AI兼容协议:** 适用于直接接入到支持 OpenAI 协议的客户端,如 Cherry Studio / Dify 或 OpenAI SDK等。 // Please install OpenAI SDK first: \`npm install openai\` import OpenAI from 'openai'; const client \= new OpenAI({ baseURL: 'https://api.unifuncs.com/deepsearch/v1', apiKey: 'sk-2fNwqUH73elGq0aDKJEM4ReqP7Ry0iqHo4OXyidDe2WpQ9XQ', }); async function main() { const stream \= await client.chat.completions.create({ model: 's2', messages: \[{ role: 'user', content: 'hi' }\], stream: true, introduction: "你是一名医学研究专家,负责检索文献", max\_depth: 25, domain\_scope: \["https://pubmed.ncbi.nlm.nih.gov/"\], domain\_blacklist: \["wanfang.com"\], output\_prompt: "输出文献内容", reference\_style: "link" }); let thinking \= false; for await (const chunk of stream) { if (chunk.choices\[0\]?.delta?.reasoning\_content) { if (\!thinking) { process.stdout.write('\\\n'); thinking \= true; } process.stdout.write(chunk.choices\[0\]?.delta?.reasoning\_content); } else { if (thinking) { process.stdout.write('\\n\\\n\\n'); thinking \= false; } process.stdout.write(chunk.choices\[0\]?.delta?.content || ''); } } } main(); **二、 异步模式:** #### #### **1\. 创建任务 /v1/create\_task** 提交研究需求后立即返回 task\_id,后端在后台执行。 // Node 18+ has fetch built-in const payload \= { "model": "s2", "messages": \[ { "role": "user", "content": "hi" } \], "introduction": "你是一名医学研究专家,负责检索文献", "max\_depth": 25, "domain\_scope": \[ "https://pubmed.ncbi.nlm.nih.gov/" \], "domain\_blacklist": \[ "wanfang.com" \], "output\_prompt": "输出文献内容", "reference\_style": "link" }; const res \= await fetch("https://api.unifuncs.com/deepsearch/v1/create\_task", { method: "POST", headers: { "Authorization": "Bearer sk-2fNwqUH73elGq0aDKJEM4ReqP7Ry0iqHo4OXyidDe2WpQ9XQ", "Content-Type": "application/json" }, body: JSON.stringify(payload) }); console.log(await res.json()); 示例响应: { "code": 0, "message": "OK", "data": { "task\_id": "3aff2a91-7795-4b73-8dab-0593551a27a1", "status": "pending", "created\_at": "2025-12-09T03:52:40.771Z" }, "requestId": "cd17faad-7310-4370-ba0c-0c2af6bc0597" } #### **2\. 查询任务 /v1/query\_task** 支持 GET / POST,传入 task\_id 即可轮询状态;完成后会返回摘要与最终回答。 // Node 18+ has fetch built-in const params \= new URLSearchParams({ task\_id: "3aff2a91-7795-4b73-8dab-0593551a27a1" }); const res \= await fetch("https://api.unifuncs.com/deepsearch/v1/query\_task?" \+ params.toString(), { headers: { "Authorization": "Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxx" } }); console.log(await res.json()); 示例响应,已完成: { "code": 0, "message": "OK", "data": { "task\_id": "3aff2a91-7795-4b73-8dab-0593551a27a1", "status": "completed", "result": { "content": "你好!我是U深搜,一个专业的网络信息深度搜索专家 🤖\\n\\n我可以帮助你:\\n- 🔍 精准搜索和提取关键信息\\n- 📊 进行深度分析和多源验证\\n- 🕒 获取最新、最可靠的信息\\n- 💡 提供结构化的洞察和建议\\n\\n有什么问题想要我帮你深入搜索和分析吗?无论是技术资讯、市场动态、学术研究还是其他任何话题,我都能为你提供专业、准确的信息服务!", "reasoning\_content": "用户只是简单地说了\\"hi\\",这是一个普通的问候。根据指导原则,如果是普通聊天或无法回答的问题,我应该使用友好的语气直接回复用户问题或介绍自己。\\n\\n这不需要进行任何搜索,我应该直接友好地回复,并简单介绍一下自己是U深搜这个深度搜索专家。" }, "created\_at": "2025-12-09T03:52:40.771Z", "updated\_at": "2025-12-09T03:52:45.912Z", "progress": { "current": 100, "total": 100, "message": "任务已完成" }, "statistics": { "iterations": 1, "search\_count": 0, "read\_count": 0, "token\_usage": { "prompt\_tokens": 4381, "completion\_tokens": 167, "total\_tokens": 4548 } }, "session": { "session\_id": "d3bee7f1-a44e-48b0-9283-a6866de723c3", "status": "finished", "model": "s2", "title": "开启generate\_summary时生成标题", "summary": "开启generate\_summary时生成摘要", "question": "hi" } } }