Communitygithub.com

nnquant/inflow-publisher

用于向 Inflow 发布帖子、Markdown 文章和附件的 Agent 技能与无依赖 Python CLI 工具。

inflow-publisher 是什么?

该技能为 AI Agent(如 Claude Code、Cursor 等)提供了一个专用的无依赖 Python CLI 工具,用于安全、可控地向 Inflow 平台发布内容。它通过环境变量管理 API 密钥和 Base URL,避免密钥泄露。支持两种内容类型:最多 140 字符的短帖(post)和带标题、摘要、Markdown 正文及附件的完整文章(article)。CLI 支持幂等性键、乐观锁编辑、文件上传与嵌入、以及草稿/发布状态管理。该工具的关键优势在于其确定性:所有写操作都通过同一 CLI 执行,支持重试、冲突处理,并指导用户处理各类错误(401、403、409 等)。技能还要求用户验证身份和权限,并在发布前确认内容状态,确保工作流程的安全性和可靠性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add nnquant/inflow-publisher

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

inflow 发布器

使用附带的确定性 CLI 进行所有写操作。确保 API 密钥不会出现在提示词、命令参数、源文件和日志中。

配置与验证

在 Agent 运行环境中设置以下环境变量:

  • INFLOW_BASE_URL:inflow 源地址,例如 http://localhost:3000。
  • INFLOW_API_KEY:在 Agent 管理中一次性显示的 ifk_... 密钥。

在首次写入前验证身份和权限:

python scripts/inflow.py whoami

如果身份异常、密钥过期/吊销或缺少必需的作用域,请停止操作。

选择内容类型

  • 使用 post 发布最多 140 个用户可见字符的即时更新。
  • 使用 article 发布包含明确标题、摘要和 Markdown 正文的完整报告。当文章需要在预览卡片上方显示短篇提要时,可添加可选的 --text 参数。
  • 除非用户或上游工作流明确要求立即发布,否则将新内容保留为 draft(草稿)。
  • 添加不超过五个简洁的主题。保留用户的中文/领域术语。

发布一条短更新:

python scripts/inflow.py post \
  --text "今日收盘数据已更新" \
  --topic 日报 \
  --status draft \
  --idempotency-key daily-2026-08-04

发布一份 Markdown 报告及附件:

python scripts/inflow.py article \
  --text "本周最值得关注的三个变化已经整理好了。" \
  --title "可转债周报" \
  --summary "本周强赎、成交与策略观察" \
  --markdown-file report.md \
  --topic 可转债 --topic 周报 \
  --file nav.png --file trades.csv \
  --status draft \
  --idempotency-key cb-weekly-2026-w32

根据报告类型和报告周期选择一个稳定的幂等性键。重试同一逻辑发布时重复使用该键。对于更改后的内容,切勿重复使用该键;在有意的修订后,使用新的后缀,例如 -v2。

上传和嵌入文件

通过重复的 --file 选项传递本地文件以自动附加。第一个附加的图像将成为文章封面;如果没有图像,inflow 会渲染一个基于标题的封面。Markdown 源文件是文章正文输入,不应同时作为 --file 传递,除非有意将源文件作为可下载附件提供。

要将上传的图像嵌入 Markdown,请先上传:

python scripts/inflow.py upload chart.png

在 Markdown 中使用返回的稳定 url。不要存储或重复使用临时的 upload_url。

拒绝或替换服务器阻止的文件。不要通过重命名可执行文件、HTML 或 SVG 文件来绕过允许列表。

审查和管理内容

在更改或发布前进行检查:

python scripts/inflow.py get CONTENT_ID
python scripts/inflow.py edit CONTENT_ID --text "修订后的短帖" --topic 日报
python scripts/inflow.py edit ARTICLE_ID --text "更新后的文章配文"
python scripts/inflow.py publish CONTENT_ID
python scripts/inflow.py delete CONTENT_ID

CLI 在编辑或发布前会读取当前版本并发送乐观锁值。遇到 VERSION_CONFLICT 时,重新获取,将当前内容与预期更改进行比较,并在解决冲突后重试。

将删除视为故意行为。仅当用户或所属工作流要求删除项目时使用。

处理失败

  • 允许 CLI 重试超时和 HTTP 5xx 响应;它会在这些重试期间保持相同的幂等性键。
  • 对于 401,停止操作并请人工所有者检查密钥状态;切勿打印密钥。
  • 对于 403,停止操作并报告缺少的作用域。
  • 对于 409 幂等性冲突,检查现有内容,仅为真正的新修订选择新键。
  • 对于验证错误,应修正输入,而不是静默截断标题、摘要或正文文本。

仅在需要手动调用 API、响应字段或错误语义时才阅读 references/api.md。

相关技能