DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@goodandready/dsh-clinebot

Clinebot

DeepSeek Harness companion for ClineBot / ClinePass: dynamic subscription models sync, quota exhaustion warnings, session metrics, dedicated settings page, live usage limits, and /cline slash-command.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:GooDAnDReaDY/dsh-clinebot#d2ce84570df818cb3e6a01ee10ffe38c6266850d
READMECompatibilityVersions

Compatibility and provenance

Clinebot is published as @goodandready/dsh-clinebot and currently resolves to version 0.6.24. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
11/4/2026

Versions

0.6.24stable
11/2/2026
0.6.23stable
10/30/2026
0.6.22stable
10/30/2026
Show 92 more versionsCollapse versions
0.6.21stable
10/29/2026
0.6.20stable
10/29/2026
0.6.19stable
10/29/2026
0.6.18stable
10/29/2026
0.6.17stable
10/28/2026
0.6.16stable
10/26/2026
0.6.15stable
10/22/2026
0.6.14stable
10/21/2026
0.6.13stable
10/21/2026
0.6.12stable
10/21/2026
0.6.11stable
10/21/2026
0.6.10stable
10/21/2026
0.6.9stable
10/21/2026
0.6.8stable
10/21/2026
0.6.7stable
10/21/2026
0.6.6stable
10/21/2026
0.6.5stable
10/21/2026
0.6.4stable
10/21/2026

Related plugins

Loading related plugins…

Latest
0.6.24
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 8
Weekly downloads
2,026
Last push
11/2/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
0.6.3stable
10/21/2026
0.6.2stable
10/21/2026
0.6.1stable
10/21/2026
0.6.0stable
10/20/2026
0.5.33stable
10/19/2026
0.5.32stable
10/19/2026
0.5.31stable
10/18/2026
0.5.30stable
10/18/2026
0.5.29stable
10/17/2026
0.5.28stable
10/17/2026
0.5.27stable
10/17/2026
0.5.26stable
10/17/2026
0.5.25stable
10/16/2026
0.5.24stable
10/13/2026
0.5.23stable
10/13/2026
0.5.22stable
10/13/2026
0.5.21stable
10/12/2026
0.5.20stable
10/11/2026
0.5.19stable
10/6/2026
0.5.18stable
10/6/2026
0.5.17stable
10/4/2026
0.5.16stable
10/4/2026
0.5.15stable
10/2/2026
0.5.13stable
10/2/2026
0.5.12stable
10/2/2026
0.5.11stable
10/1/2026
0.5.10stable
10/1/2026
0.5.9stable
9/30/2026
0.5.8stable
9/30/2026
0.5.7stable
9/30/2026
0.5.6stable
9/30/2026
0.5.5stable
9/29/2026
0.5.4stable
9/28/2026
0.5.3stable
9/28/2026
0.5.2stable
9/28/2026
0.5.1stable
9/28/2026
0.5.0stable
9/27/2026
0.4.8stable
9/27/2026
0.4.7stable
9/27/2026
0.4.6stable
9/25/2026
0.4.5stable
9/25/2026
0.4.4stable
9/25/2026
0.4.3stable
9/24/2026
0.4.2stable
9/24/2026
0.4.1stable
9/24/2026
0.4.0stable
9/24/2026
0.3.25stable
9/24/2026
0.3.24stable
9/24/2026
0.3.23stable
9/24/2026
0.3.22stable
9/24/2026
0.3.21stable
9/23/2026
0.3.20stable
9/23/2026
0.3.19stable
9/22/2026
0.3.18stable
9/22/2026
0.3.17stable
9/21/2026
0.3.16stable
9/20/2026
0.3.15stable
9/19/2026
0.3.14stable
9/19/2026
0.3.13stable
9/19/2026
0.3.12stable
9/16/2026
0.3.11stable
9/16/2026
0.3.10stable
9/16/2026
0.3.9stable
9/15/2026
0.3.8stable
9/12/2026
0.3.7stable
9/10/2026
0.3.6stable
9/9/2026
0.3.5stable
9/9/2026
0.3.4stable
9/8/2026
0.3.3stable
9/8/2026
0.3.2stable
9/8/2026
0.3.1stable
9/7/2026
0.3.0stable
9/5/2026
0.2.1stable
9/5/2026
0.2.0stable
9/5/2026

Related plugins

More verified plugins in models-usage.

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundleExperimental machine translation of expanded reasoningWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinOur Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — Install this plugin in dsh to use cutting-edge models including DeepSeek V4.1 Flash and Kimi K3, with no login, registration, or API Key required. The desktop version also offers an EAC co-payment channel; starting with 2.0, it supports ten account channels: LobsterAI, Qoder, TRAE, Usage@linxin666/dsh-usageUsage statistics plugin for the dsh web GUI: per-provider balance and coding-plan quota detection plus a live token usage ledger, with a compact price glance card above the sidebar's Settings row

