DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

@goodandready/dsh-key-limits

Key Limits

DeepSeek Harness 插件:API 密钥/订阅配额限制(浮动标签、编辑器栏、设置)。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:GooDAnDReaDY/dsh-key-limits#3e6ab7fd3ceab00795265077614d6290730e0ab8
README兼容性版本

兼容性与来源证明

Key Limits 以 @goodandready/dsh-key-limits 发布,当前版本为 0.2.34。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

0.2.34stable
2026/10/20
0.2.33stable
2026/10/20
0.2.32stable
2026/10/20
查看其余 33 个版本收起版本
0.2.31stable
2026/10/20
0.2.30stable
2026/10/20
0.2.29stable
2026/10/20
0.2.28stable
2026/10/20
0.2.27stable
2026/10/14
0.2.26stable
2026/10/9
0.2.25stable
2026/10/9
0.2.24stable
2026/10/7
0.2.23stable
2026/10/6
0.2.22stable
2026/10/5
0.2.21stable
2026/10/5
0.2.20stable
2026/10/5
0.2.19stable
2026/10/5
0.2.18stable
2026/10/5
0.2.17stable
2026/10/5
0.2.16stable
2026/10/5
0.2.15stable
2026/10/5
0.2.14stable
2026/10/5

相关插件

正在加载相关插件…

最新版
0.2.34
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 2
周下载
459
最近提交
2026/10/20
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
0.2.13stable
2026/10/5
0.2.12stable
2026/10/4
0.2.11stable
2026/9/27
0.2.10stable
2026/9/27
0.2.9stable
2026/9/27
0.2.8stable
2026/9/27
0.2.7stable
2026/9/27
0.2.6stable
2026/9/25
0.2.5stable
2026/9/24
0.2.4stable
2026/9/22
0.2.3stable
2026/9/21
0.2.2stable
2026/9/19
0.2.1stable
2026/9/18
0.2.0stable
2026/9/17
0.1.10stable
2026/9/15

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundle扩展推理的实验性机器翻译Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片

README

📦 @goodandready/dsh-key-limits

Real-time API Quota Limits, Token Plan Balances & Key Monitoring for DeepSeek Harness

🇬🇧 English • 🇨🇳 中文说明 • 🇷🇺 Русский

⭐ If you like this plugin, please star it on GitHub — it shows me that the plugin is useful to you and motivates me to keep developing it.

🐛 If you find a bug or would like to request a feature, open a GitHub issue in any language — I will review your proposal and implement useful suggestions in a future plugin version.

⚡ Overview & The Problem

AI developers and engineers frequently work across multiple LLM providers, corporate subscriptions, and token plan tiers simultaneously (such as OpenCode GO, Ollama Cloud, Qwen Cloud, Kimi, GLM, MiniMax, Cline, DeepSeek, OpenRouter, and Command Code).

Without ambient, real-time quota tracking inside DeepSeek Harness (DSH):

  • Conversations crash unexpectedly when rolling 5-hour limits or monthly quotas deplete mid-generation.
  • Users have no instant visibility into which subscription key is currently bound to the active chat session.
  • Switching tabs to check individual vendor dashboards disrupts developer workflow.

dsh-key-limits solves this by delivering ambient, distraction-free quota monitoring directly within the DSH Web UI. It focuses strictly on quota limits and subscription balances without heavy accounting ledgers, historical spending databases, or complex analytics.


🏗️ Architecture & Data Flow

graph LR
  subgraph Client ["DSH Web Client"]
    FC["FloatChip (Draggable Badge)"]
    CB["ActiveKeyButton (Composer Bar)"]
    SC["Settings Card (Plugin Slot)"]
    M["Modals (All Limits & One Limit)"]
  end

  subgraph Backend ["Cordis Plugin Backend"]
    Router["HTTP API Router (/dsh-key-limits)"]
    CredStore["Encrypted Credential Storage"]
    Updater["Loopback Plugin Updater"]
  end

  subgraph Providers ["AI Providers & Services"]
    P1["OpenCode GO / Ollama / Qwen"]
    P2["Command Code / Cline / GLM"]
    P3["DeepSeek / OpenRouter / MiniMax"]
    NPM["npmjs.org Registry"]
  end

  FC -->|Click| M
  CB -->|Click| M
  M -->|Poll Quotas (60s)| Router
  SC -->|Save Credentials| Router
  SC -->|Trigger Update| Updater
  Router --> CredStore
  Router -->|Parallel 12s Abort| P1
  Router -->|Parallel 12s Abort| P2
  Router -->|Parallel 12s Abort| P3
  Updater -->|Loopback Check / Install| NPM

✨ Full Feature Breakdown

