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

虚拟额度计划 17-qxm/dsh-virtual-coding-plan

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

按人民币记账并限制用量,超额自动拦截请求

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

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

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

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

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    client.js:132
    fetch(ROUTE + '/status.json', { cache: 'no-store' })
  • 发起网络请求
    client.js:219
    const res = await fetch(ROUTE + '/settings.json', {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 的本地模拟编程套餐:按人民币计费,执行滚动 5 小时与每周上限,额度用尽时在调用任何服务商之前就拒绝请求。

README

由 DeepSeek 最新模型翻译生成
dsh-virtual-coding-plan 一个跑在本机的「虚拟 coding plan」:按人民币花费记账,用 5 小时滚动窗口和自然周两个额度限制用量,达到上限后当前这轮回复照常跑完,下一轮开始前拒绝继续,直到窗口重置或你手动提额。 它不是任何厂商的订阅,也不连接任何第三方服务:只读本机会话日志里的 token 用量,按价目表折算成钱。 行为 - 记账:监听 session/event 的 assistant/message,用 usage 按 DeepSeek 峰谷价算钱(缓存命中 / 未命中输入 / 输出三档分开计价,reasoningTokens 不重复计费)。 - 评估:5 小时滚动窗口 + 自然周(北京时间周一 00:00)窗口,任一超限即视为「用尽」。 - 拦截:只在 agent/pre-step 的 step 1(新一轮开始)拒绝,进行中的回复不会被打断。 - 展示:输入框下方常驻状态条 Coding Plan · 5h ◔10% · 周 ◔34% · 距离重置 ◔2h13m,前两个环是该窗口的花费比例,最后一个环是窗口剩余时间;点一下状态条会打开含完整明细与提额的面板(同一份内容也在 设置 → 虚拟额度计划 里)。用尽时输入区还会出现提示条。
展开完整文档(README 剩余 1 节)
dsh-virtual-coding-plan

一个跑在本机的「虚拟 coding plan」:按人民币花费记账,用 5 小时滚动窗口和自然周两个额度限制用量,达到上限后当前这轮回复照常跑完,下一轮开始前拒绝继续,直到窗口重置或你手动提额。

它不是任何厂商的订阅,也不连接任何第三方服务:只读本机会话日志里的 token 用量,按价目表折算成钱。

行为

- 记账:监听 session/event 的 assistant/message,用 usage 按 DeepSeek 峰谷价算钱(缓存命中 / 未命中输入 / 输出三档分开计价,reasoningTokens 不重复计费)。
- 评估:5 小时滚动窗口 + 自然周(北京时间周一 00:00)窗口,任一超限即视为「用尽」。
- 拦截:只在 agent/pre-step 的 step 1(新一轮开始)拒绝,进行中的回复不会被打断。
- 展示:输入框下方常驻状态条 Coding Plan · 5h ◔10% · 周 ◔34% · 距离重置 ◔2h13m,前两个环是该窗口的花费比例,最后一个环是窗口剩余时间;点一下状态条会打开含完整明细与提额的面板(同一份内容也在 设置 → 虚拟额度计划 里)。用尽时输入区还会出现提示条。

安装

在 Plugins 页安装,或:

plugin_manager install_bundle target:<本目录绝对路径>

本地目录以 link 方式装进 profile,改代码后重启 DSH 生效。

命令

| 命令 | 作用 |
| /usage | 打印各窗口已用/上限/重置时间与今日、本周合计 |
| /usage on / /usage off | 开/关拦截(关闭后仍继续记账) |
| /usage topup <元> | 给当前窗口提额,随窗口重置失效 |
| /usage preset <id> | 切换预设 |

在页面或 /usage topup 改过的额度会记为 override,优先于预设文件;切换预设会清空 override。

配置

写在 cordis.patch.yml 的 row config 里:

| 键 | 默认 | 说明 |
| preset | simulated | presets/<id>.json |
| planFile | 空 | 绝对路径,优先于 preset;指向自定义计划文件 |
| enforcement | block | block / warn / off,仅首次启动的默认值,之后以账本里保存的为准 |
| ledgerFile | ~/.dsh/.dshvcp-ledger.json | 账本路径 |

计划文件

{
"id": "simulated",
"name": "模拟 Plan", "currency": "CNY",
"windows": [
{ "id": "session", "label": "5 小时", "short": "5h", "kind": "rolling", "durationMs": 18000000, "limitYuan": 5 }, { "id": "weekly", "label": "本周", "short": "周", "kind": "calendar-week", "limitYuan": 30 } ] }

kind:rolling(需要 durationMs)/ calendar-day / calendar-week,日与周边界都按北京时间。

换成真实第三方 plan

只需要把 limitYuan 改成那个 plan 的额度,不必改代码:把上面的 JSON 复制一份放进 presets/,用 /usage preset <新 id> 切换,或在 config.planFile 指向它。金额由你自己填,插件不校验也不背书这些数字。

路由

- GET /dsh-virtual-coding-plan/status.json — 状态条与页面读取的聚合数据(只有金额与计数,没有对话内容)。
- POST /dsh-virtual-coding-plan/settings.json — { enforcement?, limits?, topup?, presetId? }。

数据

~/.dsh/.dshvcp-ledger.json:events(每步花费,最多 14 天 / 20000 条)、settings(限额覆盖与模式)。原子写入(临时文件 + rename),文件损坏会备份成 .corrupt-<时间戳> 后重新开始。

临时额度不进账本:提额后的额度只存在于内存,写文件时剔除、读取时忽略——重启 DSH 或重载插件后,上限回到预设(或你覆盖过的)基础值。这是有意的:临时额度属于「这一次」,不是配置。

已知限制

- 不回填安装之前的花费。
- 假定同一时刻只有一台机器、一个 Host 进程写这个账本。
- 法定节假日表目前覆盖 2026 年;每年 11 月需要随国务院安排补下一年(在 pricing.mjs 的 HOLIDAY_VALLEY)。
- 价目表里没有的模型按 _default(Flash 价)估算,账本事件标 priced:false,页面上显示「≈」。
- 拦截的表现是「新一轮被拒绝」;可读提示由状态条与输入区提示条承担。
- 子代理会话的首个 step 也会被拒——额度用尽时停止花钱比让子代理跑完更重要。

开发

node --test test/pricing.test.mjs

pricing.mjs 是纯函数(不读时钟、不碰 IO),测试用注入的 nowMs 覆盖峰谷取价、周/日边界、滚动窗口重置、提额与过期、裁剪与去重。

价目表来源

价目表、峰谷规则、节假日表与金额单位移植自 dsh-whale-widget v0.4.2(MIT),详见 THIRD_PARTY_NOTICES.md。移植保持语义不变,这样同一轮对话在本插件与余额挂件里显示的是同一个价。

许可

MIT。
预览分享卡片长什么样 ↓17-qxm/dsh-virtual-coding-plan
分享 · DeepSeek Harness Hub
17-qxm/dsh-virtual-coding-plan

按人民币记账并限制用量,超额自动拦截请求

回到顶部