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

侧边栏额度面板 Amwidtf/dshps

DeepSeek Harness
Amwidtf14 天前有提交已提供中文文档扫描:含敏感能力

在侧边栏查看各家模型余额与额度用量

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · model
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 31 处,展示前 29 条)
  • 写入剪贴板
    client.js:2947
    if (clipboard && typeof clipboard.writeText === 'function') clipboard.writeText(url)
  • 发起网络请求
    plugins/dshp-quota/host.js:163
    const response = await fetch(url, {
  • 读取密钥环境变量
    plugins/dshp-quota/host.js:752
    if (process.env.DSHPS_DISABLE_TOKEN_FILE === '1') return undefined
  • 读取密钥环境变量
    plugins/dshp-quota/host.js:753
    const override = process.env.DSHPS_KIMI_TOKEN_FILE
  • 执行外部命令固定命令
    plugins/dshp-quota/host.js:768
    execFile(
  • 读取本地文件
    plugins/dshp-quota/host.js:799
    if (!file || !existsSync(file)) return undefined
  • 发起网络请求
    plugins/dshp-quota/host.js:839
    const response = await fetch(KIMI_WEB_REFRESH_URL, {
  • 读取本地文件
    plugins/dshp-quota/host.js:894
    return file !== undefined && existsSync(file)
  • 发起网络请求
    plugins/dshp-quota/host.js:923
    const response = await fetch(url, {
  • 读取密钥环境变量
    plugins/dshp-quota/host.js:1465
    if (!record) record = parseKimiTokenRecord(process.env.KIMI_WEB_TOKEN)
  • 发起网络请求
    plugins/dshp-net/host.js:974
    return fetch(url, { signal: controller.signal }).finally(() => clearTimeout(timer))
  • 发起网络请求
    plugins/dshp-net/host.js:1616
    upstreamReq = transport.request(options)
  • 发起网络请求
    plugins/dshp-models/host.js:550
    response = await fetch(TOKEN_URL, {
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:115
    await mkdir(directory, { recursive: true })
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:118
    await writeFile(tempPath, content, 'utf8')
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:119
    await rename(tempPath, filePath)
  • 删除本地文件
    plugins/dshp-workflow/lib/store.js:121
    await rm(tempPath, { force: true }).catch(() => {})
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:152
    await mkdir(workflowsDir, { recursive: true })
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:153
    await mkdir(runsDir, { recursive: true })
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:194
    text = await readFile(filePath, 'utf8')
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:216
    entries = await readdir(directory, { withFileTypes: true })
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:230
    text = await readFile(filePath, 'utf8')
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:231
    fileStat = await stat(filePath)
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:308
    text = await readFile(filePath, 'utf8')
  • 删除本地文件
    plugins/dshp-workflow/lib/store.js:362
    await unlink(filePath)
  • 写入本地文件
    plugins/dshp-workflow/lib/store.js:400
    await mkdir(join(runsDir, candidate))
  • 读取本地文件
    plugins/dshp-workflow/lib/store.js:489
    entries = await readdir(runsDir, { withFileTypes: true })
  • 删除本地文件
    plugins/dshp-workflow/lib/store.js:560
    await rm(filePath, { force: true }).catch(() => {})
  • 删除本地文件递归
    plugins/dshp-workflow/lib/store.js:643
    await rm(join(runsDir, runId), { recursive: true, force: true })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DSH 插件栈:侧边栏余额与额度面板,支持 DeepSeek、Kimi、MiniMax、智谱 GLM

README

由 DeepSeek 最新模型翻译生成
dshps:DSH 插件栈 仓库:<https://github.com/Amwidtf/dshps> dshps 是一个 DSH 插件栈:一个 bundle 里放多个以 dshp- 开头的插件,共用一份 Web 客户端和设置页。每个插件自己写 Host 半和文档,可以单独安装、停用和升级。 这个 README 讲整个栈:怎么装、包含哪些插件、仓库怎么组织。单个插件的显示细节、配置项和已知问题写在插件自己的 README 里。 目录 - 插件列表 - 栈提供什么 - 安装 - 配置入口 - 兼容性 - 隐私与安全 - 架构 - 开发与测试 - 新增插件 - 常见问题 - 免责声明 - 许可 插件列表 | 插件 | 作用 | 文档 | 状态 | | dshp-quota | 侧边栏余额与额度面板:DeepSeek、Kimi、MiniMax、智谱 GLM | plugins/dshp-quota/README.md · EN | 随栈提供 | 新增插件后在这里加一行,插件说明写到对应的 plugins/dshp-/README.md,不要堆进根 README。 栈提供什么 - 一个 bundle 管多个插件:cordis.patch.yml 一次插入多行;根行挂载共享 Web 客户端,子路径行只跑 Host 半。
展开完整文档(README 剩余 1 节)
dshps:DSH 插件栈

仓库:<https://github.com/Amwidtf/dshps>

dshps 是一个 DSH 插件栈:一个 bundle 里放多个以 dshp- 开头的插件,共用一份 Web 客户端和设置页。每个插件自己写 Host 半和文档,可以单独安装、停用和升级。

这个 README 讲整个栈:怎么装、包含哪些插件、仓库怎么组织。单个插件的显示细节、配置项和已知问题写在插件自己的 README 里。

目录

- 插件列表
- 栈提供什么
- 安装
- 配置入口
- 兼容性
- 隐私与安全
- 架构
- 开发与测试
- 新增插件
- 常见问题
- 免责声明
- 许可

插件列表

| 插件 | 作用 | 文档 | 状态 |
| dshp-quota | 侧边栏余额与额度面板:DeepSeek、Kimi、MiniMax、智谱 GLM | plugins/dshp-quota/README.md · EN | 随栈提供 |

新增插件后在这里加一行,插件说明写到对应的 plugins/dshp-/README.md,不要堆进根 README。

栈提供什么

- 一个 bundle 管多个插件:cordis.patch.yml 一次插入多行;根行挂载共享 Web 客户端,子路径行只跑 Host 半。
- 共享 Web 客户端:所有 dshp- 的界面注册在同一个 client.js,包只允许一个 ./client。
- 统一设置入口:栈级设置页在「设置 → DSH 插件栈」,插件自己的配置项也放在这里,保存后实时生效。
- 统一命名和元数据:插件目录、RPC 通道、locale 文件和图标按 dshp- 约定组织;插件标题和描述由父包 exports 提供给子路径行。
- 独立凭据:每个插件在自己的 Host 半里通过 ctx.credentials 取凭据,凭据只留在 Host 进程,浏览器拿不到。

安装

需要支持 Cordis bundle patch 和 dsh.bundle / dsh.client 的 DSH 版本。

1. 克隆或下载这个仓库:git clone https://github.com/Amwidtf/dshps.git。
2. 通过 DSH 的 bundle 安装机制安装仓库目录,例如 plugin_manager 的 install_bundle,或用 DSH 客户端里的插件安装入口。
3. 刷新 Harness 页面。已启用的插件会出现在自己的位置,例如 dshp-quota 在侧边栏底部、用户信息上方。
4. 打开「设置 → DSH 插件栈」检查插件配置。多数情况下不用改任何东西。

升级后新的客户端 bundle 没生效时,按 DSH 提示重启一次。

配置入口

「设置 → DSH 插件栈」是栈级设置页,当前包含 dshp-quota 的配置项:

- 智谱 GLM 团队参数(组织、项目、type)
- 自动刷新间隔
- Kimi 网页 refresh_token

具体含义、存储位置和排错见 plugins/dshp-quota/README.md。

兼容性

- 需要支持 dsh.bundle.patch、dsh.client 和 subpath exports 的 DSH 版本。
- 插件运行时依赖 DSH 提供的 React、Cordis 和 Connection RPC,不额外装依赖。
- 跑本地测试需要 Node.js 20 以上;仓库在 Node 24 上验证过。
- Kimi 网页 token 的 DPAPI 存储只在 Windows 上启用,其他平台回退到 DSH 凭据服务或环境变量。

隐私与安全

- 仓库里没有 API Key、Cookie、会话 token、账号名和个人路径。测试夹具都是假值。
- 凭据只在 Host 进程内解析和使用,不写日志,不发给浏览器。
- Kimi refresh_token 用 Windows DPAPI 加密后放在本机用户目录,或交给 DSH 本地凭据服务,不进入仓库和插件配置。
- 本地调试工具只读取运行它的机器上的凭据,输出会脱敏,不会上传。
- 安全漏洞按 SECURITY.md 私下报告。不要在 issue 里贴真实账号数据或带余额的截图。

架构

flowchart LR
P["package.jsondsh.bundle.patch + dsh.client"] --> R["根行dshp-collection"]mermaid
graph LR
P["插件栈根dshps"] --> S1["子路径行dshps/plugins/dshp-quota"]
R --> C["client.js共享 Web 客户端"]
S1 --> H1["dshp-quota/host.js"]
C <-->|"认证 RPC /dshp-quota"| H1
text
dshps/
├─ package.json # bundle 清单:dsh.bundle.patch + dsh.client + exports ├─ cordis.patch.yml # 一个 bundle 内插入多个插件行 ├─ index.js # 插件栈根 Host 半,只挂载共享 Web 客户端 ├─ client.js # 共享 Web 客户端 bundle,所有 dshp- 界面都在这里 ├─ locale/ icon.svg # 插件栈的显示元数据 ├─ plugins/ │ └─ dshp-quota/ │ ├─ host.js # 插件 Host 半 │ ├─ README.md # 插件说明(中文) │ ├─ README.en.md # 插件说明(英文) │ ├─ locale/.json # 插件行标题和描述 │ └─ icon.svg ├─ tools/ # 本地测试与探针,不随插件安装 ├─ .github/ # CI、issue/PR 模板、Copilot 指引 ├─ research/ # 接口与 DSH 内部机制调研笔记 ├─ README.en.md # English README ├─ LICENSE # MIT ├─ SECURITY.md └─ CONTRIBUTING.md

开发与测试 bash

从本机 DSH 安装包提取 Host 测试要用的 @deepseek-ai/schemastery 等依赖

DSH_ASAR=/path/to/Harness/resources/app.asar npm run setup:test-deps

npm run check # 语法检查
npm run hygiene # 隐私、密钥、个人路径检查
npm run docs:check # README 链接和锚点检查
npm test # host 20 项 + client 7 项,全部离线夹具

- tools/test-host.mjs:Host 半的离线夹具测试,当前覆盖 dshp-quota 的供应商发现、适配器、缓存、脱敏、失败降级和认证 RPC。
- tools/test-client.mjs:用极简 React/VM 夹具渲染客户端 bundle,检查 slot 注册、折叠行、总览、详情、设置页和错误边界。
- tools/probe-.mjs:本机探针。probe-rpc.mjs 调已安装插件的 RPC,DSH_WEB_ORIGIN 可覆盖默认地址;probe-vendors.mjs 看厂商原始响应;probe-kimi-web.mjs 诊断 Kimi 网页会员接口。
- tools/asar.mjs:读取 DSH app.asar 里的文件。

新增插件时,测试要跟着放在这两个文件里,或者给插件单独建测试文件并在 npm test 里串起来。

新增插件

1. 建 plugins/dshp-xxx/,包含 host.js、locale/.json、icon.svg、README.md(必要时加 README.en.md)。
2. 在 package.json 的 exports 里加 ./plugins/dshp-xxx、./plugins/dshp-xxx/locale/.json、./plugins/dshp-xxx/icon。
3. 在 cordis.patch.yml 的 insert 列表里加 { id: dshp-xxx, name: dshps/plugins/dshp-xxx }。
4. 在 client.js 注册界面。Host 数据走 ctx.connection.rpc.handle('<channel>', ...),客户端用 ctx.connection.rpc.call('<channel>', endpoint, payload) 调用。
5. 需要可编辑配置时,Host 半导出 Schemastery Config,字段标 volatile,设置页加对应字段。
6. 在根 README 的插件表里加一行,把细节写进插件自己的 README。

常见问题

面板没出现:确认 bundle 已安装、对应插件行处于激活状态,然后刷新页面或按提示重启 DSH。

设置页空白:刷新页面再打开。设置页有错误边界,出错会显示原因,不会只剩空白。

想停用某个插件:在 DSH 里停用对应的 dshp-* 行,其他插件不受影响。

某个插件查询失败:先看插件 README 的排错部分;多数是供应商没配置、Key 类型不匹配或接口变化。

免责声明

这是第三方 DSH 插件栈,和 DeepSeek、Kimi(月之暗面)、MiniMax、智谱 GLM 官方没有隶属或背书关系。各厂商接口都不是公开接口,字段和可用性可能变化。插件只读取余额、额度、订阅用量用于展示,不代用户交易,也不改账号状态。使用前请确认所在服务的条款。

许可

MIT © 2026 dshps contributors
预览分享卡片长什么样 ↓Amwidtf/dshps
分享 · DeepSeek Harness Hub
Amwidtf/dshps

在侧边栏查看各家模型余额与额度用量

回到顶部