codex chính thức.
Để thiết lập và đưa ra quyết định định tuyến, hãy bắt đầu với
bộ khung Codex.
Bề mặt cấu hình plugin
Tất cả cài đặt của bộ khung Codex nằm trongplugins.entries.codex.config.
Giám sát
Theo mặc định, tính năng khám phá phiên gốc liệt kê các phiên Codex chưa lưu trữ từ máy tính Gateway và các Node đã ghép cặp có chủ đích. Chỉ tắt danh mục đó bằng:supervision kiểm soát riêng các công cụ dành cho tác nhân:
Các mục điểm cuối chấp nhận các trường sau:
Trang Phiên Codex sử dụng App Server giám sát của plugin và chỉ hiển thị
các phiên chưa lưu trữ. Khi không có cài đặt kết nối
appServer rõ ràng,
kết nối đó là stdio thư mục chính của người dùng được quản lý. Các hàng cục bộ đã lưu hoặc đang nhàn rỗi có thể tạo
một cuộc trò chuyện bị khóa theo mô hình với lịch sử người dùng và trợ lý có giới hạn cho đến
lượt nguồn cuối cùng ở trạng thái kết thúc đã được lưu bền vững. Liên kết riêng tư của cuộc trò chuyện duy trì nhánh rẽ từ ảnh chụp nhanh,
nhánh nguồn appServer chính tắc, việc chèn lịch sử và các lượt sau đó trên
kết nối đó. Lần bắt đầu chính tắc đầu tiên sử dụng cặp do thao tác rẽ nhánh trả về. Các lần
tiếp tục sau bỏ qua phần ghi đè mô hình và nhà cung cấp của OpenClaw để Codex khôi phục
cặp đã lưu bền vững của luồng chính tắc; một thay đổi gốc riêng biệt có thể cập nhật
cặp đó, nhưng mô hình bên ngoài và chuỗi dự phòng không bao giờ thay thế cặp này. Các hàng đã lưu và đang nhàn rỗi
có thể được lưu trữ sau khi xác nhận không có trình chạy nào khác, trừ khi một liên kết OpenClaw đang hoạt động khác
sở hữu đúng đích hoặc một trong các hậu duệ được tạo ra và chưa lưu trữ của đích đó.
OpenClaw tuân theo cơ chế phân trang hậu duệ của Codex và đóng an toàn khi gặp
lỗi liệt kê, chu kỳ hoặc cạn giới hạn an toàn. Việc xác nhận vẫn
bao quát các máy khách gốc không xác định và tình huống tranh chấp từ trạng thái sang lưu trữ. Không thể xóa một
cuộc trò chuyện được giám sát và bị khóa theo mô hình khi cuộc trò chuyện đó bảo vệ liên kết gốc.
Các nguồn đang hoạt động không thể tạo nhánh hoặc được lưu trữ, nhưng vẫn có thể mở một cuộc trò chuyện được giám sát
hiện có. Mọi hàng của Node đã ghép cặp đều ở chế độ chỉ đọc; phương thức truyền tải của Node
chưa cung cấp vòng đời phát trực tuyến mà bộ khung cần.
Chỉ riêng appServer.homeScope: "user" thay đổi thư mục chính Codex mà một tiến trình bộ khung
được quản lý sử dụng; cài đặt này không công bố danh mục đội máy. Việc bật giám sát không
thay đổi giá trị mặc định của bộ khung. Thay vào đó, kết nối giám sát riêng biệt
mặc định dùng stdio thư mục chính của người dùng được quản lý khi không có cài đặt kết nối appServer
rõ ràng. Các cài đặt rõ ràng được tuân thủ cho kết nối đó.
Các liên kết được giám sát đang chờ xử lý và đã cam kết duy trì kết nối đó cho mọi lượt;
giám sát bị tắt hoặc độ lệch kết nối/vòng đời sẽ đóng an toàn thay vì
dự phòng về bộ khung dùng thư mục chính của tác nhân. Kết nối mặc định chia sẻ các phiên đã lưu
với máy khách Codex gốc, nhưng không chia sẻ trạng thái hoạt động cục bộ theo tiến trình của chúng.
Các cài đặt plugins.entries.codex-supervisor cũ đã bị loại bỏ. Chạy
openclaw doctor --fix để di chuyển mục cũ, định nghĩa điểm cuối, cờ
chính sách và tham chiếu cho phép/từ chối plugin vào khối này. Các giá trị codex.config.supervision
chính tắc được đặt rõ ràng sẽ được ưu tiên khi có xung đột.
Phương thức truyền tải của máy chủ ứng dụng
Đối với các lượt bộ khung thông thường, OpenClaw khởi động tệp nhị phân Codex được quản lý đi kèm plugin chính thức (hiện là@openai/codex 0.144.6):
codex chính thức thay vì
bất kỳ Codex CLI riêng biệt nào tình cờ được cài đặt cục bộ. Chỉ đặt
appServer.command khi bạn chủ ý muốn dùng một tệp thực thi khác.
Các lượt được quản lý thông thường với thư mục chính tác nhân cô lập mặc định ưu tiên gói
được ghim này ngay cả khi đã cài đặt gói ứng dụng máy tính macOS. Khi
Computer Use được bật, hoặc khi homeScope là
"user" và có thể tải trạng thái Computer Use gốc, quy trình khởi động được quản lý sẽ ưu tiên
tệp nhị phân của ứng dụng máy tính sở hữu các quyền macOS cần thiết. Quy tắc
ưu tiên ứng dụng máy tính tương tự được áp dụng khi cấu hình Codex hiệu lực của thư mục chính tác nhân cô lập
bật Computer Use gốc. Nếu không cài đặt gói ứng dụng máy tính, OpenClaw
dự phòng về tệp nhị phân của gói được ghim.
Việc bàn giao tệp thực thi và phân vùng cấu hình gốc điều phối các máy khách bên trong một
tiến trình Gateway đang chạy. Hãy khởi động lại Gateway sau khi một tiến trình khác thay đổi
cấu hình plugin Codex gốc.
Giám sát phân giải một kết nối riêng biệt. Khi không có cài đặt kết nối
appServer rõ ràng, nó sử dụng stdio được quản lý với homeScope: "user";
bộ khung thông thường vẫn sử dụng stdio được quản lý với homeScope: "agent". Cả hai đường dẫn đều tuân thủ
các cài đặt kết nối rõ ràng. Đặt homeScope: "user"
rõ ràng khi bộ khung thông thường cần chia sẻ $CODEX_HOME (hoặc ~/.codex)
với các máy khách gốc. Một liên kết được giám sát riêng tư sử dụng kết nối giám sát
bất kể giá trị mặc định của bộ khung thông thường. Các tiến trình App Server độc lập
duy trì trạng thái trực tiếp và trạng thái phê duyệt riêng biệt.
Để kiểm thử ngoài môi trường sản xuất với một máy chủ ứng dụng đang chạy, phương thức truyền tải
WebSocket khả dụng:
appServer:
appServer.networkProxy được khai báo rõ ràng vì nó thay đổi hợp đồng sandbox
của Codex. Khi được bật, OpenClaw cũng đặt features.network_proxy.enabled và
default_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> có khả năng chống xung đột từ nội dung hồ sơ;
chỉ sử dụng profileName khi cần một tên cục bộ ổn định.
danger-full-access, việc bật
networkProxy sẽ sử dụng quyền truy cập hệ thống tệp kiểu workspace cho
hồ sơ quyền được tạo. Việc thực thi chính sách mạng do Codex quản lý là mạng
được sandbox, vì vậy hồ sơ toàn quyền truy cập sẽ không bảo vệ lưu lượng đi.
Plugin chặn các quá trình bắt tay app-server cũ hơn, mới hơn nhưng chưa được xác thực,
bản phát hành trước, có hậu tố bản dựng hoặc không có phiên bản. Codex app-server
phải báo cáo một phiên bản ổn định từ 0.143.0 đến
0.144.6 đi kèm.
OpenClaw coi các URL app-server WebSocket không phải loopback là từ xa và yêu cầu
xác thực WebSocket mang thông tin định danh thông qua appServer.authToken hoặc
header Authorization. appServer.authToken và mỗi giá trị
appServer.headers.* có thể là một SecretInput; runtime bí mật phân giải SecretRef
và dạng viết tắt env trước khi OpenClaw tạo các tùy chọn khởi động app-server,
còn SecretRef có cấu trúc chưa được phân giải sẽ gây lỗ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 sử dụng
mặt phẳng điều khiển plugin của app-server đã kết nối để cài đặt hoặc làm mới
các plugin đó, rồi làm mới danh mục ứng dụng để các ứng dụng thuộc sở hữu plugin
hiển thị với luồng Codex. app/list vẫn là nguồn danh mục và siêu dữ liệu
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ó thể truy cập trong danh sách hay không,
ngay cả khi Codex hiện đánh dấu ứng dụng đó là đã tắt. ID ứng dụng không xác định
hoặc bị thiếu vẫn bị từ chối theo nguyên tắc đóng an toàn; đường dẫn này chỉ kích hoạt
các plugin marketplace thông qua plugin/install và làm mới danh mục. Chỉ kết nối
OpenClaw với các app-server từ xa đáng tin cậy để chấp nhận việc cài đặt plugin và
làm mới danh mục ứng dụng do OpenClaw quản lý.
Chế độ phê duyệt và sandbox
Theo mặc định, các phiên app-server stdio cục bộ sử dụng chế độ YOLO:approvalPolicy: "never", approvalsReviewer: "user" và
sandbox: "danger-full-access". Trạng thái vận hành cục bộ đáng tin cậy này cho phép
các lượt chạy và Heartbeat OpenClaw không có người giám sát tiếp tục tiến triển
mà không cần lời nhắc phê duyệt gốc vốn không có ai ở đó để phản hồ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,
người review hoặc sandbox ngầm định, OpenClaw sẽ coi giá trị mặc định ngầm định là
guardian và chọn các quyền guardian được phép. tools.exec.mode: "auto"
cũng bắt buộc các phê duyệt Codex được guardian review và không giữ lại các ghi đè
approvalPolicy: "never" hoặc sandbox: "danger-full-access" cũ không an toàn;
đặt tools.exec.mode: "full" khi chủ ý không sử dụng phê duyệt.
Các mục [[remote_sandbox_config]] khớp tên máy chủ trong cùng tệp yêu cầu
được tuân thủ khi quyết định giá trị sandbox mặc định.
Đặt appServer.mode: "guardian" để sử dụng các phê duyệt Codex được guardian review:
guardian được mở rộng thành approvalPolicy: "on-request",
approvalsReviewer: "auto_review" và sandbox: "workspace-write" khi các giá trị đó
được phép. Các trường chính sách riêng lẻ ghi đè mode. Giá trị
người review guardian_subagent cũ hơn vẫn được chấp nhận làm bí danh tương thích,
nhưng cấu hình mới nên sử dụng auto_review.
Khi sandbox OpenClaw đang hoạt động, tiến trình Codex app-server cục bộ vẫn
chạy trên máy chủ Gateway. Do đó, OpenClaw vô hiệu hóa Code Mode gốc của Codex,
các máy chủ MCP của người dùng và việc thực thi plugin dựa trên ứng dụng cho lượt đó,
thay vì coi sandbox phía máy chủ Codex là tương đương với backend sandbox của
OpenClaw. Quyền truy cập shell được cung cấp thông qua các công cụ động dựa trên
sandbox OpenClaw như sandbox_exec và sandbox_process khi các công cụ
exec/process thông thường khả dụng.
Trên các máy chủ sandbox OpenClaw dựa trên Docker (
agents.defaults.sandbox.mode được đặt
thành backend Docker), openclaw doctor thăm dò xem máy chủ có cho phép các
namespace người dùng không đặc quyền (và namespace mạng khi lưu lượng mạng đi
của sandbox Docker bị tắt) mà bwrap Codex lồng nhau cần cho việc
thực thi shell workspace-write bên trong container sandbox hay không. Thăm dò
thất bại thường hiển thị dưới dạng bwrap: setting up uid map: Permission denied hoặc
bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted trên các máy chủ Ubuntu/AppArmor.
Hãy sửa chính sách namespace máy chủ được báo cáo cho người dùng dịch vụ OpenClaw
và khởi động lại Gateway; ưu tiên hồ sơ AppArmor giới hạn phạm vi cho tiến trình
dịch vụ thay vì phương án dự phòng toàn máy chủ kernel.apparmor_restrict_unprivileged_userns=0,
và không cấp đặc quyền container Docker rộng hơn chỉ để đáp ứng
bwrap lồng nhau.Thực thi gốc trong sandbox
Giá trị mặc định ổn định là đóng an toàn: sandbox OpenClaw đang hoạt động sẽ vô hiệu hóa các bề mặt thực thi Codex gốc mà nếu không sẽ chạy từ máy chủ Codex app-server. Chỉ sử dụngappServer.experimental.sandboxExecServer: true khi 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 hoạt động
với mọi phiên bản Codex app-server được hỗ trợ.
Xác thực và cô lập môi trường
Trong thư mục home mặc định theo từng agent, phương thức xác thực được chọn theo thứ tự sau:- Một hồ sơ xác thực Codex OpenClaw được chỉ định rõ ràng cho agent.
- Tài khoản hiện có của app-server trong thư mục home Codex của agent đó.
- Chỉ đối với các lần khởi chạy app-server stdio cục bộ,
CODEX_API_KEY, sau đó làOPENAI_API_KEY, khi không có tài khoản app-server và vẫn cần xác thực OpenAI.
CODEX_API_KEY và OPENAI_API_KEY
khỏi tiến trình con Codex được khởi chạy. Điều này giữ các khóa API cấp Gateway
khả dụng cho embedding hoặc các mô hình OpenAI trực tiếp mà không khiến các lượt
Codex app-server gốc vô tình được tính phí qua API.
Các hồ sơ khóa API Codex được chỉ định rõ ràng và phương án dự phòng khóa env stdio
cục bộ sử dụng đăng nhập app-server thay vì kế thừa env của tiến trình con. Các kết nối
app-server WebSocket không nhận phương án dự phòng khóa API env của Gateway; hãy sử dụng
hồ sơ xác thực được chỉ định rõ ràng hoặc tài khoản riêng của app-server từ xa.
Theo mặc định, các lần khởi chạy app-server stdio kế thừa môi trường tiến trình của
OpenClaw. OpenClaw sở hữu cầu nối tài khoản Codex app-server 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, bộ nhớ đệm/dữ liệu plugin và trạng thái luồng Codex
trong phạm vi agent OpenClaw, thay vì rò rỉ từ thư mục 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ế độ thư mục home người dùng cục bộ này hỗ trợ stdio được quản lý
và phương thức truyền Unix được chỉ định rõ ràng. Chế độ này sử dụng
$CODEX_HOME khi được đặt và ~/.codex trong trường hợp còn lại,
bao gồm xác thực, cấu hình, plugin và luồng gốc. OpenClaw bỏ qua cầu nối hồ sơ xác thực
của mình cho app-server. Các lượt của chủ sở hữu đã xác minh có thể sử dụng
codex_threads để liệt kê (với bộ lọc search tùy chọn),
đọc, phân nhánh, đổi tên, lưu trữ và bỏ lưu trữ các luồng đó. Hãy phân nhánh một luồng
trước khi tiếp tục luồng đó trong OpenClaw; các tiến trình Codex độc lập không phối hợp
những tiến trình ghi đồng thời cho cùng một luồng.
Lựa chọn tham gia homeScope đó áp dụng cho các phiên harness thông thường.
Một Chat được tạo thông qua Codex Sessions sẽ sử dụng kết nối giám sát riêng của nó,
giúp duy trì cấu hình xác thực và nhà cung cấp của kết nối gốc cho nhánh chuẩn và
các lần tiếp tục trong tương lai.
Trong một Chat được giám sát và khóa mô hình, codex_threads không thể đính kèm
một nhánh khác hoặc lưu trữ luồng gốc đã liên kết của Chat. Khả năng liệt kê và đọc
chỉ siêu dữ liệu vẫn khả dụng. Việc đọc bản chép lời thô yêu cầu
allowRawTranscripts; khi tùy chọn này bị tắt, tìm kiếm danh sách cũng bị từ chối
vì tìm kiếm gốc có thể khớp với bản xem trước bản chép lời. Việc đổi tên, bỏ lưu trữ,
phân nhánh tách rời và lưu trữ một luồng không liên quan, không thuộc sở hữu của
Chat OpenClaw khác, yêu cầu allowWriteControls. Không tùy chọn nào bỏ qua
một liên kết đã khóa.
OpenClaw không ghi lại HOME cho các lần khởi chạy app-server cục bộ
thông thường. Các tiến trình con do Codex chạy như openclaw,
gh, git, các CLI đám mây và lệnh shell
nhìn thấy thư mục home tiến trình thông thường và có thể tìm thấy cấu hình cùng token
trong thư mục home người dùng. Codex cũng có thể phát hiện $HOME/.agents/skills và
$HOME/.agents/plugins/marketplace.json; việc phát hiện .agents đó được chủ ý chia sẻ
với thư mục 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à ảnh chụp Skills OpenClaw
vẫn đi qua sổ đăng ký plugin và trình tải Skills riêng của OpenClaw; các tài nguyên
~/.codex Codex cá nhân thì không. Nếu có các kỹ năng hoặc plugin Codex CLI
hữu ích từ một thư mục home Codex cần trở thành một phần của agent OpenClaw được cô lập,
hãy kiểm kê chúng một cách rõ ràng:
appServer.clearEnv:
appServer.clearEnv chỉ ảnh hưởng đến tiến trình con Codex app-server được khởi chạy.
OpenClaw xóa CODEX_HOME và HOME khỏi danh sách này trong quá trình
chuẩn hóa khởi chạy cục bộ: CODEX_HOME tiếp tục trỏ đến phạm vi agent hoặc
người dùng đã chọn, còn HOME tiếp tục được kế thừa để các tiến trình con
có thể sử dụng trạng thái thư mục home người dùng thông thường.
Công cụ động
Theo mặc định, các công cụ động Codex sử dụng cách tảisearchable, được cung cấp
trong namespace openclaw với deferLoading: true. OpenClaw thường 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 hoặc
bề mặt tìm kiếm công cụ riêng của Codex:
readwriteeditapply_patchexecprocessupdate_plantool_calltool_describetool_searchtool_search_code
exec và process đã được lọc
theo chính sách làm phương án dự phòng shell. Danh sách cho phép runtime và
codexDynamicToolsExclude vẫn được áp dụng.
Hầu hết các công cụ tích hợp OpenClaw còn lại, chẳng hạn như nhắn tin, phương tiện, cron,
trình duyệt, node, Gateway, heartbeat_respond và web_search, đều có sẵn
thông qua tính năng tìm kiếm công cụ Codex trong namespace đó. Điều này giúp ngữ cảnh
ban đầu của mô hình nhỏ hơn. Một nhóm nhỏ công cụ vẫn có thể được gọi trực tiếp bất kể
codexDynamicToolsLoading, vì tính năng tìm kiếm công cụ Codex có thể không khả dụng hoặc
chỉ phân giải được một tập hợp gồm các trình kết nối: agents_list, sessions_spawn và
sessions_yield. Các chỉ dẫn dành cho nhà phát triển vẫn hướng các subagent Codex thông thường
đến spawn_agent gốc cho công việc subagent gốc của Codex, trong khi
sessions_spawn vẫn khả dụng cho việc ủy quyền OpenClaw hoặc ACP rõ ràng.
Các phản hồi nguồn chỉ dùng công cụ nhắn tin cũng vẫn được gửi trực tiếp, vì đó là một
hợp đồng kiểm soát lượt.
Các công cụ được đánh dấu catalogMode: "direct-only", bao gồm công cụ OpenClaw computer,
được nhóm trong openclaw_direct. OpenClaw thêm namespace đó vào
danh sách code_mode.direct_only_tool_namespaces của Codex mà không thay thế
các mục do người vận hành cung cấp. Do đó, Codex hiển thị các công cụ đó dưới dạng
DirectModelOnly trong các luồng thông thường và luồng chỉ dùng chế độ mã, thay vì định tuyến chúng
qua các lệnh gọi Code Mode tools.* lồng nhau. Ranh giới này là bắt buộc đối với
các kết quả chứa hình ảnh: quá trình tuần tự hóa Code Mode lồng nhau làm phẳng đầu ra hình ảnh thành
văn bản, khiến ảnh chụp màn hình cần cho thao tác máy tính tiếp theo bị loại bỏ.
Chỉ đặt codexDynamicToolsLoading: "direct" khi kết nối với một
app-server Codex tùy chỉnh không thể tìm kiếm các công cụ động được trì hoãn hoặc khi gỡ lỗi
toàn bộ tải công cụ.
Thời gian chờ
Các lệnh gọi công cụ động do OpenClaw sở hữu được giới hạn độc lập vớiappServer.requestTimeoutMs. Mỗi yêu cầu Codex item/tool/call sử dụng
thời gian chờ khả dụng đầu tiên theo thứ tự sau:
- Đối số
timeoutMsdương cho mỗi lệnh gọi. - Đối với
image_generate,agents.defaults.imageGenerationModel.timeoutMs. - Đối với
image_generatekhông có thời gian chờ được cấu hình, giá trị mặc định tạo hình ảnh là 120 giây. - Đối với công cụ nhận hiểu phương tiện
image,tools.media.image.timeoutSecondsđược chuyển đổi thành mili giây hoặc giá trị mặc định cho phương tiện là 60 giây. Đối với nhận hiểu hình ảnh, giá trị 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 đó. - Đối với công cụ
message, giá trị mặc định cố định là 120 giây. - Giá trị mặc định cho công cụ động là 90 giây.
item/tool/call động bên ngoài. Thời gian chờ yêu cầu
riêng theo nhà cung cấp chạy bên trong lệnh gọi đó và giữ nguyên ngữ nghĩa thời gian chờ riêng.
Ngân sách công cụ động được giới hạn ở 600000 ms. Khi hết thời gian chờ, OpenClaw hủy
tín hiệu công cụ nếu đượ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 app-server
theo phạm vi lượt, harness kỳ vọng Codex tạo tiến triển cho 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
app-server không có hoạt động trong appServer.turnCompletionIdleTimeoutMs, OpenClaw
cố gắng ngắt lượt Codex, ghi lại chẩn đoán hết thời gian chờ và
giải phóng làn phiên OpenClaw để các tin nhắn trò chuyện tiếp theo không bị xếp hàng
sau một lượt gốc đã lỗi thời.
Hầu hết thông báo không kết thúc cho cùng một lượt đều vô hiệu hóa bộ giám sát ngắn đó
vì Codex đã chứng minh lượt vẫn đang hoạt động. Việc bàn giao công cụ sử dụng 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ượt hoàn tất
custom_tool_call_output thô, và sau tiến triển trợ lý thô sau công cụ,
lượt hoàn tất suy luận thô hoặc tiến triển suy luận. Bộ bảo vệ sử dụng
appServer.postToolRawAssistantCompletionIdleTimeoutMs khi được cấu hình và
mặc định là năm phút nếu không. Ngân sách sau công cụ đó cũng kéo dài
bộ giám sát tiến triển cho khoảng tổng hợp im lặng trước khi Codex phát ra
sự kiện tiếp theo của lượt hiện tại. Các lượt hoàn tất suy luận, lượt hoàn tất
agentMessage trong phần bình luận, và tiến triển suy luận hoặc trợ lý thô trước công cụ
có thể được tiếp nối bằng phản hồi cuối cùng tự động, vì vậy chúng sử dụng bộ bảo vệ
phản hồi sau tiến triển thay vì giải phóng làn phiên ngay lập tức. Chỉ các mục
agentMessage đã hoàn tất dạng cuối cùng/không phải bình luận và các lượt 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
không có hoạt động mà không có turn/completed, OpenClaw cố gắng 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 khi phát lại, bao gồm
hết 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ụ, được thử lại một lần trên một lần thử
app-server mới. Các trường hợp hết thời gian chờ không an toàn vẫn loại bỏ máy khách
app-server bị kẹt và giải phóng làn phiên OpenClaw. Chúng cũng
xóa liên kết luồng gốc đã lỗi thời thay vì tự động phát lại.
Các trường hợp hết thời gian chờ theo dõi hoàn tất hiển thị văn bản thời gian chờ dành riêng
cho Codex: các trường hợp an toàn khi phát lại cho biết phản hồi có thể chưa đầy đủ,
trong khi 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 gần nhất, 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 nội dung prompt hoặc công cụ thô.
Khám phá mô hình
Theo mặc định, Plugin Codex yêu cầu app-server cung cấp các mô hình khả dụng. Tính khả dụng của mô hình do app-server Codex sở hữu, vì vậy danh sách có thể thay đổi khi OpenClaw nâng cấp phiên bản@openai/codex đi kèm hoặc khi một triển khai
trỏ appServer.command đến một tệp nhị phân Codex khác. Tính khả dụng cũng có thể
được giới hạn theo tài khoản. Sử 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 quá trình khám phá thất bại hoặc hết thời gian chờ, OpenClaw sử dụng danh mục dự phòng đi kèm:
Harness đi kèm hiện tại là
@openai/codex 0.144.6. Một phép thăm dò model/list
đối với app-server đi kèm đó đã trả về các hàng bộ chọn công khai sau:Danh mục app-server có thể báo cáo
ultra; các điều khiển suy luận của OpenClaw
hiện hiển thị các mức đến max.Các hàng bộ chọn trực tiếp được giới hạn theo tài khoản và có thể thay đổi theo tài khoản,
danh mục Codex hoặc phiên bản đi kèm; hãy chạy /codex models để lấy danh sách hiện tại
thay vì dựa vào bất kỳ bảng tại một thời điểm cụ thể nào. Các mô hình ẩn cũng có thể xuất hiện trong
danh mục app-server cho các luồng nội bộ hoặc chuyên biệt mà không phải là
lựa chọn thông thường trong bộ chọn mô hình.plugins.entries.codex.config.discovery:
Tệp khởi tạo workspace
Codex tự xử lýAGENTS.md thông qua tính năng 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
tên tệp dự phòng của Codex cho các tệp persona, vì các phương án dự phòng Codex chỉ áp dụng khi
AGENTS.md bị thiếu.
Để đảm bảo tính tương đương của workspace OpenClaw, harness Codex chuyển tiếp các
tệp khởi tạo khác dưới dạng chỉ dẫn dành cho nhà phát triển, nhưng không hoàn toàn giống nhau:
TOOLS.mdđược chuyển tiếp dưới dạng chỉ dẫn nhà phát triển Codex được kế thừa, vì vậy các subagent Codex gốc được tạo trong lượt cũng nhìn thấy nó.SOUL.md,IDENTITY.mdvàUSER.mdđược chuyển tiếp dưới dạng chỉ dẫn cộng tác theo phạm vi lượt. Các subagent Codex gốc không kế thừa chúng, nhờ đó các lượt subagent không nhận persona và hồ sơ người dùng của tác nhân cha.- Danh sách Skills OpenClaw đã nạp ở dạng rút gọn cũng được chuyển tiếp dưới dạng chỉ dẫn nhà phát triển cộng tác theo phạm vi lượt, vì vậy các subagent Codex gốc cũng không kế thừa danh sách đó.
- Nội dung
HEARTBEAT.mdkhông được chèn; các lượt Heartbeat nhận được một con trỏ ở chế độ cộng tác để đọc tệp khi tệp tồn tại và không rỗng. - Nội dung
MEMORY.mdtừ workspace của 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ớ khả dụng cho workspace đó; khi nội dung này 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 sử dụngmemory_searchhoặcmemory_getkhi bộ nhớ bền vững có liên quan. Nếu các 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ớ của tác nhân,MEMORY.mdsử dụng đường dẫn ngữ cảnh lượt có giới hạn thông thường. - Khi có,
BOOTSTRAP.mdđược chuyển tiếp dưới dạng ngữ cảnh tham chiếu đầu vào lượt của OpenClaw.
Ghi đè môi trường
Các ghi đè môi trường vẫn khả dụng cho việc kiểm thử cục bộ:OPENCLAW_CODEX_APP_SERVER_BINOPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_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ị xóa. Thay vào đó, hãy sử dụng
plugins.entries.codex.config.appServer.mode: "guardian" hoặc
OPENCLAW_CODEX_APP_SERVER_MODE=guardian để kiểm thử cục bộ một lần. Cấu hình
được ưu tiên cho các triển khai có thể lặp lại vì nó giữ hành vi của Plugin trong
cùng tệp đã được review với phần còn lại của thiết lập harness Codex.