Quay lại blog

Agents & tự động hóaHướng dẫn

Chạy dsh-superagent trên một model rẻ: từ issue GitHub đến PR

Thiết lập dsh-superagent của DeepSeek để một issue có nhắc đến tài khoản agent trở thành một pull request, và ước tính một ticket tốn bao nhiêu token.

Bởi CheapTokens TeamĐã xuất bản 7 phút đọc

Terminal hiển thị lệnh khởi động dsh-superagent bên cạnh các dấu hiệu DeepSeek Harness và dsh-superagent
Trên trang này
  1. Nó thực sự làm gì
  2. Trước khi bắt đầu
  3. Cài đặt và khởi động
  4. Cấp cho agent một tài khoản GitHub riêng
  5. Issue thử nghiệm đầu tiên của bạn
  6. Một ticket tốn bao nhiêu
  7. Giữ nó trong tầm kiểm soát
  8. Nguồn

Bạn nhắc đến một agent trong một issue GitHub mới, đi pha trà, rồi quay lại thấy một pull request. Đó là những gì dsh-superagent của DeepSeek làm, và bạn có thể chạy nó trên một model CheapTokens thông qua DeepSeek Harness (DSH). Dưới đây: phần cài đặt, tài khoản GitHub riêng của agent, issue thử nghiệm đầu tiên, và ngân sách cho một ticket.

Một lưu ý từ chính repository. README của nó (kiểm tra ngày 2 tháng 11 năm 2026) gọi đây là một nguyên mẫu nghiên cứu chỉ để tham khảo, không phải sản phẩm chính thức của DeepSeek, và nói rằng nó có thể vẫn còn lỗi. Nó có giấy phép MIT, có một commit trên main và không có bản phát hành nào. Hãy chạy nó trên một repository mà bạn có thể thoải mái thử nghiệm.

Nó thực sự làm gì#

dsh-superagent là một coding agent chủ động cho một repository GitHub, được đóng gói thành một bundle cho DeepSeek Harness. Nó lắng nghe GitHub. Khi ai đó trong danh sách được phép của bạn yêu cầu, nó mở một work item (tài liệu gọi là Ticket), làm việc trong phiên agent riêng và thư mục riêng của nó, rồi trả lời trong cuộc hội thoại gốc, ví dụ bằng một pull request. Một bảng điều khiển web hiển thị các item cần con người xử lý.

Vậy một issue là một phiên, và một phiên là một vòng lặp các lệnh gọi model. Vòng lặp đó là nơi token bị tiêu tốn; nếu bạn chưa thấy lý do, vì sao AI agent dùng nhiều token đến vậy sẽ đi qua một ví dụ 20 bước.

Từ issue đến pull request: tài khoản agent được nhắc đến, một Ticket mở ra, một phiên làm việc, một PR quay về
Đường đi của một ticket trong dsh-superagent

Trước khi bắt đầu#

Theo tài liệu triển khai, bạn cần:

  • Node.js 22.19+ hoặc 24+, pnpm, git 2.32+, tmux, Python 3.8+
  • GitHub CLI 2.48+ (được dùng qua một wrapper nhỏ, xem bên dưới)
  • một repository trên github.com (GitHub Enterprise Server không được hỗ trợ)
  • DSH trong khoảng phiên bản từ engines.dsh trong package.json của repo
  • một nhà cung cấp model DSH

Mục cuối cùng là thứ repository để cho bạn: hướng dẫn cài đặt gọi nhà cung cấp là một bước của người vận hành. Với CheapTokens, hãy kết nối DeepSeek Harness với CheapTokens trước rồi quay lại. Model id cần dùng là deepseek-ai/DeepSeek-V4-Flash-0731 (id đầy đủ, tên viết tắt trong bảng giá không được API chấp nhận), và API base là https://api.cheaptokens.dev/v1. Chi tiết có trên trang tài liệu CheapTokens.

Một điều cần lưu ý. Theo tài liệu triển khai, quá trình cài đặt loại bỏ các biến môi trường có tên chứa KEY, PASSWORD, SECRET hoặc TOKEN, và xóa GH_TOKEN và GITHUB_TOKEN khỏi môi trường worker. Vì vậy một key nhà cung cấp được export trong shell sẽ không đến được worker; hãy thiết lập nó như mô tả trong bài viết kết nối.

Cài đặt và khởi động#

Từng bước một

Cài đặt bundle

Cài DSH và repo

Tài liệu (docs/006-deployment.md, kiểm tra ngày 2 tháng 11 năm 2026) ghim một release candidate:

bash
npm install -g @deepseek-ai/dsh@0.2.1-rc.3
git clone https://github.com/deepseek-ai/dsh-superagent-prototype dsh-superagent
cd dsh-superagent
pnpm install && pnpm build

Tạo profile (chỉ khi cài mới)

bash
dsh superagent --from-default-profile web --dump-config > /dev/null
dsh plugin --profile superagent add "link:$PWD"

Chỉ chạy dòng đầu tiên một lần. Trên một profile superagent đã tồn tại, nó sẽ thay thế profile và xóa cordis.patch.yml của profile đó.

Thêm cấu hình

Sao chép examples/profile.cordis.patch.yml sang ~/.dsh/profiles/superagent/cordis.patch.yml. Key bắt buộc duy nhất là stateDir, một đường dẫn tuyệt đối nơi database, lock và các file worker được lưu. Mục webserver đặt cổng (mặc định là 3082).

Khởi động nó

bash
scripts/dsh-superagent start
scripts/dsh-superagent status

start chạy bên trong một phiên tmux tên là dsh-superagent.

Các lệnh cài đặt và khởi động dsh-superagent trong terminal
Bốn lệnh quan trọng, từ docs/006-deployment.md

Lệnh status trả lời bằng một mã thoát: 0 là bình thường, 1 nghĩa là khởi động lại có thể giúp ích, 2 nghĩa là một phần bị lỗi và khởi động lại sẽ không sửa được, 3 nghĩa là vẫn cần thiết lập. Hãy bắt đầu với các giá trị mặc định: profile superagent, tiền tố nhánh agent/, và chế độ chấp nhận observe, chế độ này ghi lại công việc chủ động mà không thực hiện nó.

Cấp cho agent một tài khoản GitHub riêng#

Đây là bước mọi người bỏ qua rồi thắc mắc vì sao không có gì xảy ra. Agent cần một người dùng GitHub thông thường có quyền ghi vào repository của bạn; một GitHub App không thể đảm nhận vai trò này.

  1. Tạo người dùng và thêm nó làm cộng tác viên với quyền ghi.
  2. Tạo một wrapper ~/.local/bin/gh-agent: GH_CONFIG_DIR="$HOME/.config/gh-agent" exec gh "$@". Điều này tách đăng nhập của agent khỏi gh của chính bạn.
  3. Chạy gh-agent auth login với tư cách người dùng đó.
  4. Trong bảng điều khiển web, mở Sources, đặt repository (owner/name) và đường dẫn CLI trỏ đến wrapper.
  5. Trong Policy, thêm các login được phép giao việc cho agent vào policy.sources.github.allowed. Không có gì trở thành Ticket cho đến khi ai đó nằm trong danh sách đó.

Danh sách kiểm tra

Trước issue đầu tiên

Issue thử nghiệm đầu tiên của bạn#

Mở một issue mới trong repository và viết một điều gì đó nhỏ và rõ ràng, với login của agent ở định dạng code, ví dụ: @<agent login> fix the typo in README.md: "recieve" should be "receive".

Từ "mới" rất quan trọng. Chỉnh sửa một issue cũ để thêm mention sẽ không được nhận; một issue mới hoặc một bình luận mới thì có. Nếu bảng điều khiển hiển thị một Ticket và sau đó một nhánh bắt đầu bằng agent/ xuất hiện, chuỗi hoạt động đúng.

Tự mình thử xemThử xem: không có gì xảy ra sau mention của bạn. Bạn kiểm tra gì trước tiên?Hiện đáp án

