证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle自动化与智能体Web Profile

dsh-task-notice

为 DeepSeek Harness 提供任务完成提醒、Token 用量、成本、定价和 Token Plan 视图。

快速了解

它能做什么

为 DeepSeek Harness 提供任务完成提醒、Token 用量、成本、定价和 Token Plan 视图。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
自动化与智能体通知数据可视化
适配技术
deepseek-harnessWebnode
兼容性

Web Profile
>=0.1.0-rc.5; Node.js >=20

可信度与状态

证据已验证
核对日期 2026/9/14 UTC 14:12

有代码证据的贡献

它为 DSH 增加什么

任务通知与用量仪表盘

提供任务完成和待处理交互提醒,以及 Token 用量、定价、每日消费和 Token Plan 分析视图。

机制证据

选择前先看

此 DeepSeek Harness 插件会在顶层代理回合或目标完成时显示网页提示,并可选发送浏览器系统通知;代理需要审批或回答时也会提醒。它在“设置 → 任务通知与消耗”中提供按 Provider 路由的 Token 用量、每日消费、模型与 Provider 明细、定价规则和 Token Plan 周期分析。

适合谁

希望及时获知任务完成,并查看本地模型用量和估算成本的 DeepSeek Harness 用户。

常见任务

  • 在顶层代理任务或目标完成后接收桌面或页内提醒。
  • 按 Provider、模型、时间范围或当天查看 Token、调用次数和估算消费。
  • 设置模型和 Provider 专属价格及峰谷规则,用于计算展示金额。
  • 跟踪 Token Plan 周期、重置历史和性价比估算。

权限与数据

使用本地 Harness 存储,并可选请求浏览器通知权限。

权限
  • 用于可选系统提醒的浏览器 Web Notifications 权限。
数据处理
  • 将追加式用量账本写入 $DSH_HOME/storages/task-notice/usage.json。
  • 将价格、Token Plan 设置和 Provider 目录等配置写入 $DSH_HOME/storages/task-notice/config.json。
  • 记录 Token 数、Provider 路由和计算金额等模型用量字段。
外部服务
  • 使用浏览器 Web Notifications API;未声明其他独立外部服务。
凭据
  • 未声明安装所需凭据。插件可管理 Token Plan Key 设置,并读取已配置的 Provider 信息。

局限

  • 未找到 0.3.7 版本的 npm 注册表分发;请使用已验证的固定 Git bundle 路径。
  • 系统通知需要用户授予浏览器权限,并要求 HTTPS 或 localhost 等安全上下文。
  • 展示金额取决于配置或内置的价格数据,属于估算值,不等同于服务商账单。
  • 提供的证据未实际执行安装、通知投递或记账运行。

DSHub 已核对

  • 包清单声明了 DeepSeek Harness 的 web 客户端和宿主 bundle、Node.js >=20 以及 DSH >=0.1.0-rc.5。
  • 固定提交的源码包含已验证的 bundle patch,会将 dsh-task-notice 加入 profile。
  • 仓库声明为 MIT 许可证。

DSHub 未核对

  • 是否能在 Harness profile 中成功安装。
  • 浏览器通知权限和实际系统通知投递。
  • 价格目录、计算结果或运行时 Provider 归属的准确性。

固定版本安装

安装 dsh-task-notice

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit 193ecec 对应的 README
维护者编写的上游内容原文于 2026/9/14README.md 获取,正文和仓库相对媒体固定到 commit 193ececa4c0b,内容哈希为 fbf646838c1c。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-task-notice

DeepSeek Harness 插件:代理任务完工通知 + 顶部提示横幅 + 按 Provider(Key)的 Token 消耗统计 + 价格编辑 + 使用分析

