Chuyển đến nội dung chính
Tài liệu tham chiếu này trình bày cấu hình chi tiết cho Plugin codex được đóng gói sẵn. Để thiết lập và quyết định định tuyến, hãy bắt đầu với bộ điều phối Codex.

Bề mặt cấu hình Plugin

Tất cả cài đặt bộ điều phối Codex nằm dưới plugins.entries.codex.config.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          discovery: {
            enabled: true,
            timeoutMs: 2500,
          },
          appServer: {
            mode: "guardian",
          },
        },
      },
    },
  },
}
Các trường cấp cao nhất được hỗ trợ:
TrườngMặc địnhÝ nghĩa
discoverybậtCài đặt khám phá mô hình cho Codex app-server model/list.
appServerapp-server stdio được quản lýCài đặt giao vận, lệnh, xác thực, phê duyệt, sandbox và thời gian chờ.
codexDynamicToolsLoading"searchable"Dùng "direct" để đưa trực tiếp các công cụ động của OpenClaw vào ngữ cảnh công cụ Codex ban đầu.
codexDynamicToolsExclude[]Tên công cụ động OpenClaw bổ sung cần bỏ qua khỏi các lượt Codex app-server.
codexPluginstắtHỗ trợ Plugin/ứng dụng Codex nguyên gốc cho các Plugin tuyển chọn đã di chuyển và được cài từ nguồn. Xem Plugin Codex nguyên gốc.
computerUsetắtThiết lập Codex Computer Use. Xem Codex Computer Use.

Giao vận app-server

