商品与价格:一级三档 + 二级 6 个单元

一套检索底座,两种买法:一级 API 三档(只给结果 / 快答案 / 读原文的深答案)按次计费、 二级单元(新闻 / 音乐 / 旅行 / 财经 / 百科 / 十万个为什么)是开箱即用的成品。 每次调用都返回结构化 JSON 与一条永久快照链接。

当前可售:3 / 3 档一级 API(与 /healthz 同源)· 二级单元 6 个全部已挂载 · 对外地址 https://search.ozforce.cn · 机器可读目录 /v1/catalog

一级 API:三档,各自独立商品

三档互不包含:每档一个 scope token,买哪个写哪个(* 表示全租)。 同一个 key 不能既按结果档收费又交出答案 —— 价格阶梯就是能力阶梯。

基础搜索 API可售只给结果

基础搜索能力本身:一次调用拿回来源列表(标题 + 出处 + 说明 + 分数)+ 可选永久快照

价格
1 credits ≈ ¥0.05 / 次
端点
POST /v1/search
只卖结果(answer 恒为 null);要答案请买 l1_answer 或 l1_deep
需要的 scope
l1(申请 key 时写这个;* 表示全租)
典型延迟
一次检索 + 一次快照落盘,没有模型往返
返回什么
sources[](title / url / snippet / publishedAt / domain / score)、snapshot_url、usage.credits_charged
适合谁
给 Agent 自己加工:要原始链接、答案自己写

看示例

复制代码 · l1(curl)
# 第一个请求:结果档 l1 —— 拿回来源列表 + 一条永久快照链接
curl -sS -X POST "https://search.ozforce.cn/v1/search" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"杭州 三日游 攻略","count":5,"freshness":"month","snapshot":true}'

快答案 API(读片段写答案)可售结果 + 快答案

检索 + 一段带引用的答案:读搜索结果里的片段与摘要写答案(不抓原文),比结果档准、比深答案快、比结果档贵一点(默认 2 credits)

价格
2 credits ≈ ¥0.1 / 次
端点
POST /v1/answer
depth = fast
需要的 scope
l1:answer(申请 key 时写这个;* 表示全租)
典型延迟
比结果档多一次模型往返(实测 0.8~2.6s),比深答案档快(不抓原文)
返回什么
answer、citations[]、sources[]、snapshot_url、usage(credits_charged / balance_after)
适合谁
"给我一段能直接展示的答案",不追原文

看示例

复制代码 · l1_answer(curl)
# 快答案档:读片段写答案(同一个端点,不传 depth 就是 fast)
curl -sS -X POST "https://search.ozforce.cn/v1/answer" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"天空为什么是蓝色的","count":5}'

深答案 API(读原文)可售结果 + 读原文的深答案

在基础检索之上,从结果里择优 K 篇真去抓原文(Markdown)再写答案:答案带 [1][2][3] 引用、并返回材料清单与成本/时延拆分

价格
4 credits ≈ ¥0.2 / 次
端点
POST /v1/search
推荐入口 POST /v1/answer + depth:"deep"
depth = deep
需要的 scope
l1:deep(申请 key 时写这个;* 表示全租)
典型延迟
比基础档慢一轮抓取(单篇实测 ~150ms,K 篇并行)
返回什么
answer、citations[]、materials[](读了哪几篇)、cost{}、latency_ms{}、sources[]、snapshot_url
适合谁
数字/参数/对比类问题:不读原文答不准

看示例

复制代码 · l1_deep(curl)
# 深答案档:同一个端点 + depth:"deep"(会真去抓原文,更准也更慢)
curl -sS -X POST "https://search.ozforce.cn/v1/answer" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"天空为什么是蓝色的","depth":"deep","count":8}'

二级单元:6 个成品,即插即用

