🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

余额与推理滑块 Excapesx/dsh-plugins

DeepSeek Harness
Excapesx13 天前有提交已提供中文文档扫描:未发现敏感能力

在标题栏查看余额,拖动滑块调整思考强度

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Excapesx/dsh-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 13 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    plugins/dsh-balance-effort/lib/client.js:170
    fetch(url, { headers: { accept: 'application/json' }, cache: 'no-store' })
  • 发起网络请求
    plugins/dsh-balance-effort/lib/index.js:62
    response = await fetch(BALANCE_URL, {
  • 发起网络请求
    plugins/dsh-mobile-access/lib/client.js:49
    const res = await fetch(BASE + '/state', { headers: { accept: 'application/json' }, cache: 'no-store' })
  • 发起网络请求
    plugins/dsh-mobile-access/lib/client.js:56
    const res = await fetch(BASE + '/' + kind, { method: 'POST', headers: { accept: 'application/json' }, cache: 'no-store' })
  • 写入剪贴板
    plugins/dsh-mobile-access/lib/client.js:102
    navigator.clipboard.writeText(url).then(done).catch(() => {})
  • 发起网络请求
    plugins/dsh-mobile-access/lib/index.js:110
    const upstream = http.request(
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

两个 DeepSeek Harness 本地插件:会话余额徽标 + 推理等级滑块,以及手机局域网免登录访问

README

由 DeepSeek 最新模型翻译生成
dsh-plugins 两个本地插件,给 DeepSeek Harness(DSH) 用。装上之后: - 会话标题栏右上角多一个余额徽标 —— ● ¥18.69,点一下立刻刷新; - 输入框右侧多一枚「推理等级」胶囊 —— 拖滑块调思考强度,档位跟着当前模型走; - 左栏底部多一个「手机访问」按钮 —— 一键让手机在同一局域网里打开 DSH,手机端不用登录。 | 插件 | 你会看到 | 做什么 | | dsh-balance-effort | 标题栏 ● ¥xx.xx · 输入框右侧 ⚡ 高 ⌄ | 余额徽标(Host 直连 DeepSeek 余额接口,不把 Key 送到浏览器)+ 推理等级滑块 | | dsh-mobile-access | 左栏「手机访问」 | 内嵌反向代理,手机免登录打开 DSH 界面 | 两个包都是纯本地插件:没有构建步骤、没有第三方依赖,只有 lib/index.js(Host 半)和 lib/client.js(浏览器半)两份源码,直接就是本机正在跑的版本。 ⚠️ dsh-mobile-access 会把本机 DSH 的完整控制权开给端口上任何设备(等于本机代码执行,且不需要登录)。只在可信局域网里开,用完随手关掉 —— 详见安全说明。
展开完整文档(README 剩余 1 节)
dsh-plugins

两个本地插件,给 DeepSeek Harness(DSH) 用。装上之后:

- 会话标题栏右上角多一个余额徽标 —— ● ¥18.69,点一下立刻刷新;
- 输入框右侧多一枚「推理等级」胶囊 —— 拖滑块调思考强度,档位跟着当前模型走;
- 左栏底部多一个「手机访问」按钮 —— 一键让手机在同一局域网里打开 DSH,手机端不用登录。

| 插件 | 你会看到 | 做什么 |
| dsh-balance-effort | 标题栏 ● ¥xx.xx · 输入框右侧 ⚡ 高 ⌄ | 余额徽标(Host 直连 DeepSeek 余额接口,不把 Key 送到浏览器)+ 推理等级滑块 |
| dsh-mobile-access | 左栏「手机访问」 | 内嵌反向代理,手机免登录打开 DSH 界面 |

两个包都是纯本地插件:没有构建步骤、没有第三方依赖,只有 lib/index.js(Host 半)和 lib/client.js(浏览器半)两份源码,直接就是本机正在跑的版本。

⚠️ dsh-mobile-access 会把本机 DSH 的完整控制权开给端口上任何设备(等于本机代码执行,且不需要登录)。只在可信局域网里开,用完随手关掉 —— 详见安全说明。

安装

两个插件装法完全一样,以 dsh-balance-effort 为例(把名字换成 dsh-mobile-access 即是另一个)。

1. 放源码

把仓库里的插件目录整个拷到 DSH 的本地插件目录 Copy-Item -Recurse .\plugins\dsh-balance-effort "$env:USERPROFILE\.dsh\plugins\dsh-balance-effort"

目标路径是 %USERPROFILE%\.dsh\plugins\<包名>,里面应该直接就是 package.json / cordis.patch.yml / lib/。

2. 挂进 profile

DSH 按 profile 组合插件,改 %USERPROFILE%\.dsh\profiles\<profile>\package.json(<profile> 通常是 desktop 或 web)两处:

{
"dependencies": {
// ① 加一条 link 依赖,指向你刚放的目录(注意用正斜杠) "dsh-balance-effort": "link:C:/Users/你的用户名/.dsh/plugins/dsh-balance-effort" },
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
// ② 把包名追加进 bundles,它才会被真的加载 "dsh-balance-effort" ] } } }

3. 重启 DSH

重启后 DSH 会按 link: 依赖在 profiles/<profile>/node_modules/ 里建好链接,并把 lib/client.js 编进页面模块图。重启完直接看界面:

- 余额徽标在会话标题栏右侧(跟 ... 同一行);
- 推理等级胶囊在输入框右边;
- 「手机访问」在左栏底部、设置按钮旁边。

这两个插件互不依赖,可以只装其中一个。

排查:装完没反应

1. 包名对不上。 bundles 里的名字、dependencies 的键、package.json 的 name、cordis.patch.yml 里的 id/name,四处必须完全一致。
2. link: 路径写错。 Windows 路径照样用正斜杠;写错的话 node_modules 里不会出现链接。
3. 没重启。 Host 半(lib/index.js)注册路由发生在启动时,改完必须重启 DSH。
4. 浏览器半加载失败。 lib/client.js 顶层是 window.__ModuleLoader__.load({ id, ... }),id 必须等于包名;改包名时别漏了它。
5. 想看 Host 半的日志:插件里用的是 ctx.logger.info,正常启动会各打印一行 serving ... / ready ...。

1. dsh-balance-effort

余额 + 推理等级,一个包两个控件。

余额徽标

- 每 60 秒自动刷新;点一下立刻强制刷新(?force=1 绕过缓存);请求失败 5 秒后自动重试一次。
- 颜色即状态:🟢 正常 · 🟡 余额低于 ¥10 · 🔴 接口报错或 is_available: false · 脉冲 = 加载中。
- 悬停出明细:总余额、赠金 / 充值、更新时间。
- 没配 Key 时显示「未配置」,不会满屏报错。

Host 半在 DSH 自己的 webServer 上挂一条只读路由:

GET /dsh-balance/balance[?force=1]
→ { phase, total, granted, toppedUp, currency, isAvailable, updatedLabel, source }

流程是:ctx.credentials.resolve('DEEPSEEK_API_KEY') 拿到 Key → 服务端请求 https://api.deepseek.com/user/balance → 只把数字回给浏览器。安全口径在代码注释里写死了:只接受 GET、不接受任何入参(没法当 SSRF 跳板)、响应 no-store、永不回显 Key。5 秒内的重复请求合并成一次,单次请求 20 秒硬超时。

推理等级滑块

- 胶囊上写着当前档位(低 / 中 / 高 …,取模型目录里的 name),点开是滑轨面板。
- 拖动、点轨道、方向键都能改;改动立刻通过 modelDirectories.select() 写回会话,左上角按钮恢复模型默认档位。
- 档位不是写死的,来自模型目录里 reasoning.efforts;换模型时胶囊跟着变。
- 拿不到档位时不会静默消失,而是渲染一枚灰胶囊并写明断点原因 —— 无服务 / 无目录 / 加载中 / 无选择 / 未收录 / 无档位。这是刻意的:注册成功却看不见属于最难查的哑失败。

2. dsh-mobile-access

让手机访问只监听 127.0.0.1 的 DSH Web GUI,全程在界面里开关。

用法:左栏底部「手机访问」→ 点开 → 开启 → 面板列出本机所有局域网地址(带网卡名、可复制)→ 手机连同一个 WiFi,浏览器打开任意一条即可,不用输 token、不用配对。

为什么能免登录:DSH 的 /api 信任围栏只认环回或已 trusted 的 authority,并且用 authority 绑定的签名 cookie 认浏览器。插件做两件事:

1. 内嵌一个 http 反向代理,监听 0.0.0.0:3081 → 转发到 127.0.0.1:<DSH 真实端口>,把每个请求的 Host / Origin 重写成环回 authority,围栏自然放行(不用改 DSH 配置,也不用 --trusted-host);
2. 用本机凭据 client-connection/browser-session 里的密钥现场签发一张 cookie 注入每个转发请求,所以手机侧不需要任何凭据。

普通 HTTP 和 WebSocket 升级(/api/remote.mux 流式通道)都支持,否则手机上会一直转圈。

控制面(挂在 DSH 自己的 webServer 上,只有同源浏览器会调):

GET /dsh-mobile-access/state → { running, dshPort, proxyPort, urls: [{ ifName, address, url }], error }
POST /dsh-mobile-access/start
POST /dsh-mobile-access/stop

几个实现细节:

- 默认不自动启动,必须你在界面上显式点开;插件被禁用/卸载、DSH 退出时监听器跟着关。
- 代理端口默认 3081;被占用时 start 会返回 500 并把错误显示在面板上。
- 会滤掉 169.254.x.x 这类链路本地地址(网卡没拿到 DHCP 时出现的占位地址,手机连不上)。

安全说明

- dsh-balance-effort:浏览器半只拿得到余额数字。Key 全程留在 Host 进程里,路由无入参、只读。
- dsh-mobile-access:开启期间,任何能访问该端口的设备都拥有对本机 DSH 的完全控制权(等价于本机代码执行),而且不需要登录。面板上这句警告是常驻的,不是装饰。
- 只在你能信任的局域网里开(家里 / 自己的热点);
- 别在公共 WiFi、公司网络、或者端口被映射到公网的情况下开;
- 用完点「关闭手机访问」,不要靠关浏览器标签页。

卸载

1. 从 profile 的 bundles 里删掉包名,从 dependencies 里删掉那条 link:;
2. 删掉 %USERPROFILE%\.dsh\plugins\<包名>;
3. 重启 DSH。

浏览器端注入的样式标签和监听器都跟着 effect 一起回收,不会残留。

许可

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓Excapesx/dsh-plugins
分享 · DeepSeek Harness Hub
Excapesx/dsh-plugins

在标题栏查看余额,拖动滑块调整思考强度

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部