1. Floating Quota Chip (FloatChip)

  • Persistent Viewport Overlay: Displays the lowest remaining quota percentage across all active keys (or total account count).
  • Draggable with Boundary Clamping: Smooth mouse and touch dragging that prevents the chip from leaving the visible screen. Coordinates persist automatically in localStorage.
  • One-Click Overview: Clicking the chip opens the All Limits Modal showing every configured account, plan, rolling windows, and expiration dates.

2. Composer Bar Key Status (ActiveKeyButton)

  • Injected directly into the message input area (conversation.composer.bar, priority 10).
  • Automatically inspects the active conversation session to detect the bound provider model.
  • Shows the remaining quota percentage or monetary balance for that exact model.
  • Clicking the button opens the One Limit Modal dedicated to the active account.

3. Account Reordering & Active on Top

  • Custom Account Order (order): In settings, arrange the display sequence of accounts using intuitive Up/Down controls (▲ / ▼).
  • Active Always on Top (activeOnTop): Automatically moves the account currently in use by the active conversation to the top of the list. Enabled by default.

4. Humanized Reset Countdown (fmtReset)

  • Durations exceeding 24 hours display days, hours, and minutes (e.g., 5d 5h 19m).
  • Durations under 24 hours omit days for concise reading (e.g., 4h 59m).
  • Expired windows immediately indicate refresh status.

5. Calm, Professional UI Design

  • Consistent 12px vertical spacing between cards eliminates cramped layouts and overlapping borders.
  • Calm neutral tones for healthy (>30%) quota states, reserving amber and red strictly for warning (<30%) and critical (<15%) levels.
  • Sleek 5px progress bars that blend into the native DSH theme.

6. Pool Health & Predictive Analytics

  • Pool Health Indicator: Ambient breakdown of provider account pools (healthy / warning / exhausted), immediately surfacing accounts experiencing quota exhaustion or upstream timeouts.
  • Burn Rate & Velocity: Real-time hourly consumption speed tracking (%/h) and automatic time-to-depletion projection (~X.X h left) derived from 24-hour rolling browser usage snapshots.
  • Ambient Reset Countdown: Floating chip tooltip and account tags display humanized countdown timers to the nearest quota reset window (e.g., Resets in 2h 15m).

7. Docked Mode, Hotkey & Low-Quota Alerts

  • Docked Mode: One-click pin button in the floating chip docks it neatly into the bottom-right corner, locking movement and saving window space.
  • Global Hotkey Alt+K: Instant access to the Limits Hub from any view or workflow without reaching for the mouse.
  • Danger Toast Warning: Ambient alert appears when the active key dips below 15% quota, preventing surprise generation cutoffs.

8. Encrypted Backup & Batch Refresh

  • Encrypted Export & Import: Export all configured keys and subscriptions into a password-protected AES-256-GCM encrypted backup file for easy migration between devices or profiles.
  • Refresh All: One-click forced quota refresh in the Limits Hub with spinning progress animation and concurrency-limited batch querying.

9. Built-in One-Click Updater

  • Check for updates directly within the settings card.
  • Installs the exact published package from npm without manual terminal intervention.
  • Protected against non-loopback or cross-origin requests.

10. Security & Storage Architecture

  • Isolated Secret Persistence: Plaintext API keys and sensitive session cookies (e.g. Ollama Cloud) are stored exclusively in the host DSH credentials service. The local subs.json file only contains non-sensitive metadata and references.
  • Strict File Permissions: The subs.json database and temporary swap files are enforced with strict POSIX 0600 file modes, preventing multi-user local inspection.
  • Fail-Closed Memory Hygiene: The in-memory cache purges sensitive secrets before resolving, ensuring revoked or deleted credentials do not persist in background polling or leak into backup exports.
  • Redirect Protection: Provider API fetchers enforce redirect: 'error', preventing sensitive authorization headers (x-api-key, Bearer tokens) from leaking cross-origin across HTTP 301/302/307 redirects.
  • Transactional Persistence: Disk write failures automatically roll back in-memory state and return standard HTTP 500 responses rather than reporting false success.

🔌 Supported Providers

Provider IDNameQuota WindowsAuthentication
commandcodeCommand CodeRolling 5h / Weekly / Monthly (GOAT, Pro, Max plans)API key (user_... or token)
opencode-goOpenCode GORolling 5h / Weekly / MonthlySession cookie (auth) & Workspace ID
ollamaOllama CloudSession / Weekly / MonthlyAPI key & Session cookie
qwenQwen Cloud5h / 1-Week Token PlansSession cookie & optional sec_token
kimiKimi for CodingWeekly Quota LimitAPI key (sk-kimi-...)
glmGLM (Z.ai)Daily / Monthly QuotaAPI key
minimaxMiniMax Coding PlanCoding Plan QuotaAPI key (sk-cp-...)
clineCline5h / Weekly / MonthlyBearer API token
siliconflowSiliconFlow (SiliconCloud)Total Balance / Credits ($ / ¥)API key (sk-...)
anthropicAnthropicRequests / Tokens Rate LimitsAPI key (sk-ant-...)
groqGroqRPM & TPM Rate LimitsAPI key (gsk_...)
geminiGoogle GeminiAPI Status / Model QuotaAPI key (AIza...)
deepseekDeepSeekBalance ($ / ¥)API key (sk-...)
openrouterOpenRouterBalance ($ credits remaining)API key (sk-or-...)