每个单元 = 一条独立二级 API(POST /v2/{middleware}/{unit}/run), 从一级派生、各自授权(l2:<单元>)、各自定价。 定时 表示当天只向上游付一次钱、全站复用; 实时 表示每次调用都现搜;混合 表示先查归档、未命中实时兜底。

世界百科实时可售

查一个词条/概念的释义、起源与发展脉络(百科类不追时效);每条结果标出条目类型(百科/词条/教程/文档/问答/other)

价格
1 credits ≈ ¥0.05 / 次
端点
POST /v2/m1/wiki/run
scope
l2:wiki
什么时候的内容
每次调用都现搜(不预生成)
默认条数 / 时间窗
10 条 · any
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "wiki",
  "result_schema": "wiki.v1",
  "items": [
    {
      "title": "示例条目标题",
      "summary": "示例摘要(400 字以内)",
      "source": "example.com",
      "url": "https://example.com/a",
      "publishedAt": "2026-10-29T04:00:00.000Z"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/wiki",
  "usage": {
    "credits_charged": 1,
    "balance_after": "..."
  }
}

看示例

复制代码 · wiki(curl)
# 二级单元:m1/wiki(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/wiki/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"丝绸之路","count":5,"snapshot":true}'

即时新闻定时可售

按主题取当天的新闻速览,按发布时间倒序;已强制过滤时政/军事/外交/社会突发等话题

价格
1 credits ≈ ¥0.05 / 次
端点
POST /v2/m1/news/run
scope
l2:news
什么时候的内容
每天 06:00(Asia/Shanghai)生成一期,当天全站复用
默认条数 / 时间窗
10 条 · day
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "news",
  "result_schema": "news.v1",
  "items": [
    {
      "title": "示例条目标题",
      "summary": "示例摘要(400 字以内)",
      "source": "example.com",
      "url": "https://example.com/a",
      "publishedAt": "2026-10-29T04:00:00.000Z"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/news",
  "usage": {
    "credits_charged": 1,
    "balance_after": "..."
  }
}

看示例

复制代码 · news(curl)
# 二级单元:m1/news(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/news/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"科技","count":5,"snapshot":true}'

流行音乐时定时可售

按主题取近一个月的热歌榜/新歌发行/榜单信息;只出榜单与外链,不托管任何音频

价格
1 credits ≈ ¥0.05 / 次
端点
POST /v2/m1/music/run
scope
l2:music
什么时候的内容
每天 07:00(Asia/Shanghai)生成一期,当天全站复用
默认条数 / 时间窗
10 条 · month
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "music",
  "result_schema": "music.v1",
  "tracks": [
    {
      "rank": 1,
      "title": "示例曲目",
      "artist": "示例歌手",
      "url": "https://example.com/song",
      "source": "example.com"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/music",
  "usage": {
    "credits_charged": 1,
    "balance_after": "..."
  }
}

看示例

复制代码 · music(curl)
# 二级单元:m1/music(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/music/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"流行音乐","count":5,"snapshot":true}'

旅行灵感混合可售

按目的地取攻略/推荐/季节玩法;冻结快照与实时入口都给

价格
3 credits ≈ ¥0.15 / 次
端点
POST /v2/m1/travel/run
scope
l2:travel
什么时候的内容
每天 06:00(Asia/Shanghai)生成一期,当天全站复用
默认条数 / 时间窗
10 条 · month
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "travel",
  "result_schema": "travel.v1",
  "items": [
    {
      "title": "示例条目标题",
      "summary": "示例摘要(400 字以内)",
      "source": "example.com",
      "url": "https://example.com/a",
      "publishedAt": "2026-10-29T04:00:00.000Z"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/travel",
  "usage": {
    "credits_charged": 3,
    "balance_after": "..."
  }
}

看示例

复制代码 · travel(curl)
# 二级单元:m1/travel(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/travel/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"成都","count":5,"snapshot":true}'

十万个为什么实时可售

有什么疑问直接问:实时调用一级答案 API 取一段带引用的答案(问题不可预知,所以不预生成)

价格
3 credits ≈ ¥0.15 / 次
端点
POST /v2/m1/why/run
scope
l2:why
什么时候的内容
每次调用都现搜(不预生成)
默认条数 / 时间窗
6 条 · any
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "why",
  "result_schema": "why.v1",
  "items": [
    {
      "title": "示例条目标题",
      "summary": "示例摘要(400 字以内)",
      "source": "example.com",
      "url": "https://example.com/a",
      "publishedAt": "2026-10-29T04:00:00.000Z"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/why",
  "usage": {
    "credits_charged": 3,
    "balance_after": "..."
  }
}

看示例

复制代码 · why(curl)
# 二级单元:m1/why(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/why/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"天空为什么是蓝色的","count":5,"snapshot":true}'

财经速览定时可售

(演示扩展性单元 · order 90)按主题取当日财经与行业动态;本文件是「加单元只加 JSON」这条硬标准的证据

价格
3 credits ≈ ¥0.15 / 次
端点
POST /v2/m1/finance/run
scope
l2:finance
什么时候的内容
每天 08:00 / 18:00(Asia/Shanghai)生成一期,当天全站复用
默认条数 / 时间窗
8 条 · day
示例返回
{
  "request_id": "r_...",
  "middleware": "m1",
  "unit": "finance",
  "result_schema": "list.v1",
  "items": [
    {
      "title": "示例条目标题",
      "summary": "示例摘要(400 字以内)",
      "source": "example.com",
      "url": "https://example.com/a",
      "publishedAt": "2026-10-29T04:00:00.000Z"
    }
  ],
  "snapshot_url": "<base>/s/<token>",
  "live_url": "<base>/u/m1/finance",
  "usage": {
    "credits_charged": 3,
    "balance_after": "..."
  }
}

看示例

复制代码 · finance(curl)
# 二级单元:m1/finance(结果结构更贴合该领域,价格见页面上的单元卡片)
curl -sS -X POST "https://search.ozforce.cn/v2/m1/finance/run" \
  -H "Authorization: Bearer ${WS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q":"人工智能","count":5,"snapshot":true}'

三档一级 API 一行看懂

档位价格返回什么典型延迟谁该买
l1
基础搜索 API
1 credits ≈ ¥0.05 / 次 只给结果 一次检索 + 一次快照落盘,没有模型往返 给 Agent 自己加工:要原始链接、答案自己写
l1_answer
快答案 API(读片段写答案)
2 credits ≈ ¥0.1 / 次 结果 + 快答案 比结果档多一次模型往返(实测 0.8~2.6s),比深答案档快(不抓原文) "给我一段能直接展示的答案",不追原文
l1_deep
深答案 API(读原文)
4 credits ≈ ¥0.2 / 次 结果 + 读原文的深答案 比基础档慢一轮抓取(单篇实测 ~150ms,K 篇并行) 数字/参数/对比类问题:不读原文答不准

计费说明

计价单位是 credits:1 credit = ¥0.05 (也就是上面每张卡上"几 credits"后面那个 ¥ 金额的算法:credits × 0.05)。 每次调用的响应里都写清 usage.credits_charged 与 usage.balance_after,客户账自己就能对。

会员档位配额(日 / 月)折扣系数
free · 免费档日 50 / 月 500×1
member · 会员日 500 / 月 5000×0.5
pro · 专业档日 2000 / 月 20000×0.3

折扣不会跌破成本线:折后金额低于该商品的最低成本线时,按最低 credits 计费(宪法 8.6,B40 起)。 所以个别单元在最高折扣档下实际扣费会高于"标价 × 折扣",这是保底规则在起作用,不是算错; 响应里的 usage.floor_applied / usage.cost_floor_credits 会如实标出来。

成本与毛利只出现在老板侧管理台,客户侧响应与账单里不会有 cost_cny / gross_margin_cny 之外的进价明细(宪法 9.3)。

下一步