0.3.7 新增:

  • 显示名称(Provider ID + 模型名称):所有界面的名称优先取全局模型设置里的自定义显示名——Provider 显示名 = 该 Provider 的 displayName(如 scnet → 超算互联网、bitdance-ark → BitDance Ark MaaS),模型显示名 = 该 Provider 下该模型的 name(如 ark-code-latest → 「GLM-5.3-Flash」,deepseek-flash → 「DeepSeek-V4.1-Flash」);悬停始终可见原始模型 ID。全局模型设置未给显示名时回退官方价格目录显示名(厂商 + 模型名称),再回退模型 ID。

  • 模型归属的 Provider ID 修复:「哪个模型属于哪个 Provider」以全局模型设置的模型清单为准(Provider ID 管理 / 价格编辑的 Provider ID 子卡片 / 消耗统计的显示名同源),账本观测只作补集;Provider 目录不再退化成「只记录调用过的模型」——启动抓取撞上服务注册竞态时自动重试,缓存过期或全局模型设置变更(llm-* 命名空间)时自动重扫。使用分析 / Token Plan 的消耗汇总严格按目录归属:每个 Provider ID 下方的模型自动来自全局模型设置,模型消耗先按目录判定归属的 Provider ID(命中即归到该 Provider 名下,运行时路由只作目录未收录时的兜底);模型品牌显示 = 目录里归属 Provider 的显示名——不再按模型名前缀绑定厂商,Provider ID 是用户自己设置的,一律读本地数据。

  • 价格表大小写不敏感:价格计算查找价格表(models 段)时不再区分模型名大小写——自定义价保存的大小写与调用记录不同也命中同一条价格。

  • 峰谷计价 v2:主体峰谷规则支持逐日生效日(每条规则可选 工作日 / 自定义(勾选星期)/ 每天)、自定义时区(UTC 偏移小时,默认 8 = UTC+8,生效星期与高峰小时都按它判定)与峰时价格方式(倍率 / 自定义——自定义直接填峰时价,留空字段按原价);规则仍为条件格式式,自上而下首个命中生效。

  • 自定义价格倍率:勾选「自定义价格」后可选 自定义(逐字段价)/ 倍率——倍率模式下实际价 = 该模型默认价格 × 倍率(默认价 = 官方价,未收录回退全局默认价),页面只读展示计算结果;Provider ID 子卡片新增价格倍率(默认 1,对该 Provider 的最终价整体缩放)。

  • 旧版本价格数据迁移:升级后第一次启动自动把旧峰谷规则 / 价格配置应用到新版本结构(独立脚本 lib/pricing-migrate.js,经 pricingVersion 标记只执行一次,幂等)。

  • 性价比修复:Token Plan 的 Provider 下,性价比 = 该模型调用量 ÷ 加权后的使用金额 = 1 块钱可兑换的 tokens 数量(订阅费按各模型按模型价的金额占比摊薄)——修复旧版同计划所有模型性价比恒同、无法区分的问题。

  • 完工通知:代理每完成一轮任务(或目标 goal 完成)时,在 Web 界面弹出通知,并经浏览器 Web Notifications API 发送 Windows 系统通知(桌面右下角横幅 + 操作中心;需页面授权,点击通知回到本页),展示本次任务消耗的 tokens(缓存输入 / 缓外输入 / 输出 / 合计)与金额。

  • 顶部提示横幅(0.3.6):常驻 DeepSeek Harness 页面顶部居中(shell.overlay 帧级浮层,所有页面显示,可 × 关闭):① 通知权限横幅——系统通知开关开启但浏览器尚未授权时提示「开启权限获得完整能力体验」,点击横幅即自动执行索权动作,任何结局都立即可见(等待中横幅文字立即变为「正在请求授权」;授权成功自动开启系统通知并直发「系统通知已开启」系统通知回执;授权弹窗被关闭未选择时明确提示再次点击选择「允许」、被浏览器静默拦截时提示到地址栏站点设置修改;被拒绝时提示到地址栏站点权限中允许);② 模型价格横幅——当前使用的模型没有规定价格(未激活自定义、官方目录未收录、也没有 Provider 专属价)时提示设置价格,点击横幅直接弹出该模型的价格编辑弹窗(五个单价字段预填全局默认价,留空字段继续继承全局默认价),「保存并确定」即写入配置并立即生效,消耗统计 / 使用分析 / 完工通知金额马上按新价格计算。「当前使用的模型」= 最近一次完工帧携带的模型(实时)∪ 最近 7 天账本中最新使用且未定价的模型(刷新页面后仍能提示)。

  • 操作提醒:对话需要你处理时同样提醒——代理发起权限请求(批准/拒绝)或提问(等待你回答)时,页内弹窗 + 系统通知(遵循系统通知开关与发送时机设置)。实现上订阅官方 UI 的待处理交互存储(uiSession.pendingInteractions)做纯观察,不参与 approval/requestuser-questions/request 的应答链,绝不干扰审批/提问对话框。

  • 数据进制规则(0.3.2):所有数字展示(统计 / 分析 / 弹窗 / 价格)统一按「K M B T」进制——0-99,999 无单位;≥100,000 用 4 位数字 + 单位(千/百万/十亿/千亿),超出部分四舍五入,优先小单位(如 120,050 → 120.1K、980,920 → 980.9K、9999K 下一个是 10.00M);鼠标悬停在含单位的数据上会浮现精确值。此规则只作用于显示,后台程序仍用精确数据计算。

  • Key 身份 = Provider ID(0.3.2):统计 / 分析 / Token Plan 里的「Key」指全局模型设置中的 Provider 路由(如 scnet / ten / deepseek-official),显示名用该 Provider 的 displayName(如 超算互联网 / DeepSeek),环境变量名(apiKeyEnv,如 SCNET_API_KEY / DEEPSEEK_API_KEY)只作辅助展示;旧账目 / 旧套餐的 key 标签自动迁移兼容。

  • 消耗统计:每次模型调用结束后记录其 usage,并按调用实际使用的 Provider 归集。插件设置页支持 1 年 / 6 个月 / 3 个月 / 1 个月 / 15 天 / 1 周 / 24 小时 / 自定义 时间范围,查看所有 Provider(Key)的 tokens 消耗量(分「缓存输入 / 缓外输入 / 输出」),附带调用次数、按 Provider 的按模型明细与跨 Provider 的按模型消耗总览

  • 使用分析(顶部导航切换):在 设置 → 任务通知与消耗 页顶部通过导航栏切换到「使用分析」页,分析规定时间范围内各大模型的使用资金状况:① 消耗金额展示——模型消耗金额占比饼图(鼠标悬停饼图块查看该模型具体使用情况:调用次数、各类 tokens、金额与占比)+ 饼图下方各 Provider 消耗额度表;② Token Plan 回本提示——每个设置为 Token Plan 的 Provider 一张子卡片(显示名、名下每个模型的消耗金额、是否回本、每 Credit 对应 tokens、重置当前周期按钮;0.3.3 起重置需输入 4 位数字验证码 + 两次点击不同位置的确认按钮才执行,重置后可「撤回重置」——同样验证码 + 两次确认,撤回恢复周期边界并把重置期间产生的消耗并入当前周期);0.3.4 起每个计费周期有唯一 TID(插件内部身份,不向用户显示),回本只统计当前生效 TID,旧 TID 数据冻结并经卡片「历史」按钮展开查阅;模型调用返回 402/429(Token Plan 错误码) 时该 Provider 标记待确认并弹「需要重置 Token Plan 吗?」,未回应则下次正常调用弹「是否已续费?」,期间消耗计入临时账本(卡片待确认横幅:已续费 / 没续费,回应后并入原周期合并显示);③ 性价比计算——1 元(CNY)能兑换多少 tokens(消耗 Token 总数 ÷ 消耗金额),相同品牌的大模型放在一起比较,Token Plan 的 Provider 只用当前生效计费周期(当前 TID)的 tokens 与订阅费加权摊薄,周期尚无数据时用当前消耗 ÷ 金额并标注「正在统计」;④ 每日费用消耗表——微型日历中代表一天的正方形的填充颜色深度区分每天用量的多少,日历下方列出每个日期的各模型消耗金额(Token Plan 的模型按加权平均计算,加权平均严格限定同一 TID:订阅费 ÷ 该 TID 周期总 tokens × 当天 tokens,同一天同一 Provider 出现在不同 TID 时相加合并为同一 Provider 显示),每个日期的数据默认堆叠,表格一次显示最近 6 天,其余用鼠标滚轮滚动查看;每日记录每个模型行前有颜色图例(0.3.3,与堆叠色条一致),429/402 待确认的临时账本行标「待确认」(0.3.4)。

  • 今日消耗(0.3.3,顶部导航第一位):在 设置 → 任务通知与消耗 页顶部导航栏第一个标签「今日消耗」,展示今天的模型消耗金额占比饼图今日各模型 tokens 消耗量(缓存输入/缓外输入/输出/合计)与今天的消费情况(总 tokens / 调用次数 / 金额);数据按今日 00:00(本地)至现在的账本计算,金额按当前价格与峰谷档现算。饼图只有一个模型时显示完整 100% 圆环;下方附今日消耗明细——每次模型调用产生消耗的单条记录(时间 / 模型 / Provider / 各类 tokens / 金额,时间倒序)。

  • 顶部导航(0.3.3 顺序):在 设置 → 任务通知与消耗 页顶部通过导航栏按「今日消耗 → 消耗统计 → 使用分析 → 价格编辑 → 设置」切换视图;导航栏 sticky 常驻页面顶部,往下翻阅时右侧出现「回到顶部」箭头按钮,点击平滑回到页面顶部;「设置」页含插件配置(全部开关、弹窗时长、保留天数等)、Token Plan Key 管理(0.3.2,取代原「价格编辑-Token订阅」)、Provider ID 管理(0.3.2)与清除记录数据(安全流程:滑条拖到底 → 输入随机 8 位验证码 → 连续两次确认,才清空全部消耗统计账本;价格/套餐/峰谷/Provider 目录配置保留)。

  • 价格编辑(顶部导航切换):在 设置 → 任务通知与消耗 页顶部点击「价格编辑」导航切换。模型价格跨 Provider 合并——不同 Provider 使用同一模型的调用都按该模型的价格计费,同一模型只有一行价格;未激活自定义的模型默认按内置官方价格目录计费(DeepSeek / OpenAI / Anthropic / Gemini / Kimi / Qwen / GLM / MiniMax / Seed / ERNIE / 混元 等 80+ 模型,双币种,含 DeepSeek 峰谷档;默认价以《主流大模型API官方价格汇总.xlsx》2026-09 为基准),点击「激活自定义」解锁该模型的价格编辑(基础价 + 峰时/谷时子档),「添加模型」可手动加入未出现过的模型。首次启动 / 无数据时,Provider 目录里已配置的模型也会列出,可提前定价。点「保存价格」后立即生效:汇总卡片、按 Provider 表、按模型表与完工通知金额马上按新价格重算。旧账目按低谷价:0.1/0.2 版本记录的旧消耗没有峰谷语义,默认按低谷价计算金额,不会被按峰时价回溯计费。

  • Token Plan Key 管理(0.3.2,设置页):管理所有 Key(Provider 目录 ∪ 消耗记录 ∪ 已有计划键)的 Token Plan 设置——勾选订阅、订阅费、套餐包含 Credit、套餐起效时间有效期(默认按 31 天计算,也可选择每月 1 号(UTC+0)自动重置),并按统计金额与订阅费对比判断有没有回本(进度条 + 已回本/未回本)与「换算 1 Credit = ? Tokens」;每个 Key 都可删除原有的 Token plan 属性(删除后不再按订阅计费,消耗记录与金额保留)。周期到期自动归档为「上一轮」,使用分析页可手动重置当前周期(重置后之前的消耗不再计入现在的回本计算,不影响消耗总额统计)。

  • Provider ID 管理(0.3.2,设置页):插件自维护 Provider 目录(Provider ID + 显示名 + 环境变量名 + 所含模型——显示名与所含模型取自全局模型设置,模型列显示「显示名(模型 ID)」),支持重置(重新抓取全局模型设置 + 账本观测并持久化)手动删除失效 Provider ID(移出目录 + 删除其 Token Plan,重扫不再复活);首次启动 / 无数据时也会自动抓取已配置 Provider 的 ID / 显示名 / 所含模型,全局模型设置变更或目录退化(只剩账本观测)时自动重扫。

  • 峰谷计价:实行峰谷计价的模型(如 DeepSeek)按每次调用的时刻取「峰时 / 谷时」价,窗口与生效日规则可配置(默认即 DeepSeek 官方规则);0.3.7 起主体峰谷规则支持逐日生效日(工作日/自定义/每天)、自定义时区(默认 UTC+8)与峰时价格方式(倍率/自定义,自定义留空字段按原价)。

