跳到內容

PluralKit 支援

TomoriBot 能辨識 PluralKit 代理訊息。啟用支援後,她會回覆代理的 Webhook 訊息,而不是 PluralKit 刪除的原始訊息。她還會將系統中的每位成員視為擁有自己名字、身分與個人記憶的獨立個人,而不是把所有人歸在共用的 Discord 帳號下。此頁面介紹這項功能的使用者面向。內部實作細節請參閱 PluralKit 配接器架構。共用的安全模型請參閱訊息代理支援。

執行 /personal message-proxy service:pluralkit。這是個人的每帳號設定,因此伺服器管理人員不需要設定任何項目,它也會跟隨你跨伺服器生效。你系統的成員不需要個別加入;此選擇綁定在發送訊息的 Discord 帳號上。使用 /personal message-proxy service:none 可予以停用。

如果你沒有使用 PluralKit,請保持關閉。否則你發送的每則訊息都會徒增短暫延遲卻沒有任何好處(見下文)。

  • 她會回覆正確的訊息。 若沒有此功能,PluralKit 會在生成中途刪除你的原始訊息,導致 Tomori 最終對著幽靈訊息回覆。啟用後,她會短暫等待,辨識出代理,並回覆 Webhook 轉發訊息,這也包括對她訊息的代理回覆(這類回覆在一般代理過程中通常會遺失回覆連結)。
  • 生成中途的追問也能正常運作。 若在 Tomori 還在回覆同一位成員時發送另一則代理訊息,會中斷她的回覆,她會改為回答該成員的最新訊息。同一帳號下的其他成員或另一帳號下的成員則會照常輪流等待。
  • 你的訊息會有短暫暫停。 Tomori 會等待約 2 秒(自架使用者可調整 MESSAGE_PROXY_WAIT_MS),以確認 PluralKit 是否刪除並重新轉發你的訊息。代理訊息的解析速度通常快於此時間;未代理的訊息只會稍微延遲到達。這是你選擇啟用時接受的權衡,指令的確認回覆中也明確指出了這點。
  • 每位成員都是獨立的個體。 Tomori 將成員的名字、所屬系統與宿主 Discord 帳號視為三個獨立的事實。以不同成員的身分切換出來,意味著以該成員的身分與她對話,而不是以「該帳號」的身分。
  • 個人記憶按成員獨立。 Tomori 了解到的某位成員的事實,會儲存給該成員。它不會變成全伺服器記憶,不會附著在宿主帳號上,也不會洩漏給同系統夥伴。
  • 初識與重聚也是按成員獨立。 她會個別記錄上次收到每位成員訊息的時間,因此很久沒跟她說話的成員回來時會收到問候,即使整個星期都有其他人從同一個帳號發言也是如此。她從未見過的成員屬於初次見面,而今天一直在的成員就只是對話的一部分。
  • 單次簡介匯入。 Tomori 第一次看到某位成員時,該成員在 PluralKit 上的公開說明(若有)可能會儲存為初始個人記憶,以便她從第一次對話起就尊重代名詞、界限與偏好。這是一次性的快照。之後在 PluralKit 上編輯簡介絕不會更新。想改變她記憶的內容,只需在對話中直接告訴她(「忘記那個」、「其實……」)。
  • 單次代名詞匯入。 若成員的代名詞在 PluralKit 上是公開的,在她第一次看到該成員發言時就會填入該成員自己的代名詞設定,以便從第一次回覆起就開始使用。從那時起,該設定就成為你與她之間的專屬設定,因此日後在 PluralKit 上的變更不會覆蓋它,你可以在 /personal config identity: 中修正。將代名詞設為私人或未設定的成員,開始時該欄位為空。
  • 在你的成員說話時查閱系統說明。 如果你的系統有公開說明,Tomori 會保留它,並在你的任何成員參與對話時予以查閱,這樣全系統的界限就能套用到你們所有人身上,而無需按成員逐一重複。這個部分確實會跟隨編輯:在 PluralKit 上變更或清除它,她會在你的成員下次發言時採用。它會對整個系統顯示一次,不歸屬於任何單一成員,而私人或空白的說明只會直接略過,不會以預留位置取代。
  • 成員是透過 PluralKit 的穩定內部 ID 辨識,絕不是透過名字。重新命名成員或變更顯示名稱完全沒問題:Tomori 仍然知道他們是同一個人,並在外觀上採用新名字。
  • 身分來自訊息本身,而非「當前誰在主導」:Tomori 絕不會輪詢你的主導者。成員在發送代理訊息的當下就成為對話的一部分,而在你啟用期間至少代理過一次之前,Tomori 無法得知該成員的存在。
  • 叫出成員的名字會將他們帶入脈絡,就像叫出人類參與者的名字一樣:如果有人問「Mirri 覺得如何?」,即使 Mirri 最近沒有發言,Tomori 也會載入 Mirri 的記憶。這僅限於宿主帳號在該伺服器中的系統成員,且若有歧義的名字(有兩個人或成員叫這個名字),會直接忽略而非猜測。
  • 叫出系統名稱並不會匯集所有成員的記憶。只有實際在場或被點名的成員才會被載入,因此當前主導成員的對話絕不會洩漏未參與成員的事實。
  • 私人系統資料保持隱私。Tomori 只能看到 PluralKit 對某則訊息之成員與系統公開的資訊;她無權存取受成員 ACL 保護的欄位。如果你的系統名稱隱藏,她會退回使用你的系統標籤,或僅稱作「多意識體系統」。

你的 Discord 帳號仍然是掌控一切的核心:隱私等級、黑名單、冷卻時間、額度、API 金鑰以及帳號層級的 /personal 設定都在成員間共用,並以宿主帳號為基準。將隱私設為完全隱私,或在伺服器中被列入黑名單,會一次保護你的所有成員。僅有對話身分、個人檔案偏好、外觀與記憶可按成員個別設定。

  • /personal memories identity: 可編輯已儲存成員的全域記憶與人格記憶。使用 /personal config identity: 編輯該成員的個人檔案、暱稱與外觀。
  • 簡介匯入對每位成員終生僅發生一次。之後在 PluralKit 上的簡介編輯絕不會同步過來。請改在聊天中告訴她。
  • Tomori 無法 @ 標註成員(Webhook 無法被標註);她會以名字稱呼成員。
  • 若 PluralKit API 無法驗證重新發布的訊息,TomoriBot 會忽略該訊息。若 PluralKit 已刪除原始訊息,TomoriBot 就不會回應這次發言,也不會建立成員身分。

如果未在上方列出某項限制,請假定它應該能正常運作,並在支援伺服器(/support discord)中回報錯誤。