running_the_code/03_runtime.mdXem bản gốc Bản dịch đầy đủ theo đúng cấu trúc tài liệu; code, liên kết và định danh kỹ thuật được giữ nguyên.
runtime headless — decode run, độ bền và phát lại
REPL cần bạn ngồi trên bàn phím. decode run không: nó chạy một nhiệm vụ để hoàn thành mà không cần giám sát và in câu trả lời trên thiết bị xuất chuẩn (làm sạch đường ống). Cùng một agent, khác tài xế — một Kitaru dòng bền bỉ kiểm tra mọi lệnh gọi mô hình và công cụ, do đó, một lần chạy tốn kém sẽ tồn tại sau sự cố và tiếp tục thay vì thanh toán lại cho công việc đã hoàn thành (ADR-0008).
Điều kiện tiên quyết: thiết lập cốt lõi từ 01_install_and_usage.md. Không có gì khác — ngăn xếp Kitaru cục bộ chạy ngoại tuyến, không cần máy chủ.
Chạy một tác vụ
decode run "list the python files under src and summarize what the cli module does"
- Bỏ qua theo mặc định — mọi công cụ đều chạy mà không có lời nhắc phê duyệt.
decode run --hitlthay vào đó tạm dừng toàn bộ quá trình thực hiện trên Kitaru bền bỉ chờ đợiwrite/edit/bash/ask_user; giải quyết từ terminal khác vớikitaru executions input <exec_id> --wait <name> --value 'true'. - Ngăn xếp cục bộ ngoại tuyến — không có máy chủ Kitaru hoặc
kitaru initcần thiết. Kiểm tra các lần chạy vớikitaru executions list/get <id>/logs <id>;kitaru loginbắt đầu bảng điều khiển web cục bộ tùy chọn tạihttp://127.0.0.1:8383(kitaru logoutquay trở lại cơ sở dữ liệu cục bộ không có máy chủ nếu daemon bị treo). - Guards — trình bảo vệ khóa nhà cung cấp tương tự như REPL;
RUNTIME_ENABLED=falsevô hiệu hóa lệnh phụ bằng một dòng thân thiện.
Phát lại & điều gì sẽ xảy ra nếu
Mỗi decode run ghi lại một điểm kiểm tra cho mỗi lệnh gọi mô hình và mỗi lệnh gọi công cụ, do đó bạn có thể chạy lại mọi hoạt động thực thi đã ghi từ bất kỳ điểm cố định nào có mô hình được hoán đổi và xem điều gì sẽ xảy ra (ADR-0010):
decode run "…" # stderr prints exec_id + a replay hint
kitaru executions get <ID> # list the checkpoint anchors
decode replay <ID> --from decode_runtime_model_request --model gemini-2.5-pro
Thượng nguồn của --from phục vụ từ bộ đệm của lần chạy ban đầu; neo và xuôi dòng thực hiện lại thực tế. Cái nĩa mới exec_id in trên stderr - so sánh fork với bản gốc với kitaru executions get. --from được yêu cầu; một câu hỏi giả định đáng tin cậy chạy lại đường cơ sở trước (không --model) và phân biệt ngã ba với điều đó. decode replay chỉ ở chế độ bỏ qua (HITL phát lại, hỏi lại mỗi lần chờ - sử dụng kitaru executions replay).
Khắc phục sự cố
macOS: máy chủ Kitaru cục bộ gặp sự cố khi đang chạy
Một cuộc chạy bắt đầu tốt đẹp, sau đó tràn ngập RemoteDisconnected / Connection refused trên 127.0.0.1:8383: daemon máy chủ đã chết do hủy bỏ an toàn ngã ba ObjC của Apple — nhật ký của nó (~/Library/Application Support/kitaru/zen_server/daemon/service.log) kết thúc bằng objc[…]: … fork() was called … Crashing instead. Khắc phục một trong hai cách:
uv run kitaru logout # simplest: no daemon, no crash
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES uv run kitaru login # or keep the dashboard
Thích hơn logout trừ khi bạn thực sự muốn có bảng điều khiển web — decode run, kitaru executionsvà kitaru secrets tất cả đều hoạt động dựa trên cơ sở dữ liệu cục bộ không có máy chủ. Xác nhận với kitaru info: Local server: registered but unavailable có nghĩa là đăng ký cũ vẫn đang trỏ vào daemon đã chết.
Đi xa hơn
- Chạy headless bên trong sandbox và trên bất kỳ repo nào: 04_sandboxing.md (
SANDBOX_MODE=docker decode run --repo <url> "<task>"). - Chạy headless trên đám mây — toàn bộ agent trên Modal, điểm kiểm tra trên máy chủ tự lưu trữ: 07_infra.md.
- Hydrat hóa các bí mật của cuộc chạy từ Thùng môi trường thay vì
.env: 06_credentials.md.