安装

推荐:打包成 tarball 安装(Windows 下 dsh plugin add <路径> 会被 pnpm 变成 link: 依赖,而 junction 的真实路径会破坏 Node 的模块解析——tarball 安装可避免):

# 1. 在插件源码目录执行,产出 tarball(文件名形如 dsh-task-notice-<版本>.tgz)
pnpm pack

# 2. 安装:把 <tarball 路径> 替换为上一步产出的文件的实际路径
#    (路径含空格时请加引号;要装到非默认 profile 时加 --profile <profile 名>)
dsh plugin add <tarball 路径>

dsh plugin add 会先 pnpm add 安装依赖,再把声明了 dsh.bundle.patch 的包加入 dsh.profile.bundles 层栈。完成后重启 DSH(如 dsh web)生效——即使该 profile 的 patchReload 为 live,依赖变更也需要重启。

直接用 dsh plugin add <目录> 也可以安装,但要用完整功能请用上面的 tarball 方式。

卸载:

dsh plugin remove dsh-task-notice
# 装到了非默认 profile 时,加上对应参数,例如:
# dsh plugin --profile <profile 名> remove dsh-task-notice

使用

完工通知

  • 每个顶层会话(非 subagent)完成一轮任务时,浏览器端收到通知帧后在 Web 界面右上角弹出 toast,并按配置经 Web Notifications API 发送 Windows 系统通知(桌面右下角横幅 + 操作中心);内容为本轮消耗(缓存输入 / 缓外输入 / 输出 / 合计)与金额。
  • 目标(goal)完成时同样触发系统通知与网页弹窗,显示该目标自创建以来的总消耗。
  • 代理发起权限请求提问(等待你回答)时,也会触发同样的页内弹窗 + 系统通知提醒你处理(通过观察官方 UI 的待处理交互存储实现,不影响对话框本身)。
  • 系统通知由浏览器 Web Notifications API发出:需先在插件设置页点击「授权并开启」(浏览器要求用户手势授权;GUI 需运行在 HTTPS 或 localhost 安全上下文)。开启后,Edge/Chrome 会调用 Windows Notification Platform API,把通知交给 Windows 操作中心统一管理与显示——桌面右下角弹出横幅、存入操作中心;点击通知浏览器自动聚焦回本页面
  • 发送时机可选:默认「仅页面后台时发送」(正在看本页时只显示页内弹窗,切走/最小化后才发系统通知);也可取消该选项,让每次完成都发系统通知。
  • 网页弹窗自动消失(默认 15 秒,可配),也可手动关闭;页面隐藏期间弹窗挂起,回到页面后继续计时。