Danh sách cho phép. Cho đến khi login của bạn nằm trong policy.sources.github.allowed, không có gì trở thành Ticket. Sau đó, kiểm tra rằng mention nằm trong một issue hoặc bình luận mới, không phải một cái đã bị chỉnh sửa.

Một ticket tốn bao nhiêu#

Repository không công bố mức dùng token cho mỗi ticket, nên đây là một ước tính dựa trên các giả định đã nêu. Giả sử một ticket nhỏ cần 25 lệnh gọi model. Mỗi lệnh gọi mang theo cuộc hội thoại ngày càng lớn: trung bình khoảng 30.000 token đầu vào, và khoảng 800 token trả lời (một lệnh, một bản vá, một ghi chú ngắn).

Mỗi ticket như vậy là 30.000 × 25 = 750.000 token đầu vào và 800 × 25 = 20.000 token đầu ra. Trên DeepSeek-V4-Flash với giá CheapTokens hiện tại (đầu vào $0.015 và đầu ra $0.10 trên 1M token), một ticket như vậy tốn $0.0133.

Phần mất cân đối: đầu vào gấp khoảng 37 lần đầu ra, và điều đó là bình thường với agent, vì mỗi bước đều gửi lại những gì đã có trước đó. Cùng một ticket trên các model khác:

Mô hình Chi phí OpenRouter
GLM-5.3-Flash $0.0158 $0.0268
DeepSeek-V4-Flash $0.0133 $0.0553
MiniMax-M2.7 $0.0405 $0.486

Tổng cộng 750.000 token đầu vào và 20.000 token đầu ra. Giá trên 1 triệu token là giá hiện hành và thay đổi cùng với biểu phí của chúng tôi; cột OpenRouter hiển thị giá tham chiếu cho cùng khối lượng công việc.

Bảng cũng liệt kê GLM-5.3-Flash (ngữ cảnh 390K, tối đa 8.192 token đầu ra mỗi câu trả lời) nếu ticket của bạn ngắn và câu trả lời nhỏ. Với các vòng lặp công cụ dài, DeepSeek-V4-Flash cho bạn ngữ cảnh 380K, tối đa 32.768 token mỗi câu trả lời và một mức giá bất kể giờ nào. Con số của bạn sẽ khác, nên hãy kéo các thanh trượt:

Máy tính chi phí

Một ngày với năm ticket (mỗi ticket 25 lệnh gọi)

Token đầu vào mỗi yêu cầu: 30.000 · Token đầu ra mỗi yêu cầu: 800 · Số yêu cầu mỗi ngày: 125

Mô hìnhMỗi ngàyMỗi tháng
GLM-5.3-Flash$0.079$2.37
DeepSeek-V4-Flash$0.0663$1.99
MiniMax-M2.7$0.203$6.08

Nếu bạn muốn cắt giảm phía đầu vào, cách ước tính chi phí của một AI agent đề cập đến những thói quen quan trọng nhất.

Giữ nó trong tầm kiểm soát#

Hãy ở chế độ observe trong một ngày: nó ghi lại những gì agent sẽ tự làm, để bạn thấy mô hình hành vi trước khi nó hành động. Ban đầu chỉ cho phép login của chính bạn. Xem từng dòng trong ba pull request đầu tiên, và kiểm tra mức dùng model trên số dư của bạn sau ngày đầu tiên, rồi nhân với số ticket thực tế của bạn.

Repo cũng nói rằng một số thiết kế từ bài viết kèm theo của DeepSeek chưa được triển khai, nên hãy coi các tính năng còn thiếu là chưa hoàn thiện, không phải lỗi của bạn.

Nguồn#

Mọi thông tin về repository đều đến từ deepseek-ai/dsh-superagent-prototype (README, SETUP.md, docs/006-deployment.md), kiểm tra ngày 2 tháng 11 năm 2026. Trang repository không hiển thị ngày commit và phiên bản DSH 0.2.1-rc.3 là một release candidate, nên hãy kiểm tra lại tài liệu trước khi cài đặt.