开发者/本机接口
本机接口参考
字流桌面端在 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) | 要发哪些平台;不填按内容类型给默认 |
status | draft / 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是填好了等确认。