Kiến trúc

DeepSeek Harness (dsh) năm 2026: kiến trúc, chế độ, bản phát hành và đánh giá an toàn

TTokenhot Team17 tháng 8, 202617 phút đọc
DeepSeek Harness (dsh) năm 2026: kiến trúc, chế độ, bản phát hành và đánh giá an toàn

Cập nhật ngày 13 tháng 9 năm 2026; hướng dẫn này dựa trên dsh-v0.1.5-rc.2.

DeepSeek Harness (dsh) hữu ích để đánh giá như một runtime cho agent, nhưng câu trả lời hiện tại cho câu hỏi “đã đủ ổn định cho production chưa?” là chưa. DeepSeek gọi đây là phần mềm xem trước dành cho nhà phát triển, cảnh báo sẽ có thay đổi phá vỡ khả năng tương thích, và nói rằng phần mềm chưa trải qua kiểm toán bảo mật hoặc được chỉ định là sẵn sàng cho production. Điều đó không làm dsh kém thú vị; nó cho biết cách sử dụng: ghim thứ bạn đánh giá, cô lập những gì nó có thể chạm tới, và đo lường chính khối lượng công việc của bạn trước khi tin cậy nó với tệp hoặc thông tin xác thực có giá trị.

Hướng dẫn này giải thích kiến trúc, tách các chế độ hướng người dùng của dsh khỏi profile CLI và đưa ra lộ trình đánh giá có thể tái lập. Nội dung phản ánh thẻ kho mã và trang phát hành dsh-v0.1.5-rc.2, được kiểm tra ngày 13 tháng 9 năm 2026. Tài liệu trên một nhánh đang thay đổi có thể chứa công việc chưa có trong bản phát hành bạn cài đặt.

DeepSeek Harness là gì

Kho mã chính thức mô tả dsh là agent harness mã nguồn mở do DeepSeek AI phát triển. Một mô hình cung cấp suy luận; harness cung cấp runtime xung quanh nó: adapter mô hình, công cụ, phiên, truy cập hệ thống tệp và tiến trình con, chính sách phê duyệt, thiết lập và vòng lặp agent.

Thiết kế được xây dựng trên Cordis và mô hình “mọi thứ đều là plugin”. Trong tài liệu kiến trúc của thẻ này, plugin đóng góp dịch vụ, sự kiện có kiểu và hiệu ứng có thể đảo ngược vào một ngữ cảnh dùng chung. Adapter mô hình, registry công cụ, nhật ký phiên và vòng lặp agent đều là các thành phần có thể thay thế. Sau đó, một profile ghép các bundle và tệp patch theo thứ tự xác định.

Sự khác biệt này có ý nghĩa thực tế. Bạn có thể đổi nhà cung cấp hoặc thêm khả năng qua profile và các patch của nó thay vì fork toàn bộ runtime. Điều đó không có nghĩa mọi thành phần có thể được thay an toàn trong bất kỳ tác vụ nào, hoặc lỗi plugin được cô lập khỏi toàn bộ dữ liệu mà tiến trình có thể truy cập. Thông báo an toàn của thẻ này nói rằng lệnh do mô hình tạo ra và plugin bên thứ ba có thể chạm tới tệp, tiến trình, mạng và thông tin xác thực được cung cấp cho chúng.

Vì sao nhật ký phiên quan trọng

dsh ghi các sự kiện phiên bền vững vào nhật ký chỉ-ghi-thêm. Tài liệu kiến trúc xác định nhật ký phiên là nguồn tạo ra lịch sử mô hình, và nói đầu vào mà mô hình nhìn thấy phải có thể tái dựng từ nhật ký đó. Trang chính thức của DeepSeek cũng mô tả phát lại, tiếp tục, tìm kiếm và fork là các thao tác trên cùng một luồng sự kiện.

Điều này đem lại cho nhà phát triển thứ hữu ích hơn một tính năng “bộ nhớ” mơ hồ: bản ghi về những gì mô hình được thấy và các sự kiện công cụ nào đã được xác nhận. Tuy vậy, nó không bảo đảm kết quả xác định. Mô hình, phản hồi của nhà cung cấp, môi trường công cụ, tập plugin và hệ thống bên ngoài đều có thể ảnh hưởng lần chạy tiếp theo. Hãy coi nhật ký là trợ giúp kiểm toán và gỡ lỗi, rồi xác thực hành vi bạn cần.

