CLI commands
代理
openclaw agents
管理隔離的代理(工作區 + 驗證 + 路由)。
相關:
範例
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
路由繫結
使用路由繫結,將傳入的頻道流量固定到特定代理。
如果你也想讓每個代理有不同的可見 Skills,請在 openclaw.json 中設定 agents.defaults.skills 和 agents.list[].skills。請參閱 Skills 設定與設定參考。
列出繫結:
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json
新增繫結:
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a
如果省略 accountId(--bind <channel>),OpenClaw 會在可用時從頻道預設值和 Plugin 設定 Hook 解析它。
如果對 bind 或 unbind 省略 --agent,OpenClaw 會以目前的預設代理作為目標。
繫結範圍行為
- 不含
accountId的繫結只會比對頻道預設帳號。 accountId: "*"是整個頻道的備援(所有帳號),且比明確帳號繫結更不具體。- 如果同一個代理已經有一個不含
accountId的相符頻道繫結,而你稍後用明確或已解析的accountId進行繫結,OpenClaw 會就地升級該既有繫結,而不是新增重複項目。
範例:
# 初始的僅頻道繫結
openclaw agents bind --agent work --bind telegram
# 稍後升級為帳號範圍繫結
openclaw agents bind --agent work --bind telegram:ops
升級後,該繫結的路由範圍會限定為 telegram:ops。如果也想要預設帳號路由,請明確新增它(例如 --bind telegram:default)。
移除繫結:
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all
unbind 接受 --all 或一個以上的 --bind 值,但不能同時使用兩者。
命令介面
agents
執行不帶子命令的 openclaw agents 等同於 openclaw agents list。
agents list
選項:
--json--bindings:包含完整路由規則,而不只是每個代理的計數/摘要
agents add [name]
選項:
--workspace <dir>--model <id>--agent-dir <dir>--bind <channel[:accountId]>(可重複)--non-interactive--json
注意事項:
- 傳入任何明確的新增旗標,會將命令切換到非互動式路徑。
- 非互動模式需要代理名稱和
--workspace。 main為保留字,不能用作新的代理 ID。- 在互動模式中,驗證植入只會複製可攜式靜態設定檔
(預設為
api_key和靜態token)。OAuth 重新整理權杖設定檔仍然 只能透過從實際main代理儲存區讀取繼承來使用。 如果設定的預設代理不是main,請針對新代理另外登入 OAuth 設定檔。
agents bindings
選項:
--agent <id>--json
agents bind
選項:
--agent <id>(預設為目前的預設代理)--bind <channel[:accountId]>(可重複)--json
agents unbind
選項:
--agent <id>(預設為目前的預設代理)--bind <channel[:accountId]>(可重複)--all--json
agents delete <id>
選項:
--force--json
注意事項:
main不能刪除。- 若未使用
--force,需要互動式確認。 - 工作區、代理狀態和工作階段轉錄目錄會移到垃圾桶,而不是硬刪除。
- 當 Gateway 可連線時,刪除會透過 Gateway 傳送,讓設定和工作階段儲存區清理與執行階段流量共用同一個寫入者。如果無法連線到 Gateway,CLI 會退回離線本機路徑。
- 如果另一個代理的工作區是相同路徑、位於此工作區內,或包含此工作區,
則會保留該工作區,而
--json會回報workspaceRetained、workspaceRetainedReason和workspaceSharedWith。
身分檔案
每個代理工作區都可以在工作區根目錄包含 IDENTITY.md:
- 範例路徑:
~/.openclaw/workspace/IDENTITY.md set-identity --from-identity會從工作區根目錄讀取(或從明確的--identity-file讀取)
頭像路徑會相對於工作區根目錄解析。
設定身分
set-identity 會將欄位寫入 agents.list[].identity:
namethemeemojiavatar(工作區相對路徑、http(s) URL,或資料 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 載入:
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
明確覆寫欄位:
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",
},
},
],
},
}