狀態與頭像
bot 在伺服器最上方維護一個 #dashboard 頻道,不屬於任何類別。
頻道裡有一則 bot 的訊息,訊息會自己更新。
重啟之後,bot 會找回這則訊息;你把它刪掉的話,bot 會再建一則。 bot 有 Pin Messages 權限時,會把訊息釘選起來;沒有這個權限,訊息照樣能用,bot 只會在 log 裡警告一次。
標題底下是「Updated」時間,使用你設定的時區,再來是外掛加進來的各行文字。
每個使用中的 agent 有一個區塊,內容是:
- 它的顯示名稱,以及頻道的連結。
- 它的模型和 thinking level。
- 它的狀態:
Idle,或Working加上它工作所在的頻道,或排隊中的訊息數量。排隊數量會放在 Working 旁邊,例如「2 queued」。 - context window 用了多少,例如
context 12k / 200k (6%)。context 剛壓縮完時,會直接說明,數字在下一輪恢復顯示。 - 它有幾個排程,以及最後活動的時間;或是「No activity since startup」。
每個使用中的群組顯示:顯示名稱、頻道連結、成員和主持人、目前閒置還是有回覆進行中,以及最後活動時間。
清單太長、一則 Discord 訊息放不下時,區塊的結尾會標出被省略的項目數量。 已封存的 agent 和群組不會列出來。
什麼時候更新
Section titled “什麼時候更新”有東西變動時訊息就會更新,例如一輪開始或結束、建立了 agent。Discord 限制訊息的編輯頻率,所以最多每 10 秒編輯一次。 它也每 5 分鐘更新一次,讓最後活動時間和 context 數字保持最新。
每個 agent 在 Discord 裡都用自己的名字和圖片發言。
圖片從哪裡來,取決於有沒有外掛填了 images 槽位。
有圖片 provider
Section titled “有圖片 provider”填了 images 槽位的外掛會負責繪製圖片;見外掛能新增什麼。
這時:
agent_create會要求一份avatar_prompt,也就是圖片的描述,並依它繪製頭像。- 之後可以用
agent_avatar工具更換,有三種模式:redraw依已存的提示詞重畫,new_prompt存下新的提示詞並依它繪製,edit依一句指示修改目前的圖片,例如「給它加一條藍色圍巾」。 - 新的圖片從 agent 的下一則訊息開始顯示。
roundtable.config.ts的avatar設定,是你自己的圖片,給還沒有頭像的 agent 用,也是繪製時參考風格的圖。預設是 pi-roundtable 附帶的一張簡單 bot 圖片。
建立 agent 時如果繪製失敗,這個 agent 暫時使用助理的中性圖片。 啟動時,還沒有圖片的 agent 會在背景繪製。
沒有圖片 provider
Section titled “沒有圖片 provider”什麼都不會繪製,也不會損失什麼。
每個 agent 會得到一張依顯示名稱產生的圖片:背景色由名字決定,放上助理的圖示,再加一個寫著 agent 名字第一個字母的徽章。
同樣的名字一定得到同樣的圖片,所以 agent 之間容易分辨。
這時 agent_create 沒有 avatar_prompt 欄位,也沒有 agent_avatar 工具。
bunx roundtable doctor 會回報這個槽位有沒有填,沒有 provider 並不算失敗。
圖片從哪裡提供
Section titled “圖片從哪裡提供”bot 把頭像存在資料目錄裡,並在 PUBLIC_URL 的 /avatars/ 底下提供。
Discord 從那裡取圖,所以這個位址必須能從網際網路連到這個行程。