Syndroo文档
网站GitHub概览

Syndroo 文档

概览

本地 syndroo 工作流从当前机器在前台发布,链路中不需要 Syndroo 服务器。三个彼此独立的一级命令是 syndroo connect、syndroo publish 和 syndroo status。可选的 syndroo server 命令族可以运行由用户自行拥有的 Cloudflare 部署。 0.7.0 已在 npm 发布;已完成模拟测试,真实账号验收仍待完成。

本项目尚未发起过真实的社交网络调用。本站内容描述的是 0.7.0 发布目标、其模式和模拟测试。在你亲自运行之前,每份平台指南都应视为尚未通过真实账号验证。

彼此独立的本地命令

命令作用
syndroo connect <provider>启动、继续或维护一个提供商连接。凭证来自明确指定的来源;Core 负责存储凭证,插件看不到连接记录。
syndroo publish --input <file>准备、执行或重试一次发布。准备阶段会冻结内容并返回审批令牌;执行阶段需要从标准输入传入该令牌。
syndroo status读取提供商、连接和操作。此命令只读:不会联系平台,也不会修复本地状态。

完整的参数列表、退出码和全局参数见 CLI 参考。本站展示的每条命令和每个参数,都会在站点发布前对照已构建的 CLI 检查。

可选的自托管 Server。 server 命令会部署到你自己的 Cloudflare 账号。server init 使用 0.7.0 版本的 @syndroo/cli 和 @syndroo/cloudflare 包,并安装项目本地 Wrangler。设置路径见 部署服务器,验收限制见 CLI 参考。

1. 安装 Syndroo

使用 Node.js 24.19.0 或更新版本以及 npm。受支持的本地写入需要 macOS 或 Linux。一条命令会安装 0.7.0 版本的 CLI、提供商 SDK 和全部五个官方平台插件:

npm install --global @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected] @syndroo/[email protected]

运行 syndroo --version 验证安装,输出应为 0.7.0。需要从源码构建的贡献者可以按照产品仓库 README 操作;普通读者不需要 checkout 或构建步骤。

本地 CLI 会完整介绍配置文件、状态根目录和首次运行。

2. 交给 Agent 设置

将以下提示词粘贴给可在本地终端执行命令的 Agent。它会检查前置条件、安装固定版本的包、在 npm root --global 下解析包内 Skill,并询问你要使用本地还是自托管 Server 工作流。

你是一名可在本地终端执行命令的智能体。请为我设置 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. 不要让机密出现在提示词、命令参数、日志或受版本跟踪的文件中。只有已获授权的内容和目标才能发布。

Server 分支会询问是否需要 GitHub。创建或推送仓库仍须明确授权;复用已经给出的授权,并确保机密不进入提示词、参数、日志或受版本跟踪的文件。完整说明见Agent 指南。

3. 连接一个账号

syndroo connect 每次只读取一个凭证来源:使用 --from-env 时读取环境变量 SYNDROO_CREDENTIALS,使用 --credential-file 时读取一个私有 JSON 文件。它从不读取 .env 文件,也不会猜测凭证。

export SYNDROO_CREDENTIALS='{"identifier":"you.bsky.social","password":"APP_PASSWORD_PLACEHOLDER"}'
syndroo connect bluesky --from-env --label work

五个提供商的准确字段名见 凭证;每份 平台指南都会说明凭证的来源。

4. 先准备,再执行

一次发布分为两个阶段。先编写请求文档并准备发布,再读取返回的审批令牌:

{
  "type": "prepare",
  "content": { "text": "Syndroo publishes from the command line." },
  "targets": [{ "provider": "bluesky" }]
}
syndroo publish --input post.json --json

在终端中,命令会显示冻结后的预览,并询问 Publish to N accounts? [y/N/v]:只有明确输入 y 才会发送;输入 v 会展开完整的冻结预览并再次询问;输入 n、空行或到达输入末尾都会取消,不发送任何内容。--yes 会自动确认本次刚刚准备的冻结意图,不再提示。使用 --json 且不使用 --yes 时,返回的唯一信封是准备结果,即带有 approvalToken 的 confirmation_required,命令以退出码 0 结束且不发送内容;使用 --yes --json 时,单次调用会准备、确认并执行,只输出一个最终信封,不会再输出准备结果或审批令牌。要执行一个已准备的结果,请从标准输入把令牌传回:

{ "type": "execute", "approvalToken": "<token>" }
syndroo publish --input - < execute.json --json

执行请求只会从标准输入读取,绝不会从文件路径或 --data 读取,因此有效令牌不会留在 shell 历史或进程参数中。

5. 读取结果

syndroo status 可回答五种查询。传入发布结果中的操作 ID 可查看单个操作,也可分页查看最近的操作:

syndroo status --operation <operationId> --json
syndroo status --operations --limit 20 --json

一次投递的结果可能是 succeeded;带处置状态 not_applied 的 failed;unknown;或在从未进入调用时出现的 not_started。未知和未发送是不同事实:未知写入可能已被接受,因此它始终不可重试,应人工检查平台,而不是重新发送;从未开始的目标则明确没有发送。退出码保留同一区分,完整的值见 退出码表。

接下来去哪里

仍未解决

未解决。由 Syndroo 托管的服务说明、公共 HTTP API 和 SDK,以及早期版本的教程,都不在当前文档范围内。这与可选的用户自托管 Server 部署指南不同;本站没有任何页面将托管式 Syndroo 服务描述为可用。