Theo mặc định, OpenClaw khởi động tệp nhị phân Codex được quản lý đi kèm với Plugin được đóng gói sẵn:
codex app-server --listen stdio://
Điều này giữ phiên bản app-server gắn với Plugin codex được đóng gói sẵn thay vì bất kỳ Codex CLI riêng nào tình cờ được cài đặt cục bộ. Chỉ đặt appServer.command khi bạn chủ ý muốn chạy một tệp thực thi khác. Đối với app-server đang chạy sẵn, hãy dùng giao vận WebSocket:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            transport: "websocket",
            url: "ws://gateway-host:39175",
            authToken: "${CODEX_APP_SERVER_TOKEN}",
            requestTimeoutMs: 60000,
          },
        },
      },
    },
  },
}
Các trường appServer được hỗ trợ:
TrườngMặc địnhÝ nghĩa
transport"stdio""stdio" khởi chạy Codex; "websocket" kết nối tới url.
homeScope"agent""agent" cô lập trạng thái Codex theo từng agent OpenClaw. "user" chia sẻ $CODEX_HOME hoặc ~/.codex gốc, dùng xác thực gốc, và bật quản lý luồng chỉ dành cho chủ sở hữu. Phạm vi người dùng yêu cầu stdio.
commandtệp nhị phân Codex được quản lýTệp thực thi cho transport stdio. Để trống để dùng tệp nhị phân được quản lý.
args["app-server", "--listen", "stdio://"]Đối số cho transport stdio.
urlchưa đặtURL app-server WebSocket.
authTokenchưa đặtMã thông báo Bearer cho transport WebSocket. Chấp nhận chuỗi cố định hoặc SecretInput như ${CODEX_APP_SERVER_TOKEN}.
headers{}Header WebSocket bổ sung. Giá trị header chấp nhận chuỗi cố định hoặc giá trị SecretInput, ví dụ x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}".
clearEnv[]Tên biến môi trường bổ sung bị xóa khỏi tiến trình app-server stdio được khởi chạy sau khi OpenClaw xây dựng môi trường kế thừa của nó.
remoteWorkspaceRootchưa đặtGốc workspace app-server Codex từ xa. Khi được đặt, OpenClaw suy ra gốc workspace cục bộ từ workspace OpenClaw đã phân giải, giữ nguyên hậu tố cwd hiện tại dưới gốc từ xa này, và chỉ gửi cwd app-server cuối cùng tới Codex. Nếu cwd nằm ngoài gốc workspace OpenClaw đã phân giải, OpenClaw sẽ từ chối an toàn thay vì gửi đường dẫn cục bộ của Gateway tới app-server từ xa.
requestTimeoutMs60000Thời gian chờ cho các lệnh gọi control-plane của app-server.
turnCompletionIdleTimeoutMs60000Khoảng lặng sau khi Codex chấp nhận một lượt hoặc sau một yêu cầu app-server theo phạm vi lượt trong khi OpenClaw chờ turn/completed.
postToolRawAssistantCompletionIdleTimeoutMs300000Cơ chế bảo vệ trạng thái nhàn rỗi khi hoàn tất và tiến độ được dùng sau khi chuyển giao công cụ, hoàn tất công cụ gốc, tiến độ raw assistant sau công cụ, hoàn tất suy luận raw, hoặc tiến độ suy luận trong khi OpenClaw chờ turn/completed. Dùng mục này cho workload đáng tin cậy hoặc nặng, nơi tổng hợp sau công cụ có thể im lặng lâu hơn ngân sách phát hành assistant cuối cùng.
mode"yolo" trừ khi yêu cầu Codex cục bộ không cho phép YOLOPreset cho thực thi YOLO hoặc thực thi được guardian xem xét.
approvalPolicy"never" hoặc chính sách phê duyệt guardian được phépChính sách phê duyệt Codex gốc được gửi tới lúc bắt đầu luồng, tiếp tục luồng, và lượt.
sandbox"danger-full-access" hoặc sandbox guardian được phépChế độ sandbox Codex gốc được gửi tới lúc bắt đầu luồng và tiếp tục luồng. Sandbox OpenClaw đang hoạt động thu hẹp các lượt danger-full-access thành Codex workspace-write; cờ mạng của lượt tuân theo egress sandbox OpenClaw.
approvalsReviewer"user" hoặc reviewer guardian được phépDùng "auto_review" để Codex xem xét các lời nhắc phê duyệt gốc khi được phép.
defaultWorkspaceDirthư mục tiến trình hiện tạiWorkspace được /codex bind dùng khi bỏ qua --cwd.
serviceTierchưa đặtTầng dịch vụ app-server Codex tùy chọn. "priority" bật định tuyến chế độ nhanh, "flex" yêu cầu xử lý flex, và null xóa ghi đè. "fast" kế thừa được chấp nhận là "priority".
networkProxybị tắtChọn dùng mạng hồ sơ quyền của Codex cho các lệnh app-server. OpenClaw định nghĩa cấu hình permissions.<profile>.network đã chọn và chọn nó bằng default_permissions thay vì gửi sandbox.
experimental.sandboxExecServerfalseTùy chọn xem trước đăng ký môi trường Codex dựa trên sandbox OpenClaw với app-server Codex 0.132.0 trở lên để thực thi Codex gốc có thể chạy bên trong sandbox OpenClaw đang hoạt động.
appServer.networkProxy là tường minh vì nó thay đổi hợp đồng sandbox Codex. Khi được bật, OpenClaw cũng đặt features.network_proxy.enableddefault_permissions trong cấu hình luồng Codex để hồ sơ quyền được tạo có thể khởi động mạng do Codex quản lý. Theo mặc định, OpenClaw tạo tên hồ sơ openclaw-network-<fingerprint> chống va chạm từ nội dung hồ sơ; chỉ dùng profileName khi cần một tên cục bộ ổn định.
export default {
  plugins: {
    entries: {
      codex: {
        config: {
          appServer: {
            sandbox: "workspace-write",
            networkProxy: {
              enabled: true,
              domains: {
                "api.openai.com": "allow",
                "blocked.example.com": "deny",
              },
              allowUpstreamProxy: true,
              proxyUrl: "http://127.0.0.1:3128",
            },
          },
        },
      },
    },
  },
};
Nếu runtime máy chủ ứng dụng thông thường là danger-full-access, việc bật networkProxy sẽ dùng quyền truy cập hệ thống tệp theo kiểu workspace cho hồ sơ quyền được tạo. Cơ chế thực thi mạng do Codex quản lý là mạng được sandbox, nên hồ sơ toàn quyền truy cập sẽ không bảo vệ lưu lượng đi ra. Plugin chặn các bắt tay máy chủ ứng dụng cũ hơn hoặc không có phiên bản. Máy chủ ứng dụng Codex phải báo cáo phiên bản ổn định 0.125.0 trở lên. OpenClaw xem các URL máy chủ ứng dụng WebSocket không phải loopback là từ xa và yêu cầu xác thực WebSocket mang danh tính thông qua appServer.authToken hoặc header Authorization. appServer.authToken và từng giá trị appServer.headers.* có thể là SecretInput; runtime secrets phân giải SecretRefs và dạng viết tắt env trước khi OpenClaw xây dựng tùy chọn khởi động máy chủ ứng dụng, và các SecretRefs có cấu trúc chưa phân giải sẽ thất bại trước khi bất kỳ token hoặc header nào được gửi. Khi các Plugin Codex gốc được cấu hình, OpenClaw dùng mặt phẳng điều khiển Plugin của máy chủ ứng dụng đã kết nối để cài đặt hoặc làm mới các Plugin đó, rồi làm mới inventory ứng dụng để các ứng dụng do Plugin sở hữu hiển thị với luồng Codex. app/list vẫn là nguồn inventory và metadata có thẩm quyền, nhưng chính sách OpenClaw quyết định liệu thread/start có gửi config.apps[appId].enabled = true cho một ứng dụng được liệt kê và có thể truy cập hay không, ngay cả khi Codex hiện đánh dấu ứng dụng đó là bị tắt. Các id ứng dụng không xác định hoặc bị thiếu vẫn đóng khi lỗi; đường dẫn này chỉ kích hoạt các Plugin marketplace qua plugin/install và làm mới inventory. Chỉ kết nối OpenClaw với các máy chủ ứng dụng từ xa được tin cậy để chấp nhận cài đặt Plugin do OpenClaw quản lý và làm mới inventory ứng dụng.

