开发者/本机接口

本机接口参考

字流桌面端在 http://127.0.0.1:17616 提供 HTTP 接口,只接受本机连接。除了 /v1/health,所有请求都要带 Authorization: Bearer ziliu_local_…。请求和返回都是 JSON。

基本约定

说明
地址http://127.0.0.1:17616(默认端口 17616;设置页「开发者选项」里显示的是实际地址)
鉴权Authorization: Bearer ziliu_local_…,令牌在「设置 → 更多 → AI Agent → 开发者选项」
跨域只给本机网页(localhost / 127.0.0.1)放行
请求体JSON,最大 10 MB
返回成功 {"ok":true,…},失败 {"ok":false,"error":"…"}

全部接口

方法和路径鉴权做什么
GET /v1/health不要字流开没开:{ ok, service, version }
GET /v1/me要套餐、能绑几个号、剩余云点、可用功能(features)
GET /v1/catalog要全部能力目录,见下
POST /v1/call/<能力名>要调任意能力,见下
GET /v1/accounts要已绑定的平台账号
GET /v1/content要内容列表(ContentItem 形状)
GET /v1/content/<id>要一篇内容
POST /v1/content要把外部做好的成稿交给字流
DELETE /v1/content/<id>要删一篇内容
POST /v1/publish要 + publish.agent把一篇内容送去发布(同 queue:pushDrafts)
GET /v1/jobs/<id>要一条发布任务的状态和截图记录
POST /v1/jobs/<id>/confirm要 + publish.agent标记已发布,可带 resultUrl
GET /v1/kb/ping要浏览器插件「发送到字流素材库」探活
POST /v1/kb/docs要浏览器插件把当前网页存进素材库(正文截到 10 万字)

GET /v1/catalog

{
  "ok": true,
  "count": 308,
  "plan": "creator",
  "allowWrite": true,
  "allowPublic": false,
  "pointsRemaining": 2950,
  "items": [
    {
      "channel": "creation:brief",
      "group": "creation",
      "risk": "write",
      "costsPoints": true,
      "summary": "一句话成稿的第一步……",
      "params": { "mode": "article(图文)/ video(视频)", "brief": "一句话选题" },
      "returns": "{ contentId, core, brief?, title }",
      "example": { "mode": "article", "brief": "…" }
    }
  ]
}

allowWrite 是套餐能不能调 write / public;allowPublic 是用户有没有打开「允许 AI 代点发布」。全部能力的说明见能力参考。

POST /v1/call/<能力名>

  • 请求体就是参数对象,和目录里的 example 一个形状。
  • 少数老能力是多个位置参数:请求体写 { "args": [参数1, 参数2] }(目录里会写明)。
  • public 级要带 "confirm": true,并且用户已在设置里允许。
  • 返回 { "ok": true, "result": … },result 就是界面拿到的那个对象。
curl -X POST http://127.0.0.1:17616/v1/call/queue:submitFilled \
  -H "Authorization: Bearer $ZILIU_TOKEN" -H "Content-Type: application/json" \
  -d '{"jobIds":["job_xxx"],"confirm":true}'

POST /v1/content:交成稿

给别的自动化工具用:它们已经写好了,只要字流做配图、改编和发布。字段名宽松,常见写法都认:

字段说明
title(或 name)标题
body(或 content / markdown)长文正文,Markdown
shortText(或 caption)短图文正文
videoScript(或 script)口播稿
description(或 summary)摘要 / 视频简介
coverImage(或 cover)封面图地址
assets图片、视频素材 [{ type, url | localPath, name }]
tags标签
platforms(或 platformIds)要发哪些平台;不填按内容类型给默认
statusdraft / ready
id(或 contentId)可选,传同一个 id 就是更新
curl -X POST http://127.0.0.1:17616/v1/content \
  -H "Authorization: Bearer $ZILIU_TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"一人公司第一年的账单","body":"# 正文……","tags":["一人公司"],"platforms":["wechat_mp","zhihu"]}'
# 201 {"ok":true,"item":{"id":"api_…", …}}

至少要有正文、短文、口播稿、简介、素材中的一样,否则返回 400 content_required。

POST /v1/publish 和发布任务

curl -X POST http://127.0.0.1:17616/v1/publish \
  -H "Authorization: Bearer $ZILIU_TOKEN" -H "Content-Type: application/json" \
  -d '{"contentId":"content_xxx","draftIds":["draft_a","draft_b"]}'
# 201 {"ok":true,"created":2,"jobs":[{"id":"job_…","platformId":"zhihu","status":"pending"}]}
  • mode 默认 semi:填进编辑器等用户确认。
  • 稿子还没绑账号返回 400,skippedDrafts 列出哪些;套餐锁住的平台在 lockedDrafts。
  • GET /v1/jobs/<id> 看状态;awaiting_confirm 是填好了等确认。