Trình trợ giúp gỡ lỗi cho đầu ra streaming, đặc biệt khi một nhà cung cấp trộn reasoning vào văn bản thông thường.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Ghi đè gỡ lỗi lúc chạy
Dùng/debug trong chat để đặt ghi đè cấu hình chỉ lúc chạy (bộ nhớ, không ghi ra đĩa).
/debug bị tắt theo mặc định; bật bằng commands.debug: true.
Điều này hữu ích khi bạn cần bật/tắt các thiết lập ít dùng mà không chỉnh sửa openclaw.json.
Ví dụ:
/debug reset xóa toàn bộ ghi đè và quay lại cấu hình trên đĩa.
Đầu ra trace phiên
Dùng/trace khi bạn muốn xem các dòng trace/gỡ lỗi do Plugin sở hữu trong một phiên
mà không bật chế độ verbose đầy đủ.
Ví dụ:
/trace cho chẩn đoán Plugin như tóm tắt gỡ lỗi Active Memory.
Tiếp tục dùng /verbose cho đầu ra trạng thái/công cụ verbose thông thường, và tiếp tục dùng
/debug cho ghi đè cấu hình chỉ lúc chạy.
Trace vòng đời Plugin
DùngOPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 khi các lệnh vòng đời Plugin có vẻ chậm
và bạn cần phân tích pha tích hợp sẵn cho siêu dữ liệu Plugin, khám phá, registry,
bản sao runtime, đột biến cấu hình và công việc làm mới. Trace là tùy chọn bật và ghi
vào stderr, nên đầu ra lệnh JSON vẫn có thể phân tích được.
Ví dụ:
node dist/entry.js ... sau pnpm build; pnpm openclaw ...
cũng đo cả chi phí source-runner.
Đo thời gian gỡ lỗi CLI tạm thời
OpenClaw giữsrc/cli/debug-timing.ts làm một trợ giúp nhỏ cho điều tra cục bộ.
Nó cố ý không được nối vào khởi động CLI, định tuyến lệnh,
hoặc bất kỳ lệnh nào theo mặc định. Chỉ dùng nó khi đang gỡ lỗi một lệnh chậm, rồi
xóa import và các span trước khi đưa thay đổi hành vi vào.
Dùng mục này khi một lệnh chậm và bạn cần phân tích pha nhanh trước khi
quyết định dùng CPU profiler hay sửa một hệ thống con cụ thể.
Thêm span tạm thời
Thêm trợ giúp gần đoạn mã bạn đang điều tra. Ví dụ, khi gỡ lỗiopenclaw models list, một bản vá tạm thời trong
src/commands/models/list.list-command.ts có thể trông như sau:
- Tiền tố tên pha tạm thời bằng
debug:. - Chỉ thêm vài span quanh các phần nghi ngờ chậm.
- Ưu tiên các pha rộng như
registry,auth_store, hoặcrowsthay vì tên trợ giúp. - Dùng
time()cho công việc đồng bộ vàtimeAsync()cho promise. - Giữ stdout sạch. Trợ giúp ghi vào stderr, nên đầu ra JSON của lệnh vẫn có thể phân tích được.
- Xóa import và span tạm thời trước khi mở PR sửa cuối cùng.
- Bao gồm đầu ra đo thời gian hoặc tóm tắt ngắn trong issue hoặc PR để giải thích tối ưu hóa.
Chạy với đầu ra dễ đọc
Chế độ dễ đọc phù hợp nhất cho gỡ lỗi trực tiếp:models list tạm thời:
| Pha | Thời gian | Ý nghĩa |
|---|---|---|
debug:models:list:auth_store | 20.3s | Tải kho auth-profile là chi phí lớn nhất và nên được điều tra trước. |
debug:models:list:ensure_models_json | 5.0s | Đồng bộ models.json đủ tốn kém để kiểm tra caching hoặc điều kiện bỏ qua. |
debug:models:list:load_model_registry | 5.9s | Xây dựng registry và công việc kiểm tra tính khả dụng của nhà cung cấp cũng là các chi phí đáng kể. |
debug:models:list:read_registry_models | 2.4s | Đọc toàn bộ mô hình trong registry không miễn phí và có thể quan trọng với --all. |
| các pha thêm hàng | tổng 3.2s | Việc tạo năm hàng được hiển thị vẫn mất vài giây, nên đường dẫn lọc cần được xem xét kỹ hơn. |
debug:models:list:print_model_table | 0ms | Render không phải nút thắt cổ chai. |
Chạy với đầu ra JSON
Dùng chế độ JSON khi bạn muốn lưu hoặc so sánh dữ liệu đo thời gian:Dọn dẹp trước khi đưa vào
Trước khi mở PR cuối cùng:--cpu-prof) hoặc một
profiler bên ngoài thay vì thêm nhiều timing wrapper hơn.
Chế độ theo dõi Gateway
Để lặp nhanh, chạy gateway dưới file watcher:openclaw-gateway-watch-main (hoặc một biến thể theo profile/cổng như
openclaw-gateway-watch-dev-19001) và tự động attach từ terminal tương tác.
Shell không tương tác, CI, và lệnh exec của agent vẫn ở trạng thái detached và in
hướng dẫn attach thay vào đó. Attach thủ công khi cần:
OPENCLAW_PROFILE, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR,
OPENCLAW_GATEWAY_PORT, và OPENCLAW_SKIP_CHANNELS vào pane. Đặt
thông tin xác thực nhà cung cấp trong profile/cấu hình thông thường của bạn, hoặc dùng chế độ foreground thô
cho bí mật tạm thời dùng một lần.
Watcher khởi động lại khi có thay đổi ở các tệp liên quan đến build trong src/, tệp nguồn Plugin,
siêu dữ liệu package.json và openclaw.plugin.json của Plugin, tsconfig.json,
package.json, và tsdown.config.ts. Thay đổi siêu dữ liệu Plugin khởi động lại
gateway mà không buộc rebuild tsdown; thay đổi nguồn và cấu hình vẫn
rebuild dist trước.
Thêm bất kỳ cờ CLI gateway nào sau gateway:watch và chúng sẽ được truyền qua trong
mỗi lần khởi động lại. Chạy lại cùng lệnh watch sẽ respawn pane tmux đã đặt tên, và
watcher thô vẫn giữ khóa single-watcher để các parent watcher trùng lặp
được thay thế thay vì chất đống.
Profile dev + Gateway dev (--dev)
Dùng profile dev để cô lập trạng thái và khởi tạo một thiết lập an toàn, dùng một lần cho
gỡ lỗi. Có hai cờ --dev:
--devtoàn cục (profile): cô lập trạng thái dưới~/.openclaw-devvà mặc định cổng gateway là19001(các cổng phát sinh dịch chuyển theo).gateway --dev: yêu cầu Gateway tự tạo cấu hình + workspace mặc định khi thiếu (và bỏ qua BOOTSTRAP.md).
pnpm openclaw ....
Việc này làm gì:
-
Cô lập profile (
--devtoàn cục)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(browser/canvas dịch chuyển tương ứng)
-
Bootstrap dev (
gateway --dev)- Ghi một cấu hình tối thiểu nếu thiếu (
gateway.mode=local, bind local loopback). - Đặt
agent.workspacethành workspace dev. - Đặt
agent.skipBootstrap=true(không có BOOTSTRAP.md). - Seed các tệp workspace nếu thiếu:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md. - Danh tính mặc định: C3‑PO (protocol droid).
- Bỏ qua nhà cung cấp kênh trong chế độ dev (
OPENCLAW_SKIP_CHANNELS=1).
- Ghi một cấu hình tối thiểu nếu thiếu (
--dev là cờ profile toàn cục và bị một số runner nuốt mất. Nếu bạn cần viết rõ, hãy dùng dạng biến môi trường:--reset xóa cấu hình, thông tin xác thực, phiên, và workspace dev (dùng
trash, không dùng rm), rồi tạo lại thiết lập dev mặc định.
Ghi log raw stream (OpenClaw)
OpenClaw có thể ghi log raw assistant stream trước mọi bước lọc/định dạng. Đây là cách tốt nhất để xem reasoning có đang đến dưới dạng delta văn bản thuần (hay dưới dạng các khối thinking riêng biệt) hay không. Bật tính năng này qua CLI:~/.openclaw/logs/raw-stream.jsonl
Ghi nhật ký đoạn thô (pi-mono)
Để ghi lại các đoạn thô tương thích OpenAI trước khi chúng được phân tích cú pháp thành các khối, pi-mono cung cấp một trình ghi nhật ký riêng:~/.pi-mono/logs/raw-openai-completions.jsonl
Lưu ý: dữ liệu này chỉ được phát ra bởi các tiến trình sử dụng nhà cung cấp
openai-completions của pi-mono.
Ghi chú về an toàn
- Nhật ký luồng thô có thể bao gồm toàn bộ prompt, đầu ra công cụ và dữ liệu người dùng.
- Giữ nhật ký cục bộ và xóa chúng sau khi gỡ lỗi.
- Nếu bạn chia sẻ nhật ký, trước tiên hãy loại bỏ bí mật và PII.