[English](README.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Português](README.pt.md) · [Italiano](README.it.md) · [Türkçe](README.tr.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md) · [Русский](README.ru.md) · [Polski](README.pl.md) · [हिन्दी](README.hi.md) · [Nederlands](README.nl.md) · [Українська](README.uk.md) · **Tiếng Việt** · [Bahasa Indonesia](README.id.md) · [ไทย](README.th.md) · [فارسی](README.fa.md) · [Ελληνικά](README.el.md) · [עברית](README.he.md) · [Čeština](README.cs.md) · [Română](README.ro.md) · [Svenska](README.sv.md) · [Dansk](README.da.md) · [Suomi](README.fi.md) · [Magyar](README.hu.md) · [العربية](README.ar.md) · [Oʻzbekcha](README.uz.md) · [Azərbaycan](README.az.md) · [Български](README.bg.md) · [Hrvatski](README.hr.md) · [Қазақша](README.kk.md) · [ქართული](README.ka.md) · [नेपाली](README.ne.md) · [සිංහල](README.si.md) · [தமிழ்](README.ta.md) · [తెలుగు](README.te.md) · [मराठी](README.mr.md) · [বাংলা](README.bn.md) · [ខ្មែរ](README.km.md) · [Lietuvių](README.lt.md) · [Bahasa Melayu](README.ms.md) · [မြန်မာ](README.my.md) · [Norsk](README.no.md) · [Slovenčina](README.sk.md) · [Slovenščina](README.sl.md) · [Српски](README.sr.md) · [Kiswahili](README.sw.md) · [Filipino](README.tl.md) · [اردو](README.ur.md)

# Uncle Sam

**Một nhà cung cấp cho DeepSeek Harness, trả lời qua chính trình duyệt của bạn — trên tài khoản web bạn đã có — thay vì API tính tiền.**

**Plugin DeepSeek Harness điều khiển chat.deepseek.com trong trình duyệt thật — giải pháp miễn phí thay cho API DeepSeek. Trò chuyện, DeepThink và tìm kiếm web trên tài khoản của bạn: không cần API key, không trả tiền theo token.**

