# DeepSeek Harness hay Pi: coding agent miễn phí nào thắng

[Devsplainers](https://homus.dev/speakers/devsplainers) · [Devsplainers](https://homus.dev/orgs/devsplainers)

> So Pi 1.0 và DeepSeek Harness qua sáu round: cài đặt, benchmark cùng model, chi phí, model local, tính năng sẵn có, MCP codemode và quyền riêng tư.

Topics: Coding Agents, Dev Tools, Model Routing

Canonical: https://homus.dev/talks/deepseek-harness-vs-pi-which-free-coding-agent-wins

## 1. Pi 1.0 và DeepSeek Harness, ra mắt cách nhau một ngày

Video mở đầu bằng một mốc thời gian: chỉ trong khoảng một ngày, Pi lên phiên bản 1.0, còn DeepSeek Harness thì biến thành một desktop app. Nếu bạn muốn một coding agent không đến từ Anthropic hay OpenAI, thì đây là hai lựa chọn của bạn lúc này.

![Hai thanh công cụ Pi (vàng, nhãn 1.0) và DeepSeek Harness (xanh) đặt đối đầu dưới dòng chữ Within ~1 day](https://homus.dev/photos/gGqi-wcyHc4-0003.jpg)

Màn hình mở đầu: Pi (màu vàng, gắn nhãn 1.0) đối đầu DeepSeek Harness (màu xanh), hai sự kiện xảy ra trong vòng khoảng một ngày.

Hai cái tên này sát nhau tới mức đáng ngạc nhiên. Trong bài test cùng model lớn nhất tính tới lúc đó, Pi giải được 66 trên 89 task chạy trong terminal, còn DeepSeek Harness giải được 65. Bên trong chúng còn gần nhau hơn nữa: khi DeepSeek Harness nói chuyện với bất kỳ model nào không phải của DeepSeek, nó đi qua chính thư viện model của Pi.

Kênh hứa sẽ so hai bên theo từng round, và tới cuối video bạn sẽ biết tuần này nên cài cái nào.

## 2. Harness là gì, và hai lối đặt cược ngược nhau: 4 tool hay 26 tool

Trước hết là định nghĩa. Một harness là mọi thứ bao quanh model: vòng lặp (loop) giữ cho model tiếp tục làm việc, các tool mà model được gọi, system prompt, và cách nó xử lý khi context window đã đầy.

![Hình dao đa năng: thân là harness với các nhãn Loop, Tools, System prompt, Context window, đầu cắm Model](https://homus.dev/photos/gGqi-wcyHc4-0043.jpg)

Harness được vẽ như một con dao đa năng: thân dao gồm loop, các lưỡi là tools, tờ giấy là system prompt, ô đỏ là context window, còn model chỉ là cái đầu cắm ở cuối.

Harness quan trọng tới mức nào? Trên một benchmark về chỉnh sửa code (edit benchmark), cùng một model GPT có điểm dao động từ 99% xuống tới 70%, và thứ duy nhất thay đổi giữa các lần chạy là harness.

Pi và DeepSeek Harness đặt cược theo hai hướng ngược nhau.

**Pi** là agent tối giản của Mario Zechner, nay do một công ty tên là Earendil vận hành. Nó khởi đầu với đúng bốn tool: `read`, `bash`, `edit` và `write`, cùng một system prompt chỉ vài trăm chữ. Mọi thứ khác bạn tự thêm bằng extension. Những người dùng nó hằng ngày gọi nó là "Vim của các coding agent".

**DeepSeek Harness**, gọi tắt là DSH, ra mắt vào tháng Tám với ý tưởng mọi thứ đều là plugin, kể cả chính vòng lặp agent. Ở cấu hình mặc định, nó gửi cho model 26 tool ngay từ request đầu tiên.

Hai lối đặt cược: Pi bắt đầu từ bốn tool và một system prompt ngắn, DSH bắt đầu từ 26 tool và coi cả vòng lặp agent là plugin.

Cả hai đều dùng giấy phép MIT và miễn phí, nên bạn chỉ trả tiền cho model. Và đúng vậy, "Pi" là một cái tên cực khó để Google, video này cũng chẳng giúp được gì chuyện đó.

## 3. Claude Code mods nhảy vào cuộc

Đúng cái ngày Pi 1.0 ra mắt, Anthropic thêm mods vào Claude Code. Một mod có thể viết lại system prompt của Claude Code, nhưng không thể thêm một model provider mới. Và trong cùng bài test terminal kể trên, chạy trên model của DeepSeek, Claude Code đứng cuối trong 9 harness.

![Thanh Claude Code có ô Mod, nhãn Can: system prompt và tờ Rewritten](https://homus.dev/photos/gGqi-wcyHc4-0143.jpg)

Claude Code mods: một mod gắn vào Claude Code và có thể viết lại (rewritten) system prompt, đó là phần nó được phép chạm tới.

Dù vậy, hai ngày sau DeepSeek vẫn ship một lớp tương thích (compatibility layer), để kiểm chứng rằng mods về cơ bản chỉ là một tập con của hệ plugin của chính DSH. Người dẫn đùa: "Tôi đi lấy bỏng ngô đây."

## 4. Round 1: Bắt đầu dùng

DeepSeek Harness thắng round đầu một cách dễ dàng. Desktop app cho Mac và Windows đóng gói sẵn mọi thứ nó cần: bạn cài, đăng nhập bằng tài khoản DeepSeek và bắt đầu.

App này là một lớp bọc quanh giao diện web mà DSH vốn đã có, nên vẫn chưa có giao diện terminal, và người dùng Linux thì nhận bản cài qua npm thay vì app. Người dẫn chèn một câu đùa: đúng, chuyện này giống hệt kiểu bình luận "có bản Android không?" dưới mọi bài đăng về iPhone.

![Khung Desktop app bọc Web UI, biểu tượng Apple và Windows, Linux chỉ sang npm, một bình luận Android version?](https://homus.dev/photos/gGqi-wcyHc4-0223.jpg)

Round 1: desktop app của DSH bọc giao diện web, chạy trên Mac và Windows; Linux đi đường npm, kèm câu đùa "Android version?".

Pi thì sống trong terminal của bạn. Bạn cài nó bằng npm hoặc bằng trình cài đặt trên [pi.dev](https://pi.dev), thêm một API key hoặc trỏ nó tới một model chạy local, rồi bắt đầu gõ. Nếu bạn vốn đã sống trong terminal, đó là nhà. Nếu không, app của DSH thân thiện hơn nhiều. Round 1 thuộc về DeepSeek Harness.

## 5. Round 2: Cùng model, cùng bài

Đây là round ai cũng hỏi, và kết quả là hòa.

Trong bài test terminal (Terminal-Bench 2.1) chạy trên DeepSeek V4 Flash, Pi qua 66 task, DSH qua 65. Và DSH chỉ đạt được con số đó sau khi nhóm test sửa ba lỗi về setup, trong đó có một timeout 5 phút trên tool bash của nó.

Composio chạy DeepSeek V4 Pro qua cả hai harness trên 30 task dùng tool thực tế: Pi qua 21, DSH qua 20, và hai bên cho cùng kết quả ở 27 trên 30 task.

Trên Kimi K3, creator mode của DSH (chế độ tự build plugin) thắng Pi đúng một task, còn default mode của DSH thì hòa Pi.

![Pi và DSH cùng gắn model Kimi K3, phía DSH có hai nhãn Creator mode và Default mode](https://homus.dev/photos/gGqi-wcyHc4-0316.jpg)

So trên Kimi K3: Pi chạy hai lần đối đầu với hai chế độ của DSH, creator mode (hơn Pi một task) và default mode (hòa).

Về tốc độ, DSH nhanh hơn trong lần chạy của Composio: khoảng bốn phút mỗi task, so với sáu phút của Pi. Còn bảng xếp hạng trên YouTube mà bạn có thể đã thấy, với DSH đứng đầu trên một model Qwen chạy local, thực ra chỉ dựa trên hai prompt, mỗi prompt chạy một lần và chấm bằng mắt.

Một lưu ý lớn: tất cả các bài test này đều chạy trên những bản build trước Pi 1.0 và trước desktop app (trên màn hình đóng dấu "PRE-1.0 BUILDS"), và chưa ai chạy lại. Để ghi nhận cho đủ: Codex của OpenAI vượt cả hai về tỉ lệ pass trong cả hai bảng lớn. Round 2 hòa.

## 6. Round 3: Chi phí cho mỗi task

Pi lấy round chi phí. Trong bài test terminal, Pi tốn khoảng 2 cent cho mỗi task pass, DSH nhỉnh hơn 2,5 cent một chút. Trên Kimi K3, chi phí trung vị mỗi task là 2,43 USD với Pi và 3,46 USD với DSH.

![Pi 2 cent và DSH 2.6 cent mỗi task pass, cùng model DeepSeek](https://homus.dev/photos/gGqi-wcyHc4-0403.jpg)

Chi phí cho mỗi task pass trên cùng model DeepSeek: Pi khoảng 2 cent, DSH khoảng 2,6 cent.

Composio là ngoại lệ: ở đó DSH rẻ hơn khoảng 10% cho mỗi lần thành công. Nhưng trong lần chạy đó, hai harness đi qua hai API khác nhau.

Khoảng chênh đến từ hai lối đặt cược. Pi giữ prompt rất nhỏ. DSH gửi một prompt lớn, theo một phép đo thì gấp khoảng 10 lần lượt đầu tiên của Pi, và trông vào cache để làm nó rẻ đi. Trên API của chính DeepSeek, cách đó hiệu quả, vì một cached token chỉ tốn một phần năm mươi giá token mới. Trên Claude Sonnet, một cached token tốn một phần mười, nên prompt lớn nặng hơn nhiều.

Nếu bạn chạy DSH, hãy hạ reasoning effort xuống. Trong một nghiên cứu trên một bản build cũ hơn, việc đó cắt chi phí của DSH đi ba phần tư mà mọi task vẫn pass.

## 7. Round 4: Hỗ trợ model và model chạy local

Pi nói chuyện được với khoảng 30 provider ngay khi cài, và có sẵn một router cho model local thông qua llama.cpp. Pi 1.0 thêm virtual models: bạn chọn một model trên menu, còn một extension sẽ quyết định với từng request xem model thật nào trả lời. Trong demo ra mắt, Earendil cho Pi tự viết một virtual model như vậy: lập kế hoạch bằng Claude Opus và viết code bằng GPT.

DSH khởi đầu với model Flash của chính DeepSeek, trên API của chính DeepSeek. Bạn có thể thêm Anthropic, OpenAI, Kimi hoặc bất kỳ endpoint tương thích nào, và toàn bộ lớp bên thứ ba đó chạy trên thư viện model của Pi. Package đó tên là `dsh-llm-pi-ai`. Chỉ các model của DeepSeek mới có adapter riêng (native).

![DSH mặc định nối V4 Flash với DeepSeek API, các logo Anthropic và OpenAI chờ gắn vào](https://homus.dev/photos/gGqi-wcyHc4-0523.jpg)

Mặc định DSH chạy DeepSeek V4 Flash qua DeepSeek API; Anthropic, OpenAI và các model khác gắn thêm sau, qua lớp dùng thư viện model của Pi.

Một harness của một hãng làm model thì mặc định dùng model của chính hãng đó. Người dẫn đùa: "Sốc chưa."

Với model chạy local, bằng chứng nghiêng về cả hai phía và mẫu thử rất nhỏ (trên màn hình: "Pi ahead" một bên, "DSH ahead" một bên). Nhưng Pi có nhiều tùy chỉnh hơn cho llama.cpp, Ollama và vLLM. Còn mặc định về compaction của DSH giả định một context window lớn, mà bạn phải tự thu nhỏ lại. Round 4 thuộc về Pi.

## 8. Round 5: Có gì ngay khi cài

Round 5 xét những gì bạn có trước khi cài thêm bất cứ thứ gì, và DSH thắng. Cấu hình mặc định của nó có sẵn plan mode, một to-do list, web search, workflows, và các sub-agent có thể chuyển việc sang Codex hoặc Claude Code.

Ở creator mode, bạn yêu cầu một plugin mới ngay trong khung chat, và agent tự viết rồi cài nó vào phiên đang chạy. DSH cũng bắt đầu mọi phiên trong một sandbox giới hạn những gì nó được ghi, và hỏi trước khi hành động; nếu không có sandbox nào khả dụng, nó sẽ không chạy.

Pi thì đưa bạn bốn tool và không có sandbox, một cách có chủ ý. Tài liệu của nó bảo bạn chạy nó trong một container, còn plan mode và sub-agent đến từ các package của cộng đồng.

![Pi với bốn tool read, bash, edit, write trong khung nét đứt, dòng chữ No sandbox on purpose](https://homus.dev/photos/gGqi-wcyHc4-0631.jpg)

Pi chỉ có read, bash, edit, write và cố ý không kèm sandbox; khung nét đứt gợi ý cái container mà tài liệu Pi khuyên bạn tự dựng.

## 9. Pi 1.0 thêm MCP qua codemode

Bổ sung lớn của Pi 1.0 là MCP, cách chuẩn để cắm tool vào một agent, thông qua một thứ gọi là codemode. Bình thường, mô tả của từng tool nằm sẵn trong prompt và trong từng context. Với codemode, model viết một script JavaScript nhỏ gọi các tool bên trong một sandbox, và chỉ có kết quả quay về.

Khác biệt của codemode: thay vì nhồi mô tả tool vào prompt, model viết một script nhỏ chạy trong sandbox và chỉ nhận lại kết quả.

Một creator đã chạy một task về độ an toàn của xe hơi trong Pi theo cả hai cách. MCP thường xếp hạng được 4 trên 10 chiếc xe với giá 26 cent; codemode xếp hạng đủ cả 10 chiếc với giá 9 cent.

![Hai hàng mười chiếc xe, nhãn Plain MCP và Codemode, phía trên ghi One creator, one run](https://homus.dev/photos/gGqi-wcyHc4-0702.jpg)

Thí nghiệm xếp hạng mười chiếc xe theo độ an toàn, chạy qua MCP thường và qua codemode; màn hình nhấn mạnh đây là một creator, một lần chạy.

Đó chỉ là một lần chạy duy nhất, nhưng nó giải thích vì sao Pi bỏ đi câu khẩu hiệu tự hào "không MCP" của mình. Dù vậy, round này vẫn thuộc về DeepSeek Harness.

## 10. Round 6: Ai nắm quyền, và dữ liệu của bạn đi đâu

Round cuối là quyền kiểm soát, điều quan trọng với một tool mà bạn gọi là mã nguồn mở. Cả hai đều dùng giấy phép MIT, nhưng chỉ một bên nhận code từ bên ngoài.

Pi có 290 contributor và đã merge 68 pull request trong tháng vừa qua. DSH có số GitHub star nhiều hơn gấp đôi Pi (trên màn hình là 243K so với 112K) nhưng chỉ có 42 contributor, và hoàn toàn không nhận pull request từ bên ngoài.

![Thanh star 243K và 112K, thanh Pi có nhãn PR, phía DSH treo biển Closed](https://homus.dev/photos/gGqi-wcyHc4-0743.jpg)

DSH có 243K star, Pi có 112K; nhưng Pi nhận pull request còn DSH treo biển "Closed" với đóng góp từ bên ngoài.

DSH vẫn là một bản developer preview, và README của nó cảnh báo bằng chữ in hoa về những thay đổi phá vỡ tương thích. Nó đã ship 25 bản release trong 7 tuần. Một người dùng kể rằng họ phải kiểm tra lại các plugin của mình mỗi 3 hoặc 4 ngày.

Mặc định, DSH gửi session log của bạn kèm theo mỗi request tới API của chính DeepSeek. Bạn có thể tắt việc đó trong phần settings.

![Công tắc Session log của DSH đang bật, nối tới DeepSeek API, nhãn On by default](https://homus.dev/photos/gGqi-wcyHc4-0800.jpg)

Session log của DSH bật sẵn (on by default) và đi kèm request tới DeepSeek API.

Desktop app còn gửi dữ liệu analytics về cách dùng, như bạn chọn model nào và đã cài plugin nào, và chính tài liệu của nó nói không có tùy chọn nào cho người dùng kiểm soát việc đó. Pi chỉ gửi một ping ẩn danh khi cài và khi cập nhật, còn analytics thì tắt theo mặc định.

Và nếu bạn dùng API của DeepSeek trong bất kỳ harness nào, chính sách quyền riêng tư của DeepSeek nói dữ liệu của bạn được lưu ở Trung Quốc và có thể được dùng để huấn luyện. Round 6 thuộc về Pi.

Tỉ số chung cuộc: Pi 3, DeepSeek Harness 2, một trận hòa.

## 11. Kết luận: nên cài cái nào

Chọn DeepSeek Harness nếu bạn muốn một app có sandbox ngay từ ngày đầu, và bạn chạy các model của DeepSeek trên API của DeepSeek. Hạ reasoning xuống, và tắt session log nếu chuyện đó làm bạn bận tâm.

![Pick DSH if: App, Sandbox on day one, khung cửa sổ DeepSeek Harness](https://homus.dev/photos/gGqi-wcyHc4-0843.jpg)

Lời khuyên cho phía DSH: chọn nó nếu bạn cần một app và sandbox có sẵn ngay ngày đầu.

Chọn Pi nếu bạn sống trong terminal, hay đổi model, hoặc chạy model local. Và hãy cho nó một container trước khi giao cho nó repo của bạn.

Các tool này ship thứ gì đó mới mỗi vài ngày, và người thắng của tháng sau có thể là một cái tên thứ ba. Hãy giữ chỉ dẫn cho agent và các skill của bạn trong những file văn bản thuần nằm trong repo, để việc đổi harness chỉ mất một buổi chiều.

## Nguồn và liên kết

- Tên gốc: DeepSeek Harness vs Pi: Which Free Coding Agent Wins
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=gGqi-wcyHc4](https://www.youtube.com/watch?v=gGqi-wcyHc4)

- Kênh YouTube Devsplainers (Devsplainers): [youtube.com/channel/UCf4sXk66VuWGlg4Nh0tuCdA](https://www.youtube.com/channel/UCf4sXk66VuWGlg4Nh0tuCdA)

- Bài ra mắt Pi 1.0 của Earendil (codemode với MCP, virtual models qua extension): [earendil.com/posts/pi-1-0](https://earendil.com/posts/pi-1-0/)

- Earendil, "You said no MCP" (vì sao Pi đổi ý về MCP): [earendil.com/posts/you-said-no-mcp](https://earendil.com/posts/you-said-no-mcp/)

- Tài liệu codemode của Pi (script JavaScript gọi tool trong sandbox, chỉ output quay về model): [github.com/earendil-works/pi/.../codemode.md](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/codemode.md)

- Trang chủ Pi: [pi.dev](https://pi.dev)

- Repo DeepSeek Harness và các bản release: [github.com/deepseek-ai/deepseek-harness/releases](https://github.com/deepseek-ai/deepseek-harness/releases)

- Package `@deepseek-ai/dsh-llm-pi-ai`, lớp dùng thư viện model của Pi trong DSH: [package.json](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-pi-ai/package.json)

- Tài liệu session log của DSH (mặc định `enabled: true`, tắt được trong Settings): [session-log-deepseek README](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/README.md)

- Tài liệu product analytics của desktop app DSH (bật mặc định, không có tùy chọn cho người dùng): [product-analytics README](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/product-analytics/README.md)

- Tài liệu tham chiếu Claude Code mods: [code.claude.com/docs/en/plugins/mods/reference](https://code.claude.com/docs/en/plugins/mods/reference)

- Kết quả Terminal-Bench 2.1, chín harness trên DeepSeek V4 Flash (Pi 66/89, DSH 65/89, Codex 73/89): [github.com/apache/maka/.../terminal-bench-2.1-deepseek-v4-flash-nine-arm.md](https://github.com/apache/maka/blob/main/docs/eval/terminal-bench-2.1-deepseek-v4-flash-nine-arm.md)

- Composio, so sánh DeepSeek Harness và Pi: [composio.dev/content/deepseek-harness-vd-pi-agent](https://composio.dev/content/deepseek-harness-vd-pi-agent)

- FrontierHarness Eval: [frontierharness.org](https://frontierharness.org/)

- Bảng giá API của DeepSeek: [api-docs.deepseek.com/quick_start/pricing](https://api-docs.deepseek.com/quick_start/pricing)

- Bảng giá API của Anthropic: [platform.claude.com/docs/en/about-claude/pricing](https://platform.claude.com/docs/en/about-claude/pricing)

- Chính sách quyền riêng tư của DeepSeek: [cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html](https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html)

Nguồn: https://homus.dev/talks/deepseek-harness-vs-pi-which-free-coding-agent-wins · cập nhật 2026-10-16