消耗统计

打开 设置(Settings)→ 任务通知与消耗,即可:

  1. 选择时间范围:24小时 / 1周 / 15天 / 1个月 / 3个月 / 6个月 / 1年 / 自定义(自定义支持起止日期时间)。
  2. 查看汇总卡片(总消耗、调用次数、缓存输入、缓外输入、输出、金额)。
  3. 查看按 Provider(Key)的表:每个 Provider 一行(显示名 + Provider ID,环境变量名作辅助),列出调用次数、缓存输入、缓外输入、输出、金额与合计;展开可看按模型明细。
  4. 查看按模型消耗总览:跨全部 Provider 按模型名聚合每个模型的调用次数与各类 tokens 消耗与金额——同一模型名无论出现在哪个 Provider / 提供商下都合并为一行(与价格编辑页「同一模型只有一行价格」、使用分析饼图口径一致);不同版本(不同模型名)各占一行,价格互不影响。

口径:缓存输入 = cacheReadTokens(命中缓存);缓外输入 = inputTokens(未命中缓存);输出 = outputTokens。消耗按每次模型调用的 provider 上报 usage 记账,并按该调用实际使用的 Provider(全局模型设置路由)归集(Key 身份 = Provider ID,0.3.2;环境变量名如 DEEPSEEK_API_KEY 只作辅助展示)。