Thay đổi định dạng phiên cũng tác động đến kế hoạch nâng cấp. Ghi chú phát hành v0.1.5-rc.1 mô tả việc chuyển sang định dạng phiên V3. Nhật ký cũ được hỗ trợ sẽ được di chuyển sang phiên bản mới trong khi bản gốc vẫn được giữ lại, nhưng ghi chú nói một phiên đã nâng cấp không thể được đọc bởi phiên bản đã hạ cấp. Nói cách khác, rollback tệp thực thi không đồng nghĩa rollback dữ liệu phiên. Hãy sao chép Harness home và thử di chuyển trên các phiên dùng một lần trước khi nâng cấp workspace có giá trị.

Bốn chế độ hướng người dùng

Trang Harness chính thức của DeepSeek nêu bốn chế độ. Chúng mô tả cách agent được trình bày cho người dùng:

Chế độ Mô tả chính thức nói gì Câu hỏi đánh giá phù hợp
Standard Một coding agent đầy đủ với chỉnh sửa tệp, Shell, truy xuất tệp và web, Skills, kế hoạch, mục tiêu, subagent và workflow. Chính sách phê duyệt và công cụ có thể giới hạn các tác vụ bạn định chạy không?
PTC Các khả năng Standard được cung cấp qua Code Mode SDK, để mô hình có thể ghép nhiều thao tác công cụ trong một chương trình TypeScript. Gom lô thao tác có cải thiện workflow mà không làm việc review khó hơn không?
Minimal Tổng quan sản phẩm chính thức mô tả bash tồn tại lâu dài và str_replace_editor. Một bề mặt công cụ nhỏ, rõ ràng có hoàn thành được tác vụ bạn muốn benchmark không?
Creator Chế độ để kiểm tra runtime, thử nghiệm plugin Cordis trong bộ nhớ và tạo Agent preset tùy chỉnh. Bạn có thể tạo thử preset mà không xem nó như chính sách production không?

Nhãn cũ “Code Mode” dễ bị hiểu sai. Mô tả sản phẩm chính thức gọi chế độ là PTC và giải thích nó dùng Code Mode SDK. Đây không phải một runtime profile riêng, được tài liệu hóa rộng rãi tên là code.

Tổng quan sản phẩm và các profile rc.2 đã phát hành dùng “Minimal” ở những cấp khác nhau. Trong tham chiếu hành vi CLI rc.2, preset Web minimal chỉ ghép shell tồn tại lâu dài của nền tảng; các plugin hướng mô hình khác không có mặt. Vì thế, str_replace_editor cần được bật rõ ràng trong profile Web đó. Ghi chú phát hành rc.1 nêu cùng mặc định cho Web minimal và Python sdk-minimal. Ghi chú hiện có của hướng dẫn Python bên dưới nói về cây sdk-minimal riêng và editor opt-in của nó. Đừng suy ra editor chỉ từ tổng quan bốn chế độ.

Chế độ và profile CLI là các lớp khác nhau

Dòng lệnh có mô hình profile riêng. Tham chiếu CLI @deepseek-ai/dsh cho rc.2 nói dsh là trình khởi chạy ứng dụng Node được hỗ trợ và liệt kê các profile đi kèm sau:

Mục CLI Vai trò
dsh web Web UI; bí danh của dsh --profile web.
dsh --profile headless "job" Một phiên tồn tại mới, in câu trả lời cuối cùng rồi thoát.
dsh --profile sdk Máy chủ JSON-RPC cho client SDK qua stdio.
dsh --profile sdk-minimal Máy chủ SDK với cây agent minimal độc lập.
dsh --profile acp Client tự động hóa qua ACP stdio.

Profile là các lớp bundle plugin được sắp thứ tự. Profile Web có thể dùng nạp lại patch trực tiếp; headless, SDK, SDK-minimal và ACP áp dụng các lớp khi khởi động vì thay thế dependency sau khi ứng dụng one-shot hoặc stdio sở hữu công việc sẽ làm vòng đời của nó không hợp lệ. Vì vậy, tên profile cho biết cách dsh khởi động và ghép runtime. Nó không ánh xạ một-một với bốn chế độ sản phẩm.

Hướng dẫn Python SDK rc.2 khiến sự phân biệt này còn quan trọng hơn. Ví dụ sdk-minimal của nó dùng một cây độc lập với shell tồn tại lâu dài, không có ngữ cảnh runtime hoặc compaction, và nhật ký phiên JSONL không nén. str_replace_editor là opt-in cho profile đó. Hướng dẫn cũng mô tả profile là danger-full-access đối với các đường dẫn nhìn thấy được, nên mới yêu cầu workspace hoặc container cô lập. Danh sách công cụ nhỏ hơn không tự động tạo biên giới bảo mật mạnh hơn.

