跳至主要內容

支援的 harness

此版本支援五種 harness。每一種都透過各自的程式化介面驅動,從不透過擷取終端機

from enum import Enum

class Harness(Enum):
CLAUDE_CODE = "claude_code"
CODEX = "codex"
OPENCODE = "opencode"
DEEPAGENTS = "deepagents"
TOOL_LOOP = "tool_loop"

Harness 是一個純粹的 Enum。StrEnum 成員會與其字串相等,並允許 "codex" 通過,因此 litellm.agent() 和其他進入點會檢查 isinstance(harness, Harness),否則便會引發 TypeError。

能力​

能力Claude CodeCodexOpenCodeDeep AgentsTool Loop
任何 gateway 模型群組是是是是是
成本追蹤是是是是是
Skills是是是是否
結構化輸出是是是是是
分離並恢復是是是是否
內建工具篩選(disable_tools=)是否是是否
自訂 Python 工具(tools=)否否否是是
歷史紀錄(s.history())否否否是是
權限模式read-only, edit, fullread-only, fullread-only, edit, fullread-only, edit, fullask, full

permissions="ask" 搭配互動式核准在此版本的 CLI harness 上不可用。向 harness 要求它不支援的功能時,會在執行階段開始前引發 CapabilityUnsupported,而且絕不會退回到較寬鬆的模式。您可以在程式碼中讀到相同的表格。

caps = litellm.agent_capabilities(Harness.CODEX)
caps.tool_filtering # False
caps.permission_modes # frozenset({'read-only', 'full'})

每一種的驅動方式​

Harness透過以下方式驅動與其模型通訊執行於沙箱中需要
CLAUDE_CODEclaude -p --output-format stream-jsonAnthropic Messagessandboxclaude
CODEXcodex exec --jsonOpenAI Responsessandboxcodex
OPENCODEopencode run --format jsonOpenAI Chat Completionssandboxopencode
DEEPAGENTSdeepagents Python APILangChain chat model您的程序無需任何
TOOL_LOOPLiteLLM tool loopOpenAI Chat Completions您的程序無需任何

此版本不會為您安裝執行階段二進位檔。請將它們放入您的 sandbox 映像中,或放在您的 PATH 上以供 sandbox.local 使用。若二進位檔遺失,該呼叫會引發 HarnessInstallFailed,並指出其名稱。

每個 harness 都會接受一個型別化的 options 類別,用於僅對該執行階段有意義的設定。傳入其他 harness 的 options 會引發 OptionsMismatch。

from litellm import Harness, CodexOptions

litellm.agent(
Harness.CODEX, task, sandbox=box,
options=CodexOptions(reasoning_effort="high"),
)
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →