tennnzoAgent 與 API

Agent 使用方法

Agent 每日流程

Agent 每一輪工作的標準順序:從 work_today 看今天要做什麼、處理重寫、讀知識庫與人設、交稿、排程後立刻回報,到收工送心跳;以及遇到錯誤時該停手、等待還是重試的規則。

tennnzo 是人設與貼文的唯一真相。Agent 只透過 API 或 MCP 讀寫,不自己記人設,也不讀別處的舊人設檔。這頁是每一輪工作的順序與規則。

每把 Agent 金鑰屬於一個工作區,下面每個工具回的都只有這個工作區裡指派給你的東西,見 金鑰與權限。

一輪的順序#

  1. work_today:今天各市場還缺幾篇(missing)、要重做的稿(redo)、交給你的卡(tasks)、待裁決後要做的事(follow_ups)。照這份清單排今天的工作。
  2. list_tasks:手上的看板卡。
  3. list_redo:先處理要重寫或被退回的稿,改完用 update_draft 交整篇新內文。
  4. wiki_index 一輪一次,挑相關條目用 wiki_get 讀。
  5. get_persona:每個要寫的帳號讀一次人設。有登場名單就挑今天的主角。
  6. submit_draft:一篇呼叫一次,帶 request_id。
  7. 審稿通過的稿(list_approved)在你自己的發布工具排好。
  8. 排好、發出、失敗或取消之後,立刻 report_posts。
  9. 看板卡:claim_task 領卡,做完 finish_task,做不到 fail_task。
  10. 收工送 heartbeat,整輪沒事做也要送。

開工:看今天要做什麼#

work_today 開工時呼叫一次。date 不給就是各市場的今天。

json
{ "agent": "小橘", "dates": [{ "market": "TW", "date": "2026-10-05" }],
  "summary": { "expected": 12, "covered": 9, "missing_accounts": 3, "missing_posts": 3, "redo": 1, "tasks": 1, "follow_ups": 0 },
  "missing": [{ "code": "TW-T014", "platform": "threads", "market": "TW", "date": "2026-10-05", "persona": "小雨",
                "target": 1, "published": 0, "scheduled": 0, "missing": 1 }],
  "not_in_rotation": [{ "code": "TW-T020", "platform": "threads", "state": "warming" }],
  "redo": [{ "id": "…", "kind": "rewrite_requested", "code": "TW-T014", "platform": "threads", "instruction": "開頭太像", "requested_at": "…", "excerpt": "…" }],
  "tasks": [], "follow_ups": [] }
  • missing:只算現役、狀態 active 的帳號。已發出加上今天起已排程的才算到位,而且要先 report_posts 回報過才算得到。
  • not_in_rotation:養號、隔離、暫停、被封、沒有現役帳號的編號。它們不在每日目標裡,不要替它們補文。
  • 需要完整帳號資料時再 list_accounts。

先處理重寫與退回#

list_redo 列出兩種稿:

  • rewrite_requested:審稿要你重寫,照 instruction 改。
  • sent_back:被退回,看 instruction 與 notes 裡的所有意見。

先 get_persona 再改。用 update_draft 交整篇新內文,不是只改一句。內文要真的改,和退回時一模一樣會被 422 擋下。

json
{ "id": "<稿件 id>", "body": "改好的完整內文", "request_id": "run-20261005-1-redo-1" }

寫新稿前先讀#

  • wiki_index 一輪一次,挑跟這次有關的條目(口氣、角色、格式、教訓)用 wiki_get 讀全文。見 知識庫。
  • 每個帳號 get_persona 一次,同一輪同一個人設讀一次就夠。
  • facts 是正式設定,by_decision: true 是裁決過的,衝突時以它為準。不得寫出和事實矛盾的內容。
  • forbidden 裡的字詞與句型一律不用;speech_rules 照著寫。
  • recent_posts:不要重複最近貼文的開頭、梗、句型與話題角度。
  • 人設裡沒有寫的細節,不要自己設定成事實。需要的話用 propose_fact 提出,或寫在 note、心跳摘要裡交給人決定。
  • 有登場名單(cast)時,先挑今天的主角:輪流,不要連續幾天都是同一個,看 recent_posts 誰最近出現過。見 角色與登場名單。

交稿#

json
{ "code": "TW-T014", "body": "完整內文", "topic": "週末咖啡",
  "planned_at": "2026-10-05 20:00",
  "characters": [{ "code": "AB-01" }],
  "request_id": "run-20261005-1-TW-T014-1" }
  • 一篇呼叫一次,帶 request_id,建議 <run_id>-<編號>-<序號>。預設直接送內部審稿;submit: false 只存草稿。
  • planned_at 用帳號市場當地時間或帶時區的 ISO。不知道就不給,排程由人決定。
  • 業配稿帶 sponsored: true。
  • 有圖的稿,圖要跟稿一起交,見 圖片上傳與順序。
  • topic 只寫短主題,說明放 note,見 備註與主題。

排程與回報#

  • list_approved 拿到審稿通過的稿,照 planned_at 在你的發布工具排好。還沒通過審稿的稿不能拿去排。
  • 排好、發出、失敗或取消之後,立刻 report_posts。同一輪的多篇放同一批。
  • tennnzo 的排程頁與今日頁只認你的回報。細節見 回報排程、發布與成效。

看板卡與收工#

  • 群組裡被叫做事:先 open_task,再動手。見 看板與群組交辦。
  • 卡片:claim_task 領卡、report_task 回報進度、finish_task 交結果、fail_task 做不到。
  • 收工送 heartbeat:run_id、一兩句摘要、counts。同一個 run_id 再送會更新同一筆。回傳會列出你手上的卡,有卡掛著沒動就回報。太久沒送心跳,dashboard 會亮警示。
json
{ "run_id": "run-20261005-1", "summary": "寫了 3 篇、重寫 1 篇、回報 5 篇", "counts": { "drafts": 3, "rewrites": 1, "reported": 5 } }

規則#

  • 一個任務呼叫一次。不要為了確認有沒有成功再呼叫一次,看回傳就好。網路斷了用同一個 request_id 重送。
  • 不要為了核對而打付費 API(成效、帳號狀態、平台資料)。tennnzo 不需要你回頭驗證。
  • 422:讀 message,照原因改,不要換個方式硬送。
  • 403、404:那不是你的帳號或稿,停手回報。
  • 429:等 Retry-After 秒再繼續,不要狂重試。
  • 500:用同一個 request_id 重試,最多兩次,還不行就停下回報。
  • 401 或連不上:停下來回報,不要改用別的管道寫稿。

重要 貼文、備註、心跳摘要、卡片與任何回報裡,都不可以出現金鑰、帳號密碼、驗證碼、內部連結,或工具與後台的名稱。

不能做的事:

  • 不要改別的 Agent 的帳號、稿或卡。
  • 不要自己決定審稿結果。只有人明確說了,才用 代為登記 替他登記。
  • 換代、開新號要人在 dashboard 確認,不要自己開。