ctx.ai
Trong RunJS, ctx.ai dùng để kích hoạt tác vụ nhân viên AI. API này phù hợp với JSBlock, JSAction và các tương tác nơi nút bấm, biểu mẫu hoặc quy trình nghiệp vụ cần giao việc cho một nhân viên AI cụ thể.
ctx.ai chỉ kích hoạt tác vụ. Nó không trả về kết quả thực thi của tác vụ. Sau khi gọi, tác vụ sẽ đi vào luồng hội thoại của nhân viên AI.
ctx.ai được cung cấp bởi plugin AI. Nếu plugin AI chưa được bật, hoặc môi trường RunJS hiện tại chưa tải năng lực client tương ứng, ctx.ai có thể không tồn tại. Bạn có thể kiểm tra ctx.ai?.triggerTask hoặc ctx.ai?.triggerModelTask trước khi gọi.
Phương thức
ctx.ai.triggerTask()
Kích hoạt trực tiếp một tác vụ nhân viên AI.
Các trường thường dùng của Task:
Thêm ngữ cảnh khối trang
message.workContext hiện dùng để truyền khối trang. Hãy đặt uid FlowModel của khối đích vào đây:
Nếu muốn dùng chính JSBlock hiện tại làm ngữ cảnh, dùng uid của model hiện tại:
Chỉ định model
model chỉ định model cho một tác vụ. Nếu bỏ qua, cấu hình model mặc định của nhân viên AI s ẽ được dùng. Truyền null nghĩa là không chỉ định model ở cấp tác vụ.
Cấu hình skills / tools
skillSettings chỉ định skills và tools khả dụng cho một tác vụ. Nếu bỏ qua, cấu hình năng lực của nhân viên AI sẽ được dùng.
Để tắt rõ ràng toàn bộ skills hoặc tools của tác vụ này, truyền mảng rỗng và giữ lại các trường version:
Ví dụ:
Nếu aiEmployee là chuỗi, NocoBase sẽ khớp chính xác theo username trong các nhân viên AI mà người dùng hiện tại có thể truy cập.
ctx.ai.triggerModelTask()
Đọc một tác vụ từ model hành động nhân viên AI trên trang và kích hoạt nó.
Nếu model đích không tồn tại, chưa cấu hình nhân viên AI, hoặc chỉ số chỉ tới tác vụ không tồn tại, tác vụ sẽ không được kích hoạt và console sẽ có cảnh báo.
Lưu ý
triggerTask()vàtriggerModelTask()là fire-and-forget. Chúng không trả về kết quả thực thi tác vụ.- Chuỗi
aiEmployeechỉ khớp chính xác vớiAIEmployee.username. triggerModelTask()dùngtaskIndexbắt đầu từ0.message.workContexthiện chỉ mô tả ngữ cảnh khối trang.
Liên quan
- ctx.message: Hiển thị thông báo nhẹ trước và sau khi kích hoạt tác vụ.
- ctx.render: Render nút hoặc biểu mẫu trong JSBlock.
- ctx.model: Lấy thông tin FlowModel hiện tại.