Chế độ phê duyệt và sandbox

Các phiên máy chủ ứng dụng stdio cục bộ mặc định ở chế độ YOLO: approvalPolicy: "never", approvalsReviewer: "user", và sandbox: "danger-full-access". Tư thế vận hành cục bộ đáng tin cậy này cho phép các lượt OpenClaw không giám sát và Heartbeat tiếp tục tiến triển mà không cần lời nhắc phê duyệt gốc khi không có ai ở đó để trả lời. Nếu tệp yêu cầu hệ thống cục bộ của Codex không cho phép các giá trị phê duyệt YOLO, reviewer hoặc sandbox ngầm định, OpenClaw sẽ xem mặc định ngầm định là guardian thay vào đó và chọn các quyền guardian được cho phép. tools.exec.mode: "auto" cũng buộc phê duyệt Codex do guardian duyệt và không giữ lại các override legacy không an toàn như approvalPolicy: "never" hoặc sandbox: "danger-full-access"; đặt tools.exec.mode: "full" cho tư thế cố ý không cần phê duyệt. Các mục [[remote_sandbox_config]] khớp hostname trong cùng tệp yêu cầu được tôn trọng cho quyết định mặc định sandbox. Đặt appServer.mode: "guardian" cho phê duyệt Codex do guardian duyệt:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            mode: "guardian",
            serviceTier: "priority",
          },
        },
      },
    },
  },
}
Preset guardian mở rộng thành approvalPolicy: "on-request", approvalsReviewer: "auto_review", và sandbox: "workspace-write" khi các giá trị đó được cho phép. Các trường chính sách riêng lẻ ghi đè mode. Giá trị reviewer cũ hơn guardian_subagent vẫn được chấp nhận dưới dạng alias tương thích, nhưng cấu hình mới nên dùng auto_review. Khi một sandbox OpenClaw đang hoạt động, tiến trình máy chủ ứng dụng Codex cục bộ vẫn chạy trên máy chủ Gateway. Vì vậy OpenClaw tắt Code Mode gốc của Codex, máy chủ MCP của người dùng, và thực thi Plugin dựa trên ứng dụng cho lượt đó thay vì xem sandbox phía máy chủ Codex là tương đương với backend sandbox OpenClaw. Quyền truy cập shell được cung cấp thông qua các công cụ động được sandbox OpenClaw hỗ trợ như sandbox_execsandbox_process khi các công cụ exec/process thông thường có sẵn. Trên các máy chủ Ubuntu/AppArmor, Codex bwrap có thể thất bại dưới workspace-write trước khi lệnh shell bắt đầu khi bạn cố ý chạy workspace-write Codex gốc mà không có sandbox OpenClaw đang hoạt động. Nếu bạn thấy bwrap: setting up uid map: Permission denied hoặc bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted, hãy chạy openclaw doctor và sửa chính sách namespace máy chủ được báo cáo cho người dùng dịch vụ OpenClaw thay vì cấp quyền container Docker rộng hơn. Ưu tiên một hồ sơ AppArmor có phạm vi cho tiến trình dịch vụ; fallback kernel.apparmor_restrict_unprivileged_userns=0 áp dụng toàn máy chủ và có đánh đổi bảo mật.

