返回 API 接口列表

网页内容总结

接口描述:向接口提交网页URL后,系统自动获取网页内容并总结,并以JSON返回结果。
开启 stream 参数后,接口将以 SSE(Server-Sent Events,text/event-stream)格式流式返回处理进度与总结内容。
该接口属于无状态接口,服务器不会存储任何信息。
API接口地址:https://api.hypermoe.com/pagesummary
该接口支持POST与GET请求。
注意:若请求总结的URL包含违法、有害或违规内容,系统将自动拒绝输出总结内容。
该接口已于2026年08月14日更新,支持SSE流式输出。

可选参数说明:

键
说明
url指定要总结的页面URL
streamSSE流式输出开关,默认禁用。开启后接口以 text/event-stream 流式返回处理进度与总结内容(GET 传 stream=1 或 stream=true;POST 传 true、"1" 或 "true")

返回JSON键说明:

键
说明
success执行状态
url请求总结的URL
title请求总结的网页标题
summary总结内容
key_points内容要点
page_type当前总结的页面类型:article, product, documentation, blog, homepage, other
language页面语言代码

SSE 事件说明(stream 开启时):

事件名
触发时机
数据说明
status处理开始及各阶段切换时阶段通知:{"stage":"fetching"}(正在抓取网页)/ {"stage":"summarizing"}(正在生成总结)
deltaAI 生成总结过程中(多次触发)AI 增量文本片段:{"text":"..."},text 为按 JSON 转义的原文片段,拼接全部片段即为完整 JSON 结果,片段切分位置不固定
done处理成功完成时完整结果:{"success":true,"url":"...","title":"...","summary":"...","key_points":[...],"page_type":"...","language":"..."},结构同非流式返回
error处理失败时错误信息:{"error":"Processing error","detail":"..."}
GET 使用示例
https://api.hypermoe.com/pagesummary?url=https://www.hypermoe.com
POST Payload 示例
{ "url": "https://www.hypermoe.com" }
SSE 流式请求示例(GET)
https://api.hypermoe.com/pagesummary?url=https://www.hypermoe.com&stream=1
SSE 流式请求示例(POST)
{ "url": "https://www.hypermoe.com", "stream": true }
SSE 流式响应示例
event: status data: {"stage":"fetching"} event: status data: {"stage":"summarizing"} event: delta data: {"text":"{\"title\":\"Hypermoe | 主站\""} event: delta data: {"text":",\"summary\":\"Hypermoe主站介绍,以软件服务"} event: delta data: {"text":"、云计算与互联网络为核心,强调网络安全、隐私保护"} event: done data: {"success":true,"url":"https://www.hypermoe.com","title":"Hypermoe | 主站","summary":"Hypermoe主站介绍,以软件服务、云计算与互联网络为核心,强调网络安全、隐私保护,采用容器化、Serverless和边缘计算技术,提供公共API、实验室项目等产品与服务。","key_points":["以软件服务、云计算和互联网络为核心,构建色彩缤纷的互联网世界。","运营方针:探索理念、创造理念,持续改进产品和服务。","提供公共API服务、实验室项目(4项进行中)、Tennen.moe体验增强服务。","重视网络安全,严格执行代码审计,贯穿运营治理全程。","尊重隐私保护,坚持最小化数据收集,全生命周期保护用户数据。","技术栈包括容器化、Serverless架构和边缘部署,提升效率与可靠性。"],"page_type":"homepage","language":"zh-CN"}
消费 SSE 流示例(JavaScript)
// GET 请求可直接使用 EventSource(仅支持 GET) const es = new EventSource('https://api.hypermoe.com/pagesummary?url=https://www.hypermoe.com&stream=1'); es.addEventListener('status', (e) => console.log('status:', JSON.parse(e.data))); es.addEventListener('delta', (e) => console.log('delta:', JSON.parse(e.data).text)); es.addEventListener('done', (e) => console.log('done:', JSON.parse(e.data))); es.addEventListener('error', (e) => console.log('error:', JSON.parse(e.data))); // POST 请求使用 fetch + ReadableStream 消费 SSE const res = await fetch('https://api.hypermoe.com/pagesummary', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://www.hypermoe.com', stream: true }), }); const reader = res.body.getReader(); const decoder = new TextDecoder(); let buffer = ''; while (true) { const { done, value } = await reader.read(); if (done) break; buffer += decoder.decode(value, { stream: true }); // 以空行切分事件块,解析 event: / data: 行 const blocks = buffer.split(/\r?\n\n/); buffer = blocks.pop(); for (const block of blocks) { let event = 'message'; let data = ''; for (const line of block.split(/\r?\n/)) { if (line.startsWith('event:')) event = line.slice(6).trim(); if (line.startsWith('data:')) data += line.slice(5).trim(); } if (!data) continue; const payload = JSON.parse(data); console.log(event, payload); // status / delta / done / error } }
返回示例
{ "success": true, "url": "https://www.hypermoe.com", "title": "Hypermoe | 主站", "summary": "Hypermoe主站介绍,以软件服务、云计算与互联网络为核心,强调网络安全、隐私保护,采用容器化、Serverless和边缘计算技术,提供公共API、实验室项目等产品与服务。", "key_points": [ "以软件服务、云计算和互联网络为核心,构建色彩缤纷的互联网世界。", "运营方针:探索理念、创造理念,持续改进产品和服务。", "提供公共API服务、实验室项目(4项进行中)、Tennen.moe体验增强服务。", "重视网络安全,严格执行代码审计,贯穿运营治理全程。", "尊重隐私保护,坚持最小化数据收集,全生命周期保护用户数据。", "技术栈包括容器化、Serverless架构和边缘部署,提升效率与可靠性。" ], "page_type": "homepage", "language": "zh-CN" }