使用分析

设置 → 任务通知与消耗 页顶部点击「使用分析」导航切换到使用分析视图,分析规定时间范围内各大模型的使用资金状况(时间范围:24小时 / 1周 / 15天 / 1个月 / 3个月 / 6个月 / 1年 / 自定义,与分析页共用一套查询):

  1. 消耗金额展示:饼状图展示每个模型的消耗金额占比——鼠标悬停在某个饼图块上浮现该模型的具体使用情况(调用次数、缓存输入 / 缓外输入 / 输出 / 缓存写入 / 推理、金额与占比);饼状图下方用表格显示每一个 Provider(Key)的消耗额度(调用次数、tokens、金额)。
  2. Token Plan 回本提示:每个被设置为 Token Plan 的 Provider(Key)显示为一张独立的子卡片,卡片显示 Provider 显示名、名下每个模型的消耗金额(按当前计费周期)、是否回本(当前周期消耗金额 ≥ 订阅费)、每个 Credits 对应的 Tokens(当前周期 tokens ÷ 套餐 Credit)以及重置按钮。点「重置当前周期」把当前周期的消耗归档为上一轮、从现在开始新的周期——之前的消耗不再计入现在的回本计算,不影响消耗总额统计。0.3.4 起每个计费周期有唯一 TID(插件内部身份,不向用户显示),卡片只统计当前生效 TID,「历史」按钮可展开查阅全部已冻结周期(起止时间 / 订阅费 / tokens / 金额);检测到 402/429(Token Plan 错误码) 时卡片显示待确认横幅临时账本(之后产生的消耗,回应前不参与回本),可点「已续费 / 没续费」回应——续费则重置周期(临时账本并入原周期冻结),未续费则仅清除待确认。
  3. 性价比计算排名:将所有模型的 (Provider · 模型) 全部拿出来一起排名比较(排名名 = Provider 显示名 · 模型名称),按 1 元(CNY)能兑换多少 tokens(消耗 Token 总数 ÷ 消耗金额)从高到低排序。Token Plan 额度分配使用基于 Tokens 消耗的对订阅费用的加权平均:每个模型的金额 = 订阅费 × 该模型 tokens ÷ 周期总 tokens(订阅费按各模型消耗的 tokens 占比摊薄);0.3.4 起只统计当前生效计费周期(当前 TID),不再优先用上一轮周期,周期尚无数据时标注「正在统计」并回退到展示范围的消耗按同一加权规则分配,保证所有模型都参与比较。
  4. 每日费用消耗表:微型日历中代表一天的正方形的填充颜色深度区分每天用量的多少(颜色越深消耗越多,悬停查看当日金额与 tokens);日历下方显示每一个日期的各模型消耗金额(Token Plan 的模型按加权平均计算,且加权平均严格限定同一 TID:订阅费 ÷ 该 TID 周期总 tokens × 当天 tokens,并标注「加权」;同一天同一 Provider 出现在不同 TID 时,当天各 TID 数据相加合并为同一 Provider 显示),每个日期的数据默认堆叠(日期头 + 该日各模型行 + 堆叠色条);429/402 待确认的消耗按模型价原值展示并标「待确认」;表格部分一次只显示最近 6 天的记录,其余记录用鼠标滚轮滚动查看。