Thực thi gốc trong sandbox

Mặc định ổn định là đóng khi lỗi: sandbox OpenClaw đang hoạt động sẽ tắt các bề mặt thực thi Codex gốc vốn sẽ chạy từ máy chủ máy chủ ứng dụng Codex. Chỉ dùng appServer.experimental.sandboxExecServer: true khi bạn muốn thử hỗ trợ môi trường từ xa của Codex với backend sandbox của OpenClaw. Đường dẫn xem trước này yêu cầu máy chủ ứng dụng Codex 0.132.0 trở lên.
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            experimental: {
              sandboxExecServer: true,
            },
          },
        },
      },
    },
  },
}
Khi cờ được bật và phiên OpenClaw hiện tại được sandbox, OpenClaw khởi động một exec-server local loopback được hỗ trợ bởi sandbox đang hoạt động, đăng ký nó với máy chủ ứng dụng Codex, rồi khởi động luồng và lượt Codex với môi trường do OpenClaw sở hữu đó. Nếu máy chủ ứng dụng không thể đăng ký môi trường, lần chạy sẽ đóng khi lỗi thay vì âm thầm quay về thực thi trên máy chủ. Đường dẫn xem trước này chỉ dành cho cục bộ. Máy chủ ứng dụng WebSocket từ xa không thể truy cập exec-server loopback trừ khi nó đang chạy trên cùng máy chủ, nên OpenClaw từ chối tổ hợp đó.

Xác thực và cô lập môi trường

Trong home mặc định theo từng agent, xác thực được chọn theo thứ tự này:
  1. Một hồ sơ xác thực OpenClaw Codex rõ ràng cho agent.
  2. Tài khoản hiện có của máy chủ ứng dụng trong Codex home của agent đó.
  3. Chỉ với các lần khởi chạy máy chủ ứng dụng stdio cục bộ, CODEX_API_KEY, rồi OPENAI_API_KEY, khi không có tài khoản máy chủ ứng dụng và xác thực OpenAI vẫn được yêu cầu.
Khi OpenClaw thấy một hồ sơ xác thực Codex kiểu đăng ký ChatGPT, nó xóa CODEX_API_KEYOPENAI_API_KEY khỏi tiến trình con Codex được sinh ra. Điều đó giữ cho các API key cấp Gateway vẫn khả dụng cho embeddings hoặc các mô hình OpenAI trực tiếp mà không vô tình khiến các lượt máy chủ ứng dụng Codex gốc tính phí qua API. Các hồ sơ API-key Codex rõ ràng và fallback env-key stdio cục bộ dùng đăng nhập máy chủ ứng dụng thay vì env kế thừa của tiến trình con. Kết nối máy chủ ứng dụng WebSocket không nhận fallback API-key env của Gateway; hãy dùng hồ sơ xác thực rõ ràng hoặc tài khoản riêng của máy chủ ứng dụng từ xa. Các lần khởi chạy máy chủ ứng dụng stdio kế thừa môi trường tiến trình của OpenClaw theo mặc định. OpenClaw sở hữu cầu nối tài khoản máy chủ ứng dụng Codex và đặt CODEX_HOME thành thư mục theo từng agent trong trạng thái OpenClaw của agent đó. Điều này giữ cấu hình, tài khoản, cache/dữ liệu Plugin, và trạng thái luồng Codex trong phạm vi agent OpenClaw thay vì rò rỉ từ home ~/.codex cá nhân của người vận hành. Đặt appServer.homeScope: "user" để chia sẻ trạng thái Codex gốc với Codex Desktop và CLI. Chế độ chỉ dành cho stdio cục bộ này dùng $CODEX_HOME khi được đặt và ~/.codex nếu không, bao gồm xác thực gốc, cấu hình, Plugin, và luồng. OpenClaw bỏ qua cầu nối hồ sơ xác thực của nó cho máy chủ ứng dụng. Các lượt chủ sở hữu đã xác minh có thể dùng codex_threads để liệt kê, tìm kiếm, đọc, fork, đổi tên, lưu trữ, và khôi phục các luồng đó. Hãy fork một luồng trước khi tiếp tục nó trong OpenClaw; các tiến trình Codex độc lập không điều phối những writer đồng thời cho cùng một luồng. OpenClaw không ghi lại HOME cho các lần khởi chạy máy chủ ứng dụng cục bộ thông thường. Các tiến trình con do Codex chạy như openclaw, gh, git, CLI đám mây, và lệnh shell thấy home tiến trình thông thường và có thể tìm cấu hình và token trong user-home. Codex cũng có thể phát hiện $HOME/.agents/skills$HOME/.agents/plugins/marketplace.json; cơ chế phát hiện .agents đó được cố ý chia sẻ với home của người vận hành và tách biệt với trạng thái ~/.codex được cô lập. Trong phạm vi agent mặc định, các Plugin OpenClaw và snapshot Skills của OpenClaw vẫn đi qua registry Plugin và loader Skills riêng của OpenClaw; tài sản Codex ~/.codex cá nhân thì không. Nếu bạn có Skills hoặc Plugin Codex CLI hữu ích từ một Codex home cần trở thành một phần của agent OpenClaw được cô lập, hãy inventory chúng một cách rõ ràng:
openclaw migrate codex --dry-run
openclaw migrate apply codex --yes
Nếu một triển khai cần cô lập môi trường bổ sung, hãy thêm các biến đó vào appServer.clearEnv:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          appServer: {
            clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"],
          },
        },
      },
    },
  },
}
appServer.clearEnv chỉ ảnh hưởng đến tiến trình con máy chủ ứng dụng Codex được sinh ra. OpenClaw xóa CODEX_HOMEHOME khỏi danh sách này trong quá trình chuẩn hóa khởi chạy cục bộ: CODEX_HOME vẫn trỏ tới phạm vi agent hoặc người dùng đã chọn, và HOME vẫn được kế thừa để các tiến trình con có thể dùng trạng thái user-home thông thường.

