Phê duyệt lệnh gọi công cụ
Chọn lệnh gọi công cụ nào tự chạy, chờ người duyệt hay không bao giờ chạy, trong trò chuyện và tác vụ định kỳ.
Công cụ làm thay đổi dữ liệu bên ngoài cuộc trò chuyện, như gửi email hay chạy lệnh trên máy chủ, sẽ chờ người dùng duyệt đúng lệnh gọi đó rồi mới chạy. Quy tắc phê duyệt giúp người dùng bỏ qua câu hỏi với những lệnh gọi họ tin tưởng, và giúp chủ trợ lý cho phép, bắt hỏi trước hoặc chặn lệnh gọi cho mọi người.
Lệnh gọi nào hỏi trước
Khi không có quy tắc, trợ lý quyết định dựa trên những gì từng công cụ khai báo:
| Công cụ | Làm gì | Khi không có quy tắc |
|---|---|---|
| Công cụ tích hợp sẵn | Kho kiến thức, bộ nhớ, web, ảnh… | Tự chạy. Quy tắc không áp dụng cho chúng |
| Công cụ chỉ đọc | Công cụ MCP có readOnlyHint, hoặc công cụ API tùy chỉnh dùng GET | Tự chạy |
| Công cụ ghi | Mọi trường hợp còn lại, gồm công cụ MCP không khai báo gì và công cụ API tùy chỉnh dùng POST, PUT hoặc PATCH | Hỏi trước |
| Công cụ xoá | Công cụ MCP có destructiveHint, hoặc công cụ API tùy chỉnh dùng DELETE | Hỏi trước, mỗi lần |
Công cụ MCP được đánh giá theo gợi ý nó khai báo ở lần bạn duyệt công cụ gần nhất bằng Làm mới công cụ, không theo những gì máy chủ báo sau đó. Xem MCP Server và MCP Endpoint.
Duyệt lệnh gọi trong trò chuyện
Khi trợ lý cần một lệnh gọi phải hỏi trước, khung chat của Ứng dụng Web hiện thẻ Cần bạn duyệt với tên công cụ, ứng dụng và tham số (hoặc dòng lệnh, với công cụ chạy lệnh shell). Lượt trả lời dừng lại cho tới khi bạn chọn:
- Duyệt và chạy chạy đúng lệnh gọi đó một lần. Sau đó trợ lý tiếp tục với kết quả.
- Từ chối không chạy lệnh gọi. Trợ lý tiếp tục và biết bạn đã từ chối.
Để lần sau không bị hỏi, đánh dấu ô trên thẻ trước khi bấm Duyệt và chạy:
| Công cụ | Ô trên thẻ | Từ đó về sau được phép |
|---|---|---|
| Công cụ ghi | Không hỏi lại với … trên trợ lý này | Mọi lệnh gọi của công cụ đó |
| Công cụ chạy lệnh shell | Không hỏi lại trên trợ lý này với lệnh bắt đầu bằng … | Các lệnh bắt đầu bằng những từ hiển thị, ví dụ git status, không phải cả công cụ |
| Công cụ xoá | Không có | Không gì cả. Công cụ hỏi mỗi lần |
Ô này cũng không hiện khi chủ trợ lý đã đặt Hỏi hoặc Chặn cho mọi lệnh gọi của công cụ đó.
Thẻ chờ quá lâu sẽ hết hạn: sau 24 giờ, hoặc ngay khi bạn gửi tin nhắn mới trong cuộc trò chuyện đó. Hãy yêu cầu lại nếu bạn vẫn cần.
Quy tắc bạn đã lưu
Quy tắc bạn lưu từ thẻ là của riêng bạn, chỉ trên trợ lý đó. Chúng áp dụng cho các cuộc trò chuyện và tác vụ định kỳ của bạn.
Để xem hoặc gỡ, mở Cài đặt → Phê duyệt trong Ứng dụng Web. Mục Được chạy không cần hỏi liệt kê quy tắc của bạn; bấm Gỡ để được hỏi lại. Quy tắc chủ trợ lý đặt cho mọi người nằm ở mục Do chủ trợ lý đặt; bạn không sửa được.
Quy tắc cho mọi người
Chủ trợ lý đặt quy tắc áp dụng cho mọi người dùng trợ lý.
Điều kiện: vai trò Chủ sở hữu trợ lý. Quản trị viên trợ lý xem được quy tắc nhưng không sửa được.
- Mở Admin Panel và chọn trợ lý.
- Vào Phê duyệt.
- Ở mục Quy tắc cho mọi người, bấm Thêm quy tắc.
- Chọn Công cụ. Danh sách gồm công cụ API tùy chỉnh, công cụ của máy chủ MCP và công cụ MCP Endpoint; công cụ tích hợp sẵn luôn tự chạy.
- Ở Áp dụng cho, chọn Mọi lệnh gọi, hoặc với công cụ chạy lệnh shell, chọn Lệnh bắt đầu bằng… rồi nhập Tiền tố lệnh, ví dụ
git status. - Ở Điều sẽ xảy ra, chọn một:
- Cho phép: chạy không cần hỏi.
- Hỏi: chờ người dùng duyệt.
- Chặn: không bao giờ chạy; trợ lý báo là bị chặn.
- Bấm Thêm quy tắc.
Khi nhiều quy tắc cùng khớp một lệnh gọi, Chặn thắng Hỏi, Hỏi thắng Cho phép. Người dùng chỉ lưu được quy tắc Cho phép, nên không bao giờ vượt qua quy tắc Hỏi hoặc Chặn của bạn.
Thẻ Người dùng đã lưu liệt kê các quy tắc người dùng lưu từ thẻ phê duyệt, kèm tên người lưu. Bấm Thu hồi để người đó được hỏi lại.
Chọn Cho phép với Mọi lệnh gọi cho công cụ xoá nghĩa là trợ lý có thể xoá hoặc thay đổi dữ liệu mà không hỏi ai. Hãy dùng tiền tố lệnh, hoặc để ở Hỏi.
Quy tắc cho lệnh shell
Công cụ chạy lệnh shell có thể được khớp theo từng lệnh thay vì cả công cụ. Cách này áp dụng cho công cụ MCP Endpoint khai báo tên tham số chứa dòng lệnh trong _meta.assistant_platform.shell_argument, ví dụ công cụ bash của mcp-bash.
- Tiền tố khớp theo từ đầy đủ:
gitkhớpgit log, không khớpgitk. - Dòng có nhiều lệnh, ví dụ
git status && rm -rf x, chỉ chạy không cần hỏi khi mọi lệnh trong đó đều được cho phép. - Dòng có
$(…), backtick, chuyển hướng, gán biến hoặc nhiều dòng không bao giờ được cho phép bằng quy tắc tiền tố. - Lệnh chạy lệnh khác (
sudo,bash -c,xargs,env,ssh,python,node,find…) chỉ đặt được Hỏi hoặc Chặn, không bao giờ được cho phép theo tiền tố.
Nếu bạn tự viết công cụ như vậy, hãy khai báo shell_argument (một tham số kiểu chuỗi, ví dụ "command"), rồi bấm Làm mới trên trang MCP để Assistant Core nhận định nghĩa mới.
Nơi không ai duyệt được
Trên Widget web, API cho nhà phát triển, giọng nói và kênh nhắn tin, không có thẻ phê duyệt:
| Lệnh gọi | Điều xảy ra |
|---|---|
| Công cụ xoá | Không được cung cấp cho trợ lý |
| Công cụ ghi không có quy tắc | Tự chạy |
| Lệnh gọi có quy tắc Hỏi hoặc Chặn | Bị từ chối. Trợ lý báo người dùng chạy lệnh đó từ khung chat của Ứng dụng Web |
| Công cụ chỉ đọc hoặc tích hợp sẵn | Tự chạy |
Để giữ một công cụ ghi khỏi các kênh này, hãy giới hạn nơi dùng công cụ: xem Chọn nơi dùng từng công cụ.
Tác vụ định kỳ
Tác vụ định kỳ chạy khi không có ai theo dõi, nên không dừng lại chờ duyệt:
- Lệnh gọi lẽ ra phải hỏi trong chat được lưu lại và lần chạy tiếp tục mà không có chúng. Tác vụ hiện Cần bạn xử lý, và các lệnh gọi chờ bạn duyệt hoặc từ chối trong cuộc trò chuyện của tác vụ.
- Trong tác vụ, công cụ web tích hợp sẵn cũng chờ duyệt trước khi mở một URL do trợ lý tự chọn.
- Quy tắc bạn đã lưu và quy tắc của chủ trợ lý áp dụng như trong chat, nên lệnh gọi bạn đã cho phép sẽ chạy luôn.
- Lệnh gọi đang chờ hết hạn sau 24 giờ, hoặc khi tác vụ chạy lần tiếp theo hay bạn gửi tin nhắn mới trong cuộc trò chuyện của tác vụ.
Xử lý sự cố
Cập nhật lần cuối