周期口径:Token Plan 的回本 / 性价比 / 每日加权摊薄按计费周期(当前 TID)计算,不受当前选中的展示时间范围影响;饼图与 Provider 额度表按展示范围统计。TID 为插件内部周期身份,不向用户显示。

价格编辑

设置 → 任务通知与消耗 页顶部点击「价格编辑」导航切换到价格编辑视图:

  1. 选择币种(¥ / $)。
  2. 设置全局默认价格(每 1M tokens:缓存输入 / 缓外输入 / 输出 / 缓存写入 / 推理)——作为未收录官方价且未自定义的模型的兜底单价。
  3. 模型价格(跨 Provider 合并):页面列出全部 Provider 消耗记录中出现过的所有模型(0.3.2:首次启动 / 无数据时也列出 Provider 目录所含模型,可提前定价),同一模型只保留一行。每张模型卡片显示模型显示名(0.3.7:优先全局模型设置里该 Provider 下该模型的显示名,未配置则用官方目录的「厂商 + 模型名称」,悬停见原始模型 ID)与集体价格——未自定义显示官方价,勾选「自定义价格」解锁编辑;0.3.7 起勾选后可选 自定义(逐字段价)/ 倍率 方式,倍率模式输入倍率即可,实际价 = 该模型默认价格 × 倍率(默认价 = 官方价,未收录回退全局默认价),页面只读展示按当前倍率计算的实际单价。点击卡片展开 Provider ID 子卡片:「使用集体价格」开关(取消勾选编辑该 Provider 专属价,自动预填当前生效价)+ 0.3.7 新增价格倍率(默认 1,对该 Provider ID 使用此模型的最终价整体 × 倍率)。
  4. 添加模型:在输入框输入模型名称后点「添加模型」,可手动加入未出现在消耗记录中的模型行(同样可激活后自定义价格;查重不区分大小写)。
  5. Token Plan 设置已移至 设置 → Token Plan Key 管理(0.3.2):本页只编辑模型价格;保存时套餐保持现状、不会被清空。
  6. 峰谷计价(全局默认窗口):开关、峰时段(UTC 小时)与「仅工作日」配置;默认即 DeepSeek 官方规则(北京时间周一至周五 9:00-12:00、14:00-18:00 为峰时,2026-08-16 16:00 UTC 前按基础价)。
  7. 主体峰谷规则页(卡片 / 子卡片「设置」按钮进入;0.3.5 引入、0.3.7 重做):为「模型集体」或「模型 × Provider ID」配置峰谷规则——顶部为生效开关自定义时区(UTC 偏移小时,支持 0.5 步进,默认 8 = UTC+8);每条规则含生效日(工作日 / 自定义(勾选星期)/ 每天)、高峰时段(如 1-4,6-10,按主体时区的小时)与峰时价格方式(倍率 / 自定义——自定义直接填五个峰时单价,留空字段按原价计费);规则自上而下逐条判定,首个命中调用时刻的规则生效,无命中按基础价(Provider 规则优先于集体规则,主体规则优先于官方目录内嵌峰谷档),退出本页即保存此页的一切更改;启用后对应卡片显示「峰谷」徽标与规则摘要。
  8. 点「保存价格」后立即生效:汇总卡片、按 Provider 表、按模型表与完工通知标题里的金额马上按新价格重算(服务端按每次调用的时刻逐条取峰谷档)。

金额口径 = 各类 tokens × 对应单价 ÷ 1M,价格按「每 1M tokens」计;改价只影响展示与通知标题,不改动原始 usage 账本。