Điều thay đổi trong các hồ sơ phát hành mới nhất

Trên trang phát hành đã kiểm tra, bản ứng viên là v0.1.5-rc.2, được gắn thẻ dsh-v0.1.5-rc.2 và đánh dấu Pre-release. GitHub cho thấy nó phát hành ngày 10 tháng 9 lúc 15:09. Ghi chú rc.2 gồm cải thiện UI cho gửi phản hồi và thẻ tệp đã giao.

Bản ứng viên trước đó v0.1.5-rc.1, phát hành ngày 10 tháng 9 lúc 03:09, có tập thay đổi lớn hơn. Ghi chú gồm mục adapter mô hình DeepSeek mới, tải tệp tùy ý, điều khiển subagent có thể tiếp tục, cập nhật system prompt động khi mô hình tuyên bố hỗ trợ, cải thiện phát hiện mô hình, xử lý môi trường proxy, định dạng phiên V3, khóa phiên, thay đổi công cụ mặc định, và nhiều sửa lỗi gồm tiếp tục tool call đang stream và hành vi kết nối lại Web.

Các ghi chú đó cho biết điều đã thay đổi. Chúng không cung cấp phần trăm uptime, tỷ lệ lỗi, thời gian khôi phục trung bình hoặc kết quả độ tin cậy production. Danh sách sửa lỗi dài là lý do để đọc ghi chú và chạy tác vụ hồi quy, không phải thống kê ổn định. Khi lập tài liệu thử nghiệm, hãy tách ba thứ: bản phát hành và thẻ GitHub bạn chọn, commit master mà bạn có thể đã xem, và phiên bản thực sự được cài trong môi trường.

Đánh giá ban đầu an toàn, có thể tái lập

Dùng một đường dẫn nguồn đã ghim cho việc đánh giá. Các lệnh dưới đây theo README rc.2tham chiếu CLI rc.2. Đây là các điểm vào đã được tài liệu hóa, không phải lệnh được chạy cho bài viết này.

Tạo checkout, workspace dùng một lần và Harness home mới trước lần khởi chạy đầu tiên. Ví dụ dùng cú pháp shell POSIX và giả định Git, Node.js và pnpm đã sẵn có như README rc.2 yêu cầu; nó không quy định phiên bản runtime chưa được xác minh:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
git checkout dsh-v0.1.5-rc.2
pnpm install
pnpm run build
export DSH_HOME="$(mktemp -d)"
EVAL_WORKSPACE="$(mktemp -d)"
printf '%s\n' 'Disposable dsh evaluation workspace.' > "$EVAL_WORKSPACE/README.md"
printf 'DSH_HOME=%s\nEVAL_WORKSPACE=%s\n' "$DSH_HOME" "$EVAL_WORKSPACE"

Lưu hai đường dẫn tuyệt đối được in ra vào ghi chú lần chạy. Dùng đường dẫn EVAL_WORKSPACE hiển thị trong bộ chọn tệp Web UI, và dán đường dẫn DSH_HOME hiển thị vào bất kỳ shell thứ hai nào thay vì mong shell đó kế thừa biến. Chỉ giữ DSH_HOME cho lần đánh giá này. Đây là nơi rc.2 tạo tệp profile, thiết lập, tham chiếu thông tin xác thực và phiên. Workspace tạm thời tách biệt với checkout nguồn. Đừng đặt thông tin xác thực trong đó, và loại bỏ tệp nhạy cảm khỏi mọi thứ tiến trình có thể nhìn thấy trước khi khởi động. Nếu tác vụ cần cô lập cấp OS, hãy đặt checkout, home và workspace này trong VM hoặc container dùng một lần; bộ chọn workspace và lời nhắc phê duyệt của dsh không cung cấp biên giới OS đó.

Khởi động Web UI từ gốc nguồn, dùng nhất quán điểm vào nguồn:

pnpm dsh web --no-open

README rc.2 ghi http://127.0.0.1:3080 là địa chỉ cục bộ mặc định. Trong trình duyệt, mở Choose workspace và chọn đúng đường dẫn workspace đã in ở trên. Đừng để checkout nguồn là workspace tác vụ chỉ vì đó là thư mục gọi lệnh. Sau đó mở Settings → Models, cấu hình một mô hình và chạy tác vụ vô hại không chạm vào bí mật hoặc tệp production.