Công cụ động

Công cụ động Codex mặc định tải theo kiểu searchable. OpenClaw không cung cấp các công cụ động trùng lặp với thao tác workspace gốc của Codex:
  • read
  • write
  • edit
  • apply_patch
  • exec
  • process
  • update_plan
Hầu hết các công cụ tích hợp OpenClaw còn lại, như nhắn tin, media, Cron, trình duyệt, node, Gateway, heartbeat_respond, và web_search, có sẵn thông qua tìm kiếm công cụ Codex trong namespace openclaw. Điều này giữ cho ngữ cảnh mô hình ban đầu nhỏ hơn. sessions_yield và các phản hồi nguồn chỉ dành cho công cụ nhắn tin vẫn trực tiếp vì đó là các hợp đồng điều khiển lượt. sessions_spawn vẫn searchable để spawn_agent gốc của Codex tiếp tục là bề mặt subagent Codex chính, trong khi ủy quyền OpenClaw hoặc ACP rõ ràng vẫn có sẵn thông qua namespace công cụ động openclaw. Chỉ đặt codexDynamicToolsLoading: "direct" khi kết nối với một máy chủ ứng dụng Codex tùy chỉnh không thể tìm kiếm công cụ động bị trì hoãn hoặc khi debug toàn bộ payload công cụ.

Timeout

Các lệnh gọi công cụ động do OpenClaw sở hữu được giới hạn độc lập với appServer.requestTimeoutMs. Mỗi yêu cầu item/tool/call của Codex dùng timeout khả dụng đầu tiên theo thứ tự này:
  • Đối số timeoutMs theo từng lệnh gọi có giá trị dương.
  • Với image_generate, agents.defaults.imageGenerationModel.timeoutMs.
  • Với image_generate không có timeout được cấu hình, mặc định tạo ảnh 120 giây.
  • Với công cụ image hiểu media, tools.media.image.timeoutSeconds được chuyển sang mili giây, hoặc mặc định media 60 giây. Với hiểu ảnh, điều này áp dụng cho chính yêu cầu và không bị giảm bởi công việc chuẩn bị trước đó.
  • Mặc định công cụ động 90 giây.
