Skip to content

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 登录完成。之后它会自己 最小化,你不会再看到它。会话保存在你的浏览器配置里,所以插件不保存任何密码 —— 没有可泄露的东西。

随后你应该看到:

  1. 设置 → Uncle Sam —— 一个带状态行和登录按钮的页面。
  2. 输入框下方 —— ● DeepSeek Harness 或 ● Uncle Sam,点击切换。
  3. 模型列表 —— 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 付钱。如果它替你省了钱,而你也想看到下一个版本建在不会做到一半 就内存不够的硬件上:

☕ revolut.me/operatingtag

给仓库点个星标,或者报一个有用的 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 —— 可免费使用,不可修改、共享或出售