工具目錄
下表與 MCP 伺服器實際提供的工具同步產生。標示「僅限管理員」的工具,一般帳號呼叫會回傳權限錯誤。
目前共 44 個工具。
| 工具 | 說明 | 必填參數 | 類型 |
|---|---|---|---|
get_task獲取任務狀態 | 讀取非同步任務狀態。status=2000 表示成功,5xxx 表示失敗,其餘狀態仍在處理中。工具會在服務端最多等待約 25 秒;terminal=false 時稍後再次呼叫,禁止高頻輪詢。任務結束後返回全部圖片、影片或音訊輸出。 | id | 唯讀 |
list_models列出底層模型 | 列出底層 models 集合中的模型及供應商配置,供 get_model_params 查詢引數。generate_media 選擇模型時不要直接使用這裡的 ID,應呼叫 list_model_aliases 獲取模型別名。 | — | 唯讀 |
get_model_params獲取模型引數 | 讀取一個底層模型的基礎和高階引數定義,例如畫幅、時長、幀數與尺寸。modelId 必須來自 list_models;填寫 generate_media 前可用它確認模型的特殊輸入要求。 | modelId | 唯讀 |
list_model_aliases列出模型別名 | 列出 model_aliases 單一事實源。generate_media 的 modelId 和工作流節點的 model 都必須使用這裡返回的別名 ID;請結合 mcp_description、型別、費用與最大參考圖數量選擇,不要按列表順序猜測。 | — | 唯讀 |
list_characters列出角色 | 列出當前使用者擁有的角色,返回角色 ID、名稱、描述、角色圖片和狀態。需要更新角色、創作章節或繫結生成圖片時先用此工具確認角色 ID。 | — | 唯讀 |
list_locations列出場景 | 列出當前使用者擁有的場景資產,用於在連續創作中保持地點外觀一致。 | — | 唯讀 |
create_character建立角色文件 | 先建立不缺欄位的完整無圖角色文件,不呼叫媒體生成模型。呼叫前必須先詢問使用者語言偏好,並用 language 明確記錄;name、persona 內的全部文本及必填的 opening_suggestions 必須使用該語言。greeting 可自由書寫,也可選用 *旁白* 格式區分旁白與對白,服務端不強制格式。建立成功後先展示角色欄位,再呼叫 generate_media 生成候選圖並等待使用者確認;不要在建立角色前預先生圖。display_image_url 僅為舊客戶端相容欄位,新流程不應在本次呼叫中填寫。character_id、user_id 與計數器由服務端生成。 | name persona is_minor audience visibility category_ids tags language | 寫入/刪除 |
update_character更新角色欄位 | 按部分更新語義修改當前使用者擁有的角色業務欄位:只覆蓋明確提供的欄位,未提供的欄位保持不變。支援人設、基礎文本、策展資訊、內容分級、展示圖和階段頭像;greeting 可自由書寫,也可選用 *旁白* 格式區分旁白與對白,服務端不強制格式。角色 ID 僅用於定位文件,user_id、狀態、計數器等系統欄位不可修改。所有角色圖片 URL 都必須屬於當前 R2_CDN_URL,否則整次更新會在任何寫入前被拒絕。使用者首次確認候選圖後,無論候選 URL 是否已經公開,都必須先呼叫一次 upload_image,並在同一次 update_character 中把 upload_image 返回的 URL 寫入 display_image_url、source_image_url 和 stage_avatars.acquaintance[0];後續階段圖每次更新都要提交包含已有圖片的完整 stage_avatars 結構。更新文本前先讀取角色並保持原有語言,除非使用者明確要求翻譯。 | id | 寫入/刪除 |
create_story_chapter建立故事章節 | 為當前使用者擁有的角色建立故事章節;這就是角色故事的生成落庫工具,不再另設 generate_character_story。標題和正文會經過內容稽核。可設定閱讀順序、關係階段門檻、解鎖規則、複合條件、場景頭和劇情節拍;劇情節拍可標 track: side 作為角色主動提出的支線約定(必須帶角色口吻的 promise),與主線並行、錯過不懲罰,獎勵只給劇情與關係;整條故事至少保留一個免費或禮物點數章節。 | characterId title content | 寫入/刪除 |
update_story_chapter更新故事章節 | 按部分更新語義修改已有故事章節;這就是角色故事的更新工具,不再另設 update_character_story。只覆蓋明確提供的欄位,condition 傳 null 可移除複合門檻;修改標題或正文會重新執行內容稽核。劇情節拍同樣支援 track: side 支線約定(帶角色口吻的 promise,與主線並行、錯過不懲罰)。 | chapterId | 寫入/刪除 |
list_story_chapters列出故事章節 | 以作者視角列出一個角色的全部章節及完整正文、順序和解鎖條件。編輯章節前先讀取當前值,以便提交準確的部分更新。 | characterId | 唯讀 |
propose_story_outline檢查故事大綱 | 在寫章節正文前提交整條故事的章節門檻與產出關係,靜態檢查無法產出的標記、順序倒置和付費死路。此工具不呼叫模型、不扣積分;檢查通過後再用 create_story_chapter 寫入正文。 | chapters | 唯讀 |
check_character_script檢查角色劇本 | 靜態檢查已儲存角色劇本中的不可達章節、無法滿足的標記或物品門檻、迴圈依賴和純付費路徑。不呼叫模型、不扣積分,適合每次編輯後執行。 | characterId | 唯讀 |
simulate_playthrough模擬故事通關 | 用四種確定性玩家行為模擬角色故事,報告回合數、被強制推進的劇情節拍和關係值變化;支線約定(track: side)與主線並行模擬,到期未達成記為錯過(missedBeatIds),不會被強制推進、也不算卡關。用於判斷故事實際遊玩節奏;不呼叫模型、不扣積分。 | characterId | 唯讀 |
delete_story_chapter刪除故事章節 | 永久刪除作者自己的故事章節,操作不可撤銷。讀者已經解鎖的章節不能刪除;刪除後若只剩積分付費章節也會被拒絕。 | chapterId | 寫入/刪除 |
upsert_character_event建立或更新角色事件 | 建立或部分更新角色主動觸發的劇情事件。新事件需要標題、開場文本和觸發條件;事件對每位讀者最多觸發一次,且角色不得借事件推銷積分、訂閱或折扣。 | eventId characterId | 寫入/刪除 |
list_character_events列出角色事件 | 列出作者角色的全部事件,包括已停用事件及其觸發條件、開場文本、優先順序和啟用狀態。 | characterId | 唯讀 |
delete_character_event刪除角色事件 | 永久刪除角色事件,操作不可撤銷。通常應優先用 isActive=false 停用,以免重新建立同一事件後對讀者再次觸發。 | eventId | 寫入/刪除 |
upsert_character_post建立或更新角色動態 | 建立或部分更新角色時間線動態。新動態必須提供正文;正文會經過內容稽核,且不得推銷積分、訂閱、升級或折扣。隱藏動態時優先設定 visibility=hidden。 | postId characterId | 寫入/刪除 |
list_character_posts列出角色動態 | 列出作者角色最近的時間線動態,包括隱藏項。更新動態前先讀取當前內容。 | characterId | 唯讀 |
delete_character_post刪除角色動態 | 永久刪除角色動態,操作不可撤銷,相關評論會失去目標。通常應優先將 visibility 設為 hidden。 | postId | 寫入/刪除 |
upsert_character_npc建立或更新配角 | 建立或部分更新角色身邊的配角資料卡。新配角必須提供名稱和關係;每個主角色最多 30 個配角,可用 chapterIds 標記其出現章節。 | npcId characterId | 寫入/刪除 |
list_character_npcs列出配角 | 列出一個角色的全部配角資料卡,包括已停用項。更新配角前先讀取當前內容。 | characterId | 唯讀 |
delete_character_npc刪除配角 | 永久刪除配角資料卡,操作不可撤銷。通常應優先用 isActive=false 停用,以保留章節關聯。 | npcId | 寫入/刪除 |
create_location建立場景 | 根據文字描述建立場景資產,並非同步生成場景圖與六格分鏡圖。會扣除積分,失敗自動退款;返回 taskId 後使用 get_task 獲取結果。 | name description | 寫入/刪除 |
get_character獲取角色詳情 | 按角色 ID 獲取當前使用者擁有的完整角色資料,包括 persona、策展資訊、內容分級、display_image_url、source_image_url、reference_sheet_url 與五階段頭像。建立或更新角色後應呼叫此工具,把結果列印給使用者審閱,再詢問是否修改欄位、修改圖片或新增故事。 | id | 唯讀 |
get_location獲取場景詳情 | 按場景 ID 獲取場景圖、分鏡圖、狀態和其他完整資料。 | id | 唯讀 |
list_creations列出生成記錄 | 按時間倒序列出當前使用者的單步生成記錄,包括型別、提示詞、輸出 URL 和狀態,可用於複用已經完成的圖片或影片。 | — | 唯讀 |
list_categories列出角色分類 | 列出平臺當前啟用的角色分類及 category_id。建立或更新角色的 category_ids 前先呼叫此工具,禁止猜測分類 ID。 | — | 唯讀 |
get_credit_balance獲取積分餘額 | 讀取當前使用者可用積分及訂閱資訊。可用總額為 daily_credit、subscription_credit 與 onetime_purchase_credit 之和。 | — | 唯讀 |
upload_image上傳圖片 | 把本地 base64 圖片或遠端圖片轉存到 Hanakoi 公開儲存並返回當前 R2_CDN_URL 下的穩定 URL。管理員給出參考圖時先呼叫本工具,再把返回 URL 放入 generate_media.imageUrls 執行圖生圖;建立角色時運營確認候選圖後也必須呼叫本工具一次,即使候選圖已有公開 URL,隨後只能用本工具返回的 URL 更新角色文件。支援 jpeg、png、webp、gif,單張上限 10MB。 | — | 寫入/刪除 |
upload_audio上傳音訊 | 把本地 base64 音訊或遠端音訊轉存到 Hanakoi 公開儲存並返回穩定 URL。支援 mp3、wav、ogg、webm、m4a、aac、flac,單檔案上限 50MB。 | — | 寫入/刪除 |
upload_video上傳影片 | 把本地 base64 影片或遠端影片轉存到 Hanakoi 公開儲存並返回穩定 URL。支援 mp4、webm、mov、avi、mkv、m4v,單檔案上限 200MB。 | — | 寫入/刪除 |
generate_media生成圖片、影片或音訊 | 執行一次圖片、影片或音訊生成,也是角色影像生成和抽卡的唯一工具。先用 list_model_aliases 選擇別名;外部參考圖先經 upload_image 轉為穩定 URL;純文字生圖使用 text_to_image,階段頭像使用 image_to_image,並把角色的 source_image_url 放入 imageUrls。任務會扣積分,失敗自動退款;返回 taskId 後用 get_task 獲取成品。角色候選圖完成後必須向用戶展示圖片或 URL,並等待明確確認,不能自動繫結;使用者不滿意時先收集風格、外觀、服裝或構圖修改意見再重生成。 | modelId modelType | 寫入/刪除 |
create_music創作音樂 | 根據創意或完整歌詞非同步生成原創歌曲,可用於後續角色歌曲。任務會扣積分,失敗自動退款;角色聊天內生成完成後會自動投遞到會話,外部呼叫可用 get_task 查詢。 | — | 寫入/刪除 |
start_companion_test_run發起測試會話多輪實跑 | 僅限管理員(許可權碼 admin.harness-config)。為呼叫者本人建立一個隱藏且隱身的測試會話,按 turns 順序對指定角色發起真實對話:立即返回 runId 與 sessionId,不等待模型;每一輪由上一輪生成完成的事件驅動下一輪,任一輪失敗即終止。每輪都是一次真實模型呼叫,會產生模型費用,費用由平臺承擔(billing_owner=platform),不扣管理員積分;最多 10 輪,每輪 ≤ 2000 字元。測試會話使用獨立記憶池,不計入社群統計、熱度、角色 KPI 與每日指標;內容安全、age-gate 與稽核照常生效。之後用 get_companion_test_run 讀取結果,不要高頻輪詢。 | characterId turns | 寫入/刪除 |
get_companion_test_run讀取測試會話實跑結果 | 僅限管理員(許可權碼 admin.harness-config)。只讀返回測試執行的狀態(queued / running / completed / failed)、逐輪 generationId、終態、角色回覆、快捷回覆及來源、turn trace 摘要(擴充套件產出與觸發、重複檢測、取樣、快捷回覆補全、請求形態修復)、最後的會話狀態欄位與平臺承擔的費用匯總。非發起者的管理員讀取會寫入管理員審計日誌。 | runId | 唯讀 |
list_companion_llm_calls查詢原始模型呼叫日誌 | 僅限管理員(許可權碼 admin.llm-call-logs)。按 sessionId 或 generationId 分頁讀取角色聊天實際發給模型的請求與 Provider 原始響應 / 錯誤(憑據與隱藏推理已脫敏)。除角色回覆外,同一會話內的 judge、快捷回覆補全、關係評估、上下文壓縮等非回覆呼叫也可讀,每條帶 purpose 區分,可用 purpose 入參只看某一類;回覆呼叫額外返回 wireBody(與 Provider 實發 body 同源,含取樣欄位)。每次讀取前先寫入管理員審計日誌,審計寫入失敗則拒絕讀取;日誌來源為 Cloud Logging,未配置時返回不可用。翻頁時透傳上一頁的 nextCursor、queryFrom、queryTo。 | — | 唯讀 |
preview_companion_request預覽角色聊天請求 | 管理員專用(需 admin.harness-config 許可權):給定角色、聊天模型、合成歷史與本輪訊息,返回生產執行器會發給模型的完整請求體(與實發 body 同構,不含憑據)及組裝明細:system 分段、本輪上下文落點、各上下文擴充套件的注入與觸發判定、宏、請求形態修正、取樣引數與工具列表。不呼叫模型、不寫庫、不讀取任何真實會話;記憶預設為空,可用 sessionState.memory 注入合成記憶。 | characterId userMessage | 唯讀 |
run_companion_eval發起角色陪伴評測 | 僅限管理員(許可權碼 admin.harness-config)。對指定角色跑一組評測場景(scenarioIds 或 tags 二選一,都省略則跑整個場景庫):每個場景為呼叫者本人建一個隱藏且隱身的測試會話,由模擬使用者按場景劇本與角色真實對話(第 1 輪也由模擬使用者生成,逐字臺詞原樣傳送),每一輪由上一輪生成完成的事件驅動下一輪,使用者離開或到達輪數上限(每場景最多 30 輪)即結束,隨後由 Claude 行為評審逐輪與整會話打分(每項須附角色原文引文)並做 P0 配置保真 lint。立即返回 evalId,不等待任何模型;之後用 get_companion_eval 讀取,不要高頻輪詢。所有模型呼叫(角色回覆、模擬使用者、評審)都會產生模型費用,費用由平臺承擔(billing_owner=platform),不扣管理員積分;測試會話使用獨立記憶池,不計入社群統計、熱度、角色 KPI 與每日指標;內容安全、age-gate 與稽核照常生效。 | characterId | 寫入/刪除 |
get_companion_eval讀取角色陪伴評測結果 | 僅限管理員(許可權碼 admin.harness-config)。只讀返回評測狀態(running / completed / failed)與進度、每個場景的測試會話 id、逐輪對話、評分卡(逐輪 + 整會話、每維度 1–5 分與證據引文、rubric 版本、套路句重複統計)、跨場景維度均值、P0 保真 lint 報告(呼叫日誌不可用時標 unavailable)、角色 prompt rev 與 harness settings rev,以及平臺承擔的成本彙總。原始模型交換可用 list_companion_llm_calls 按 sessionId 讀取。非發起者的管理員讀取會先寫入管理員審計日誌,審計寫入失敗則拒絕讀取。 | evalId | 唯讀 |
compare_companion_eval對比兩次角色陪伴評測 | 僅限管理員(許可權碼 admin.harness-config)。對比同一場景集在兩個 revision 上的評測(baseEvalId = 基線,candidateEvalId = 候選):輸出逐維度與逐場景差值、顯著退步項(維度均值下降超過閾值,閾值可配置,預設 0.5 分)及兩側證據引文;合規維度只要候選側有任何一次失敗即判退步。rubric 版本或場景版本不同的評分卡不可直接對比,直接報錯。只讀;非發起者讀取會寫入管理員審計日誌。 | baseEvalId candidateEvalId | 唯讀 |
get_prompt_texts讀取平臺提示詞文字 | 僅限管理員(許可權碼 admin.harness-config)。只讀返回平臺提示詞文字包的當前版本(rev、全部鍵的文字、更新時間與更新人)、歷史版本摘要(rev、時間、更新人,最多 20 版)與鍵目錄(鍵、分組、名稱、text / lines 型別)。釋出前先呼叫本工具取得 current.rev,作為 update_prompt_texts 的 expectedRev。 | — | 唯讀 |
update_prompt_texts釋出平臺提示詞文字 | 僅限管理員(許可權碼 admin.harness-config)。與後臺「提示詞文字」頁同一服務:只替換給出的鍵、其餘鍵保持不變,釋出為新 revision(rev + 1);舊版本進入歷史,可在後臺回滾;寫入管理員審計。expectedRev 與當前不一致時拒絕(REVISION_CONFLICT),未知鍵拒絕(INVALID_ARGUMENT);尚未初始化時拒絕,請先在後臺開啟提示詞文字頁完成初始化。釋出後約 5 分鐘內生效(快取),影響平臺上所有使用這些鍵的角色請求。 | expectedRev texts | 寫入/刪除 |