System Prompt

OpenClaw tạo một system prompt tùy chỉnh cho mỗi lần chạy agent. Prompt này do OpenClaw sở hữu và không sử dụng prompt mặc định của p-coding-agent.

Prompt được OpenClaw tổng hợp và inject vào mỗi lần chạy agent.

Cấu trúc

Prompt được thiết kế gọn nhẹ và sử dụng các phần cố định:

  • Tooling: danh sách công cụ hiện tại + mô tả ngắn.
  • Safety: lời nhắc ngắn về các rào cản an toàn để tránh hành vi tìm kiếm quyền lực hoặc vượt qua giám sát.
  • Skills (khi có): hướng dẫn model cách tải skill instructions theo yêu cầu.
  • OpenClaw Self-Update: cách chạy config.applyupdate.run.
  • Workspace: thư mục làm việc (agents.defaults.workspace).
  • Documentation: đường dẫn local đến tài liệu OpenClaw (repo hoặc npm package) và khi nào nên đọc chúng.
  • Workspace Files (injected): cho biết các file bootstrap được bao gồm bên dưới.
  • Sandbox (khi được bật): cho biết runtime đang chạy trong sandbox, đường dẫn sandbox, và có quyền thực thi nâng cao hay không.
  • Current Date & Time: thời gian local của user, timezone, và định dạng thời gian.
  • Reply Tags: cú pháp reply tag tùy chọn cho các provider được hỗ trợ.
  • Heartbeats: prompt heartbeat và hành vi ack.
  • Runtime: host, OS, node, model, repo root (khi phát hiện được), thinking level (một dòng).
  • Reasoning: mức độ hiển thị hiện tại + gợi ý toggle /reasoning.

Các rào cản an toàn trong system prompt chỉ mang tính tư vấn. Chúng hướng dẫn hành vi của model nhưng không thực thi chính sách. Sử dụng tool policy, exec approvals, sandboxing, và channel allowlists để thực thi cứng; các operator có thể tắt những thứ này theo thiết kế.

Prompt modes

OpenClaw có thể render các system prompt nhỏ hơn cho sub-agents. Runtime sẽ đặt một promptMode cho mỗi lần chạy (không phải config dành cho user):

  • full (mặc định): bao gồm tất cả các phần ở trên.
  • minimal: dùng cho sub-agents; bỏ qua Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, và Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (khi biết), Runtime, và injected context vẫn có sẵn.
  • none: chỉ trả về dòng identity cơ bản.

Khi promptMode=minimal, các prompt được inject thêm sẽ được gắn nhãn Subagent Context thay vì Group Chat Context.

Workspace bootstrap injection

Các file bootstrap được trim và thêm vào dưới Project Context để model có thể thấy identity và profile context mà không cần đọc thêm:

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (chỉ có ở workspace mới toanh)

Các file lớn sẽ bị cắt ngắn với một marker. Kích thước tối đa mỗi file được kiểm soát bởi agents.defaults.bootstrapMaxChars (mặc định: 20000). Các file bị thiếu sẽ inject một marker ngắn báo file bị thiếu.

Các internal hooks có thể chặn bước này qua agent:bootstrap để thay đổi hoặc thay thế các file bootstrap được inject (ví dụ swap SOUL.md bằng một persona khác).

Để kiểm tra mỗi file được inject đóng góp bao nhiêu (raw vs injected, truncation, cộng thêm tool schema overhead), dùng /context list hoặc /context detail. Xem Context.

Time handling

System prompt bao gồm một phần Current Date & Time riêng khi biết timezone của user. Để giữ prompt cache-stable, giờ nó chỉ bao gồm time zone (không có đồng hồ động hoặc định dạng thời gian).

Dùng session_status khi agent cần biết thời gian hiện tại; status card bao gồm một dòng timestamp.

Cấu hình với:

  • agents.defaults.userTimezone
  • agents.defaults.timeFormat (auto | 12 | 24)

Xem Date & Time để biết chi tiết đầy đủ về hành vi.

Skills

Khi có các skill đủ điều kiện, OpenClaw inject một available skills list gọn nhẹ (formatSkillsForPrompt) bao gồm file path cho mỗi skill. Prompt hướng dẫn model dùng read để tải SKILL.md tại vị trí được liệt kê (workspace, managed, hoặc bundled). Nếu không có skill nào đủ điều kiện, phần Skills sẽ bị bỏ qua.

<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>

Điều này giữ cho base prompt nhỏ gọn trong khi vẫn cho phép sử dụng skill có mục tiêu.

Documentation

Khi có sẵn, system prompt bao gồm một phần Documentation trỏ đến thư mục tài liệu OpenClaw local (hoặc docs/ trong repo workspace hoặc bundled npm package docs) và cũng ghi chú về public mirror, source repo, community Discord, và ClawHub (https://clawhub.com) để khám phá skills. Prompt hướng dẫn model tham khảo tài liệu local trước tiên về hành vi, lệnh, cấu hình, hoặc kiến trúc của OpenClaw, và tự chạy openclaw status khi có thể (chỉ hỏi user khi nó thiếu quyền truy cập).