dsh-unclesam
Verified@operatingtag/dsh-unclesam · v1.3.5 · SEE LICENSE IN LICENSE · Web UI
Uncle Sam — answers through chat.deepseek.com in a real browser tab instead of the metered API. Switch between the API and the web account from the composer; web replies are signed so you always know which route answered.
Install
dsh plugin add @operatingtag/dsh-unclesam Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
English · Español · Français · Deutsch · Português · Italiano · Türkçe · 한국어 · 日本語 · 简体中文 · Русский · Polski · हिन्दी · Nederlands · Українська · Tiếng Việt · Bahasa Indonesia · ไทย · فارسی · Ελληνικά · עברית · Čeština · Română · Svenska · Dansk · Suomi · Magyar · العربية · Oʻzbekcha · Azərbaycan · Български · Hrvatski · Қазақша · ქართული · नेपाली · සිංහල · தமிழ் · తెలుగు · मराठी · বাংলা · ខ្មែរ · Lietuvių · Bahasa Melayu · မြန်မာ · Norsk · Slovenčina · Slovenščina · Српски · Kiswahili · Filipino · اردو
Uncle Sam(山姆大叔)
一个 DeepSeek Harness 提供方:不用按量计费的 API,而是通过你自己的浏览器、用你已有的网页账号来回答。
在真实浏览器里操作 chat.deepseek.com 的 DeepSeek Harness 插件 —— DeepSeek API 的免费替代方案。用你自己的账号聊天、DeepThink 和网页搜索,不需要 API Key,不按 token 计费。
☕ 请我喝杯咖啡 — 一个人、在夜里、没有任何资助地写出来。没有别的收入来源。一个星标或一份有用的缺陷报告,价值是一样的。
这个产品仍在持续开发中。请预期有 bug。
它能跑、很快,也已经每天用了好几周 —— 但它一直在变,而且浏览器这条路依赖一个会在毫无预告的情况下 改动的网站。如果哪里坏了,一张截图加版本号,比一段描述有用得多。如果你要依赖它,就固定一个版本。
提供方 deepseek-web
模型 deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
成本 每个 token 零费用 —— 用的是你浏览器里已经开着的那个订阅
状态 开发中 —— 请预期有 bug
实测 首个 token 约 1.9 秒 · 额外开销约 0.6 秒 · 一整轮约 2.5 秒
网页路线的回答会带 🔴 Uncle Sam 署名。这个名字是个玩笑,不是声明:它标记的是哪条路线回答的,而 API 的回答完全没有署名。你永远知道是谁回答的。
它替你省下什么
API 按 token 计费,网页版不计费。这个插件把 deepseek-web 注册成模型提供方,每次调用都在真实浏览器里
操作 chat.deepseek.com 来回答 —— 页面干活,浏览器保存会话,没有任何东西被计量。
| API 路线 | 网页路线 | |
|---|---|---|
| 成本 | 按 token,永远 | 订阅之外不再花钱 |
| 速度 | 快 | 每轮约 2.5 秒(实测) |
| 工具调用 | 原生、可靠 | 模拟实现,能用但更弱 |
| 依赖 | API | 一个会毫无预告就变动的网站 |
两条路线都会留着。 模型选择器就是开关:平时用便宜的那条,需要可靠工具调用的任务再切到 API。
安装
Uncle Sam 是 DeepSeek Harness 的插件。在 Harness 之外它什么都不做,因为它注册的是一个模型提供方、一条 宿主路由和两处界面插槽。
要求
| DeepSeek Harness | 任意带有插件管理器的近期版本 |
| 浏览器 | 推荐 Brave;没有 Brave 时自动使用 Edge |
| Node | 22 或更新 |
从 npm 安装
pnpm add @operatingtag/dsh-unclesam
从这个仓库安装
git clone https://github.com/operatingtag/dsh-unclesam
cd dsh-unclesam
pnpm install
然后把这行加进你的配置文件,让 Harness 加载它:
# cordis.patch.yml
- insert:
- id: dsh-unclesam
name: '@operatingtag/dsh-unclesam'
config:
port: 9222
defaultModel: deepseek-chat-search
autoMinimise: true
或者从文件夹安装: 设置 → 插件 → 从本地路径安装,指向包含 package.json 的那个文件夹。
首次运行
点 登录 / 打开对话。浏览器会打开并保持可见,直到你在 chat.deepseek.com 登录完成。之后它会自己 最小化,你不会再看到它。会话保存在你的浏览器配置里,所以插件不保存任何密码 —— 没有可泄露的东西。
随后你应该看到:
- 设置 → Uncle Sam —— 一个带状态行和登录按钮的页面。
- 输入框下方 ——
● DeepSeek Harness或● Uncle Sam,点击切换。 - 模型列表 —— API 模型旁边的四个
(web)模型。
卸载
设置 → 插件 → Uncle Sam → 卸载。除了你登录用的那个浏览器配置之外,不写任何东西。
API / 网页 开关
模型选择器就是开关。 没有第二个控件,因为一个也要选择模型的第二控件,等于同一个决定有两个真相来源。
| 选择这个模型 | 路线 | DeepThink | 搜索 |
|---|---|---|---|
DeepSeek Chat (web) |
浏览器 | 关 | 关 |
DeepSeek Chat + Search (web) |
浏览器 | 关 | 开 |
DeepSeek Reasoner (web) |
浏览器 | 开 | 关 |
DeepSeek Reasoner + Search (web) |
浏览器 | 开 | 开 |
任何不带 (web) 的模型 |
API | — | — |
模型名旁边会显示 WEB 或 API 徽标,一眼就能看出当前走哪条路线。识别不了名字时,徽标什么都不显示 而不是去猜 —— 错误的徽标比没有徽标更糟。
你的选择在重启后仍然保留。DeepThink 是推理那一遍;搜索 让它去读实时网络。
搜索在对话里看得见
用搜索模型时,一轮会产生两个块 —— 搜索用的查询、找到的来源,然后是用了它们的回答:
网页搜索 — “今天有什么科技新闻标题?”
来源 (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
链接: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
页面不会公开它内部输入的查询,所以引用的查询就是触发搜索的那条消息。来源和链接是在回答稳定之后从页面上 读出来的。因为来源只在最后才存在,搜索轮会把内容攒起来一次性输出,而不是流式输出;普通轮仍然一个 token 一个 token 地流。
为什么用浏览器,而不是它们自己的 HTTP API
最直接的办法 —— 直接调 chat.deepseek.com 自己的 API —— 试过,放弃了。这个网站让每条消息都要过两道闸:
| 闸 | 含义 |
|---|---|
/api/v0/chat/create_pow_challenge |
每条消息一次工作量证明 |
challenges.cloudflare.com/turnstile |
源站上的机器人校验 |
重新实现其中任何一个都是必输的:它们是混淆的,会变,而变化之后失败的样子跟网络故障一模一样。 页面本身已经为自己的请求解决了这两道闸。
所以适配器从来不跟网站讲 HTTP。它去驱动页面,其余交给页面。认证、工作量证明和 Turnstile 不再是我们的 问题,也不会脱离网站本身单独坏掉。
已核实: 对网站发一个普通的 HEAD 返回 403;走浏览器这条路则返回真正的回答。
老实说明的限制
工具调用是模拟的。 网页对话没有结构化的工具通道,所以工具是写在提示词里描述的,一次调用是从回答里 解析出一个 JSON 对象恢复出来的。它管用 —— 已核实 —— 但比原生工具调用弱:一个不理会指令的模型会用散文 回答,那一轮 Harness 就完全看不到工具使用。重型智能体作业,API 路线更可靠。 网页路线最适合对话、长 回答、子代理、上下文压缩,以及任何"必须以网页模型作答"的轮次。
它依赖一个你控制不了的网站。 页面形变,插件就必须跟着变。这就是本页顶部那条开发中的警告,不是客套。
它与 DeepSeek 无关。 没有他们的背书也没有他们的支持,也不给你任何针对他们服务的权利。你对该服务的 使用由他们的条款管。
配置
cordis.patch.yml 里设置:
| 键 | 默认值 | 含义 |
|---|---|---|
port |
9222 |
浏览器的调试端口 |
defaultModel |
deepseek-chat-search |
调用没指定模型时使用 |
showBrowser |
true |
工作时窗口是否可见 |
浏览器里必须有一个已登录的 chat.deepseek.com 会话。第一次调用时如果端口没开,它会用 Default 配置
启动 Brave。如果 Brave 已经在运行但没有调试端口,适配器无法连接,会明确说明,而不是默默失败。
结构
index.js 适配器:Harness 的 StreamChunk ←→ 引擎
lib/engine.mjs 浏览器 + 页面:输入、发送、流式读取、等待稳定
lib/cdp.mjs Chrome DevTools Protocol 客户端,零依赖
lib/prompt.mjs 把消息和工具压平为一条消息;从回答里恢复工具调用
lib/savings.mjs 按 API 价格折算网页路线帮你省了多少
lib/i18n.mjs 面板用的 51 种语言
没有任何依赖。 Node 24 自带 WebSocket 和 fetch,CDP 需要的就这些,所以 token 流从不离开宿主机
进程,每个增量也没有一次 IPC 往返。
支持
Uncle Sam 的存在就是为了让你不再按 token 付钱。如果它替你省了钱,而你也想看到下一个版本建在不会做到一半 就内存不够的硬件上:
给仓库点个星标,或者报一个有用的 bug,价值是一样的。
许可
CC BY-NC-ND 4.0 —— 知识共享 署名-非商业性使用-禁止演绎 4.0 国际。 Copyright (c) 2026 Darren T. Weldon,以 Operating Tag 名义发布。
一句话说清全部约定:个人使用,免费安装、免费使用。不要改、不要传、不要卖、不要在公司里用。
这不是开源,它也不假装是。
可以 安装并运行 · 个人、非商业地使用
阅读源码以理解它
不可以 修改、改编,或创作衍生作品
复制、分发、发布、镜像,或以任何方式提供给他人
上传到任何代码托管、注册表、网站、论坛或聊天
出售、转售、出租,或对本体或对它的访问收费
打包进任何你交付给别人的东西里
用于任何商业目的,或在经营活动中使用
唯一两个正当来源是本仓库和 npm 包
@operatingtag/dsh-unclesam。 从别处拿到的
副本都没有授权,不管是谁给你的。如果你看到这个软件在卖,卖的人不是作者。
商业使用,以及修改和分发的权利,另行提供书面许可。 问 Operating Tag,你会得到一个明确的答复和一个 明确的价格。
以 LICENSE 文件为准,它的开头是用浅白英文写的同样内容。
Uncle Sam 是一个独立插件。与 DeepSeek 无关联,未获其背书,也未获其支持。
@operatingtag/dsh-unclesam v1.3.5
作者 Operating Tag
许可 CC BY-NC-ND 4.0 —— 可免费使用,不可修改、共享或出售