Watchdog này là ngân sách item/tool/call động bên ngoài. Timeout yêu cầu theo nhà cung cấp chạy bên trong lệnh gọi đó và giữ ngữ nghĩa timeout riêng. Ngân sách công cụ động được giới hạn ở 600000 ms. Khi timeout, OpenClaw hủy tín hiệu công cụ ở nơi được hỗ trợ và trả về phản hồi công cụ động thất bại cho Codex để lượt có thể tiếp tục thay vì để phiên ở trạng thái processing. Sau khi Codex chấp nhận một lượt, và sau khi OpenClaw phản hồi một yêu cầu máy chủ ứng dụng trong phạm vi lượt, harness kỳ vọng Codex sẽ tiến triển trong lượt hiện tại và cuối cùng hoàn tất lượt gốc bằng turn/completed. Nếu máy chủ ứng dụng im lặng trong appServer.turnCompletionIdleTimeoutMs, OpenClaw cố gắng hết sức để ngắt lượt Codex, ghi lại timeout chẩn đoán, và giải phóng lane phiên OpenClaw để các tin nhắn chat tiếp theo không bị xếp hàng sau một lượt gốc cũ. Hầu hết thông báo không kết thúc cho cùng một lượt sẽ vô hiệu hóa bộ giám sát ngắn đó vì Codex đã chứng minh rằng lượt này vẫn còn hoạt động. Các lần chuyển giao công cụ dùng một ngân sách nhàn rỗi sau công cụ dài hơn: sau khi OpenClaw trả về phản hồi item/tool/call, sau khi các mục công cụ gốc như commandExecution hoàn tất, sau khi các lần hoàn tất custom_tool_call_output thô, và sau tiến trình trợ lý thô sau công cụ, các lần hoàn tất suy luận thô, hoặc tiến trình suy luận. Bộ bảo vệ dùng appServer.postToolRawAssistantCompletionIdleTimeoutMs khi được cấu hình và mặc định là năm phút trong các trường hợp khác. Cùng ngân sách sau công cụ đó cũng mở rộng bộ giám sát tiến trình cho khoảng tổng hợp im lặng trước khi Codex phát ra sự kiện lượt hiện tại tiếp theo. Các lần hoàn tất suy luận, các lần hoàn tất agentMessage commentary, và tiến trình suy luận thô hoặc trợ lý thô trước công cụ có thể được theo sau bởi một phản hồi cuối tự động, nên chúng dùng bộ bảo vệ phản hồi sau tiến trình thay vì giải phóng làn phiên ngay lập tức. Chỉ các mục agentMessage cuối/không phải commentary đã hoàn tất và các lần hoàn tất trợ lý thô trước công cụ mới kích hoạt việc giải phóng đầu ra trợ lý: nếu sau đó Codex im lặng mà không có turn/completed, OpenClaw sẽ cố gắng tối đa để ngắt lượt gốc và giải phóng làn phiên. Các lỗi app-server stdio an toàn để phát lại, bao gồm thời gian chờ nhàn rỗi khi hoàn tất lượt mà không có bằng chứng về trợ lý, công cụ, mục đang hoạt động, hoặc tác dụng phụ, sẽ được thử lại một lần trên một lần thử app-server mới. Các thời gian chờ không an toàn vẫn cho client app-server bị kẹt nghỉ hưu và giải phóng làn phiên OpenClaw. Chúng cũng xóa ràng buộc luồng gốc đã cũ thay vì được phát lại tự động. Các thời gian chờ theo dõi hoàn tất hiển thị văn bản thời gian chờ riêng cho Codex: các trường hợp an toàn để phát lại nói rằng phản hồi có thể chưa hoàn chỉnh, còn các trường hợp không an toàn yêu cầu người dùng xác minh trạng thái hiện tại trước khi thử lại. Chẩn đoán thời gian chờ công khai bao gồm các trường cấu trúc như phương thức thông báo app-server cuối cùng, id/loại/vai trò của mục phản hồi trợ lý thô, số lượng yêu cầu/mục đang hoạt động, và trạng thái theo dõi đã kích hoạt. Khi thông báo cuối cùng là một mục phản hồi trợ lý thô, chúng cũng bao gồm bản xem trước văn bản trợ lý có giới hạn. Chúng không bao gồm lời nhắc thô hoặc nội dung công cụ.

Khám phá mô hình

Theo mặc định, Codex plugin yêu cầu app-server cung cấp các mô hình có sẵn. Tính khả dụng của mô hình thuộc sở hữu của Codex app-server, nên danh sách có thể thay đổi khi OpenClaw nâng cấp phiên bản @openai/codex được đóng gói hoặc khi một bản triển khai trỏ appServer.command tới một tệp nhị phân Codex khác. Tính khả dụng cũng có thể được phạm vi hóa theo tài khoản. Dùng /codex models trên một gateway đang chạy để xem danh mục trực tiếp cho harness và tài khoản đó. Nếu khám phá thất bại hoặc hết thời gian chờ, OpenClaw dùng danh mục dự phòng được đóng gói cho:
  • GPT-5.5
  • GPT-5.4 mini
