Cấu hình Cordis
Bộ máy Cordis/DSH nhúng được cấu hình bằng hai tài liệu và các biến môi trường. Theo mặc định, chúng nằm cạnh backend; LIBRE_CORDIS_CONFIG và LIBRE_CORDIS_SETTINGS thay đổi vị trí.
| Tài liệu | Đơn vị quản lý | Cấu trúc | Mục đích |
|---|---|---|---|
cordis.patch.yml | Cordis Loader | Mảng YAML cấp cao nhất | Các dòng plugin nạp bộ máy |
cordis.config.yml | Host Libre WebUI | Ánh xạ YAML | Nhà cung cấp, nguồn thông tin xác thực, cờ tính năng |
Cần hai tài liệu vì bộ mang cây Include của Cordis tự đọc cấu trúc thành phần và từ chối mọi tệp không phải mảng cấp cao nhất. Vì vậy, cài đặt host không thể dùng chung tệp đó.
Bật tính năng
Quản trị viên bật bộ máy tại Cài đặt → Quản lý người dùng → Quyền truy cập và chính sách → Công cụ Cordis. Thay đổi có hiệu lực ngay: bật sẽ khởi động bộ máy ở yêu cầu tiếp theo, tắt sẽ giải phóng nó. Không cần khởi động lại.
Hai nguồn cấp triển khai có thể khóa giá trị. Cả hai làm mờ công tắc thay vì bị ghi đè âm thầm:
| Nguồn | Tác dụng |
|---|---|
Biến môi trường LIBRE_CORDIS_ENABLED | true/false khóa tính năng cho triển khai |
features.enabled trong cordis.config.yml | Giá trị ghi rõ sẽ khóa lựa chọn; bỏ khóa để quản trị viên quyết định |
Bộ máy cũng cần tài liệu thành phần. Bắt đầu từ các ví dụ đi kèm:
cd backend
cp cordis.patch.example.yml cordis.patch.yml
cp cordis.config.example.yml cordis.config.yml
Host đọc cordis.patch.yml, hợp nhất giá trị mặc định vào dòng cầu nối rồi ghi kết quả vào <DATA_DIR>/cordis-runtime/cordis.composed.yml. Tệp sinh ra có thể tạo lại và không được sửa; tài liệu có thẩm quyền là cordis.patch.yml của người vận hành.
cordis.config.yml
trace: false
model:
provider: libre-webui
# Empty selects the authenticated caller's configured default/fallback route.
model: ''
features:
# Omit enabled to let the administrator use the Settings toggle.
streaming: true
tools: true
persistence: true
# Optional absolute paths; defaults live under Libre WebUI's data directory.
# workspacePath: /absolute/path/to/workspace
# sessionStorePath: /absolute/path/to/sessions
Khóa cấp cao nhất
| Khóa | Kiểu | Mặc định | Ý nghĩa |
|---|---|---|---|
trace | boolean | false | Ghi log mọi chuyển trạng thái kích hoạt Cordis |
model | ánh xạ | – | Chọn adapter mô hình; xem dưới |
features | ánh xạ | – | Công tắc tính năng; xem dưới |
features
| Khóa | Kiểu | Mặc định | Ý nghĩa |
|---|---|---|---|
enabled | boolean | false | Nạp bộ máy. Khi false, mọi route trả 503. |
streaming | boolean | true | Nhận lượt truyền đầu ra mô hình trực tiếp |
tools | boolean | true | Cho phép công cụ và cung cấp sổ đăng ký |
persistence | boolean | true | Bật lưu JSONL và yêu cầu dịch vụ tương ứng; phiên tồn tại qua khởi động lại |
features.enabled là công tắc duy nhất cần đặt để bật cầu nối. Khóa enabled ở cấp cao nhất không được đọc. Giữ tất cả công tắc trong features giúp có một nơi kiểm tra tính năng đang bật.
model
| Khóa | Kiểu | Mặc định | Ý nghĩa |
|---|---|---|---|
provider | chuỗi | libre-webui | libre-webui, deepseek, pi-ai hoặc none |
apiKeyEnv | chuỗi | OPENAI_API_KEY | Tên biến môi trường chứa khóa |
route | chuỗi | libre-webui | Route nhà cung cấp bộ máy dùng trong yêu cầu |
model | chuỗi | '' | Mã mô hình được yêu cầu. Phải đặt cho route khai báo thủ công |
baseUrl | chuỗi | '' | Ghi đè endpoint; rỗng dùng mặc định của adapter |
providers | ánh xạ | {} | Route nhà cung cấp khai báo thủ công, khóa theo tên route |
Mô hình của bộ máy đến từ đâu
Bộ máy không có cấu hình nhà cung cấp riêng. Nó gọi các nhà cung cấp đã có của Libre WebUI qua route libre-webui do dòng libre-webui-llm-adapter đăng ký. Mô hình có thể chat trong giao diện cũng là mô hình bộ máy dùng được. Tải mô hình trong giao diện là bộ máy thấy nó, với thông tin xác thực và endpoint đã cấu hình.
Đặt model.provider: libre-webui để dùng cách này. Đây là mặc định đi kèm; thông tin xác thực và endpoint vẫn nằm trong cài đặt sẵn có của Libre WebUI.
model chỉ mô hình bộ máy yêu cầu. Rỗng nghĩa là “dùng mô hình mặc định của ứng dụng”. Nếu triển khai chưa có mặc định, bộ máy chọn mô hình chat đầu tiên do lớp nhà cung cấp báo, ưu tiên mô hình cục bộ khả dụng. Mô hình embedding bị loại trừ. Route nội bộ giữ cả nhà cung cấp lẫn mô hình: lwui:ollama:<encoded-model> hoặc lwui:plugin:<encoded-provider>:<encoded-model>. Điều này ngăn tên trùng hoặc sự cố Ollama chuyển yêu cầu cục bộ sang nhà cung cấp từ xa. Lựa chọn nhà cung cấp rõ ràng sẽ thất bại khi không khả dụng, không âm thầm đổi sang bên khác.
model rỗng chỉ an toàn trên route libre-webui. Route do gói nhà cung cấp phục vụ cần tên mô hình rõ ràng. dsh-llm-pi-ai phân giải danh mục để trả truy vấn nhưng không chọn mục đầu tiên làm dự phòng. Vì vậy route thủ công thiếu model không nhận lượt và báo:
provider "<route>" resolves no models; the installed catalog does not describe
this route, so its models must be listed in configuration
Đặt model thành mã trong danh sách models của route. Ví dụ đi kèm kết hợp route: ollama và model: llama3.2, khớp mục llama3.2 đã khai báo.
provider chọn gói adapter được nạp:
libre-webuiphục vụ bộ máy qua lớp nhà cung cấp của triển khai. Đây là chế độ hỗ trợ và mặc định.nonekhởi động bộ máy không có quyền truy cập mô hình. Danh sách công cụ và phiên hoạt động, nhưng không trả lời được lượt; hữu ích để thử cấu trúc thành phần.deepseekvàpi-ainạp trực tiếp gói nhà cung cấp. Chúng không phải phụ thuộc của backend này: mang toàn bộ SDK kéo theo 59 gói bắc cầu, gồm gói đã lỗi thời cho chức năng bộ máy không bao giờ dùng. Cài gói cần thiết và nạp dòng tương ứng; host nêu tên gói nếu thiếu.
Một route nhà cung cấp được mô tả bằng:
| Trường | Ý nghĩa |
|---|---|
displayName | Tên dễ đọc |
api | Giao thức truyền, ví dụ openai-completions |
baseURL | URL gốc của endpoint |
apiKeyEnv | Biến môi trường chứa khóa |
models | Danh sách mô hình; mỗi mục nhận id, name, contextWindow, maxTokens |
Không bao giờ ghi thông tin xác thực vào hai tài liệu. apiKeyEnv chỉ tên biến môi trường và adapter phân giải theo từng yêu cầu, nên xoay khóa không cần khởi động lại.
cordis.patch.yml
Mảng cấp cao nhất chứa các dòng Cordis Loader. Ví dụ đi kèm nạp chín dòng và là điểm bắt đầu được khuyến nghị.
- id: llm
name: '@deepseek-ai/dsh-llm'
- id: session
name: '@deepseek-ai/dsh-session'
- id: session-projection
name: '@deepseek-ai/dsh-session-projection'
- id: session-persistence
name: '@deepseek-ai/dsh-session-persistence-jsonl'
config:
# The host supplies the resolved sessionStorePath.
- id: system-prompt
name: '@deepseek-ai/dsh-system-prompt'
config:
personaPrefix: ''
- id: tools
name: '@deepseek-ai/dsh-tools'
- id: agent
name: '@deepseek-ai/dsh-agent'
- id: agent-loop
name: '@deepseek-ai/dsh-agent-loop'
config:
agents: []
- id: libre-webui-bridge
name: './dist/cordis/dsh/engine-plugin.js'
Trường của dòng
| Trường | Bắt buộc | Ý nghĩa |
|---|---|---|
id | không | Mã ổn định để nhắm tới dòng; suy từ name nếu bỏ qua |
name | có | Định danh mô-đun Loader nhập; phải là chuỗi literal |
config | không | Cấu hình plugin; cho phép !!js |
disabled | không | Bỏ qua dòng mà không xóa; cho phép !!js |
inject | không | Dịch vụ bắt buộc bổ sung hoặc cấu hình intercept |
Loader nhập name trực tiếp và không đánh giá nó, nên đây không thể là biểu thức !!js. Giá trị config có thể dùng !!js; chúng được đánh giá sau trong fiber sở hữu dòng, với ngữ cảnh Loader khả dụng. process.env và ctx.get(...) dùng được, import.meta không.
Định danh tương đối được phân giải từ thư mục của chính tệp thành phần. Tên gói được phân giải qua gói backend, nên @deepseek-ai/dsh-tools tìm bản trong backend/node_modules.
Thứ tự dòng không quy định thứ tự nạp. Cordis kích hoạt dòng khi các dịch vụ đã khai báo sẵn sàng; cách nhóm ở trên chỉ giúp người đọc.
Dòng bắt buộc
Bộ máy trả lời chat cần toàn bộ các dòng sau:
| Dòng | Cung cấp | Cần cho |
|---|---|---|
dsh-llm | llm | vòng lặp tác nhân |
dsh-session | sessions | vòng lặp tác nhân, cầu nối |
dsh-session-projection | sessionProjections | vòng lặp tác nhân |
dsh-system-prompt | systemPrompt | công cụ, vòng lặp tác nhân |
dsh-tools | tools | vòng lặp tác nhân, cầu nối |
dsh-agent | agents | cầu nối |
dsh-agent-loop | driver tác nhân | trả lời các lượt |
| dòng cầu nối | libreDshEngine | mọi route |
Nạp thêm một dòng plugin công cụ, chẳng hạn @deepseek-ai/dsh-fs-sandbox cùng @deepseek-ai/dsh-tool-fs, sẽ làm GET /api/cordis/tools trả về công cụ. Sổ đăng ký không có plugin công cụ có thể rỗng hoàn toàn hợp lệ.
Biến môi trường
Mỗi cài đặt có thể được ghi đè bằng biến môi trường. Biến ưu tiên hơn tài liệu, tài liệu ưu tiên hơn mặc định tích hợp.
| Biến | Ghi đè | Mặc định |
|---|---|---|
LIBRE_CORDIS_ENABLED | features.enabled | false |
LIBRE_CORDIS_STREAMING | features.streaming | true |
LIBRE_CORDIS_TOOLS | features.tools | true |
LIBRE_CORDIS_PERSISTENCE | features.persistence | true |
LIBRE_CORDIS_TRACE | trace | false |
LIBRE_CORDIS_MODEL_PROVIDER | model.provider | libre-webui |
LIBRE_CORDIS_MODEL_ROUTE | model.route | libre-webui |
LIBRE_CORDIS_MODEL | model.model | '' |
LIBRE_CORDIS_API_KEY_ENV | model.apiKeyEnv | OPENAI_API_KEY |
LIBRE_CORDIS_BASE_URL | model.baseUrl | '' |
LIBRE_CORDIS_CONFIG | Đường dẫn tài liệu thành phần | <cwd>/cordis.patch.yml |
LIBRE_CORDIS_SETTINGS | Đường dẫn tài liệu cài đặt | Cạnh tài liệu thành phần |
LIBRE_CORDIS_WORKSPACE | Workspace mặc định của bộ máy | <DATA_DIR>/cordis-workspace |
LIBRE_CORDIS_SESSION_STORE | Thư mục phiên lưu bền | <DATA_DIR>/cordis-sessions |
Biến boolean nhận 1/true/yes/on và 0/false/no/off. Giá trị không phân tích được sẽ dùng tài liệu thay vì đoán.
Biểu thức !!js trong cấu trúc đi kèm cũng đọc LIBRE_CORDIS_SESSION_STORE và LIBRE_CORDIS_WORKSPACE; vì vậy host xuất chúng trước khi nạp cây.
Ví dụ hoàn chỉnh
Ollama cục bộ, hoàn toàn ngoại tuyến
features:
enabled: true
model:
provider: pi-ai
route: ollama
model: llama3.2
apiKeyEnv: OLLAMA_API_KEY
providers:
ollama:
api: openai-completions
baseURL: http://127.0.0.1:11434/v1
apiKeyEnv: OLLAMA_API_KEY
models:
- id: llama3.2
contextWindow: 131072
maxTokens: 4096
Ollama bỏ qua khóa, nhưng client OpenAI yêu cầu một giá trị. Xuất OLLAMA_API_KEY=ollama để đáp ứng mà không tạo bí mật giả. Không có gì rời khỏi máy.
Gateway tương thích OpenAI
features:
enabled: true
model:
provider: pi-ai
route: gateway
model: acme-large
apiKeyEnv: ACME_GATEWAY_API_KEY
providers:
gateway:
displayName: Acme Gateway
api: openai-completions
baseURL: https://gateway.acme.example/v1
apiKeyEnv: ACME_GATEWAY_API_KEY
models:
- id: acme-large
contextWindow: 65536
maxTokens: 4096
DeepSeek chính chủ
features:
enabled: true
model:
provider: deepseek
route: deepseek
apiKeyEnv: DEEPSEEK_API_KEY
Đặt DEEPSEEK_API_KEY trong môi trường backend.
Không có nhà cung cấp, chỉ công cụ
features:
enabled: true
model:
provider: none
Bộ máy khởi động, phiên có thể tạo và GET /api/cordis/tools liệt kê plugin công cụ đã cấu hình. Gửi thông điệp thất bại vì không adapter nào phục vụ được yêu cầu.
Ghi chú di chuyển
Cầu nối Cordis là phần bổ sung. Khi tắt, không hành vi hiện có nào thay đổi; mặc định nó tắt.
Nâng cấp triển khai hiện tại. Không cần làm gì. Hai ví dụ được phân phối thành cordis.patch.example.yml và cordis.config.example.yml, nên chỉ được dùng khi sao chép và bật tính năng. Không chạy migration, tạo bảng hay chạm vào thư mục dữ liệu hiện có.
Bật lần đầu. Sao chép hai ví dụ, đặt features.enabled: true và không cài thêm gì; các gói bộ máy đã là phụ thuộc backend. Yêu cầu đầu tiên tạo <DATA_DIR>/cordis-workspace, <DATA_DIR>/cordis-sessions và <DATA_DIR>/cordis-runtime. Cả ba là thư mục mới bên dưới thư mục dữ liệu hiện tại, nên backup hoặc restore bao phủ thư mục đó cũng bao phủ chúng.
Nâng cấp bộ máy. Phiên bản đã phân giải ghi trong package-lock.json. backend/package.json khai báo dải tương thích alpha. Nâng cấp có chủ đích và kiểm tra hợp đồng nhà cung cấp, phiên sau npm install. Nếu một gói DSH có thêm peer dependency, npm báo ngay lúc cài thay vì lúc nạp. DSH sở hữu định dạng mô hình và phiên; thay đổi định dạng thuộc ghi chú phát hành DSH, không phải migration Libre WebUI.
Hoàn tác. Đặt features.enabled: false rồi khởi động lại, hoặc gỡ dòng cầu nối khỏi cordis.patch.yml. Dịch vụ libreDshEngine bị thu hồi, trình lắng nghe giải phóng và các tác nhân đã tạo được dọn dẹp. Tệp phiên vẫn trên đĩa như dữ liệu; xóa thư mục sessionStorePath để lấy lại dung lượng. Gỡ các gói là tùy chọn và không ảnh hưởng tính năng Libre WebUI khác.
Chat và Work hiện có. Chat thêm lựa chọn DeepSeek Harness dành cho quản trị viên, dùng phiên bộ máy tạm và lịch sử Chat hiện tại. Work thêm lựa chọn bộ máy riêng với driver DSH cô lập và pipeline sandbox/phê duyệt hiện có. Các lựa chọn mô hình cũ giữ hành vi bình thường.
Với adapter chuẩn libre-webui, bộ chọn tác nhân Chat có lựa chọn DSH cụ thể cho nhà cung cấp/mô hình cùng profile gốc. Lựa chọn cụ thể giữ định danh nhà cung cấp đầy đủ. Profile gốc dùng mô hình mặc định của cấu trúc đang chạy. Tiêu đề và tóm tắt suy nghĩ gọi trực tiếp nhà cung cấp, không công cụ tác nhân. Route adapter tùy chỉnh chỉ giữ mục Chat gốc và cần mô hình tác vụ Ollama hoặc plugin riêng cho tiêu đề và tóm tắt.
DSH tôn trọng công tắc Ollama của quản trị viên. Khi tắt, mô hình Ollama không được liệt kê hoặc thăm dò; chọn Ollama rõ ràng sẽ thất bại mà không đổi nhà cung cấp. Tên mô hình chưa đầy đủ do người vận hành khóa cũng cần danh mục Ollama để phân giải an toàn. Với triển khai chỉ plugin, dùng lựa chọn đầy đủ lwui:plugin:<plugin>:<model>.
Giới hạn vận hành
- Bộ máy host và Chat chỉ cho quản trị viên và chế độ solo. Trang bộ máy là bảng quản trị dùng chung với kho JSONL cục bộ, không thể nạp trong team. Work sandbox dùng repository SQL hiện có.
- Lượt gọi mô hình sử dụng người gọi đã xác thực. Lượt tương tác trên host dùng thông tin nhà cung cấp và tùy chọn mô hình của quản trị viên. Cấu trúc không tương tác đáng tin cậy có thể đặt
LIBRE_CORDIS_USERthành mã quản trị viên đang hoạt động. Không tự chọn quản trị viên lâu đời nhất làm dự phòng. - Công cụ hệ thống tệp host bị giới hạn trong workspace. Đọc/ghi kiểm tra đích chuẩn; phiên không thể chọn thư mục ngoài gốc cấu hình. Hạn chế thay đổi native DSH vẫn áp dụng. Plugin bổ sung do người vận hành cài là mã server đáng tin cậy.
- Công cụ host dùng chính sách DSH. Trang bộ máy cung cấp quyền chỉ đọc/ghi workspace theo phiên và thẻ duyệt một lần native. Chúng không vượt ranh giới workspace. Chat không giao diện từ chối yêu cầu duyệt không thể hiển thị. Driver Work dùng phê duyệt Work và cô lập container, không công cụ tệp host.
- Luồng có văn bản trực tiếp và suy luận được hiển thị. Thông điệp lưu bền giữ hội thoại hoàn tất; client không nhận lại bản thứ hai của văn bản trực tiếp.
- Khởi động lại và xóa dùng phiên đã lưu. Phiên rỗng và hoàn tất tồn tại qua khởi động lại. Xóa phiên JSONL do cầu nối tạo sẽ dừng bên ghi và gỡ artefact. Hệ thống lưu trữ khác phải có adapter xóa thích hợp.
- Log cũ sai định dạng cần sửa rõ ràng. Phiên bản trước ghi thông điệp người dùng thiếu mã bắt buộc. Bộ đọc nghiêm ngặt từ chối thay vì bỏ chúng. Xem quy trình phục hồi ở Khắc phục sự cố.
- Tiêu đề suy ra cục bộ. Tóm tắt phiên dùng thông điệp đầu của con người làm tiêu đề ngắn; phiên rỗng không có tiêu đề suy ra.
Kết nối mô hình từ DSH đang chạy
Plugin tùy chọn dsh-native-provider cung cấp mô hình và kết nối nhà cung cấp đã cấu hình trong instance DSH khác, chẳng hạn ứng dụng web cục bộ ở cổng 3080. Cài vào profile hiện tại của instance. Nó chỉ gọi ctx.llm: khóa ở lại DSH, và kết nối không thể tạo phiên, chạy tác nhân, đọc tệp đính kèm native hay chạy công cụ native.
Hai tiến trình phải chạy trên cùng host Unix dưới cùng tài khoản hệ điều hành. Giao tiếp dùng Unix socket cấu hình rõ ràng, trong thư mục vật lý do tài khoản sở hữu với quyền 0700, socket có quyền 0600. Không mở listener TCP và không tái sử dụng hay làm yếu xác thực trình duyệt DSH. Kết nối cục bộ không hỗ trợ Windows hoặc host DSH từ xa.
Tài khoản hệ điều hành là ranh giới truy cập cục bộ: tiến trình khác cùng tài khoản có thể dùng socket. Kết nối không cung cấp thông tin xác thực native riêng hoặc cô lập ứng dụng chia sẻ tài khoản.
Cài plugin độc lập
Trong DSH → Plugins → Add plugin, dán URL repository công khai này vào Package name or address, rồi chọn Install:
https://github.com/libre-webui/dsh-native-provider
Bật thành phần khi DSH yêu cầu. Gói công khai là phiên bản 0.1.1, giấy phép Apache-2.0, có runtime đã biên dịch và bản vá bundle. Không cần build cục bộ, script cài đặt hay phụ thuộc npm runtime. Tên @libre-webui/dsh-native-provider chưa xuất bản trên npm; hãy dùng URL GitHub trong hộp thoại.
Bundle chọn <DSH home>/lwui-provider/llm.sock, thường là $HOME/.dsh/lwui-provider/llm.sock. DSH_HOME đã cấu hình được ưu tiên. Thư mục socket riêng được tạo nếu thiếu. Dùng một cầu nối đang hoạt động cho mỗi thư mục nhà DSH, hoặc ghi đè socket trong cordis.patch.yml của người dùng cho profile bổ sung. Đường dẫn đầy đủ phải nằm trong 100 byte UTF-8, không có thành phần liên kết tượng trưng. Xem hướng dẫn cấu hình độc lập để ghi đè.
Lệnh CLI tương đương, không bắt buộc:
dsh plugin --profile web add https://github.com/libre-webui/dsh-native-provider
Thay web bằng profile thực sự chạy DSH nếu khác. Khởi động lại profile sau cài bằng CLI; cài trong giao diện đang chạy có thể bật plugin ngay. Làm theo yêu cầu khởi động lại của DSH. Không cần sửa nguồn DSH hoặc sao chép khóa nhà cung cấp.
Chuẩn bị bundle từ Libre WebUI
Libre WebUI cũng có script chuẩn bị. Từ checkout nguồn, build backend và tạo thư mục đầu ra mới:
npm run build:backend
node scripts/prepare-dsh-provider.mjs /absolute/dsh-provider-bundle /absolute/private-directory/provider.sock
dsh plugin --profile web add /absolute/dsh-provider-bundle
Bản npm đã cài có sẵn backend biên dịch và script. Chạy hai lệnh cuối trong thư mục cài đặt, bỏ bước build, rồi khởi động lại profile DSH đã chọn. Cả hai cách từ chối thư mục đầu ra đã tồn tại, đồng thời gồm metadata gói, giấy phép và ghi chú cài đặt.
Kết nối Libre WebUI
Trỏ cordis.config.yml của Libre WebUI đến cùng socket tuyệt đối. Để dùng mặc định của bundle công khai, thay /absolute/home bằng thư mục nhà thực:
nativeProvider:
socketPath: /absolute/home/.dsh/lwui-provider/llm.sock
Hoặc đặt LIBRE_DSH_PROVIDER_SOCKET thành đường dẫn đó. Giá trị môi trường rỗng tắt kết nối dù tệp có đường dẫn. Bật Công cụ Cordis trong LWUI. Quản trị viên đang hoạt động có thể chọn mô hình native trong bộ máy DeepSeek Harness của Work, trang bộ máy và nhóm tác nhân Chat. Chat cần bật cả Mô hình tác tử CLI. Work giữ mã native nguyên gốc và nhà cung cấp với providerType: dsh; tác vụ DSH qua LWUI giữ danh tính nhà cung cấp cùng dấu bộ máy cũ.
Danh sách native được đọc trực tiếp. Thay đổi cấu hình nhà cung cấp hoặc thông tin xác thực vô hiệu hóa thế hệ kết nối và hủy các lượt gọi đang chạy. Socket, mô hình hoặc nhà cung cấp không khả dụng sẽ dừng yêu cầu; LWUI không chuyển sang Ollama hay bên khác. Tiêu đề và tóm tắt gọi trực tiếp LLM native đã chọn, không công cụ. Kết nối đầu tiên này chấp nhận văn bản, suy luận và thông điệp công cụ, nhưng từ chối tham chiếu ảnh/tệp native.
Thông tin xác thực native thuộc người vận hành DSH, nên kết nối chỉ dành cho quản trị viên dù Work thông thường mở cho nhiều người hơn. Yêu cầu có thể rời host tùy nhà cung cấp DSH; Work hiển thị thông báo nhà cung cấp từ xa. Trong team, mỗi worker xử lý tác vụ phải truy cập được kết nối cục bộ; thiếu kết nối sẽ từ chối an toàn. Tắt Cordis hoặc bỏ socket thu hồi truy cập native nhưng giữ tác vụ đã lưu. Nếu DSH lỗi để lại socket, dừng instance sở hữu và chỉ xóa socket cũ đó trước khi khởi động lại. Plugin không ghi đè mục hệ thống tệp đã tồn tại.
Nâng cấp hoặc gỡ plugin
Hoàn tất hoặc hủy yêu cầu native trước khi đổi plugin. Để thay bundle cục bộ 0.0.0/0.1.0 trong DSH, chọn Uninstall, quay lại Add plugin và cài URL GitHub công khai ở trên. Giữ đường dẫn tùy chỉnh bằng ghi đè profile được hỗ trợ. Phiên và thông tin xác thực native vẫn giữ nguyên.
Bản cài từ GitHub có thể cập nhật bằng CLI:
dsh plugin --profile web update @libre-webui/dsh-native-provider
Khởi động lại sau cập nhật CLI và kiểm tra phiên bản. Plugin đã tắt vẫn tắt; kiểm tra trước khi thử kết nối. Dùng github:libre-webui/dsh-native-provider#<commit> để ghim hoặc quay về phiên bản đã xét. Với bundle tự chuẩn bị, build thư mục mới và thêm lại; cập nhật phụ thuộc cục bộ không lấy thay đổi từ GitHub.
Để gỡ kết nối, trước hết bỏ nativeProvider.socketPath khỏi LWUI hoặc đặt LIBRE_DSH_PROVIDER_SOCKET rỗng, rồi chạy:
dsh plugin --profile web remove @libre-webui/dsh-native-provider
Khởi động lại profile DSH sau khi gỡ. Tác vụ LWUI vẫn tồn tại, nhưng yêu cầu native sẽ lỗi cho đến khi khôi phục cùng kết nối rõ ràng. Gỡ plugin không xóa nhà cung cấp hay thông tin xác thực DSH. Chỉ xóa thư mục bundle cũ khi chúng không còn được cài.
Mức sử dụng nhà cung cấp native
Yêu cầu native xuất hiện trong Mức sử dụng nhà cung cấp dưới DeepSeek Harness · nhà cung cấp, cùng mã mô hình nguyên gốc. Mỗi yêu cầu thực được đếm một lần, gồm vòng công cụ, tiêu đề và tóm tắt suy nghĩ. Bảng có lượt thành công, lỗi, hủy, độ trễ và token do DSH báo cáo. Đầu vào cache chỉ tính một lần; thiếu dữ liệu thì giữ chưa đo, không ước lượng. Mã nhà cung cấp dùng dsh-native:<percent-encoded-native-provider-id> cho quy tắc biểu giá và chi phí sẵn có. Biểu giá chưa biết vẫn chưa được định giá.
DSH qua nhà cung cấp cấu hình trong LWUI giữ bản ghi sử dụng hiện có. Đọc danh mục và yêu cầu bị từ chối trước suy luận không tạo thêm bản ghi gọi mô hình. Đo lường bắt đầu khi cài phiên bản kết nối này, không bịa lịch sử. Dữ liệu gồm danh tính, trạng thái, thời gian và bộ đếm, không có prompt, phản hồi, thông tin xác thực, endpoint hay lỗi nhà cung cấp.
Xác minh cấu hình
curl -s http://127.0.0.1:3001/api/cordis/health | jq
{
"success": true,
"enabled": true,
"ready": true,
"services": [
{ "name": "llm", "state": "ready" },
{ "name": "systemPrompt", "state": "ready" },
{ "name": "sessions", "state": "ready" },
{ "name": "tools", "state": "ready" },
{ "name": "agents", "state": "ready" }
]
}
503 với code: CORDIS_UNAVAILABLE nghĩa là cấu trúc chưa nạp được. error chứa nguyên nhân; LIBRE_CORDIS_TRACE=true thêm log kích hoạt. Xem Khắc phục sự cố về các nguyên nhân thường gặp.