闲社服务运行正常AI智能体自动化平台
s

Substack发布管理

技能标识:substack

Publish, edit, and manage Substack posts for the Alternative Partners publication (alternativepartners.substack.com) via the internal REST API. Use this skill when asked to post to Substack, update or edit an existing Substack post, save a draft, check a post's ID, or do any Substack publishing operation — even if the user just says "push this to Substack", "update the post", or "edit that Substack".

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Substack发布管理

Substack 技能

通过内部 REST API 管理 Alternative Partners Substack 出版物的发布和编辑。无需 Playwright,无需浏览器——纯 requests 配合会话 cookie。

认证

此技能需要来自 Substack 的 connect.sid 会话 cookie。请安全存储,并将其作为 SUBSTACK_SID 环境变量(或密码管理器中的等效项)提供。

这是 connect.sid cookie。除非您在 Chrome 中退出 Substack,否则有效期为数月。轮换方法:退出 Substack → 重新登录 → 打开开发者工具 → 复制 substack.sid cookie 值 → 更新您的密码存储。

publishers/substack.py 中的发布模块会自动处理认证。请始终使用该模块,而不是直接调用 API。



API 端点 (alternativepartners.substack.com)


操作方法端点
创建草稿POST/api/v1/drafts
发布草稿
POST | /api/v1/drafts/{id}/publish |
| 更新已有文章 | PUT | /api/v1/drafts/{id} |
| 通过 slug 获取文章 | GET | /api/v1/posts/{slug} |
| 列出文章 | GET | /api/v1/posts?limit=N |

关键发现(2026-03-20): PUT /api/v1/drafts/{id} 也适用于已发布的文章——它会直接编辑原文。文章 ID 与创建时使用的草稿 ID 相同。

不存在的端点: PUT /api/v1/posts/{id} 返回 404。即使对于已发布的文章,也始终使用 /drafts/{id} 端点。



正文格式

Substack 使用 ProseMirror JSON 格式作为文章正文。发布器会自动将纯文本转换为 ProseMirror 格式。

输入格式: 使用双换行符分隔段落的纯文本。
输出格式(内部): ProseMirror doc 对象,序列化为 JSON 字符串,作为 draft_body 传递。

python
def buildprosemirror_doc(body: str) -> dict:
paragraphs = [p.strip() for p in body.strip().split(\n\n) if p.strip()]
return {
type: doc,
content: [
{type: paragraph, content: [{type: text, text: p}]}
for p in paragraphs
]
}

限制:此方法仅生成纯文本段落。粗体、标题、列表、链接需要更丰富的 ProseMirror 节点——尚未实现。



常见操作

1. 发布新文章

python
from publishers.substack import publish_substack

url = publish_substack(
title=您的文章标题,
body=第一段落。\n\n第二段落。,
publish=True # False = 仅保存为草稿
)

或者通过管道目录下的 CLI 运行:
bash
cd ~/Documents/Codex/Content/ap-content-pipeline
python3 publishers/substack.py 标题 正文第一段。\n\n第二段。

2. 更新/编辑已有文章

需要数字形式的文章 ID。通过获取文章来获取:
bash
curl -s -b substack.sid=$SUBSTACK_SID \
https://alternativepartners.substack.com/api/v1/posts/{slug} \
| python3 -c import json,sys; d=json.load(sys.stdin); print(id:, d.get(id))

然后更新:
python
from publishers.substack import update_substack

url = update_substack(
post_id=191631753,
title=更新后的标题,
body=新的正文内容。\n\n第二段落。
)

3. 通过 slug 获取文章 ID

slug 是 Substack URL 的最后一段:
https://alternativepartners.substack.com/p/the-revops-ai-reality-check-nobodys
→ slug = the-revops-ai-reality-check-nobodys

bash
curl -s -b substack.sid=$SUBSTACK_SID \
https://alternativepartners.substack.com/api/v1/posts/此处填写SLUG \
| python3 -c import json,sys; d=json.load(sys.stdin); print(d.get(id))

4. 保存为草稿而不发布

python
url = publish_substack(title, body, publish=False)

返回:https://alternativepartners.substack.com/publish/post/{id}




邮件推送行为

publish 端点调用时使用 {send_email: False}——文章会在网站上发布,但不会触发订阅者邮件推送。这是为自动化/管道文章特意设计的。

如需发送邮件推送,Benjamin 需要在 Substack 编辑器中手动点击发送。未经明确确认,请勿将 send_email 改为 True。



管道集成

位于 ~/Documents/Codex/Content/ap-content-pipeline/ 的 AP 内容管道处理端到端发布,包括否决窗口、软否决 Slack 通知和排期。对于单次发布的文章,直接调用发布器。对于受管理的管道运行,请使用 publish_runner.py。

管道还有一个 researchgate.py,在起草前运行网络搜索竞争扫描 + LLM 差异化分析。ideainbox.json 中 research_status: pending 的文章将在起草前进行研究。需要在您的环境中配置搜索 API 密钥。



故障排除


症状可能原因解决方法
401 UnauthorizedCookie 过期轮换:在 Chrome 中退出/登录 Substack,获取新的 substack.sid,更新您的密码存储
PUT /api/v1/posts/... → 404
端点错误 | 更新时使用 /api/v1/drafts/{id},而非 /api/v1/posts/{id} |
| POST /api/v1/drafts/{id}/publish 失败 | 文章已发布 | 没关系——文章已上线,返回已知 URL |
| 正文渲染为一个大段落 | 缺少双换行符 | 输入正文必须在段落之间使用 \n\n |
| 找不到 substack.sid | 未设置 Cookie 环境变量 | 确保运行前在环境中设置了 SUBSTACK_SID |

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 substack-1776108387 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 substack-1776108387 技能

通过命令行安装

skillhub install substack-1776108387

下载

⬇ 下载 substack v1.0.0(免费)

文件大小: 3.05 KB | 发布时间: 2026-4-14 11:17

v1.0.0 最新 2026-4-14 11:17
Initial release. Publish, edit, and manage Substack posts via the internal REST API — no browser required.
返回顶部