📦 Quick Installation

Install the official package into your active DSH profile:

dsh plugin --profile web add @goodandready/dsh-key-limits

Restart DSH Web:

dsh web --profile web

⚙️ Configuration Reference

# Primary configuration: Settings -> Plugins -> Key Limits, or profile plugin config.
# Legacy import: ~/.dsh/profiles/web/settings.yaml
plugins:
  '@goodandready/dsh-key-limits':
    storageDir: ~/.dsh/storages/dsh-key-limits
    refreshHours: 24
    ui:
      floatChip: true
      composerBar: true
      activeOnTop: true
      order: []

Parameter Details

ParameterTypeDefaultDescription
storageDirstring~/.dsh/storages/dsh-key-limitsDirectory where subscription metadata and cached cards are stored (read-only in UI, configured via profile plugin configuration, requires restart).
refreshHoursnumber24Background polling interval in hours for refreshing quota windows from providers.
ui.floatChipbooleantrueShow floating draggable indicator chip in the viewport.
ui.composerBarbooleantrueShow active key button in the chat composer bar.
ui.activeOnTopbooleantrueAutomatically pin the account matching the active chat session to the top of lists.
ui.orderstring[][]User-defined sequence of subscription IDs for custom card ordering.

🌐 REST API Endpoints

Method & PathAccess / OriginDescription
GET /dsh-key-limits/healthLoopback / Same-OriginService health check ({ ok: true, name: "dsh-key-limits", status: "healthy" })
GET /dsh-key-limits/configPublic / WebPublic UI configuration and provider input schemas
GET /dsh-key-limits/active-subPublic / WebActive session subscription binding (?sessionId=<id>)
GET /dsh-key-limits/subsPublic / WebList of all configured subscriptions, cards, and balances
POST /dsh-key-limits/subsLoopback / Same-OriginAdd, edit, or delete a subscription
POST /dsh-key-limits/refresh-allLoopback / Same-OriginForce refresh all subscriptions (concurrent refresh lock)
POST /dsh-key-limits/exportLoopback / Same-OriginExport subscriptions encrypted with passphrase (AES-256-GCM)
POST /dsh-key-limits/importLoopback / Same-OriginDecrypt and import subscription backup with deduplication
GET /dsh-key-limits/updateLoopback / Same-OriginCheck npm registry for newer plugin versions
POST /dsh-key-limits/updateLoopback / Same-OriginApply plugin update via internal npm runner

🛠️ Development & Testing

Note: The published npm package and release tarball carry only runtime production files (lib/, cordis.patch.yml, docs, and license). Development sources (src/client/, test/, and build scripts) are maintained in the source repository. To run automated tests or rebuild the client bundle, clone the development repository.

# Build unified client bundle from src/client/ into lib/client.js
npm run build:client

# Run automated offline test suite
npm test

Directory Structure

.
├── lib/
│   ├── index.js                  # Cordis plugin entrypoint & HTTP routes
│   ├── client.js                 # Built client bundle
│   ├── cards.js                  # Card generation and formatting
│   ├── subs.js                   # Provider quota manager & normalization
│   ├── provider-fetchers.js       # Core quota fetchers & HTML parsers
│   ├── provider-extra-fetchers.js # Extended quota fetchers (SiliconFlow, Anthropic, Groq, Gemini)
│   ├── crypto-backup.js          # AES-256-GCM passphrase export & import
│   ├── paths.js                  # Path resolution helpers
│   └── plugin-updater.js         # Secure loopback updater
├── src/client/                   # Source modules for browser client
│   ├── 01-prelude.js             # Scoped CSS & React setup
│   ├── 02-locale.js              # Multi-language dictionaries (en, zh; ru via dsh-russian-lang)
│   ├── 03-format.js              # Humanized countdowns & color classes
│   ├── 04-modals.js              # AllLimitsModal & OneLimitModal
│   ├── 05-bar.js                 # Composer bar ActiveKeyButton
│   ├── 06-float.js               # Draggable FloatChip
│   ├── 07-settings.js            # Settings card, reorder list & updater
│   └── 08-apply.js               # DSH plugin bootstrap & slot registrations
├── cordis.patch.yml              # Cordis plugin declaration
└── test/                         # Test suite

📄 License

MIT © GooDAnDReaDY