Dùng đại lý lập trình đã cài làm mô hình chat
Nếu đại lý đã đăng nhập trên máy Libre WebUI, bạn có thể dùng trong chat thường. Libre WebUI tìm CLI trong PATH.
Phát hiện
Ở mỗi yêu cầu danh sách mô hình, Libre WebUI tìm các lệnh sau trong PATH của server:
| Mô hình | Lệnh | Nhà cung cấp |
|---|---|---|
| Claude Code | claude | Anthropic |
| Codex | codex | OpenAI |
| Kiro | kiro-cli | AWS |
| Muse Code | muse | Meta |
| OpenCode | opencode | SST |
| Pi | pi | Mario Zechner |
Các mục xuất hiện trong Tác nhân.
Cài đặt → Chat → Mặc định cũng nhận diện các mục này là Tác nhân, gồm Strands khi tài khoản của bạn được phép dùng. Mô hình plugin giữ tên nhà cung cấp; chỉ mô hình Ollama gắn nhãn Ollama. Tắt Ollama không ẩn tác nhân hay plugin đã cấu hình. Thẻ mô hình hiển thị tên và nhà cung cấp, cùng kích thước, họ và định dạng chỉ khi danh mục cung cấp.
Chọn mô hình
Mỗi CLI có thể cung cấp nhiều mục trong nhóm Tác nhân:
- Claude: mặc định, Sonnet, Opus, Haiku
Ngoài ra còn có các lựa chọn rõ ràng Sonnet 5.5 (
claude-sonnet-5-5), Opus 5.5 (claude-opus-5-5) và Haiku 5.5 (claude-haiku-5-5). Sonnet 5.5 yêu cầu Claude Code 2.1.284 trở lên, Opus 5.5 yêu cầu Claude Code 2.1.280 trở lên, và Haiku 5.5 yêu cầu Claude Code 2.1.293 trở lên, tất cả đều cần quyền truy cập của tài khoản đã đăng nhập; chạyclaude updateđể cập nhật CLI. Các bí danh Sonnet, Opus và Haiku hiện có tiếp tục dùng ánh xạ mô hình hiện tại của CLI. - Codex: GPT-6 Astra, GPT-6.1 Sol (
gpt-6.1-sol), GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, Terra, Luna, GPT-5.5, GPT-5.3 Codex Spark (tùy đăng nhập CLI và quyền của tài khoản) - Kiro: các mô hình mà tài khoản đã đăng nhập có thể dùng (từ
kiro-cli chat --list-models) cùng mặc định đã cấu hình. Mỗi lượt chạy không tương tác trên engine tác tử V3 của CLI với tác tử mặc định tích hợp (vibe) được ghim, nênchat.defaultAgenttùy chỉnh không áp dụng. Yêu cầu Kiro CLI 2.27 trở lên. - Muse Code: mặc định đã cấu hình cùng Muse Spark 1.3 (
muse-spark-1.3), Muse Spark 1.3 Contributor (muse-spark-1.3-contributor) và Muse Wonder 1.0 (muse-wonder-1.0). Đăng nhập bằngmuse login(tài khoản Meta) hoặc khóa Meta Model API từMETA_API_KEYhaymuse auth set. Các mô hình Contributor được tính phí ở mức thấp hơn vì Meta có thể huấn luyện trên những gì bạn gửi cho chúng. - Pi: mô hình CLI
- OpenCode:
opencode models
Bộ máy Strands tích hợp cũng xuất hiện trong nhóm Tác nhân khi tài khoản của bạn được phép dùng. Đây không phải CLI: bộ máy chạy bên trong backend và điều khiển các mô hình Ollama và plugin nhà cung cấp của bạn. Mục Strands đơn giản (strands) dùng mô hình chat mặc định của bạn. Các mục còn lại (strands:<route>) liệt kê từng mô hình khả dụng, như Strands · gpt-5.6-sol (Codex (ChatGPT)), và ghim cả mô hình lẫn nhà cung cấp của nó cho hội thoại đó; nhà cung cấp khả dụng khác không thể thay thế khi bị gián đoạn. Việc liệt kê lựa chọn không khởi động bộ máy.
Các mục Strands này cũng dùng được làm mô hình tác vụ tại Cài đặt → Chat → Mặc định cho tiêu đề tự động và tóm tắt suy nghĩ. Dùng mô hình đang chạy dùng lựa chọn Strands đã lưu của hội thoại. Các yêu cầu văn bản ngắn này gọi trực tiếp mô hình nhà cung cấp bên dưới; chúng không chạy công cụ của tác tử và không tạo phiên tác tử. Các profile CLI khác cần mô hình tác vụ Ollama, plugin hoặc Strands cho các yêu cầu phụ này.
Pi chạy không trạng thái (--no-session) và không dùng công cụ cục bộ.
Kiro thì ngược lại ở cả hai điểm: nó chạy với cấu hình Kiro của người dùng server. Tác tử mặc định tích hợp được ghim, nhưng quy tắc quyền (~/.kiro/settings/permissions.yaml), máy chủ MCP và mô hình mặc định đã cấu hình vẫn áp dụng, và mỗi lượt được lưu thành một phiên mới trong kho phiên Kiro của người dùng đó (kiro-cli chat --list-sessions hiển thị phiên này, kèm bản ghi chat gần đây bên trong). Không có cờ nào để tắt việc này, nên nội dung chat cũng nằm trong thư mục home của người dùng backend, bên ngoài cơ sở dữ liệu Libre WebUI. Công cụ của Kiro vẫn bật: những gì các quy tắc quyền đó tin cậy (mặc định là thao tác đọc và lệnh chỉ đọc như date) chạy mà không hỏi, và mọi lệnh gọi công cụ cần phê duyệt đều bị từ chối, vì một lượt chat không thể trả lời lời nhắc.
Muse Code đọc prompt từ một tệp riêng tư và chạy headless với phê duyệt tắt (--approval-mode never), vì một lượt chat không thể trả lời lời nhắc phê duyệt. Sandbox riêng của nó vẫn bật, và mỗi lượt nhận một workspace tạm sẽ bị xóa sau đó, nên các thao tác ghi tệp của nó không thể rơi vào thư mục home của người dùng server. Các lượt không được lưu trong nhật ký phiên của Muse (--no-session-log), nhưng cài đặt, quy tắc và mô hình mặc định Muse của người dùng server vẫn áp dụng.
Sử dụng
- Đăng nhập quản trị viên.
- Mở bộ chọn mô hình.
- Chọn Tác nhân.
- Gửi tin nhắn.
Hội thoại được lưu như chat thông thường; bạn có thể rời đi, quay lại, đổi tên và tìm trong bảng lệnh. Mỗi lượt gửi phần hội thoại gần đây cho tác nhân rồi truyền phản hồi về.
Quyền truy cập
Tính năng chỉ dành cho quản trị viên, có lý do quan trọng. Tác nhân chạy trên host dưới cùng người dùng hệ điều hành với backend Libre WebUI, không phải container Work. Nó thừa hưởng thông tin xác thực và quyền truy cập thông thường, kể cả đọc tệp và chạy lệnh trên server nếu lựa chọn làm vậy.
Hãy coi bật tính năng như cấp quyền shell cho tác nhân. Vì thế nó tắt khi cài; quản trị viên phải bật ở Cài đặt → Quản lý người dùng → Quyền truy cập và chính sách → Mô hình tác tử CLI. Lựa chọn được lưu và áp dụng ngay, không khởi động lại.
Thay đổi mục này sẽ làm mới danh mục mô hình ngay; nhóm Tác nhân chứa các mục CLI trực tiếp, còn Mô hình plugin chứa các tích hợp API nhà cung cấp như Codex (ChatGPT). Strands nằm trong cùng nhóm nhưng tuân theo cài đặt truy cập Công cụ Strands riêng, không theo công tắc này, nên có thể xuất hiện khi mô hình tác tử CLI đang tắt. Việc khám phá mô hình của nó không thể chặn việc phát hiện các tác tử CLI đã cài.
Bản cài hiện có kế thừa lựa chọn Tác nhân đã lưu trước đó cho đến khi lưu cài đặt CLI riêng.
Giá trị có thể được khóa thành false hoặc true ở cấp triển khai.
AGENT_CLI_MODELS_ENABLED=false # or true
Dùng Work để cách ly tệp.
Các tác tử tương tự trong Work
Work cung cấp cùng các tác tử với cùng lựa chọn mô hình và cùng thông tin đăng nhập, nhưng chạy chúng bên trong sandbox của tác vụ thay vì trên host, phía sau một egress proxy giữ token thật bên ngoài sandbox. Chúng có chế độ truy cập riêng, CLI tác tử trong Work, và không cần công tắc ở trên. Xem CLI tác tử trong Work.
Theo dõi mức sử dụng
Mở Mức sử dụng nhà cung cấp (/usage) và tìm Tác nhân gần đầu trang. Claude Code, Codex, Kiro, Muse Code, OpenCode, Pi và Strands có mục rõ ràng, kể cả thông báo khi kỳ chọn không có lượt gọi đã ghi.
CLI gọi qua LWUI ghi kết quả, thời lượng và token báo cáo. Mỗi invocation tạo một sự kiện; snapshot lặp và báo cáo từng bước không tạo sự kiện hoặc token trùng. Bộ đếm thiếu vẫn chưa báo cáo. Dừng phản hồi ghi nhận hủy; CLI thoát lỗi không thành thành công chỉ vì đã tạo văn bản một phần. Lượt gọi ngoài LWUI không được nhập.
Các lệnh gọi Strands được ghi nhận cho tác tử Strands. Xem Mức sử dụng tác nhân về phân tách và giới hạn.
Cấu hình
| Biến | Mặc định | Mục đích |
|---|---|---|
AGENT_CLI_MODELS_ENABLED | chưa đặt | Bật/tắt |
AGENT_CLI_TIMEOUT_MS | 600000 | Thời gian tối đa |
Khắc phục
Không có nhóm Tác nhân. Kiểm tra đã bật Cài đặt → Quản lý người dùng → Quyền truy cập và chính sách → Mô hình tác tử CLI (mặc định tắt) và đăng nhập quản trị. Lệnh phải có trong PATH của tiến trình backend, không chỉ shell tương tác. Trình quản lý dịch vụ, container Docker hay trình khởi chạy desktop thường có PATH nhỏ hơn nhiều so với terminal đăng nhập.
Lỗi ngay: chạy claude -p "hello", codex exec "hello", muse exec "hello" hoặc echo hello | kiro-cli chat --no-interactive --output-format stream-json --agent-engine v3 --agent vibe; đăng nhập lại bằng opencode auth login. Cần Kiro CLI 2.27 trở lên; CLI cũ hơn sẽ lỗi ở bước này trước, nơi thông báo lỗi hiển thị được, còn trong chat cùng lỗi đó chỉ hiện là Kiro exited unsuccessfully. Kiro đăng nhập qua kiro-cli login; phiên hết hạn cũng lỗi theo cách tương tự. Muse Code báo missing meta credentials cho đến khi muse login đã được chạy dưới người dùng server.
Dừng giữa chừng: tăng AGENT_CLI_TIMEOUT_MS.