dsh-breeze-claim: Turn BreezeBlue daily free points claiming into an automatic task.

Introduction

BreezeBlue (Breeze TTS 2) provides users with one free credit per day, resetting at 08:00 Beijing Time with a value of 400 points; however, you must click manually on the web console to receive it. When developing TTS-related features using DSH (DeepSeek Harness), this action wastes time and makes it easy to lose credits if you forget to claim them. The plugin introduced below, mi-tuan/dsh-breeze-claim, handles this by placing a “Breeze Credits” card in DSH’s settings page, turning the claim process into a one-click operation or enabling automatic claiming at the scheduled time.

Ecosystem Context: DSH’s philosophy is “everything is a plugin,” with plugin capabilities provided by the community. The plugin described here comes from the SkillHub community directory (an independent site) and has no official affiliation with DeepSeek or Hypothesis.

What is this

One-sentence positioning: A DSH plugin for DeepSeek Harness that automatically claims daily free credits from BreezeBlue.

  • Maintainer: mi-tuan
  • Source: https://github.com/mi-tuan/dsh-breeze-claim
  • Category: Internet Tools
  • Version: 0.1.0 (from package.json)
  • License: MIT (from package.json)
  • Stars: No star data visible on public page, not listed
  • Problem Solved: The claim for BreezeBlue exists only on the web page; the developer API does not have a claim endpoint. Manual claiming is unsuitable for piping into a development workflow, so this plugin integrates it into the DSH settings page.

Core Features

The capabilities explicitly listed in the README are as follows.

  1. Settings Page Card: Displays balance, whether claimed today, amount per claim, and next reset time under “Settings → Breeze Credits”; data comes from daily_claim_claimed_today, daily_claim_available, and daily_claim_next_reset_at returned by GET /api/credits/summary.

  2. Claim Now: Click to claim immediately.

  3. Daily Auto-Claim: Defaults to claiming once at 08:10 Beijing Time; no need to worry about it.

  4. Login to Breeze: Log in via a popup window on first use; the login state is stored locally, and subsequent requests are standard HTTP requests without needing browser interaction.

  5. Read-only Balance and Claim 400 Free Credits: It does not modify subscriptions, top-ups, or voices.

How it Claims

The Breeze developer API does not have a claim endpoint, only balance / usage / synthesis. The claim action exists only on the web page. The plugin sends requests directly to the web interface; the request shape is as follows:

POST https://breezeblue.ai/api/credits/daily-claim
Cookie: breeze_blue_session=…
Origin: https://breezeblue.ai
Referer: https://breezeblue.ai/app/home
→ { "claimed": true, "credits_issued": 400, "balance": …, "daily_claim_claimed_today": true, … }

The method to obtain the login state is to use Playwright to drive the local Edge browser to log in to Breeze, then export the cookies to cookies.json. Place the independent profile in ~/.dsh/breeze-claim/profile/ and avoid interfering with your daily-use browser.

Installation and Activation

Installation commands are taken from the original README; execute them in the DSH profile.

# 1) Install the plugin (in DSH profile)
dsh plugin --profile desktop add github:mi-tuan/dsh-breeze-claim
# Can also be used after npm publishing: dsh plugin --profile desktop add dsh-breeze-claim

# 2) Restart DSH once (bundle layer assembles only upon restart)

# 3) Open "Settings → Breeze Credits" → Click "Login to Breeze" and log in in the popup window

Install from source code:

dsh plugin --profile desktop add file:D:/path/to/dsh-breeze-claim

Note the restart step: the bundle layer assembles only upon restart. If you do not restart after installation, you will not see this card in the settings page.

Dependencies and Configuration

The dependencies provided in the README are divided into two paths.

Purpose Required
Read status / Claim Python 3.10+ (uses only standard library)
Login / Refresh login state Python + pip install playwright (uses system Edge, no separate browser download needed)

The plugin calls python by default. If python is not in the PATH, fill in the full path in “Breeze Credits → Python Path” on the settings page, such as python.exe in a specific venv.

Plugin data is all stored in ~/.dsh/breeze-claim/:

config.json    Plugin settings (auto-claim, time, python path)
cookies.json   Login state (sensitive, do not commit or share)
profile/       Independent browser configuration
claim.log      Claim records

After modifying the Python path or auto-claim time, it is saved in config.json.

Typical Usage

On first use, follow the sequence below completely.

  1. Prepare Python 3.10+ first and confirm the plugin can find the interpreter using the Python Path setting.

  2. Install Playwright dependencies for the first login and login state refresh:

pip install playwright
  1. Install the plugin and restart DSH; commands are in the previous section.

  2. Open “Settings → Breeze Credits”, click “Login to Breeze”, and log in to Breeze in the popup window. The login state is then stored locally, and you won’t see popup windows during daily use.

  3. To immediately confirm if today’s credits are available, click “Claim Now”; the card will refresh states like daily_claim_claimed_today.

  4. Turning on “Daily Auto-Claim” provides a long-term solution: it triggers by default at 08:10, leaving a record of every claim in claim.log, allowing you to check failure reasons if issues arise.

Applicability and Notes

Suitable for developers already using DSH and integrating BreezeBlue for TTS: they want to automate the daily free credit claiming while keeping the status visible within DSH instead of opening another tab and clicking buttons.

A few points to note.

  1. The plugin runs with the permissions of the current DSH process. Read the source code and confirm the license before installing third-party plugins (this plugin is MIT).

  2. Automating web actions may violate Breeze’s Terms of Service; account risks are borne by the user. The README states the worst-case scenario is a warning or account suspension.

  3. The web frontend or API may change at any time, causing the plugin to fail. When it fails, the card will display the reason; details are in claim.log.

  4. The login state will expire; simply click “Login to Breeze” to log in again after expiration.

  5. Do not commit or share cookies.json.

Conclusion

The value of this plugin lies in integrating a manual click on a web page into the development workflow: readable status, clickable claim button, scheduled automation, and data stored locally. The directory page is at https://www.skillhub.cn/plugins/mi-tuan/dsh-breeze-claim, and the source code and README are at https://github.com/mi-tuan/dsh-breeze-claim.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye