商汤接入套件 eghrhegpe/dsh-connect-sensenova-token-plan
DeepSeek Harnessv0.8.4DSH Plugins 商汤接入 DSH 的全家桶:查看积分额度、接入API与商汤小浣熊桌面端,429重试
36.5/100
综合分
6
GitHub 星标
1,097
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-connect-sensenova-token-plannpm 源 · dsh-connect-sensenova-token-plan 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-connect-sensenova-token-plan @ 0.8.4
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 04:16:11
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 21 处,展示前 19 条)
- 发起网络请求lib/index.js:388
const response = await fetch(jwksEndpoint, { - 发起网络请求lib/index.js:907
return fetch(url, { - 发起网络请求lib/index.js:1119
const response = await fetch(cfg.tokenEndpoint, { - 发起网络请求lib/index.js:1238
const iamResponse = await fetch(iamUrl, { - 发起网络请求lib/index.js:1326
const tokenResponse = await fetch(cfg.tokenEndpoint, { - 写入本地文件lib/index.js:1603
await mkdir(dir, { - 写入本地文件lib/index.js:1644
await writeFile(temporary, `${payload}\n`, { - 写入本地文件lib/index.js:1648
await rename(temporary, file); - 删除本地文件lib/index.js:1650
await unlink(temporary).catch(() => {}); - 读取本地文件lib/index.js:1753
return JSON.parse(await readFile(file, "utf8")); - 读取本地文件lib/index.js:1973
await readFile(file, "utf8"); - 写入本地文件lib/index.js:1976
await rename(legacyThrottleFile(), file); - 删除本地文件lib/index.js:2019
await rm(file, { force: true }); - 删除本地文件lib/index.js:2025
await rm(legacyThrottleFile(), { force: true }); - 删除本地文件lib/index.js:3398
await rm(file, { force: true }); - 发起网络请求lib/index.js:5742
const send = async (held) => fetch(url, { - 发起网络请求client.js:584
const response = await fetch(path, { - 发起网络请求client.js:2521
const response = await fetch(route.path, { - 发起网络请求client.js:3768
const response = await fetch(RACCOON_PATH, {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-credentials@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-pi-ai@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
最近更新
在 GitHub 查看全部 →v0.8.42026-10-27
· 🎛️ v0.8.4 — 出图工具的开关改成当场生效,边角情形也都有交代
在面板上切「注册出图工具」、改首选出图模型,从此不用再重启 Host:保存之后当场重新应用注册,同一会话下一轮就能用上(或不再看到)sensenova_draw_image。
这项能力此前只差最后一步——值写进了状态文件,注册却只在 Host 启动时发生一次。补上这一步之后,三类原本会被静默吞掉的边角情形也一并有了交代:连点两下、旧 Host 不给注销句柄、刚打开开关到工具真正挂上之间的那段空窗。
---
· 一、开关与模型偏好即时生效
过去面板显示「已开启」,对话里却可能调不到工具;关掉之后工具也还在 agent 手里。原因不是注册失败,而是注册只在 Host 启动时发生一次,之后改值只写盘、不重新应用。
现在每次保存之后都会重新走一遍挂载:先释放上一次的注册,再按最新生效值重新挂上。切开关、改首选出图模型都在同一会话内即刻生效。
· 二、连点两下不会留下「关了还挂着」
两次翻转挨得太近时,后一次可能读到前一次取走一半的状态而直接跳过——结果是开关显示已关、工具却还留在 registry 里。
现在每次应用都排在上一次之后,并且每一趟都重新读一遍落盘值。最后一趟看到的就是最后存下的那个,中间那些趟只是过场。
· 三、旧 Host 上摘不掉工具时,面板会说出来
有些 Host 版本收下注册却不返回注销句柄。过去这种情形完全静默:用户关掉开关,工具照样能用,而面板没有任何提示。
现在卡片会写明「工具已注册,但本机 Host 不返回注销句柄」,开关照常可切,只是关掉不会卸载。这不是配置问题,是旧 Host 的能力边界,说清楚比装作没事好。
· 四、「开着但还没挂上」不再是一片空白
开关打开到工具真正挂上之间有一个很短的窗口,刚启动时最明显。此前这段时间卡片上既没有「已开启」的模型清单、也没有任何缺席原因,读起来像功能没生效。
现在会明说「工具正在挂载」;一旦挂上这句自动消失,若最终没挂上则换成具体原因。两种提示不会同时出现——原因已经解释了为什么没挂上,再补一句「还在挂载」是自相矛盾。
---
· 已知边界
· 两个 Host 进程同时跑、共享同一个状态目录时,后写者胜。热重载在单进程内是收敛的。
· 若本机 Host 的 tools 注册不返回注销句柄,工具一旦挂上就摘不掉,此时退化为「已挂载但不可切换」,面板会照实说明。
· 出图工具仍然默认关闭。
v0.8.32026-10-23
· 🦝 v0.8.3 — 网关上了新模型,胶囊会告诉你;小浣熊的模型也不再默认被当成纯文本
这一版做两件事,都只关于小浣熊(SenseNova 网关)这条线:把「网关目录变了」这件用户
看不见的事搬到输入框胶囊上,以及把「模型能不能收图」从默认拒绝翻成默认放行、只在实测
否决时说不。
两件事的共同点:过去的失效形态都是静默——目录多了个模型没人知道,图片入口整条消失
也不报错。
---
· 一、网关加了新模型,胶囊读数字后面挂 · N 新模型
小浣熊的模型目录由网关说了算。新模型什么时候上架、旧模型什么时候下架,插件此前只是
照单接收,用户不会为了「看看有没有新品」专门去翻面板。
现在输入框右侧的额度胶囊会在读数后面挂一段 · 1 新模型:
· 指到胶囊上,tooltip 直接写出模型名;点开额度卡,同一份名单也有一行
· 多于三个只列前三个,余下用省略号——两处同一截断口径
· 标记只看本机第一次见到它的时刻,7 天后自行消失,不需要点掉
· 模型下架后再上架,会重新报一次
· 首次安装不报:把整张名单都标成「新」是最没用的提示,所以第一次只把全量名单按
「早就见过」记下来
· 为什么措辞是「本机首次见到」而不是「网关新增」
网关的目录里没有「上架时间」字段。插件真正知道的只有「本机第一次读到这个 id 的
时刻」。把它写成「网关新增」,就是替插件陈述一个它无从得知的上游事实——和下一节要修
的是同一种毛病:把猜测说成事实。
· 名单上限为什么是「不写、不报」而不是「只留最新 N 条」
淘汰队列会让仍在名单里的 id 丢掉旧戳,下一轮补回来时被当成新的。实测 250 条名单
对 200 条上限,逐轮会报出 50 → 100 个「新模型」。一个会凭空造出新模型的账本,比没有
账本更糟。所以超过上限时按形状漂移处理:不写、不报。
· 二、小浣熊的模型默认都能收图,万一不能会明说
网关加新模型时 tags 里往往没有 vision,而旧逻辑把「没声明」当成「不支持」——贴图时
选择器便不给图片入口,并且没有任何提示,用户只能自己发现再反馈。
现在反过来:只否决实测确认看不见的模型,其余一律放出图片入口。面板对「网关没说、
插件也没测过」的模型标「可看图·未实测」,对已实测或网关自己声明过的照旧标「可看图」,
对实测看不见的(如 sn-glm-5-3)不打徽章。
实测(2026-10-22,同一张四条竖条探针图、同一条问题):sn-deepseek-v4-1-flash-1017
四种颜色全读对,其 descriptor 是 input: ["text", "image"]。日期后缀是构建 id,网关下次
改名要重新探,不做前缀推断。
默认放行把失效方向翻到「错报」,但这一侧的错报是可观测的:HTTP 200 且模型自述看不见,
面板也已经把那行标成「未实测」。否决集因此成为唯一的维护面。
---
· 装上之后
胶囊上的新模型标记在升级后的第一轮只播种,所以刚更新完不会立刻亮;之后网关每上一
个新模型,它自己就出来了。
v0.8.22026-10-21
· 🪪 v0.8.2 — 出图超时封顶 30 分钟,写盘没落地会说出来
本版主线是出图超时的硬上限:drawTimeoutMs 过去只有下限(5 秒),没有上限——出图请求是同步的,这个期限是 agent 唯一的护栏,配成天文数字就能把一个 turn 挂住不放。现在超出的部分按 30 分钟封顶,配置说明里同步写明了这条上限。
第二主线是凭据读取与脱敏收紧,以及「该说出口的事现在会说出来」:目录签名此前在写盘失败后照样推进,磁盘停在旧目录直到重启;节流拒绝更是只拒不报。
---
· 一、出图:超时有了硬上限
· 30 分钟封顶:drawTimeoutMs 过去只有下限(5 秒),没有上限。出图请求是同步的,这个期限是 agent 唯一的护栏,配成天文数字就能把一个 turn 挂住不放。现在超出的部分按 30 分钟封顶,配置说明里同步写明了这条上限。
· 二、没写进盘里的事,现在会说出来
· 目录签名不再假装修好了:目录签名此前在写盘失败后照样推进,下一轮便以为已经修好而跳过写入,磁盘停在旧目录直到重启。现在回报「是否真的写到盘上」,没写成功就留下痕迹。
· 节流拒绝要报:节流拒绝此前只拒不报。现在同样会说出来。
· 三、令牌与凭据:读取原样,脱敏按形状
· 裸着的 JWT 也会被脱敏:脱敏规则此前按键名匹配,没有键名的令牌没人管——而上游 4xx 把请求原样引回来时,令牌是光秃秃一串 eyJ 开头的东西,于是它直接进了面板和日志。现在按令牌的样子也认。
· 令牌读取不再被悄悄改写:令牌读取走的是会做 trim 的那条路,带空白的令牌被改写后,表现为无迹可查的 401。现在一律原样读取。
· 余额详情补上脱敏:余额查询失败时回来的原始内容此前原样上屏,可能回显凭据,现在先脱敏再显示。
· 四、工程:依赖范围放宽
插件声明的 AI 运行时依赖范围从 ^0.85.1 放宽到 >=0.85.0 <2.0.0,与当前宿主随附的版本对齐,装上时不再被标成「超出上界」。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-connect-sensenova-token-plan
把商汤(SenseNova)接进 DSH 的 Plugins 页插件卡,并在会话输入框实时显示积分额度与用量胶囊。
安装 · 工作原理 · 更新日志 · 问题反馈
把商汤接进 DSH 的 Plugins 页插件卡,另在会话输入框右侧常驻一颗用量胶囊。三个 tab 按使用顺序排列:
- 积分额度——登录一次,实时查看积分余额、额度窗口与每模型消耗,令牌自动续期,之后无需再管;
- 接入 API——把商汤模型注册为 DSH provider,参与对话与出图;
- 小浣熊——微信扫码接入 xiaohuanxiong.com,上游限流较宽松的另一条商汤产品线,独立账号、独立积分。
后台另有 429 自愈:限频被误判为"额度耗尽"时在 Host 侧纠正回退避重试,模型不会无端"消失"。
AI 协作会话请先读 AGENTS.md——验证入口、红线与文档地图都在那里;过程文档与提交历史本身就是本仓库工作面的一部分。
展开完整文档(README 剩余 1 节)
dsh-connect-sensenova-token-plan 把商汤(SenseNova)接进 DSH 的 Plugins 页插件卡,并在会话输入框实时显示积分额度与用量胶囊。 安装 · 工作原理 · 更新日志 · 问题反馈 把商汤接进 DSH 的 Plugins 页插件卡,另在会话输入框右侧常驻一颗用量胶囊。三个 tab 按使用顺序排列: - 积分额度——登录一次,实时查看积分余额、额度窗口与每模型消耗,令牌自动续期,之后无需再管; - 接入 API——把商汤模型注册为 DSH provider,参与对话与出图; - 小浣熊——微信扫码接入 xiaohuanxiong.com,上游限流较宽松的另一条商汤产品线,独立账号、独立积分。 后台另有 429 自愈:限频被误判为"额度耗尽"时在 Host 侧纠正回退避重试,模型不会无端"消失"。 AI 协作会话请先读 AGENTS.md——验证入口、红线与文档地图都在那里;过程文档与提交历史本身就是本仓库工作面的一部分。 三个常被外部审读问起的疑问,预答在这里: - lib/ 与根 client.js 是入库的构建产物:github: 安装源不跑 prepack,不入库则直装即坏(docs/ADR.md ADR-005) - docs/sensenova-api-reference/ 是商汤官方文档的本地容器,逐文件出处与许可见 THIRD_PARTY_NOTICES.md - 本仓库由 AI 协作开发,其提交历史里的过程痕迹是工作方式的一部分,不是疏漏 分发面:npm 包只含 package.json#files 那 10 项(lib/、client.js、icon.svg、locale/、 cordis.patch.yml、README.md、CHANGELOG.md、THIRD_PARTY_NOTICES.md、LICENSE、 screenshots.json)。docs/、AGENTS.md、src/、test/、assets/ 不在包里——registry 页面上点 docs/… 会 404、写相对路径的截图会裂,所以本文的截图一律是 raw.githubusercontent.com 绝对地址,细则链接请到 GitHub 仓库看。 ① 积分额度 把商汤 Token Plan 搬进 DSH,写代码时不用切网页就能盯住: - 积分池:额度窗口(已用 / 剩余 / 百分比 / 重置时间)、返赠余额与到期时间 - 模型清单:套餐覆盖 vs 当前 Key 实际能调,一眼看出哪些模型需要开通 - 每模型消耗:近 N 小时各模型积分排名,"烧分大户"一目了然「积分额度」tab 首次使用时,在「连接商汤控制台」填一次账号和密码,之后令牌自动续期。 - 登录失败时,表单直接显示商汤返回的原因(含「3 次错误锁 15 分钟」这类平台硬规则); - 想清除账号,用面板底部的按钮。 ② 接入 API(可选,默认关) 把商汤模型注册为 DSH provider,参与对话与出图。 - 在「API Key」卡粘贴 sk- Key 并保存,Host 随即以 sensenova-token-plan 之名注册 OpenAI 兼容 provider - 语言模型:模型列表随 /v1/models 自动刷新,可看图模型自动带图片输入; - 出图工具:Host 给 agent 注册工具 sensenova_draw_image;模型由 catalog 的 output_modalities 结构化判定。 - 开关、勾选与出图模型偏好都在面板热生效,无需重启——出图工具本身也在同一会话内随即挂载/卸载。细节见 docs/SETUP.md §4 与 docs/PROVIDER-HOT-RELOAD.md。 「接入 API」tab ③ 小浣熊(可选,默认关) 微信扫码登录 xiaohuanxiong.com 网关,独立账号、独立积分余额。 - 上游限流较宽松,适合当作 Token Plan 硬配额池之外的日常通道 - 登录后显示积分余额与模型清单 - 每个模型带上下文窗口 / 最大输出与积分倍率(free / ×0.75 这类,由网关目录声明;目录没给就不显示,不猜) - 联网搜索(默认关):开启后 DSH 的 web_search 工具后端换成小浣熊托管的 MCP,复用小浣熊凭据,无需再单独配搜索端点 key 「小浣熊」tab 输入框用量胶囊 会话输入框右侧常驻一颗用量胶囊,直接显示当前模型正在烧谁的配额;点一下展开额度卡,看得到原始用量、精确重置时刻与池归属。 - 不是第四个 tab:面板关着它也在,切模型即换读数,永远不会显示上一个模型的额度 - 两档读数各自归口:商汤档读 5 小时 / 每周两个滚动窗口,小浣熊档读积分余额(网关未声明上限,不换算百分比) - 套餐名前缀(商汤 · / 浣熊 · )说明下面的数字属于哪套额度 - 网关多了新模型时,小浣熊档的读数后面会挂一段 · N 新模型(名字在 tooltip 里,最多三个,7 天后自行消失)。这里的「新」是本机第一次见到它,不是上游的上架时间——网关目录没有这个字段;首次安装时整张名单按「早就见过」记,不会全报成新的 输入框用量胶囊与展开的额度卡 边界 - 面板不代你操作账务:不改套餐、不代扣积分、不碰 Key 明文 - 数据来自商汤控制台自己的 API,与网页控制台口径一致 - 真正会「动」的四部分——注册 provider、挂出图工具、接第二个上游、切换联网搜索——全部 opt-in 且默认关闭,不打开时插件退化为纯信息展示 安装 1. 在 DSH「插件」页搜索 dsh-connect-sensenova-token-plan 点击安装,或运行: dsh plugin --profile web add dsh-connect-sensenova-token-plan # Web 端 dsh plugin --profile desktop add dsh-connect-sensenova-token-plan # 桌面端 2. 完全退出 DSH(含托盘)再启动。 3. 打开 DSH 的 Plugins 页,找到本插件的插件卡(面板是页内的内联卡片,不在侧边栏)。 它是怎么工作的 登录原理: - Host 在后台用商汤标准登录拿令牌,并自动续期(refresh_token 到期前自动换新,所以不用你再输密码) - 面板打开时才轮询一个只读本地路由,关掉即停 - 协议细节(OIDC/PKCE、密码 JWE 封包、防锁号节流)见 docs/AUTH.md,接口契约见 docs/SENSENOVA-API.md 文档 - docs/ARCHITECTURE.md — 架构与数据流 - docs/SETUP.md — 配置字段、改动后重启、常见信号 - docs/AUTH.md — 登录 / 续期 / 节流设计 - docs/API.md — 路由与控制台端点 - docs/TESTING.md — 测试体系 - docs/SENSENOVA-API.md — 商汤接口全集(实测) - docs/PITFALLS.md — 真实踩坑(现象→根因→修法;条数见该文件头,别在这里写死) - CHANGELOG.md — 版本变化 - docs/README.md — docs/ 全量索引(含 ADR / ROADMAP / PROVIDER-HOT-RELOAD / TROUBLESHOOTING 等上表未列的)装到 npm 的那一份不含 docs/(package.json 的 files 白名单只带 cordis.patch.yml / README / CHANGELOG / THIRD_PARTY_NOTICES 等),上列 docs/* 链接在已安装副本上不可用,请到 GitHub 仓库看。 运维诊断:这台机器现在挂没挂 provider? - 遇到问题先看 docs/TROUBLESHOOTING.md——它按你看到的现象组织(额度栏空的、反复要求登录、模型不出现、改了代码没生效…),而不是按主题;每条带稳定症状码,doctor --json 的 symptoms 字段直接给症状码,人和智能体走同一条路。 - provider / 出图开关的生效值存在插件私有状态文件里,不在任何配置或路由上。按配置档分段(见 docs/PITFALLS.md §23):$DSH_HOME/state/<profile>/<name>/,取不到配置档名时退回共享目录 $DSH_HOME/state/<name>/——查「到底开没开」用 doctor,它只读状态文件、不碰凭据,Host 没起也能跑: npm run doctor # 人读:每个 profile 的 provider / draw 开关与模型清单 npm run doctor:json # 机器读:JSON(可进你的巡检 / 工单脚本) 诚实声明 - 面板显示的是控制台自己的口径,与网页控制台一致;GET /v1/models 只区分权限,不计费也不占推理额度; - 续期在令牌过期前触发;若 refresh_token 被吊销且环境里已无密码,面板会明确提示重新登录,而不是静默显示旧数据; - 凭据(账号、access/refresh token)只经 DSH 凭据服务保存,密码不落盘;本插件不写任何明文凭据文件或调试日志。 许可证 MIT License(Copyright (c) 2026 eghrhegpe),全文见 LICENSE;第三方依赖与合规说明见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
eghrhegpe/dsh-connect-sensenova-token-plan
DSH Plugins 商汤接入 DSH 的全家桶:查看积分额度、接入API与商汤小浣熊桌面端,429重试
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7