Có một biên giới thứ hai cần hiểu trong lần thử đầu tiên. Trong rc.2, các phiên mới trong profile dựa trên base mặc định là workspace-write: thay đổi Bash và hệ thống tệp bị giới hạn ở workspace phiên và các root tạm thời của nền tảng, trong khi quyền đọc và truy cập mạng không bị giam trong preset đó. Các HTTP fetch công khai đã bật chạy mà không có lời nhắc phê duyệt cho từng lần gọi. Thiết lập quyền General đã lưu áp dụng cho các phiên Web sau này, không phải phiên đang mở. Hãy xác minh thiết lập trong một phiên mới sau khi đổi. Đây là chi tiết chính sách dsh, không phải cô lập OS; hãy để tài nguyên nhạy cảm ngoài tầm với trước khi khởi chạy.

Trước khi khởi động profile khác hoặc so sánh patch, hãy kiểm tra cùng cấu hình với cùng checkout nguồn và home:

pnpm dsh --profile web --dump-config

Tiến trình Web chiếm terminal đầu tiên. Dừng dịch vụ và mọi phiên đang hoạt động trước khi sao chép home hoặc kiểm tra trạng thái cuối; nếu bạn mở shell khác, hãy export rõ ràng đường dẫn $DSH_HOME đã ghi và quay về checkout nguồn trước khi chạy lệnh. Tham chiếu CLI rc.2 nói lệnh này khởi tạo tệp profile còn thiếu, in cây đã ghép và không khởi động ứng dụng Web. Ghi lại thẻ, checkout nguồn, profile, tệp patch, định danh mô hình, $EVAL_WORKSPACE, $DSH_HOME và kết quả tác vụ. CLI/help và ghi chú phát hành mô tả hành vi; chúng không phải bằng chứng lệnh cục bộ của bạn thành công.

Cấu hình mô hình hoặc gateway cẩn thận

Trang Models của Web UI hỗ trợ nhà cung cấp tích hợp và tùy chỉnh. Hướng dẫn nhà cung cấp rc.2 yêu cầu ID nhà cung cấp tùy chỉnh, base URL, giao thức API, thông tin xác thực và ít nhất một mô hình. Các tên giao thức được hỗ trợ là openai-completions, openai-responsesanthropic-messages. Khám phá mô hình chỉ là tiện ích: nếu endpoint không công bố dạng danh sách được hỗ trợ, hãy nhập ID mô hình thủ công.

Một gateway tương thích OpenAI vẫn có thể từ chối yêu cầu nếu hình dạng yêu cầu khác với thứ dsh gửi. Hướng dẫn nhà cung cấp nêu khả năng tương thích của role system-prompt và trường token đầu ra, đồng thời nói khai báo ảnh hoặc suy luận mô tả endpoint của bạn thay vì kiểm thử nó. Hãy xem việc lưu khóa thành công là tiến triển cấu hình, không phải bằng chứng một tác vụ thực hoạt động.

Nếu bạn đang đánh giá Tokenhot làm tuyến nhà cung cấp, Quick Start đã lưu của nó ghi https://api.tokenhot.ai/v1 và xác thực Bearer Token/API key cho thiết lập API. Trong Web UI, dùng Settings → Models → Add a custom provider, nhập base URL đã được tài liệu hóa đó, chọn giao thức mà tuyến Tokenhot bạn chọn thực sự cung cấp và thêm ID mô hình bạn đã xác minh. Thiết lập nhà cung cấp thuộc $DSH_HOME/settings.yaml của lần đánh giá này; Web UI lưu thông tin xác thực trong $DSH_HOME/.credentials.yaml và chỉ giữ tham chiếu trong thiết lập. Nhập khóa qua UI hoặc cơ chế môi trường được tài liệu hóa, không bao giờ trong workspace dùng một lần hoặc source control.

Chỉ dùng openai-completions khi tuyến Tokenhot đã chọn có tài liệu hoặc xác nhận giao thức đó. Xác minh ID mô hình và hình dạng yêu cầu với tài khoản và workload của bạn. Tài liệu Tokenhot có sẵn cho bài này không xác lập tính sẵn có mô hình, giá, độ trễ, uptime hiện tại hoặc một yêu cầu dsh thành công, nên ví dụ này không hứa hẹn các điều đó.

Kiểm tra nâng cấp và rollback

