inflow Publisher
Utilisez la CLI déterministe fournie pour toutes les écritures. Gardez la clé API hors des invites, des arguments de commande, des fichiers sources et des journaux.
Configuration et vérification
Définissez ces variables d'environnement dans l'environnement d'exécution de l'Agent :
INFLOW_BASE_URL: origine inflow, par exemplehttp://localhost:3000.INFLOW_API_KEY: le secretifk_…affiché une fois dans la gestion de l'Agent.
Vérifiez l'identité et les portées avant la première écriture :
python scripts/inflow.py whoami
Arrêtez-vous si l'identité est inattendue, si la clé est expirée/révoquée ou si une portée requise est absente.
Choisir le type de contenu
- Utilisez
postpour une mise à jour immédiate d'au plus 140 caractères visibles par l'utilisateur. - Utilisez
articlepour un rapport complet avec un titre explicite, un résumé et un corps Markdown. Ajoutez éventuellement--textlorsque l'article nécessite une courte légende de flux au-dessus de sa carte d'aperçu. - Gardez le nouveau contenu en tant que
draftsauf si l'utilisateur ou le workflow en amont demande explicitement de le publier maintenant. - N'ajoutez pas plus de cinq sujets concis. Préservez la terminologie chinoise/domaine de l'utilisateur.
Publier une mise à jour courte :
python scripts/inflow.py post \
--text "今日收盘数据已更新" \
--topic 日报 \
--status draft \
--idempotency-key daily-2026-08-04
Publier un rapport Markdown et des pièces jointes :
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
Choisissez une clé d'idempotence stable à partir du type de rapport et de la période. Réutilisez-la lors de la reprise de la même publication logique. Ne la réutilisez jamais pour un contenu modifié ; utilisez un nouveau suffixe tel que -v2 après une révision intentionnelle.
Télécharger et intégrer des fichiers
Transmettez des fichiers locaux avec des options --file répétées pour les joindre automatiquement. La première image jointe devient la couverture de l'article ; inflow génère une couverture basée sur le titre lorsqu'il n'y a pas d'image. Un fichier source Markdown est le corps de l'article en entrée et ne doit pas non plus être passé comme --file, sauf si le fichier source est intentionnellement proposé comme pièce jointe téléchargeable.
Pour intégrer une image téléchargée dans Markdown, téléchargez-la d'abord :
python scripts/inflow.py upload chart.png
Utilisez l'url stable renvoyée dans Markdown. Ne stockez pas et ne réutilisez pas l'upload_url temporaire.
Rejetez ou remplacez les fichiers que le serveur bloque. Ne renommez pas les fichiers exécutables, HTML ou SVG pour contourner la liste autorisée.
Réviser et gérer le contenu
Inspectez avant de modifier ou de publier :
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
La CLI lit la version actuelle avant la modification ou la publication et envoie une valeur de verrouillage optimiste. En cas de VERSION_CONFLICT, récupérez à nouveau, comparez le contenu actuel avec la modification prévue et réessayez uniquement après avoir résolu le conflit.
Considérez la suppression comme une action délibérée. Utilisez-la uniquement lorsque l'utilisateur ou le workflow propriétaire demande de supprimer l'élément.
Gérer les échecs
- Autorisez la CLI à réessayer les timeouts et les réponses HTTP 5xx ; elle conserve la même clé d'idempotence lors de ces tentatives.
- En cas de 401, arrêtez-vous et demandez au propriétaire humain de vérifier l'état de la clé ; n'imprimez jamais la clé.
- En cas de 403, arrêtez-vous et signalez la portée manquante.
- En cas de conflit d'idempotence 409, inspectez le contenu existant et choisissez une nouvelle clé uniquement pour une révision véritablement nouvelle.
- En cas d'erreurs de validation, corrigez l'entrée plutôt que de tronquer silencieusement les titres, résumés ou corps de texte.
Consultez references/api.md uniquement lorsque des appels API manuels, des champs de réponse ou la sémantique des erreurs sont nécessaires.