旧账目(0.1/0.2)默认按低谷价:旧版本记录的账目没有峰谷语义,插件对无版本标记的旧条目统一取低谷价(模型未配置峰谷档时即基础价),避免旧数据被按峰时价回溯计费;0.3 起记录的消耗(账目带 ver)按每次调用的时刻取峰/谷档。

内置官方价格目录与峰谷计价

  • 默认价以《主流大模型API官方价格汇总.xlsx》(2026-09)为基准:目录中表格已收录的模型一律按表格取值——「输入价格」→ 缓存未命中输入(cacheOut)、「缓存命中价格」→ 缓存命中输入(cacheIn;表格未给出的海外模型按官方缓存折扣惯例补齐:OpenAI GPT-4.1 系列 25% / GPT-5.x 系列 10%、Anthropic 0.1×、Gemini 25%)、「输出价格」→ 输出(output);区间价(如 ¥8~10)取基础起步价;表格未收录的既有官方价条目(GPT-4o / o3 / Claude 4.x / Gemini 2.5 / kimi-k2 / qwen3-max / GLM-5.3 等)保留作为补充。
  • 官方价默认生效:未激活自定义的模型自动按内置目录的官方价计费(按当前币种),无需手动填写;目录命中时页面显示官方价明细与来源。
  • 币种与折算:表格「国内」厂商(DeepSeek / 阿里云 / 字节跳动 / 智谱 / 月之暗面 / 百度 / 腾讯 / MiniMax / 小米 / 零一万物 / 阶跃星辰 / 百川智能 / 科大讯飞)以人民币官方价入库;「海外」厂商(OpenAI / Anthropic / Google)以美元官方价入库;缺失一侧按固定汇率 1 USD = 7.2 CNY 折算。
  • 峰谷计价(DeepSeek 等):目录中 DeepSeek 模型自带峰/谷两档官方价(工作日 9:00-12:00 / 14:00-18:00 价格翻倍,峰 = 2× 谷);统计与通知金额按每次调用的时刻逐条取档计费。
  • deepseek-flash 与 deepseek-v4.1-flash 同价(0.3.6):目录为 deepseek-v4.1-flash 增加 deepseek-flash 别名,模型名 deepseek-flash 的调用按 deepseek-v4.1-flash 官方价计费(缓存命中 ¥0.02 / 缓外输入 ¥1 / 输出 ¥4,每 1M tokens)。
  • 价格目录数据截至 2026-09,厂商可能调价;修改任意价格不会影响其他模型,历史金额随新价格即时重算。

插件配置

打开 设置 → 任务通知与消耗 页,在顶部导航切到「设置」视图即可调整:

字段 说明 默认
插件总开关 关闭后停止通知与记账
每轮任务弹窗 每完成一轮任务即弹窗
目标完成弹窗 目标(goal)完成时弹窗
权限请求提醒 代理请求权限时通知你处理
提问提醒 代理提问需要你回答时通知
弹窗时长(秒) 弹窗自动消失秒数(3–120,滑块) 15
浏览器系统通知 经 Web Notifications API 发送系统通知(需页面授权;Edge 横幅 + 操作中心)
仅后台时发送 页面在前台时只显示页内弹窗,切到后台/最小化后才发系统通知
账本保留天数 消耗账本保留天数(1–3650,滑块) 365

清除记录数据(0.3.1):设置页底部可清除全部 Token 消耗统计账本。为防误操作,必须依次完成:① 拖动图形验证码滑块(按住滑块拖到最右端,松手后变绿锁定);② 输入随后出现的随机 8 位英文数字验证码(区分大小写,可点「换一个」);③ 连续点击两次「确认清除」。清除后「消耗统计」「使用分析」与完工通知金额全部归零并自动刷新,价格 / 套餐 / 峰谷配置不受影响。若宿主进程尚未重启(remote 无 clearUsage),面板会提示重启 DSH。

数据存储

  • 账本:$DSH_HOME/storages/task-notice/usage.json(追加式,原子写,按保留天数裁剪;0.3.1 起每条账目带 ver 标记,旧账目按低谷价计费;0.3.1 修复 Key 归因后,启动时会按真实路由配置重算一次历史记录的归属;0.3.2 起 Key 身份 = Provider ID,账本旧 key 标签在读取侧自动迁移)。
  • 配置覆盖:$DSH_HOME/storages/task-notice/config.json(由设置页写入,含价格、Token Plan(0.3.2 起以 Provider ID 为键;0.3.4 起每个周期含内部 TID、冻结历史 cycles、429/402 待确认 pending 与撤回快照 _undo)、峰谷配置与插件自维护的 Provider 目录(0.3.2,providers 段:list + removed 黑名单);0.3.7 起含顶层 pricingVersion 标记——价格配置结构版本,旧版本价格数据迁移(独立脚本)据此只在升级后第一次启动执行一次)。