Trước khi chuyển từ ứng viên này sang ứng viên khác, dừng tiến trình Web và mọi phiên hoạt động, rồi sao chép đúng $DSH_HOME đã dùng ở trên cùng workspace dùng một lần, giữ bản sao cạnh hồ sơ phiên bản. Home đó chứa profile, thiết lập, tham chiếu thông tin xác thực và phiên giúp so sánh có thể tái lập. Đọc ghi chú phát hành về thay đổi định dạng phiên, công cụ mặc định, adapter nhà cung cấp và API plugin. Chạy cùng tác vụ nhỏ trên môi trường cũ và mới, sau đó so sánh:

  1. Web UI hoặc profile headless có thể khởi động với workspace và mô hình dự kiến không?
  2. Phê duyệt công cụ có hiện tại các điểm chính sách của bạn mong đợi không?
  3. Tác vụ có thể tiếp tục không, và nhật ký phiên có chứa đầu vào mô hình nhìn thấy cùng kết quả công cụ mà bạn cần kiểm tra không?
  4. Plugin và patch có tải mà không lỗi cấu hình không?
  5. Nếu lần chạy mới thất bại, bạn có thể khôi phục home đã sao chép và tiếp tục dùng các tệp phiên cũ không?

Đừng ghi đè bản sao duy nhất của phiên khi thử di chuyển. Nếu bản phát hành mới ghi định dạng phiên mới hơn, hãy giữ bản gốc bên cạnh nó và thử hành vi hạ cấp trên một bản sao. Khôi phục $DSH_HOME và workspace đã sao chép cùng nhau nếu checkout nguồn mới thất bại; chỉ rollback tệp thực thi có thể để dữ liệu phiên ở định dạng phiên bản cũ không đọc được. Chỉ đưa một phiên bản vào môi trường có giá trị sau khi các kiểm tra này đạt với tệp, nhà cung cấp, công cụ và chính sách phê duyệt của chính bạn.

Câu hỏi thường gặp

DeepSeek Harness có phải phần mềm chính thức không?

Dự án được xuất bản trong tổ chức deepseek-ai/deepseek-harness, được liên kết từ trang Harness chính thức của DeepSeek và phát hành theo giấy phép MIT. Kho mã và trang chính thức là nguồn phù hợp cho hành vi hiện tại và tình trạng phát hành.

dsh có phải là LLM không?

Không. Đây là runtime quanh một mô hình: nhà cung cấp, công cụ, phiên, vòng lặp agent, chính sách và profile ứng dụng. Bạn vẫn cần endpoint mô hình tương thích và thông tin xác thực.

Tôi nên dùng mục nào cho CI?

Hãy bắt đầu bằng profile headless đã được tài liệu hóa cho lệnh one-shot. Cấp cho nó workspace dùng một lần và Harness home rõ ràng, ghim phiên bản, rồi kiểm tra đúng nhà cung cấp và tác vụ bạn định tự động hóa. Thực thi headless là điểm vào, không phải bảo đảm hành vi xác định hoặc an toàn cho production.

Danh sách sửa lỗi của bản phát hành có chứng minh ổn định không?

Không. Ghi chú phát hành mô tả hành vi và bản sửa đã thay đổi. Chúng không đo độ tin cậy trên một quần thể hoặc workload. Hãy dùng chúng để chọn các trường hợp hồi quy, rồi thu thập kết quả của chính bạn.

Tôi có thể định tuyến dsh qua Tokenhot không?

Có thể, nếu endpoint Tokenhot bạn chọn cung cấp một trong các giao thức dsh hỗ trợ và ID mô hình cùng hình dạng yêu cầu tương thích. Thiết lập API được tài liệu hóa của Tokenhot cung cấp base URL và mẫu Bearer Token; kết quả tương thích thực cần một yêu cầu đã xác thực và nằm ngoài hướng dẫn này.

Tôi nên bắt đầu từ đâu?

Đọc README kho rc.2, chọn workspace cô lập và chạy Web UI hoặc profile headless với tác vụ vô hại. Nếu cần các trường API Tokenhot đã được tài liệu hóa cho thí nghiệm nhà cung cấp, hãy theo Quick Start và xác minh mô hình cùng giao thức trước khi kết luận.

Tóm tắt

dsh là phần mềm xem trước dành cho nhà phát triển; các chế độ sản phẩm và profile CLI là hai lớp khác nhau. Hãy ghim phiên bản để đánh giá, cô lập những gì nó có thể truy cập và kiểm tra khối lượng công việc của bạn, bao gồm định dạng phiên và an toàn.

Bài viết liên quan

Mô hình liên quan

WhatsApp