Skip to content

代理程式

管理隔離的代理程式(工作區 + 驗證 + 路由)。

相關連結:

Terminal window
openclaw agents list
openclaw agents list --bindings
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactive
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
openclaw agents set-identity --agent main --avatar avatars/openclaw.png
openclaw agents delete work

使用路由綁定將入站通道流量固定到特定代理程式。

如果您還希望每個 Agent 有不同的可見技能,請在 openclaw.json 中設定 agents.defaults.skillsagents.list[].skills。請參閱 Skills configConfiguration reference

列出綁定:

Terminal window
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json

新增綁定:

Terminal window
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a

如果您省略 accountId (--bind <channel>),OpenClaw 會在可用時從通道預設值和外掛程式設定钩子解析它。

如果您為 bindunbind 省略 --agent,OpenClaw 會將目標設為目前的預設代理程式。

  • 沒有 accountId 的綁定僅符合通道預設帳戶。
  • accountId: "*" 是通道範圍的後備 (所有帳戶),且比明確的帳戶綁定更具體性更低。
  • 如果相同的代理程式已經有一個沒有 accountId 的符合通道綁定,而您稍後使用明確或解析的 accountId 進行綁定,OpenClaw 會就地升級該現有綁定,而不是新增重複項。

範例:

Terminal window
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops

升級後,該綁定的路由範圍限定為 telegram:ops。如果您也想要預設帳戶路由,請明確新增它 (例如 --bind telegram:default)。

移除綁定:

Terminal window
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all

unbind 接受 --all 或一或多個 --bind 值,但不能同時接受。

不帶子指令執行 openclaw agents 等同於 openclaw agents list

選項:

  • --json
  • --bindings: 包含完整的路由規則,不僅是每個代理程式的計數/摘要

選項:

  • --workspace <dir>
  • --model <id>
  • --agent-dir <dir>
  • --bind <channel[:accountId]> (可重複)
  • --non-interactive
  • --json

備註:

  • 傳遞任何明確的 add 標誌會將指令切換至非互動路徑。
  • 非互動模式需要同時提供代理程式名稱和 --workspace
  • main 已被保留,無法用作新的代理程式 ID。
  • 在互動模式下,auth seeding 只會複製可移植的靜態設定檔(預設為 api_key 和靜態 token)。OAuth refresh-token 設定檔只能透過從真實 main agent store 的 read-through 繼承來取得。如果設定的預設 agent 不是 main,請在新 agent 上單獨登入 OAuth 設定檔。

選項:

  • --agent <id>
  • --json

選項:

  • --agent <id> (預設為目前的預設 agent)
  • --bind <channel[:accountId]> (可重複)
  • --json

選項:

  • --agent <id> (預設為目前的預設 agent)
  • --bind <channel[:accountId]> (可重複)
  • --all
  • --json

選項:

  • --force
  • --json

備註:

  • main 無法刪除。
  • 如果沒有 --force,則需要互動式確認。
  • Workspace、agent 狀態和會話紀錄目錄會被移至垃圾桶,而非永久刪除。
  • 當 Gateway 可連線時,刪除操作會透過 Gateway 發送,以便設定和 session-store 清理與執行時流量共用同一個寫入器。如果無法連線至 Gateway,CLI 將會回退至離線本機路徑。
  • 如果另一個代理的工作區是相同路徑、位於此工作區內,或是包含此工作區,該工作區將被保留,並且 --json 會回報 workspaceRetainedworkspaceRetainedReasonworkspaceSharedWith

每個代理工作區都可以在工作區根目錄包含一個 IDENTITY.md

  • 範例路徑:~/.openclaw/workspace/IDENTITY.md
  • set-identity --from-identity 從工作區根目錄(或明確指定的 --identity-file)讀取

大頭貼路徑是相對於工作區根目錄解析的。

set-identity 會將欄位寫入 agents.list[].identity

  • name
  • theme
  • emoji
  • avatar(相對於工作區的路徑、http(s) URL 或 data URI)

選項:

  • --agent <id>
  • --workspace <dir>
  • --identity-file <path>
  • --from-identity
  • --name <name>
  • --theme <theme>
  • --emoji <emoji>
  • --avatar <value>
  • --json

備註:

  • 可以使用 --agent--workspace 來選取目標代理。
  • 如果您依賴 --workspace 且有多個代理共用該工作區,該指令將會失敗並要求您傳遞 --agent
  • 當未提供明確的身分識別欄位時,該指令會從 IDENTITY.md 讀取身分識別資料。

IDENTITY.md 載入:

Terminal window
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity

明確覆寫欄位:

Terminal window
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png

設定範例:

{
agents: {
list: [
{
id: "main",
identity: {
name: "OpenClaw",
theme: "space lobster",
emoji: "🦞",
avatar: "avatars/openclaw.png",
},
},
],
},
}