开发

搜索

按文件名、元数据、转写和审阅评论找文件,或者直接描述画面内容。结果能直接指到视频里的那一秒。

查看 Markdown
Shell
curl -H "Authorization: Bearer $SIDESPACE_TOKEN" \
  "https://side.example.com/v1/search?q=dock+at+dusk&type=video"

每个词都要在文件名、附加信息(标签、提示词、转写、媒体信息、备注)或审阅评论里命中。令牌访问不到的空间不会出现在结果里。

参数含义
q要找的词,或者一句描述(配合 mode=meaning)
space只搜这个空间
typevideo、image、audio、folder 或 other
modeauto(默认,先字面后意思)、keyword 或 meaning
limit返回多少条

结果和时间点

JSON
{
  "items": [
    {
      "node": { "id": "nod_…", "name": "A001_C003.mov", "mime": "video/quicktime", "head_version_id": "ver_…" },
      "space_name": "Film A",
      "folder": "Ep01/Shots",
      "matched": ["transcript"],
      "moments": [
        { "at_ms": 12400, "until_ms": 15100, "text": "We shot the dock right at dusk.", "source": "transcript" }
      ]
    }
  ]
}

命中转写、带时间的审阅评论,或者(按意思搜索时)意思相近的一段转写时,结果带 moments:说明在媒体的哪个位置,source 是 transcript、comments 或 meaning。可以让用户直接跳过去:网页版的文件页接受 ?t=<毫秒>,分享页接受 #t=<秒>。

按意思搜索

服务器配了向量模型时,字面结果之后会补上意思相近的文件,标为 "matched": ["meaning"] 并带 score。所以可以直接描述想找的内容,而不用猜文件名:

Shell
sidespace search "两个人在海边吵架" --space "Film A"
#   Film A: Ep03/IMG_0042.mov  [meaning 0.62]
#         0:40.0  Look at the waves crashing on the shore.  (meaning)

服务器没配模型时 mode=meaning 返回 400。MCP 的 search 工具和两个 SDK 都支持同样的 mode,并原样返回 moments 和 score。

const hits = await side.search("两个人在海边吵架", { space: "Film A", mode: "meaning" });