开发

lib/
  index.js        宿主插件入口(name / apply;零顶层外部 import,依赖解析失败只停用本插件)
  store.js        消耗账本(usage.json,原子写、保留裁剪)
  accounting.js   llm/stream 瀑布捕获(usage 块 → 记账;流抛错时识别 402/429/QUOTA 等 Token Plan 错误码,0.3.4)
  fold.js         会话日志折叠(turn/end、goal/change → 通知帧)
  notify.js       通知枢纽(推送队列 + 流订阅)
  keys.js         provider → 凭证引用(API Key)解析(按真实路由配置:llm-* 命名空间 providers[route].apiKeyEnv)
  providers.js    Provider 目录(0.3.2):从全局模型设置抓取 Provider ID / 显示名 / 环境变量名 / 所含模型(0.3.7:模型条目带显示名 name,目录重扫判定,模型归属 Provider ID 判定 providerOfModel);Key 身份归一、旧 env 键 → Provider 迁移
  service.js      taskNotice RPC 服务(getHealth/getConfig/updateConfig/getUsageStats/getUsageAnalysis/resetPlanCycle/undoPlanCycle/renewPlanCycle/dismissPlanPending/clearUsage/subscribeNotifications/getPriceCatalog/getProviderDirectory/refreshProviderDirectory/deleteProviderId)
  typert.host.js  手动注册的 Typert 清单工厂(zod v4 编解码)
  pricing.js      价格计算(模型跨 Provider 合并 / 官方价默认 / 大小写不敏感查找 / 倍率模式与 Provider 倍率 / 旧账目低谷价 / 峰谷 v2 取档(生效日+时区+峰时价格方式) / 金额折算 / Token Plan 计费周期)
  pricing-migrate.js  0.3.7 旧版本价格配置迁移(独立脚本:升级首启自动把旧峰谷规则 / 倍率字段应用到 v2 结构,pricingVersion 标记只执行一次)
  pricing-catalog.js  内置官方价格目录(80+ 主流模型,双币种 + 显示名,峰谷子档;默认价以《大模型API定价对比(4).csv》为基准,由 tools/build-catalog.mjs 生成)
  analysis.js     使用分析计算(模型聚合 / 消耗聚合严格按 Provider 目录归属 / 品牌读目录显示名(0.3.7)/ Token Plan 计费周期轮换与重置 / TID 周期身份与冻结历史 / 429/402 临时账本 / 性价比(0.3.7 修复:计划 Provider 按模型调用量 ÷ 加权金额)/ 每日同 TID 加权平均摊薄)
  client.js       浏览器端(顶部提示横幅(0.3.6:通知权限一键授权 / 未定价模型点击直弹价格编辑弹窗)+ 完工弹窗 + 今日消耗 + 消耗统计 + 使用分析(含 Token Plan 重置保护/撤回 + 429/402 提示弹窗/续费确认 + 历史周期 + 待确认横幅)+ 价格编辑(0.3.7:模型显示名 / 自定义-倍率方式 / Provider 价格倍率 / 峰谷规则 v2)+ 设置:插件配置 / Token Plan Key 管理 / Provider ID 管理 / 清除数据)
cordis.patch.yml  本包的 profile 层补丁(挂载一行)

依赖纪律:宿主入口零顶层外部 import(只 import Node 内建模块与自身模块);运行期可用的服务(session/settings/credentials/typert/loader/llm)一律经 ctx 访问。唯一的外部包 zod(Typert 编解码)只在 lib/typert.host.js 顶层 import,而该文件由 typert-loader 直接加载、不经宿主入口——即使依赖解析失败(如 Windows link: 安装的 junction realpath 陷阱),也只让本插件的 Typert 清单注册失败,DSH 照常启动。

License

MIT

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — Haoxiang-Fant/dsh-task-notice#193ececa4c0b6c3b93fc78940beeeb4d904e937d

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DeepSeek Harness bundle for web client and host >=0.1.0-rc.5; Node.js >=20

检查兼容性证据

风险事实

local-data-storage

Stores usage records and configuration under DSH_HOME, including pricing and Token Plan settings.

证据
browser-notifications

Can request browser notification permission and send system notifications when enabled.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

请从固定 Git bundle 安装;在依赖成本数字前,先检查本地用量保留和定价设置。

AI 审查于 2026/9/14 UTC 14:13GitHub 事实核对日期: 2026/9/14 UTC 14:13

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: dsh-task-notice