**☕ [Mời tôi một ly cà phê](https://revolut.me/operatingtag)** — viết bởi một người, về đêm, không có tài trợ. Không có nguồn thu nào khác. Một ngôi sao hay một báo lỗi hữu ích cũng quý như vậy.

> **Sản phẩm này đang được phát triển liên tục. Hãy chờ đợi lỗi.**
>
> Nó chạy được, nó nhanh, và nó đã được dùng hằng ngày suốt nhiều tuần — nhưng nó luôn thay đổi, và đường đi
> qua trình duyệt phụ thuộc vào một trang web thay đổi không báo trước. Nếu có gì hỏng, một ảnh chụp màn hình và
> số phiên bản có giá trị hơn một đoạn mô tả. Hãy ghim một phiên bản nếu bạn phụ thuộc vào nó.

```
nhà cung cấp  deepseek-web
mô hình       deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
chi phí       không đồng nào mỗi token — dùng gói đăng ký đã mở sẵn trong trình duyệt của bạn
trạng thái    đang phát triển — hãy chờ đợi lỗi
đo được       token đầu ~1,9 giây · chi phí phụ ~0,6 giây · một lượt hoàn chỉnh ~2,5 giây
```

Câu trả lời từ đường web được ký **🔴 Uncle Sam**. Cái tên đó là một câu đùa, không phải một tuyên bố: nó đánh
dấu đường nào đã trả lời, còn câu trả lời của API không hề có chữ ký. Bạn luôn biết ai đã trả lời mình.

---

## Nó tiết kiệm cho bạn điều gì

API tính tiền theo token. Sản phẩm web thì không. Plugin này đăng ký `deepseek-web` làm nhà cung cấp mô hình và
trả lời mọi lệnh gọi bằng cách điều khiển `chat.deepseek.com` trong một trình duyệt thật — trang làm việc, trình
duyệt giữ phiên, và không có gì bị tính tiền.

| | Đường API | Đường web |
|---|---|---|
| Chi phí | theo token, mãi mãi | không gì ngoài gói đăng ký |
| Tốc độ | nhanh | ~2,5 giây mỗi lượt, đã đo |
| Gọi công cụ | gốc và đáng tin | mô phỏng, chạy được nhưng yếu hơn |
| Phụ thuộc vào | API | một trang web thay đổi không báo trước |

**Cả hai đường đều được cài sẵn.** Bộ chọn mô hình chính là công tắc: mặc định dùng đường rẻ, và chuyển sang API
khi công việc cần công cụ đáng tin.

---

## Cài đặt

Uncle Sam là một **plugin của DeepSeek Harness**. Ngoài harness nó không làm gì, vì nó đăng ký một nhà cung cấp mô
hình, một tuyến trên host và hai chỗ trong giao diện.

**Yêu cầu**

| | |
|---|---|
| DeepSeek Harness | bản dựng gần đây có trình quản lý plugin |
| Trình duyệt | khuyến nghị Brave; Edge được dùng tự động nếu không có Brave |
| Node | 22 trở lên |

**Từ npm**

```bash
pnpm add @operatingtag/dsh-unclesam
```

**Từ kho này**

```bash
git clone https://github.com/operatingtag/dsh-unclesam
cd dsh-unclesam
pnpm install
```

Rồi thêm dòng gói vào hồ sơ của bạn để harness nạp nó:

```yaml
# cordis.patch.yml
- insert:
    - id: dsh-unclesam
      name: '@operatingtag/dsh-unclesam'
      config:
        port: 9222
        defaultModel: deepseek-chat-search
        autoMinimise: true
```

**Hoặc từ một thư mục:** Cài đặt → Plugin → cài từ đường dẫn cục bộ, trỏ tới thư mục có `package.json`.

### Lần chạy đầu tiên

Bấm **Đăng nhập / mở trò chuyện**. Trình duyệt mở ra và **vẫn hiện** cho tới khi bạn đăng nhập xong trên
chat.deepseek.com. Sau đó nó tự thu nhỏ và bạn sẽ không thấy nó nữa. Phiên nằm trong hồ sơ trình duyệt, nên
**plugin không lưu mật khẩu nào** — không có gì để lộ.

Sau đó bạn sẽ thấy:

1. **Cài đặt → Uncle Sam** — một trang có các dòng trạng thái và một nút đăng nhập.
2. **Dưới ô nhập** — `● DeepSeek Harness` hoặc `● Uncle Sam`, bấm để chuyển.
3. **Danh sách mô hình** — bốn mô hình `(web)` bên cạnh các mô hình API.

### Gỡ bỏ

Cài đặt → Plugin → Uncle Sam → Gỡ cài đặt. Không ghi gì ra ngoài hồ sơ trình duyệt mà bạn đã đăng nhập.

---

## Công tắc API / web

**Bộ chọn mô hình chính là công tắc.** Không có điều khiển thứ hai, vì một điều khiển thứ hai mà cũng chọn mô hình
thì sẽ là hai nguồn sự thật cho một quyết định.

| Chọn mô hình này | Đường | DeepThink | Tìm kiếm |
|---|---|---|---|
| `DeepSeek Chat (web)` | trình duyệt | tắt | tắt |
| `DeepSeek Chat + Search (web)` | trình duyệt | tắt | **bật** |
| `DeepSeek Reasoner (web)` | trình duyệt | **bật** | tắt |
| `DeepSeek Reasoner + Search (web)` | trình duyệt | **bật** | **bật** |
| mọi mô hình không có `(web)` | API | — | — |

Cạnh tên mô hình có huy hiệu **WEB** hoặc **API**, để đường đang dùng thấy được ngay. Khi không nhận ra tên,
huy hiệu không hiện gì thay vì đoán — huy hiệu sai còn tệ hơn không có.

Lựa chọn của bạn được giữ qua các lần khởi động lại. **DeepThink** là lượt suy luận; **Tìm kiếm** cho phép nó đọc
web trực tiếp.

### Tìm kiếm hiện ra trong cuộc trò chuyện

Với một mô hình tìm kiếm, một lượt tạo ra **hai khối** — câu truy vấn nó đã dùng, các nguồn tìm được, rồi câu
trả lời đã dùng chúng:

```
Tìm kiếm web — "Hôm nay có tiêu đề công nghệ nào?"
Nguồn (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
Liên kết: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
```

Trang không để lộ truy vấn nó đã gõ bên trong, nên truy vấn được trích dẫn chính là tin nhắn đã kích hoạt việc tìm
kiếm. Nguồn và liên kết được đọc từ trang sau khi câu trả lời đã ổn định. Vì các nguồn chỉ tồn tại ở cuối, **lượt
có tìm kiếm được gom lại thay vì phát trực tiếp**; lượt thường vẫn phát từng token.

---

## Vì sao là trình duyệt, chứ không phải HTTP API của họ

Cách hiển nhiên — gọi API riêng của `chat.deepseek.com` — đã được thử và bị bỏ. Trang web bắt mọi tin nhắn đi qua
hai cửa:

| Cửa | Ý nghĩa |
|---|---|
| `/api/v0/chat/create_pow_challenge` | một **bằng chứng công việc** cho mỗi tin nhắn |
| `challenges.cloudflare.com/turnstile` | một cổng chặn bot ở nguồn gốc |

Làm lại một trong hai là một cuộc chơi thua: chúng bị làm rối mã, chúng thay đổi, và khi chúng thay đổi thì lỗi
trông y hệt một sự cố mạng. **Trang đã tự giải quyết cả hai cho các yêu cầu của chính nó.**

Nên bộ chuyển không bao giờ nói HTTP với trang web. Nó điều khiển trang, và trang làm phần còn lại. Xác thực, bằng
chứng công việc và Turnstile không còn là vấn đề của chúng ta và không thể hỏng độc lập với chính trang web.

**Đã kiểm chứng:** một `HEAD` đơn giản tới trang trả về `403`; đường trình duyệt trả về câu trả lời.

---

## Giới hạn, nói thẳng

**Việc gọi công cụ là mô phỏng.** Một cuộc trò chuyện web không có kênh công cụ có cấu trúc: công cụ được mô tả
trong lời nhắc, và một lệnh gọi được phục hồi bằng cách lấy ra một đối tượng JSON từ câu trả lời. Nó chạy được —
đã kiểm chứng — nhưng yếu hơn gọi công cụ gốc: một mô hình bỏ qua chỉ dẫn sẽ trả lời bằng văn xuôi, và harness
không thấy việc dùng công cụ nào trong lượt đó. **Với công việc tác tử nặng, đường API đáng tin hơn.** Đường web
phù hợp nhất cho trò chuyện, câu trả lời dài, tác tử con, nén ngữ cảnh, và mọi lượt mà mô hình buộc phải là mô hình
web.

**Nó phụ thuộc vào một trang web bạn không kiểm soát.** Khi trang đổi hình dạng, plugin phải đổi theo. Đó chính là
cảnh báo ở đầu trang này, không phải thủ tục.

**Nó không liên kết với DeepSeek.** Không được họ chứng thực hay hỗ trợ, và không cho bạn quyền gì với dịch vụ của
họ. Việc bạn dùng dịch vụ đó do điều khoản của họ quy định.

---

## Cấu hình

`cordis.patch.yml` đặt:

| khóa | mặc định | ý nghĩa |
|---|---|---|
| `port` | `9222` | cổng gỡ lỗi của trình duyệt |
| `defaultModel` | `deepseek-chat-search` | dùng khi lệnh gọi không nêu mô hình |
| `showBrowser` | `true` | cửa sổ có hiện ra trong lúc làm việc không |

Trình duyệt phải có phiên `chat.deepseek.com` đã đăng nhập. Lệnh gọi đầu tiên sẽ mở Brave với hồ sơ **Default**
nếu cổng chưa mở. Nếu Brave đang chạy *không* có cổng gỡ lỗi, bộ chuyển không thể bám vào và nói rõ điều đó thay vì
hỏng trong im lặng.

---

## Cấu trúc

```
index.js          bộ chuyển: StreamChunk của harness  ←→  engine
lib/engine.mjs    trình duyệt + trang: gõ, gửi, phát, lắng xuống
lib/cdp.mjs       client Chrome DevTools Protocol, không phụ thuộc gì
lib/prompt.mjs    duỗi tin nhắn + công cụ thành một tin nhắn; lấy lại lệnh gọi từ câu trả lời
lib/savings.mjs   đường web đã tiết kiệm bao nhiêu, tính theo giá API
lib/i18n.mjs      51 ngôn ngữ cho bảng điều khiển
```

**Không có phụ thuộc.** Node 24 có sẵn `WebSocket` và `fetch` toàn cục, CDP chỉ cần thế, nên luồng token không bao
giờ rời khỏi tiến trình host và không có bước nhảy IPC cho mỗi delta.

---

## Ủng hộ

Uncle Sam tồn tại để bạn thôi trả tiền theo token. Nếu nó đã tiết kiệm tiền cho bạn và bạn muốn thấy bản tiếp theo
trên phần cứng không hết bộ nhớ giữa đường:

**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**

Một ngôi sao trên kho hay một báo lỗi hữu ích cũng quý như vậy.

---

## Giấy phép

**CC BY-NC-ND 4.0** — Creative Commons Ghi công-Phi thương mại-Không phái sinh 4.0 Quốc tế.
Copyright (c) 2026 Darren T. Weldon, công bố dưới tên Operating Tag.

**Toàn bộ thỏa thuận trong một dòng: cài đặt và dùng cho cá nhân, miễn phí. Không sửa, không chia sẻ, không bán và
không dùng trong doanh nghiệp.**

Đây không phải mã nguồn mở, và nó không giả vờ là như vậy.

```
được phép   cài đặt và chạy · dùng cho cá nhân, phi thương mại
            đọc mã nguồn để hiểu nó

không được  sửa, chuyển thể hoặc tạo ra tác phẩm phái sinh
            sao chép, phân phối, công bố, nhân bản hoặc
            cung cấp cho bất kỳ ai khác
            tải lên bất kỳ nơi lưu trữ mã, sổ đăng ký, trang web, diễn đàn hay trò chuyện nào
            bán, bán lại, cho thuê, hoặc thu tiền cho chính nó hay cho việc truy cập nó
            đưa vào bất cứ thứ gì bạn giao cho người khác
            dùng cho bất kỳ mục đích thương mại nào hoặc trong hoạt động kinh doanh
```

**Chỉ có hai nguồn hợp pháp: kho này và gói npm
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Một bản sao từ bất
kỳ nơi nào khác đều không có giấy phép, dù ai đã đưa cho bạn. Nếu bạn thấy phần mềm này được bán, người bán không
phải tác giả.

**Dùng thương mại, và quyền sửa đổi cùng phân phối, có được theo một giấy phép bằng văn bản riêng.** Hỏi Operating
Tag — bạn sẽ nhận được câu trả lời rõ ràng và một mức giá rõ ràng.

Tệp [LICENSE](LICENSE) là văn bản có hiệu lực, và nó mở đầu bằng cùng bản tóm tắt đó bằng tiếng Anh đơn giản.

---

Uncle Sam là một plugin độc lập. Không liên kết với DeepSeek, không được họ chứng thực hay hỗ trợ.

```
@operatingtag/dsh-unclesam   v1.3.5
Tác giả   Operating Tag
Giấy phép CC BY-NC-ND 4.0 — miễn phí để dùng, không được sửa, chia sẻ hay bán
```
