Một harness tác tử là trình thực thi cấp thấp cho một lượt tác tử OpenClaw đã được chuẩn bị. Nó không phải là nhà cung cấp mô hình, không phải kênh, và không phải sổ đăng ký công cụ. Với mô hình tư duy hướng người dùng, xem Runtime tác tử. Chỉ dùng bề mặt này cho các Plugin gốc đi kèm hoặc đáng tin cậy. Hợp đồng vẫn đang thử nghiệm vì các kiểu tham số cố ý phản ánh runner nhúng hiện tại.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Khi nào dùng harness
Đăng ký một harness tác tử khi một họ mô hình có runtime phiên gốc riêng và cơ chế truyền tải nhà cung cấp OpenClaw thông thường là lớp trừu tượng không phù hợp. Ví dụ:- một máy chủ tác tử lập trình gốc sở hữu luồng và Compaction
- một CLI hoặc daemon cục bộ phải phát trực tuyến các sự kiện kế hoạch/lập luận/công cụ gốc
- một runtime mô hình cần id tiếp tục riêng ngoài bản ghi phiên OpenClaw
Những gì phần lõi vẫn sở hữu
Trước khi một harness được chọn, OpenClaw đã phân giải:- nhà cung cấp và mô hình
- trạng thái xác thực runtime
- mức suy nghĩ và ngân sách ngữ cảnh
- tệp bản ghi/phiên OpenClaw
- workspace, sandbox, và chính sách công cụ
- callback trả lời kênh và callback phát trực tuyến
- chính sách dự phòng mô hình và chuyển đổi mô hình trực tiếp
params.runtimePlan, một gói chính sách do OpenClaw sở hữu cho các quyết định runtime phải được dùng chung giữa PI và các harness gốc:
runtimePlan.tools.normalize(...)vàruntimePlan.tools.logDiagnostics(...)cho chính sách schema công cụ nhận biết nhà cung cấpruntimePlan.transcript.resolvePolicy(...)cho chính sách làm sạch bản ghi và sửa lời gọi công cụruntimePlan.delivery.isSilentPayload(...)cho việc triệt tiêu phân phốiNO_REPLYvà phương tiện dùng chungruntimePlan.outcome.classifyRunResult(...)cho phân loại dự phòng mô hìnhruntimePlan.observabilitycho siêu dữ liệu nhà cung cấp/mô hình/harness đã phân giải
Đăng ký harness
Import:openclaw/plugin-sdk/agent-harness
Chính sách lựa chọn
OpenClaw chọn một harness sau khi phân giải nhà cung cấp/mô hình:- Chính sách runtime theo phạm vi mô hình thắng.
- Chính sách runtime theo phạm vi nhà cung cấp đứng kế tiếp.
autohỏi các harness đã đăng ký xem chúng có hỗ trợ nhà cung cấp/mô hình đã phân giải hay không.- Nếu không có harness đã đăng ký nào khớp, OpenClaw dùng PI trừ khi dự phòng PI bị tắt.
auto, dự phòng PI chỉ được dùng khi không có harness Plugin đã đăng ký nào hỗ trợ nhà cung cấp/mô hình đã phân giải. Khi một harness Plugin đã nhận một lần chạy, OpenClaw không phát lại cùng lượt đó qua PI vì điều đó có thể thay đổi ngữ nghĩa xác thực/runtime hoặc nhân đôi tác dụng phụ.
Các ghim runtime toàn phiên và toàn tác tử bị lựa chọn bỏ qua. Điều đó bao gồm các giá trị agentHarnessId phiên cũ, agents.defaults.agentRuntime, agents.list[].agentRuntime, và OPENCLAW_AGENT_RUNTIME. /status hiển thị runtime hiệu lực được chọn từ tuyến nhà cung cấp/mô hình.
Nếu harness được chọn gây bất ngờ, hãy bật ghi log debug agents/harness và kiểm tra bản ghi có cấu trúc agent harness selected của Gateway. Nó bao gồm id harness được chọn, lý do lựa chọn, chính sách runtime/dự phòng, và, ở chế độ auto, kết quả hỗ trợ của từng ứng viên Plugin.
Plugin Codex đi kèm đăng ký codex làm id harness. Phần lõi xem đó là một id harness Plugin thông thường; các alias riêng của Codex thuộc về Plugin hoặc cấu hình vận hành, không thuộc bộ chọn runtime dùng chung.
Ghép cặp nhà cung cấp cộng harness
Hầu hết harness cũng nên đăng ký một nhà cung cấp. Nhà cung cấp làm cho ref mô hình, trạng thái xác thực, siêu dữ liệu mô hình, và lựa chọn/model hiển thị với phần còn lại của OpenClaw. Sau đó harness nhận nhà cung cấp đó trong supports(...).
Plugin Codex đi kèm tuân theo mẫu này:
- ref mô hình người dùng ưu tiên:
openai/gpt-5.5 - ref tương thích: các ref
codex/gpt-*cũ vẫn được chấp nhận, nhưng cấu hình mới không nên dùng chúng như ref nhà cung cấp/mô hình thông thường - id harness:
codex - xác thực: tính khả dụng nhà cung cấp tổng hợp, vì harness Codex sở hữu phiên/đăng nhập Codex gốc
- yêu cầu máy chủ ứng dụng: OpenClaw gửi id mô hình trần cho Codex và để harness nói chuyện với giao thức máy chủ ứng dụng gốc
openai/gpt-* thuần trên nhà cung cấp OpenAI chính thức chọn harness Codex theo mặc định. Các ref codex/gpt-* cũ vẫn chọn nhà cung cấp và harness Codex để tương thích.
Để thiết lập vận hành, ví dụ tiền tố mô hình, và cấu hình chỉ dành cho Codex, xem Codex Harness.
OpenClaw yêu cầu máy chủ ứng dụng Codex 0.125.0 hoặc mới hơn. Plugin Codex kiểm tra bắt tay khởi tạo máy chủ ứng dụng và chặn các máy chủ cũ hơn hoặc không có phiên bản để OpenClaw chỉ chạy trên bề mặt giao thức đã được kiểm thử. Mức sàn 0.125.0 bao gồm hỗ trợ payload hook MCP gốc đã có trong Codex 0.124.0, đồng thời ghim OpenClaw vào dòng ổn định mới hơn đã được kiểm thử.
Middleware kết quả công cụ
Plugin đi kèm có thể gắn middleware kết quả công cụ trung lập với runtime thông quaapi.registerAgentToolResultMiddleware(...) khi manifest của chúng khai báo các id runtime đích trong contracts.agentToolResultMiddleware. Điểm nối đáng tin cậy này dành cho các biến đổi kết quả công cụ bất đồng bộ phải chạy trước khi PI hoặc Codex đưa đầu ra công cụ trở lại mô hình.
Plugin đi kèm cũ vẫn có thể dùng api.registerCodexAppServerExtensionFactory(...) cho middleware chỉ dành cho máy chủ ứng dụng Codex, nhưng các biến đổi kết quả mới nên dùng API trung lập với runtime. Hook chỉ dành cho Pi api.registerEmbeddedExtensionFactory(...) đã bị xóa; các biến đổi kết quả công cụ Pi phải dùng middleware trung lập với runtime.
Phân loại kết quả cuối
Các harness gốc sở hữu phép chiếu giao thức riêng có thể dùngclassifyAgentHarnessTerminalOutcome(...) từ openclaw/plugin-sdk/agent-harness-runtime khi một lượt hoàn tất không tạo ra văn bản trợ lý hiển thị. Trình trợ giúp trả về empty, reasoning-only, hoặc planning-only để chính sách dự phòng của OpenClaw có thể quyết định có thử lại trên một mô hình khác hay không. Nó cố ý không phân loại lỗi lời nhắc, lượt đang chạy, và các trả lời im lặng có chủ ý như NO_REPLY.
Chế độ harness Codex gốc
Harnesscodex đi kèm là chế độ Codex gốc cho các lượt tác tử OpenClaw nhúng. Trước tiên hãy bật Plugin codex đi kèm, và đưa codex vào plugins.allow nếu cấu hình của bạn dùng danh sách cho phép hạn chế. Cấu hình máy chủ ứng dụng gốc nên dùng openai/gpt-*; các lượt tác tử OpenAI chọn harness Codex theo mặc định. Các tuyến openai-codex/* cũ nên được sửa bằng openclaw doctor --fix, và các ref mô hình codex/* cũ vẫn là alias tương thích cho harness gốc.
Khi chế độ này chạy, Codex sở hữu id luồng gốc, hành vi tiếp tục, Compaction, và thực thi máy chủ ứng dụng. OpenClaw vẫn sở hữu kênh trò chuyện, bản sao bản ghi hiển thị, chính sách công cụ, phê duyệt, phân phối phương tiện, và lựa chọn phiên. Dùng nhà cung cấp/mô hình agentRuntime.id: "codex" khi bạn cần chứng minh rằng chỉ đường dẫn máy chủ ứng dụng Codex mới có thể nhận lần chạy. Runtime Plugin tường minh sẽ đóng khi lỗi; lỗi lựa chọn máy chủ ứng dụng Codex và lỗi runtime không được thử lại qua PI.
Mức nghiêm ngặt runtime
Theo mặc định, OpenClaw dùng chính sách runtime nhà cung cấp/mô hìnhauto: các harness Plugin đã đăng ký có thể nhận một cặp nhà cung cấp/mô hình, và PI xử lý lượt khi không có cặp nào khớp. Ref tác tử OpenAI trên nhà cung cấp OpenAI chính thức mặc định dùng Codex. Dùng runtime Plugin nhà cung cấp/mô hình tường minh như agentRuntime.id: "codex" khi việc không chọn được harness nên thất bại thay vì định tuyến qua PI. Lỗi harness Plugin đã chọn luôn thất bại cứng. Điều này không chặn một agentRuntime.id: "pi" nhà cung cấp/mô hình tường minh.
Đối với các lần chạy nhúng chỉ Codex:
Phiên gốc và bản sao bản ghi
Một harness có thể giữ id phiên gốc, id luồng, hoặc token tiếp tục phía daemon. Giữ ràng buộc đó được liên kết rõ ràng với phiên OpenClaw, và tiếp tục sao chép đầu ra trợ lý/công cụ hiển thị với người dùng vào bản ghi OpenClaw. Bản ghi OpenClaw vẫn là lớp tương thích cho:- lịch sử phiên hiển thị trên kênh
- tìm kiếm và lập chỉ mục bản ghi
- chuyển trở lại harness PI tích hợp sẵn ở một lượt sau
- hành vi
/new,/reset, và xóa phiên chung
reset(...) để OpenClaw có thể xóa nó khi phiên OpenClaw sở hữu được đặt lại.
Kết quả công cụ và phương tiện
Phần lõi xây dựng danh sách công cụ OpenClaw và truyền nó vào lần thử đã chuẩn bị. Khi một harness thực thi một lời gọi công cụ động, hãy trả kết quả công cụ về thông qua hình dạng kết quả harness thay vì tự gửi phương tiện kênh. Điều này giữ đầu ra văn bản, hình ảnh, video, nhạc, TTS, phê duyệt, và công cụ nhắn tin trên cùng đường dẫn phân phối với các lần chạy được PI hậu thuẫn.Giới hạn hiện tại
- Đường dẫn import công khai là chung, nhưng một số alias kiểu lần thử/kết quả vẫn mang tên
Piđể tương thích. - Cài đặt harness bên thứ ba đang thử nghiệm. Ưu tiên Plugin nhà cung cấp cho đến khi bạn cần runtime phiên gốc.
- Hỗ trợ chuyển harness giữa các lượt. Không chuyển harness ở giữa một lượt sau khi công cụ gốc, phê duyệt, văn bản trợ lý, hoặc gửi tin nhắn đã bắt đầu.