README

📦 @goodandready/dsh-clinebot

Native ClineBot / ClinePass Provider Companion for DeepSeek Harness

0.6.24 hardens the source gate, updater environment, symlink-safe data paths and prototype-safe telemetry. It keeps automatic model/free/dated catalog backfill, DSH 0.2.1-rc.4, model-scoped credit cooldowns and 402/413 errors. Chat runs on the native ctx.llm adapter; the legacy llm-pi-ai, loopback proxy and llm/stream path are removed.

🇬🇧 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

ClinePass (https://cline.bot) is a subscription service providing developers with 2–5x higher rate limits across premier open-weights coding and reasoning models through a single OpenAI-compatible endpoint (https://api.cline.bot/api/v1).

Integrating ClinePass into DeepSeek Harness (DSH) natively poses key challenges:

  1. No /v1/models Discovery: GET /v1/models on api.cline.bot returns 404 Not Found. Dynamic discovery fails silently or leaves the provider with 0 models.
  2. Model Identifier Formats: Models require the specific prefix cline-pass/ (e.g. cline-pass/deepseek-v4.1-flash, cline-pass/kimi-k3).
  3. Quota Tracking: Rolling 5-hour and weekly limits need clear in-browser visualization.
  4. Credential Security: Storing API keys directly in plain settings is insecure.

@goodandready/dsh-clinebot provides a complete solution:

  • 🚀 One-Click In-App Updater: Upgrade @goodandready/dsh-clinebot directly from the DSH UI or trigger secure loopback updates via /dsh-clinebot/update.
  • ⚡ SWR Quota & Health Caching: Instantaneous response time (<2ms) on status queries with background revalidation.
  • 🔀 Smart Quota-Aware Failover: Automatic multi-account rotation on stream HTTP 429 and exhausted quota (with 30s storm protection; current request is not retried, subsequent chat requests use the next available account).
  • 🖥️ Plugin configuration page: Open the installed ClineBot plugin and choose configure. The page shows the credential name, models, quota, and accounts. It is not a separate sidebar section.
  • 🔄 Dynamic Subscription Model Sync: Automatically pulls real models included in your ClinePass plan directly from GET /api/v1/users/me/plan with one-click DSH provider sync. Only actual plan models are registered in DSH, while the built-in catalog serves as a rich properties reference and fallback when unsynced.
  • ⚠️ Quota Exhaustion Alerts: Real-time visual warning banners when 5-hour rolling limit reaches 80% (warning) and 95% (exhausted), complete with countdown to reset.
  • 📈 Session Metrics Telemetry: Live dashboard tracking real in-flight DSH chat requests through the ClineBot provider, prompt and completion tokens, stream latency, and error counts since process startup.
  • 📊 Live Quota Dashboard: Visual progress bars for 5-hour rolling limits and weekly windows from the official GET /users/me/plan/usage-limits API.
  • 🔑 In-UI Key Storage: Paste your API key directly in the UI; it is saved securely via ctx.credentials.set() into ~/.dsh/.credentials.yaml.
  • 🎯 Model Picker Management: Granular checkboxes to choose which models appear in the chat picker.
  • 💬 Slash-Command /cline: Check quota, limits, warnings, session metrics, latency, and active model directly from the DSH chat console.

🏛️ Architecture

graph LR
    subgraph UI [DSH Web Interface]
        Settings["Settings -> ClineBot"]
        Dashboard["Quota / Analytics panel"]
        Composer["Composer cost read-out"]
        Picker["Model picker"]
    end

    subgraph PluginHost [dsh-clinebot Runtime]
        Routes["HTTP: /dsh-clinebot/*"]
        Adapter["lib/adapter.js (ctx.llm LlmAdapter)"]
        Transport["lib/transport/cline-transport.js"]
        Pool["account-pool + session-router"]
        Stats["stats-storage v2 + model-prices"]
        TUI["dsh-TUI settings section"]
    end

    subgraph DSHCore [DeepSeek Harness 0.2.1-rc.2+]
        Llm["ctx.llm"]
        Credentials["ctx.credentials"]
        Web["ctx.web / settings / commands"]
    end

    subgraph Upstream [ClinePass]
        Chat["api.cline.bot/api/v1/chat/completions"]
        Quota["users/me/plan/usage-limits"]
        Plan["users/me/plan"]
    end

    Settings --> Routes
    Dashboard --> Routes
    Composer --> Routes
    Picker --> Llm
    Llm --> Adapter
    Adapter --> Pool
    Adapter --> Transport
    Transport --> Chat
    Adapter --> Stats
    Routes --> Stats
    Routes --> Credentials
    TUI --> Routes
    Adapter --> Quota
    Adapter --> Plan

✨ Features & Module Breakdown

  • lib/adapter.js: Registers the ClineBotAdapter directly on ctx.llm: streaming, model catalogue, reasoning effort, pre-first-token account failover, retry policy, usage accounting and provider metadata.
  • lib/transport/cline-transport.js: OpenAI-compatible SSE transport with connect/idle timeouts, abort handling and upstream error classification.
  • lib/models.js: Dynamic subscription catalogue, curated fallback properties, reasoning efforts, custom models and plan parsing (parsePlanIncludedModels, getAllModels, getDynamicModels).
  • lib/model-prices.js: Explicit local cost estimates with per-model overrides. Unknown models stay unpriced instead of being reported as $0. When a newly discovered model has no price, the optional priceAutoSync setting fetches the public models.dev catalog (at most once per missing set every 6 hours); turn it off in the price card or set priceAutoSync: false while keeping the manual Sync button.
  • lib/multimodal-budget.js: Offloads images from earlier turns into stable text placeholders and enforces maxPayloadMb, reducing prompt-cache churn and oversized ClinePass requests. offloadedImages is included in session telemetry.
  • Model tools in Settings → ClineBot → Models: The per-model Ping button calls POST /models/probe and shows TTFT; Apply visibility calls POST /models/visible after choosing the visible models and plan-only filter.
  • lib/stats-storage.js: Persistent JSON telemetry v2: cache buckets, estimated cost, TTFT/latency, sessions and day/month/model/account aggregates. v1 files upgrade on read.
  • lib/account-pool.js / lib/session-router.js: Credential discovery, usage-aware least-used and round-robin rotation, sticky sessions and cooldown recovery.
  • lib/cline-client.js: fetchUsageLimits, credential save, smoke test and the model catalogue cache.
  • lib/index.js: Cordis lifecycle: adapter registration, optional HTTP routes, quota warnings, /cline command, one-time cleanup of the old provider entry and TUI section registration.
  • lib/tui-settings.js: dsh-TUI section for key, base URL, model filters, active account, context window and output cap.

📦 Installation

dsh plugin --profile web add @goodandready/dsh-clinebot

Requires DSH 0.2.1-rc.2 or newer in the 0.2.1 line and Node 22+. ClineBot registers directly with ctx.llm; there is no transport switch or loopback proxy.

Restart your DeepSeek Harness instance and refresh the browser.

0.6.0 endpoints

EndpointPurpose
GET /dsh-clinebot/analytics?groupBy=model|day|session&from=&to=Aggregated requests, tokens, estimated cost, success rate and TTFT
GET /dsh-clinebot/pricesLocal price table used by the composer read-out
GET /dsh-clinebot/accounts/usagePer-account quota snapshot
GET /dsh-clinebot/stats/export?detailed=1CSV with cache, cost, TTFT and latency columns

💬 Slash-Command /cline

From any DSH chat session, type /cline to inspect quota, warning alerts, and session telemetry:

### 🤖 ClinePass Status (ClinePass)
* Latency: ✅ 210 ms
* Active Key: CLINEBOT_API_KEY (credentials)
* Default Model: `cline-pass/deepseek-v4.1-flash`

⏱ 5-Hour Window: [████░░░░░░] 42% (resets: 18:00)
📅 Weekly Window: [██████░░░░] 60% (resets: Sep 8)
* Account: `developer@example.com`

📈 Session Metrics:
* Requests: 14 calls
* Tokens: ~8,450 (Prompt: 6,100 | Completion: 2,350)
* Last Latency: 210 ms

⚙️ Configuration Reference (DSH Settings & Web UI)

In modern DeepSeek Harness (0.1.7+), settings are managed natively via the DSH Web UI Settings card or PUT /dsh-clinebot/config, with API keys persisted securely in DSH Credentials storage (~/.dsh/.credentials.yaml).

dsh-clinebot:
  enabled: true
  baseUrl: https://api.cline.bot/api/v1
  apiKeyEnv: CLINEBOT_API_KEY
  defaultModel: your-default-model
  disabledModels: []
  customModels: []
  modelReasoningDefaults:
    your-reasoning-model: high
  modelContextOverrides: []
  statsPath: ~/.dsh/clinebot-stats.json
  priceCatalogUrl: https://models.dev/api.json
  priceCatalogPath: ~/.dsh/clinebot-prices.json
  priceAutoSync: true
  eventLogPath: ~/.dsh/clinebot-events.json
  statsRetentionDays: 95
  dailyBudgetUsd: 0
  monthlyBudgetUsd: 0
  timeoutMs: 30000
  smokeTimeoutMs: 60000
  streamIdleTimeoutMs: 60000
  accounts:
    - label: Team Key
      apiKeyEnv: CLINEBOT_API_KEY_2

Configuration Parameters

ParameterTypeDefaultDescription
enabledbooleantrueEnable or disable the ClineBot provider bridge in DSH
baseUrlstring"https://api.cline.bot/api/v1"ClinePass OpenAI-compatible base URL
apiKeyEnvstring"CLINEBOT_API_KEY"Environment variable / credentials key name
defaultModelstring"cline-pass/deepseek-v4.1-flash"Default selected model ID for chat and smoke tests
disabledModelsarray[]List of model IDs hidden from the DSH chat picker (new subscription models are auto-enabled)
customModelsarray[]User-defined gateway models ([{ id, name, contextLength, maxTokens, category, isReasoning }])
modelReasoningDefaultsobject{}Configured default reasoning effort per model (low, medium, high, max)
modelContextOverridesarray[]User-defined model context length and max token overrides
statsPathstring"~/.dsh/clinebot-stats.json"

🌐 HTTP API Endpoints

All endpoints are registered under /dsh-clinebot/* and protected against untrusted cross-site origins (same-origin and loopback allowed). Control endpoints enforce a 256 KiB request payload limit:

Management & Control Endpoints (Max 256 KiB)

  • GET /dsh-clinebot/status — Live status report including provider health, active credential, quota, and session metrics.
  • GET /dsh-clinebot/config — Diagnostic endpoint returning public configuration without secret keys.
  • PUT /dsh-clinebot/config — Update configuration fields. Accepts only known schema properties (unknown fields or deprecated enabledModels return 400 Bad Request).
  • POST /dsh-clinebot/key/verify — Validates a candidate API key against api.cline.bot and returns account email and plan name.
  • POST /dsh-clinebot/save-key — Saves a key into DSH credentials service under a valid CLINEBOT_API_KEY* name.
  • POST /dsh-clinebot/models/sync — Synchronizes models with your active subscription plan.
  • POST /dsh-clinebot/models/toggle — Toggles models via disabledModels (atomic Volatile preservation).
  • POST /dsh-clinebot/models/custom / DELETE /dsh-clinebot/models/custom — Manage custom user-defined models.
  • POST /dsh-clinebot/models/context / DELETE /dsh-clinebot/models/context — Manage model context length overrides.
  • POST /dsh-clinebot/accounts — Add account to the multi-account pool.
  • POST /dsh-clinebot/accounts/delete — Delete account from the pool with atomic credential preservation.
  • POST /dsh-clinebot/accounts/active — Switch or pin active account (or empty for auto least-used routing).
  • POST /dsh-clinebot/stats/reset — Reset session request and token statistics.
  • POST /dsh-clinebot/smoke — Runs a live latency test ping.
  • GET /dsh-clinebot/update/status — Query available GitHub releases and plugin updates.
  • POST /dsh-clinebot/update/apply — Apply version upgrade with process-group cleanup and lockfile sync.

Visual verification

Settings card in DeepSeek Harness, Dark and Light themes side by side:

dsh-clinebot visual verification


🧪 Testing

Run the automated test suite:

npm test

📄 License

MIT © GooDAnDReaDY

  • lib/client.js: Native settings.section plus provider card, sidebar meter, center-column quota/analytics panel (modal fallback) and composer cost read-out. No emojis, no full-page panel swap.
  • Persistent on-disk path for token usage analytics
    priceCatalogUrlstring"https://models.dev/api.json"Public price catalog used by the optional sync
    priceCatalogPathstring"~/.dsh/clinebot-prices.json"Local cache for the public price catalog
    priceAutoSyncbooleantrueFetch models.dev for newly discovered models without a price; the manual Sync button remains available when off
    eventLogPathstring"~/.dsh/clinebot-events.json"Ring buffer for account cooldown/recovery/routing history
    statsRetentionDaysnumber95Retention for day/hour/session telemetry; 0 keeps everything
    dailyBudgetUsdnumber0Optional estimated daily spend guard; 0 disables it
    monthlyBudgetUsdnumber0Optional estimated monthly spend guard; 0 disables it
    accountsarray[]Additional accounts for multi-account failover and quota rotation ([{ label, apiKeyEnv }])
    activeAccountstring""Manually pinned active account env name (empty for least-used auto routing)
    timeoutMsnumber15000HTTP probe timeout in milliseconds
    smokeTimeoutMsnumber25000Timeout for smoke test chat completions in milliseconds
    streamIdleTimeoutMsnumber30000Idle timeout between SSE stream chunks in milliseconds
    enabledModelsarray(deprecated)Read-only in public config; rejected on PUT /config in favor of disabledModels
    dynamicModelsarray[]Dynamic models automatically synced from the official plan