Harness được đóng gói hiện tại là @openai/codex 0.142.5. Một phép thăm dò model/list đối với app-server được đóng gói đó đã trả về các hàng bộ chọn công khai này:
Id mô hìnhPhương thức đầu vàoMức nỗ lực suy luận
gpt-5.5văn bản, hình ảnhthấp, trung bình, cao, xhigh
gpt-5.4văn bản, hình ảnhthấp, trung bình, cao, xhigh
gpt-5.4-minivăn bản, hình ảnhthấp, trung bình, cao, xhigh
gpt-5.3-codex-sparkvăn bảnthấp, trung bình, cao, xhigh
Các mô hình ẩn có thể được danh mục app-server trả về cho các luồng nội bộ hoặc chuyên biệt, nhưng chúng không phải là các lựa chọn bộ chọn mô hình thông thường. Điều chỉnh khám phá trong plugins.entries.codex.config.discovery:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          discovery: {
            enabled: true,
            timeoutMs: 2500,
          },
        },
      },
    },
  },
}
Tắt khám phá khi bạn muốn quá trình khởi động tránh thăm dò Codex và chỉ dùng danh mục dự phòng:
{
  plugins: {
    entries: {
      codex: {
        enabled: true,
        config: {
          discovery: {
            enabled: false,
          },
        },
      },
    },
  },
}

Tệp khởi tạo workspace

Codex tự xử lý AGENTS.md thông qua cơ chế khám phá tài liệu dự án gốc. OpenClaw không ghi các tệp tài liệu dự án Codex tổng hợp hoặc phụ thuộc vào các tên tệp dự phòng của Codex cho tệp persona, vì các dự phòng của Codex chỉ áp dụng khi thiếu AGENTS.md. Để giữ tương đương workspace OpenClaw, Codex harness phân giải các tệp khởi tạo khác. SOUL.md, IDENTITY.md, TOOLS.md, và USER.md được chuyển tiếp làm chỉ dẫn nhà phát triển OpenClaw Codex vì chúng định nghĩa tác nhân đang hoạt động, hướng dẫn workspace có sẵn, và hồ sơ người dùng. Danh sách Skills OpenClaw rút gọn được chuyển tiếp làm chỉ dẫn nhà phát triển cộng tác theo phạm vi lượt. Nội dung HEARTBEAT.md không được tiêm vào; các lượt heartbeat nhận một con trỏ chế độ cộng tác để đọc tệp khi nó tồn tại và không rỗng. Nội dung MEMORY.md từ workspace tác nhân đã cấu hình không được dán vào đầu vào lượt Codex gốc khi các công cụ bộ nhớ có sẵn cho workspace đó; khi nó tồn tại, harness thêm một con trỏ bộ nhớ workspace nhỏ vào chỉ dẫn nhà phát triển cộng tác theo phạm vi lượt và Codex nên dùng memory_search hoặc memory_get khi bộ nhớ bền có liên quan. Nếu công cụ bị tắt, tìm kiếm bộ nhớ không khả dụng, hoặc workspace đang hoạt động khác với workspace bộ nhớ tác nhân, MEMORY.md dùng đường dẫn ngữ cảnh lượt có giới hạn thông thường. BOOTSTRAP.md khi có mặt được chuyển tiếp làm ngữ cảnh tham chiếu đầu vào lượt OpenClaw.

Ghi đè môi trường

Các ghi đè môi trường vẫn có sẵn cho kiểm thử cục bộ:
  • OPENCLAW_CODEX_APP_SERVER_BIN
  • OPENCLAW_CODEX_APP_SERVER_ARGS
  • OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian
  • OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY
  • OPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_BIN bỏ qua tệp nhị phân được quản lý khi appServer.command chưa được đặt. OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 đã bị loại bỏ. Thay vào đó hãy dùng plugins.entries.codex.config.appServer.mode: "guardian", hoặc OPENCLAW_CODEX_APP_SERVER_MODE=guardian cho kiểm thử cục bộ một lần. Cấu hình được ưu tiên cho các bản triển khai có thể lặp lại vì nó giữ hành vi plugin trong cùng tệp đã được rà soát với phần còn lại của thiết lập Codex harness.

Liên quan