一次写作, 多处发布

草稿就是仓库中的一个纯文本文件。 Syndroo 读取这个文件并发布内容,将纯文本发送到 Bluesky、Threads、 LinkedIn 和 Mastodon,将文章发送到 DEV.to,全程从终端完成。

v0.7.0 · 已在 npm 发布 · 真实账号验收仍待完成

先安装。 再交给 Agent 设置。

Agent 设置

交给 Agent 设置

将以下提示词粘贴给可在终端执行命令的 Agent。它会安装 Syndroo,并引导你完成本地或Server 设置。

Agent 提示词
你是一名可在本地终端执行命令的智能体。请为我设置 Syndroo 0.7.0。

1. 检查 Node.js 24.19.0 或更新版本以及 npm;确认我的平台是 macOS 或 Linux,以获得受支持的本地写入能力。
2. 使用以下命令安装 Syndroo 及其官方平台插件:
   npm install --global @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected]
3. 运行 `syndroo --version`。先用 `npm root --global` 获取 npm 全局根目录,再读取 `<global-root>/@syndroo/cli/skills/syndroo/SKILL.md` 并遵循包内 Skill。不要运行或编造单独的 Skill 安装命令。
4. 询问我要使用本地工作流还是自托管 Server 工作流,然后按我的选择继续。
5. 对于 Server 设置,询问我是否需要 GitHub。只有在我明确授权时才创建或推送仓库。复用我已经给出的授权。
6. 不要让机密出现在提示词、命令参数、日志或受版本跟踪的文件中。只有已获授权的内容和目标才能发布。
阅读 Agent 指南

一份草稿。
多个目的地。

从一份文档发布:向 Bluesky 和 Threads 发送纯文本,从个人 LinkedIn 资料发布纯文本, 发布公开 Mastodon 状态,以及发布公开的个人 DEV.to 文章。请求使用严格 JSON:content.text 只携带一次文本,targets 指定每个目的地,并通过可选的 每目标 options 为需要的平台提供设置。文章目标使用自己的 title 和 body_markdown 选项。

LinkedIn 个人账号 · Mastodon 公开状态 · DEV.to 公开文章

发布

编写请求

请求是你放在项目旁边的小型 JSON 文件。content 是文本,targets 指定发送位置。

输入文件示例

post.json

{
  "content": { "text": "一份文档,选定目标。" },
  "targets": [{ "provider": "bluesky" }, { "provider": "linkedin" }]
}

发送前预览

试运行会冻结并校验请求,然后停止。它是可选的只读操作:不发起网络请求、不解析凭证, 也不写入本地状态。

试运行示意
试运行

$ syndroo publish --input post.json --dry-run --json

试运行 · 无网络请求 · 无本地状态继续之前,请检查打印的文本和目标账号。稍后准备请求时,会冻结当时读取的输入。

确认后发布

发布分为两个阶段。准备会冻结内容并返回一次性批准令牌;执行会消费该令牌, 只发送完全相同的冻结预览。

发送示意
publish

$ syndroo publish --input post.json

已冻结的预览 · 一个批准令牌 · 尚未发送

$ syndroo publish --input - < execute.json

准备后再修改文件,不会改变即将发送的内容。执行阶段只能从标准输入读取。

检查结果

发布结果带有操作 ID。读取它是只读查询,并且绝不访问平台:syndroo status --operation <operationId>。

状态示意
status

$ syndroo status --operation <operationId> --json

operationId  <operationId>
status       succeeded
每个目标   deliveryId · attempts · outcome
未知结果会报告为 unknown,绝不会自动重试。此版本的真实账号验收仍待完成。

为本地使用 而设计

草稿是你磁盘上的文件。Syndroo 只在你运行它时读取,并使用你已有的凭证发送。 发生的一切都由你输入的最后一个命令决定。

  • 以命令方式运行从 npm 安装 Syndroo 及其官方平台插件。
  • 直接走本地链路本地 CLI 直接访问平台 API,中间没有 Syndroo 服务。
  • 可选自托管Threads 工作流可以运行在你自己的 Cloudflare 账户中的部署上。

你的工作流,
你的终端。

没有仪表盘,也不需要一直打开浏览器标签页。编辑文件、运行命令、读取结果。 你的编辑器、Shell 和自己的平台凭证始终掌握控制权。

查看命令
示意

$ $EDITOR post.json

$ syndroo publish --input post.json --dry-run --json

试运行 · 无网络请求 · 无本地状态

$ syndroo publish --input post.json

已冻结 · 等待确认 · 发布到 bluesky, linkedin

$ syndroo status --operation <operationId> --json

常见问题

如何安装 Syndroo、交给 Agent 设置,并安全使用。

如何安装 Syndroo?
使用“安装”一节中的 npm 命令,安装 0.7.0 版本的 Syndroo 和全部五个官方提供商。请在 Node.js 24.19.0 或更新版本上运行;受支持的本地写入需要 macOS 或 Linux。
它可以发布到哪些平台?
五个官方提供商。Bluesky、Threads、LinkedIn 和 Mastodon 发布纯文本,DEV.to 发布文章。请求只携带一次内容,并通过 targets 列表指定提供商;需要时,还会指定连接和提供商选项。
我的凭证保存在哪里?
在你的机器上,绝不会进入发布请求。连接只会读取一次凭证,来源是环境变量 SYNDROO_CREDENTIALS 或你拥有的私有文件,随后由本地凭证存储保存。发布过程不会重新读取环境变量或文件。
试运行实际会做什么?
syndroo publish --input post.json --dry-run --json 会冻结并校验请求,打印预览,然后退出。它是可选的只读操作:不获取写入锁、不解析凭证、不发起网络请求,也不写入本地状态。
发布时会发送什么?
请求准备时会冻结内容。确认后会发送完全相同的冻结预览,因此之后再修改文件不会改变即将发送的内容;重新准备则是另一个具有自身标识的新请求。
我可以用一个命令完成准备和发布吗?
可以。syndroo publish --input post.json --yes --json 会在一次调用中准备、确认并执行,只打印一个最终信封,不再返回第二个准备结果,也不返回批准令牌。不带 --yes 的同一 --json 调用只返回准备结果,不发送任何内容。
会涉及 Syndroo 服务器吗?
本地链路会从你的机器直接访问平台 API。对于 Threads,你可以将 Syndroo 服务器部署到你自己的 Cloudflare 账户,连接账号,然后手动发布或从 GitHub CI 发布。SDK 不在本文档范围内。
如何查看一次运行的结果?
syndroo status --operation <operationId> --json 会报告该操作以及每个目标的一次投递。投递状态可能是 succeeded;带 not-applied 处置的 failed;unknown;或者目标从未开始时出现的 not sent。未知写入绝不会自动重试。

准备好开始了吗

安装 Syndroo、验证 CLI,然后从终端发布第一条内容。

v0.7.0 · 已在 npm 发布 · 真实账号验收仍待完成