Các mục cấu hình thường dùng và giá trị mặc định.
Xác minh lần cuối: 2026-02-19.
Thứ tự tìm config khi khởi động:
- Biến
ZEROCLAW_WORKSPACE(nếu được đặt) - Marker
~/.zeroclaw/active_workspace.toml(nếu có) - Mặc định
~/.zeroclaw/config.toml
ZeroClaw ghi log đường dẫn config đã giải quyết khi khởi động ở mức INFO:
Config loadedvới các trường:path,workspace,source,initialized
Lệnh CLI để kiểm tra và sửa đổi cấu hình:
zeroclaw config show— xuất cấu hình hiệu lực dạng JSON (ẩn secrets)zeroclaw config get <key>— truy vấn giá trị theo đường dẫn (ví dụ:zeroclaw config get gateway.port)zeroclaw config set <key> <value>— cập nhật giá trị và lưu vàoconfig.tomlzeroclaw config schema— xuất JSON Schema (draft 2020-12) ra stdout
| Khóa | Mặc định | Ghi chú |
|---|---|---|
default_provider |
openrouter |
ID hoặc bí danh provider |
default_model |
anthropic/claude-sonnet-4-6 |
Model định tuyến qua provider đã chọn |
default_temperature |
0.7 |
Nhiệt độ model |
model_support_vision |
chưa đặt (None) |
Ghi đè hỗ trợ vision cho provider/model đang dùng |
Lưu ý:
model_support_vision = truebật vision (ví dụ Ollama chạyllava).model_support_vision = falsetắt vision.- Để trống giữ mặc định của provider.
- Biến môi trường:
ZEROCLAW_MODEL_SUPPORT_VISIONhoặcMODEL_SUPPORT_VISION(giá trị:true/false/1/0/yes/no/on/off).
| Khóa | Mặc định | Mục đích |
|---|---|---|
backend |
none |
Backend quan sát: none, noop, log, prometheus, otel, opentelemetry hoặc otlp |
otel_endpoint |
http://localhost:4318 |
Endpoint OTLP HTTP khi backend là otel |
otel_service_name |
zeroclaw |
Tên dịch vụ gửi đến OTLP collector |
Lưu ý:
backend = "otel"dùng OTLP HTTP export với blocking exporter client để span và metric có thể được gửi an toàn từ context ngoài Tokio.- Bí danh
opentelemetryvàotlptrỏ đến cùng backend OTel.
Ví dụ:
[observability]
backend = "otel"
otel_endpoint = "http://localhost:4318"
otel_service_name = "zeroclaw"Provider cũng có thể chọn qua biến môi trường. Thứ tự ưu tiên:
ZEROCLAW_PROVIDER(ghi đè tường minh, luôn thắng khi có giá trị)PROVIDER(dự phòng kiểu cũ, chỉ áp dụng khi provider trong config chưa đặt hoặc vẫn làopenrouter)default_providertrongconfig.toml
Lưu ý cho người dùng container:
- Nếu
config.tomlđặt provider tùy chỉnh nhưcustom:https://.../v1, biếnPROVIDER=openroutermặc định từ Docker/container sẽ không thay thế nó. - Dùng
ZEROCLAW_PROVIDERkhi cố ý muốn biến môi trường ghi đè provider đã cấu hình.
| Khóa | Mặc định | Mục đích |
|---|---|---|
compact_context |
true |
Khi bật: bootstrap_max_chars=6000, rag_chunk_limit=2. Dùng cho model 13B trở xuống |
max_tool_iterations |
20 |
Số vòng lặp tool-call tối đa mỗi tin nhắn trên CLI, gateway và channels |
max_history_messages |
50 |
Số tin nhắn lịch sử tối đa giữ lại mỗi phiên |
parallel_tools |
false |
Bật thực thi tool song song trong một lượt |
tool_dispatcher |
auto |
Chiến lược dispatch tool |
allowed_tools |
[] |
Allowlist tool cho agent chính. Khi không rỗng, chỉ các tool liệt kê mới được đưa vào context |
denied_tools |
[] |
Denylist tool cho agent chính, áp dụng sau allowed_tools |
Lưu ý:
- Đặt
max_tool_iterations = 0sẽ dùng giá trị mặc định an toàn20. - Nếu tin nhắn kênh vượt giá trị này, runtime trả về:
Agent exceeded maximum tool iterations (<value>). - Trong vòng lặp tool của CLI, gateway và channel, các lời gọi tool độc lập được thực thi đồng thời mặc định khi không cần phê duyệt; thứ tự kết quả giữ ổn định.
parallel_toolsáp dụng cho APIAgent::turn(). Không ảnh hưởng đến vòng lặp runtime của CLI, gateway hay channel.allowed_tools/denied_toolsđược áp dụng lúc khởi động trước khi dựng prompt. Tool bị loại sẽ không xuất hiện trong system prompt hoặc tool specs.- Mục không khớp trong
allowed_toolsđược bỏ qua (không làm lỗi khởi động) và ghi log mức debug. - Nếu đồng thời đặt
allowed_toolsvàdenied_toolsrồi denylist loại toàn bộ tool đã allow, tiến trình sẽ fail-fast với lỗi cấu hình rõ ràng.
Ví dụ:
[agent]
allowed_tools = [
"delegate",
"subagent_spawn",
"subagent_list",
"subagent_manage",
"memory_recall",
"memory_store",
"task_plan",
]
denied_tools = ["shell", "file_write", "browser_open"]Cấu hình agent phụ (sub-agent). Mỗi khóa dưới [agents] định nghĩa một agent phụ có tên mà agent chính có thể ủy quyền.
| Khóa | Mặc định | Mục đích |
|---|---|---|
provider |
bắt buộc | Tên provider (ví dụ "ollama", "openrouter", "anthropic") |
model |
bắt buộc | Tên model cho agent phụ |
system_prompt |
chưa đặt | System prompt tùy chỉnh cho agent phụ (tùy chọn) |
api_key |
chưa đặt | API key tùy chỉnh (mã hóa khi secrets.encrypt = true) |
temperature |
chưa đặt | Temperature tùy chỉnh cho agent phụ |
max_depth |
3 |
Độ sâu đệ quy tối đa cho ủy quyền lồng nhau |
agentic |
false |
Bật chế độ vòng lặp tool-call nhiều lượt cho agent phụ |
allowed_tools |
[] |
Danh sách tool được phép ở chế độ agentic |
max_iterations |
10 |
Số vòng tool-call tối đa cho chế độ agentic |
Lưu ý:
agentic = falsegiữ nguyên hành vi ủy quyền prompt→response đơn lượt.agentic = trueyêu cầu ít nhất một mục khớp trongallowed_tools.- Tool
delegatebị loại khỏi allowlist của agent phụ để tránh vòng lặp ủy quyền.
[agents.researcher]
provider = "openrouter"
model = "anthropic/claude-sonnet-4-6"
system_prompt = "You are a research assistant."
max_depth = 2
agentic = true
allowed_tools = ["web_search", "http_request", "file_read"]
max_iterations = 8
[agents.coder]
provider = "ollama"
model = "qwen2.5-coder:32b"
temperature = 0.2| Khóa | Mặc định | Mục đích |
|---|---|---|
reasoning_enabled |
chưa đặt (None) |
Ghi đè toàn cục cho reasoning/thinking trên provider hỗ trợ |
Lưu ý:
reasoning_enabled = falsetắt tường minh reasoning phía provider cho provider hỗ trợ (hiện tạiollama, qua trườngthink: false).reasoning_enabled = trueyêu cầu reasoning tường minh (think: truetrênollama).- Để trống giữ mặc định của provider.
| Khóa | Mặc định | Mục đích |
|---|---|---|
reasoning_level |
chưa đặt (None) |
Ghi đè mức reasoning cho provider hỗ trợ mức (hiện tại OpenAI Codex /responses) |
Lưu ý:
- Giá trị hỗ trợ:
minimal,low,medium,high,xhigh(không phân biệt hoa/thường). - Khi đặt, ghi đè
ZEROCLAW_CODEX_REASONING_EFFORTcho OpenAI Codex. - Để trống sẽ dùng
ZEROCLAW_CODEX_REASONING_EFFORTnếu có, nếu không mặc địnhxhigh.
| Khóa | Mặc định | Mục đích |
|---|---|---|
open_skills_enabled |
false |
Cho phép tải/đồng bộ kho open-skills cộng đồng |
open_skills_dir |
chưa đặt | Đường dẫn cục bộ cho open-skills (mặc định $HOME/open-skills khi bật) |
Lưu ý:
- Mặc định an toàn: ZeroClaw không clone hay đồng bộ
open-skillstrừ khiopen_skills_enabled = true. - Ghi đè qua biến môi trường:
ZEROCLAW_OPEN_SKILLS_ENABLEDchấp nhận1/0,true/false,yes/no,on/off.ZEROCLAW_OPEN_SKILLS_DIRghi đè đường dẫn kho khi có giá trị.
- Thứ tự ưu tiên:
ZEROCLAW_OPEN_SKILLS_ENABLED→skills.open_skills_enabledtrongconfig.toml→ mặc địnhfalse.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật công cụ OAuth do Composio quản lý |
api_key |
chưa đặt | API key Composio cho tool composio |
entity_id |
default |
user_id mặc định gửi khi gọi connect/execute |
Lưu ý:
- Tương thích ngược:
enable = truekiểu cũ được chấp nhận như bí danh choenabled = true. - Nếu
enabled = falsehoặc thiếuapi_key, toolcomposiokhông được đăng ký. - ZeroClaw yêu cầu Composio v3 tools với
toolkit_versions=latestvà thực thi vớiversion="latest"để tránh bản tool mặc định cũ. - Luồng thông thường: gọi
connect, hoàn tất OAuth trên trình duyệt, rồi chạyexecutecho hành động mong muốn. - Nếu Composio trả lỗi thiếu connected-account, gọi
list_accounts(tùy chọn vớiapp) và truyềnconnected_account_idtrả về choexecute.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật theo dõi chi phí |
daily_limit_usd |
10.00 |
Giới hạn chi tiêu hàng ngày (USD) |
monthly_limit_usd |
100.00 |
Giới hạn chi tiêu hàng tháng (USD) |
warn_at_percent |
80 |
Cảnh báo khi chi tiêu đạt tỷ lệ phần trăm này |
allow_override |
false |
Cho phép vượt ngân sách khi dùng cờ --override |
Lưu ý:
- Khi
enabled = true, runtime theo dõi ước tính chi phí mỗi yêu cầu và áp dụng giới hạn ngày/tháng. - Tại ngưỡng
warn_at_percent, cảnh báo được gửi nhưng yêu cầu vẫn tiếp tục. - Khi đạt giới hạn, yêu cầu bị từ chối trừ khi
allow_override = truevà cờ--overrideđược truyền.
| Khóa | Mặc định | Mục đích |
|---|---|---|
format |
openclaw |
Định dạng danh tính: "openclaw" (mặc định) hoặc "aieos" |
aieos_path |
chưa đặt | Đường dẫn file AIEOS JSON (tương đối với workspace) |
aieos_inline |
chưa đặt | AIEOS JSON nội tuyến (thay thế cho đường dẫn file) |
Lưu ý:
- Dùng
format = "aieos"vớiaieos_pathhoặcaieos_inlineđể tải tài liệu danh tính AIEOS / OpenClaw. - Chỉ nên đặt một trong hai
aieos_pathhoặcaieos_inline;aieos_pathđược ưu tiên.
| Khóa | Mặc định | Mục đích |
|---|---|---|
max_images |
4 |
Số marker ảnh tối đa mỗi yêu cầu |
max_image_size_mb |
5 |
Giới hạn kích thước ảnh trước khi mã hóa base64 |
allow_remote_fetch |
false |
Cho phép tải ảnh từ URL http(s) trong marker |
Lưu ý:
- Runtime chấp nhận marker ảnh trong tin nhắn với cú pháp:
[IMAGE:<source>]. - Nguồn hỗ trợ:
- Đường dẫn file cục bộ (ví dụ
[IMAGE:/tmp/screenshot.png])
- Đường dẫn file cục bộ (ví dụ
- Data URI (ví dụ
[IMAGE:data:image/png;base64,...]) - URL từ xa chỉ khi
allow_remote_fetch = true - Kiểu MIME cho phép:
image/png,image/jpeg,image/webp,image/gif,image/bmp. - Khi provider đang dùng không hỗ trợ vision, yêu cầu thất bại với lỗi capability có cấu trúc (
capability=vision) thay vì bỏ qua ảnh.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật tool browser_open (mở URL trong trình duyệt mặc định hệ thống, không thu thập dữ liệu) |
allowed_domains |
[] |
Tên miền cho phép cho browser_open (khớp chính xác hoặc subdomain) |
session_name |
chưa đặt | Tên phiên trình duyệt (cho tự động hóa agent-browser) |
backend |
agent_browser |
Backend tự động hóa: "agent_browser", "rust_native", "computer_use" hoặc "auto" |
native_headless |
true |
Chế độ headless cho backend rust-native |
native_webdriver_url |
http://127.0.0.1:9515 |
URL endpoint WebDriver cho backend rust-native |
native_chrome_path |
chưa đặt | Đường dẫn Chrome/Chromium tùy chọn cho backend rust-native |
| Khóa | Mặc định | Mục đích |
|---|---|---|
endpoint |
http://127.0.0.1:8787/v1/actions |
Endpoint sidecar cho hành động computer-use (chuột/bàn phím/screenshot cấp OS) |
api_key |
chưa đặt | Bearer token tùy chọn cho sidecar computer-use (mã hóa khi lưu) |
timeout_ms |
15000 |
Thời gian chờ mỗi hành động (mili giây) |
allow_remote_endpoint |
false |
Cho phép endpoint từ xa/công khai cho sidecar |
window_allowlist |
[] |
Danh sách cho phép tiêu đề cửa sổ/tiến trình gửi đến sidecar |
max_coordinate_x |
chưa đặt | Giới hạn trục X cho hành động dựa trên tọa độ (tùy chọn) |
max_coordinate_y |
chưa đặt | Giới hạn trục Y cho hành động dựa trên tọa độ (tùy chọn) |
Lưu ý:
- Khi
backend = "computer_use", agent ủy quyền hành động trình duyệt cho sidecar tạicomputer_use.endpoint. allow_remote_endpoint = false(mặc định) từ chối mọi endpoint không phải loopback để tránh lộ ra ngoài.- Dùng
window_allowlistđể giới hạn cửa sổ OS mà sidecar có thể tương tác.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật tool http_request cho tương tác API |
allowed_domains |
[] |
Tên miền cho phép (khớp chính xác hoặc subdomain) |
max_response_size |
1000000 |
Kích thước response tối đa (byte, mặc định: 1 MB) |
timeout_secs |
30 |
Thời gian chờ yêu cầu (giây) |
Lưu ý:
- Mặc định từ chối tất cả: nếu
allowed_domainsrỗng, mọi yêu cầu HTTP bị từ chối. - Dùng khớp tên miền chính xác hoặc subdomain (ví dụ
"api.example.com","example.com").
| Khóa | Mặc định | Mục đích |
|---|---|---|
host |
127.0.0.1 |
Địa chỉ bind |
port |
3000 |
Cổng lắng nghe gateway |
require_pairing |
true |
Yêu cầu ghép nối trước khi xác thực bearer |
allow_public_bind |
false |
Chặn lộ public do vô ý |
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật endpoint scaffold node-control (POST /api/node-control) |
auth_token |
null |
Shared token bổ sung, kiểm qua header X-Node-Control-Token |
allowed_node_ids |
[] |
Allowlist cho node.describe/node.invoke ([] = chấp nhận mọi node) |
| Khóa | Mặc định | Mục đích |
|---|---|---|
level |
supervised |
read_only, supervised hoặc full |
workspace_only |
true |
Giới hạn ghi/lệnh trong phạm vi workspace |
allowed_commands |
bắt buộc để chạy shell | Danh sách lệnh được phép |
forbidden_paths |
[] |
Danh sách đường dẫn bị cấm |
max_actions_per_hour |
100 |
Ngân sách hành động mỗi giờ |
max_cost_per_day_cents |
1000 |
Giới hạn chi tiêu mỗi ngày (cent) |
require_approval_for_medium_risk |
true |
Yêu cầu phê duyệt cho lệnh rủi ro trung bình |
block_high_risk_commands |
true |
Chặn cứng lệnh rủi ro cao |
auto_approve |
[] |
Thao tác tool luôn được tự động phê duyệt |
always_ask |
[] |
Thao tác tool luôn yêu cầu phê duyệt |
Lưu ý:
level = "full"bỏ qua phê duyệt rủi ro trung bình cho shell execution, nhưng vẫn áp dụng guardrail đã cấu hình.- Phân tích toán tử/dấu phân cách shell nhận biết dấu ngoặc kép. Ký tự như
;trong đối số được trích dẫn được xử lý là ký tự, không phải dấu phân cách lệnh. - Toán tử chuỗi shell không trích dẫn vẫn được kiểm tra bởi policy (
;,|,&&,||, chạy nền và chuyển hướng).
| Khóa | Mặc định | Mục đích |
|---|---|---|
backend |
sqlite |
sqlite, lucid, markdown, none |
auto_save |
true |
Chỉ lưu đầu vào người dùng (đầu ra assistant bị loại) |
embedding_provider |
none |
none, openai hoặc endpoint tùy chỉnh |
embedding_model |
text-embedding-3-small |
ID model embedding, hoặc tuyến hint:<name> |
embedding_dimensions |
1536 |
Kích thước vector mong đợi cho model embedding đã chọn |
vector_weight |
0.7 |
Trọng số vector trong xếp hạng kết hợp |
keyword_weight |
0.3 |
Trọng số từ khóa trong xếp hạng kết hợp |
Lưu ý:
- Chèn ngữ cảnh memory bỏ qua khóa auto-save
assistant_resp*kiểu cũ để tránh tóm tắt do model tạo bị coi là sự thật.
Route hint giúp tên tích hợp ổn định khi model ID thay đổi.
| Khóa | Mặc định | Mục đích |
|---|---|---|
hint |
bắt buộc | Tên hint tác vụ (ví dụ "reasoning", "fast", "code", "summarize") |
provider |
bắt buộc | Provider đích (phải khớp tên provider đã biết) |
model |
bắt buộc | Model sử dụng với provider đó |
api_key |
chưa đặt | API key tùy chỉnh cho provider của route này (tùy chọn) |
| Khóa | Mặc định | Mục đích |
|---|---|---|
hint |
bắt buộc | Tên route hint (ví dụ "semantic", "archive", "faq") |
provider |
bắt buộc | Embedding provider ("none", "openai" hoặc "custom:<url>") |
model |
bắt buộc | Model embedding sử dụng với provider đó |
dimensions |
chưa đặt | Ghi đè kích thước embedding cho route này (tùy chọn) |
api_key |
chưa đặt | API key tùy chỉnh cho provider của route này (tùy chọn) |
[memory]
embedding_model = "hint:semantic"
[[model_routes]]
hint = "reasoning"
provider = "openrouter"
model = "provider/model-id"
[[embedding_routes]]
hint = "semantic"
provider = "openai"
model = "text-embedding-3-small"
dimensions = 1536Chiến lược nâng cấp:
- Giữ hint ổn định (
hint:reasoning,hint:semantic). - Chỉ cập nhật
model = "...phiên-bản-mới..."trong mục route. - Kiểm tra bằng
zeroclaw doctortrước khi khởi động lại/triển khai.
Tự động định tuyến tin nhắn đến hint [[model_routes]] theo mẫu nội dung.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật phân loại truy vấn tự động |
rules |
[] |
Quy tắc phân loại (đánh giá theo thứ tự ưu tiên) |
Mỗi rule trong rules:
| Khóa | Mặc định | Mục đích |
|---|---|---|
hint |
bắt buộc | Phải khớp giá trị hint trong [[model_routes]] |
keywords |
[] |
Khớp chuỗi con không phân biệt hoa thường |
patterns |
[] |
Khớp chuỗi chính xác phân biệt hoa thường (cho code fence, từ khóa như "fn ") |
min_length |
chưa đặt | Chỉ khớp nếu độ dài tin nhắn ≥ N ký tự |
max_length |
chưa đặt | Chỉ khớp nếu độ dài tin nhắn ≤ N ký tự |
priority |
0 |
Rule ưu tiên cao hơn được kiểm tra trước |
[query_classification]
enabled = true
[[query_classification.rules]]
hint = "reasoning"
keywords = ["explain", "analyze", "why"]
min_length = 200
priority = 10
[[query_classification.rules]]
hint = "fast"
keywords = ["hi", "hello", "thanks"]
max_length = 50
priority = 5Cấu hình kênh cấp cao nằm dưới channels_config.
| Khóa | Mặc định | Mục đích |
|---|---|---|
message_timeout_secs |
300 |
Thời gian chờ cơ bản (giây) cho xử lý tin nhắn kênh; runtime tự điều chỉnh theo độ sâu tool-loop (lên đến 4x) |
Ví dụ:
[channels_config.telegram][channels_config.discord][channels_config.whatsapp][channels_config.email]
Lưu ý:
- Mặc định
300stối ưu cho LLM chạy cục bộ (Ollama) vốn chậm hơn cloud API. - Ngân sách timeout runtime là
message_timeout_secs * scale, trong đóscale = min(max_tool_iterations, 4)và tối thiểu1. - Việc điều chỉnh này tránh timeout sai khi lượt LLM đầu chậm/retry nhưng các lượt tool-loop sau vẫn cần hoàn tất.
- Nếu dùng cloud API (OpenAI, Anthropic, v.v.), có thể giảm xuống
60hoặc thấp hơn. - Giá trị dưới
30bị giới hạn thành30để tránh timeout liên tục. - Khi timeout xảy ra, người dùng nhận:
⚠️ Request timed out while waiting for the model. Please try again. - Hành vi ngắt chỉ Telegram được điều khiển bằng
channels_config.telegram.interrupt_on_new_message(mặc địnhfalse). Khi bật, tin nhắn mới từ cùng người gửi trong cùng chat sẽ hủy yêu cầu đang xử lý và giữ ngữ cảnh người dùng bị ngắt. - Khi
zeroclaw channel startđang chạy, thay đổidefault_provider,default_model,default_temperature,api_key,api_urlvàreliability.*được áp dụng nóng từconfig.tomlở tin nhắn tiếp theo.
Xem ma trận kênh và hành vi allowlist chi tiết tại channels-reference.md.
WhatsApp hỗ trợ hai backend dưới cùng một bảng config.
Chế độ Cloud API (webhook Meta):
| Khóa | Bắt buộc | Mục đích |
|---|---|---|
access_token |
Có | Bearer token Meta Cloud API |
phone_number_id |
Có | ID số điện thoại Meta |
verify_token |
Có | Token xác minh webhook |
app_secret |
Tùy chọn | Bật xác minh chữ ký webhook (X-Hub-Signature-256) |
allowed_numbers |
Khuyến nghị | Số điện thoại cho phép gửi đến ([] = từ chối tất cả, "*" = cho phép tất cả) |
Chế độ WhatsApp Web (client gốc):
| Khóa | Bắt buộc | Mục đích |
|---|---|---|
session_path |
Có | Đường dẫn phiên SQLite lưu trữ lâu dài |
pair_phone |
Tùy chọn | Số điện thoại cho luồng pair-code (chỉ chữ số) |
pair_code |
Tùy chọn | Mã pair tùy chỉnh (nếu không sẽ tự tạo) |
allowed_numbers |
Khuyến nghị | Số điện thoại cho phép gửi đến ([] = từ chối tất cả, "*" = cho phép tất cả) |
Lưu ý:
- WhatsApp Web yêu cầu build flag
whatsapp-web. - Nếu cả Cloud lẫn Web đều có cấu hình, Cloud được ưu tiên để tương thích ngược.
Cấu hình truy cập phần cứng vật lý (STM32, probe, serial).
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật truy cập phần cứng |
transport |
none |
Chế độ truyền: "none", "native", "serial" hoặc "probe" |
serial_port |
chưa đặt | Đường dẫn cổng serial (ví dụ "/dev/ttyACM0") |
baud_rate |
115200 |
Tốc độ baud serial |
probe_target |
chưa đặt | Chip đích cho probe (ví dụ "STM32F401RE") |
workspace_datasheets |
false |
Bật RAG datasheet workspace (đánh chỉ mục PDF schematic để AI tra cứu chân) |
Lưu ý:
- Dùng
transport = "serial"vớiserial_portcho kết nối USB-serial. - Dùng
transport = "probe"vớiprobe_targetcho nạp qua debug-probe (ví dụ ST-Link). - Xem hardware-peripherals-design.md để biết chi tiết giao thức.
Bo mạch ngoại vi trở thành tool agent khi được bật.
| Khóa | Mặc định | Mục đích |
|---|---|---|
enabled |
false |
Bật hỗ trợ ngoại vi (bo mạch trở thành tool agent) |
boards |
[] |
Danh sách cấu hình bo mạch |
datasheet_dir |
chưa đặt | Đường dẫn tài liệu datasheet (tương đối workspace) cho RAG |
Mỗi mục trong boards:
| Khóa | Mặc định | Mục đích |
|---|---|---|
board |
bắt buộc | Loại bo mạch: "nucleo-f401re", "rpi-gpio", "esp32", v.v. |
transport |
serial |
Kiểu truyền: "serial", "native", "websocket" |
path |
chưa đặt | Đường dẫn serial: "/dev/ttyACM0", "/dev/ttyUSB0" |
baud |
115200 |
Tốc độ baud cho serial |
[peripherals]
enabled = true
datasheet_dir = "docs/datasheets"
[[peripherals.boards]]
board = "nucleo-f401re"
transport = "serial"
path = "/dev/ttyACM0"
baud = 115200
[[peripherals.boards]]
board = "rpi-gpio"
transport = "native"Lưu ý:
- Đặt file
.md/.txtdatasheet đặt tên theo bo mạch (ví dụnucleo-f401re.md,rpi-gpio.md) trongdatasheet_dircho RAG. - Xem hardware-peripherals-design.md để biết giao thức bo mạch và ghi chú firmware.
- Allowlist kênh mặc định từ chối tất cả (
[]nghĩa là từ chối tất cả) - Gateway mặc định yêu cầu ghép nối
- Mặc định chặn public bind
security.canary_tokens = truebật canary token theo từng lượt để phát hiện rò rỉ ngữ cảnh hệ thốngsecurity.semantic_guard = falsemặc định tắt lớp phát hiện prompt-injection theo ngữ nghĩa (VectorDB)security.semantic_guard_collection = "semantic_guard"là collection Qdrant mặc định cho tập corpus guardsecurity.semantic_guard_threshold = 0.82là ngưỡng similarity mặc định để chặn
Sau khi chỉnh config:
zeroclaw status
zeroclaw doctor
zeroclaw channel doctor
zeroclaw service restart