DeepSeek Harness (DSH) adopts a plug-in architecture that allows users to extend functionality as needed. For long-running agents, the lack of real-time task feedback and fine-grained cost control is a common pain point. dsh-task-notice aims to solve the issues of invisible task progress and fragmented cost tracking by providing web interface notifications, system-level banner prompts, and multi-dimensional consumption statistics.
Plugin Introduction¶
- Core positioning: agent task completion notifications + top notification banners + Token consumption statistics by Provider (Key) + price editing + usage analytics
- Maintainer: Haoxiang-Fant
- Category: Client
- Version: 0.3.10
Core Features¶
1. Task Notifications and Reminders¶
The plugin triggers notifications when the agent completes a top-level session task or goal.
* Completion notification: After each task is completed, a toast appears in the top-right corner of the web interface, and a banner notification is sent to the Windows system through the browser’s Web Notifications API (bottom-right desktop and Action Center). The notification includes the tokens consumed in the current task (cached input / non-cached input / output / total) and the corresponding amount.
* Action reminder: When the agent initiates a permission request or asks a question, an in-page popup + system notification is also triggered to guide the user to handle it.
* Window switch reminder: When the cached input of a single-turn task exceeds the threshold (default 200,000 tokens, adjustable), the plugin reminds the user to switch to a new conversation after task completion and supports one-click generation of a HANDOFF.md development handover document. Setting path: Top Navigation → Toolbox → Window Switch Reminder.
2. Consumption Statistics and Analytics¶
On the “Settings → Task Notifications and Consumption” page, data display uniformly follows K/M/B/T notation rules.
* Token consumption statistics: Aggregated by Provider (Key). Supports time range filters for 1 year / 6 months / 3 months / 1 month / 15 days / 1 week / 24 hours / custom. Data dimensions include cached input, non-cached input, output, and call count.
* Usage analytics:
* Consumption amount: A pie chart shows the amount share by model; hover to view detailed data.
* Token Plan payback: Shows the payback progress bar and the tokens redeemed for 1 Credit. Supports resetting the current cycle (requires a 4-digit verification code + two clicks to confirm) and undoing the reset.
* Cost-effectiveness: Calculates the number of tokens redeemable for 1 yuan.
* Daily cost: A micro calendar shows daily usage, with a detailed consumption table for the most recent 6 days listed below.
3. Price Management and Editing¶
- Price editing: Supports editing prices by model. Models without activated custom pricing are billed by default according to the built-in official price catalog (based on 2026-09 data, including DeepSeek peak/off-peak price tiers).
- Peak/off-peak pricing v2:
- Supports daily effective days (workday / custom weekday / every day) and custom timezone (default UTC+8).
- Peak-time pricing method supports multiplier or custom.
- Rules are matched top to bottom by condition format, and the first match takes effect.
- Custom multipliers: Supports Provider-level and model-level price multiplier adjustments.
- Legacy ledger handling: Old consumption recorded in versions 0.1/0.2 is calculated by default using off-peak prices and is not retroactively converted to peak prices.
4. UI and Mechanism Optimizations¶
- Top notification banner: Permanently displayed at the top of the page.
- Permission banner: When browser notifications are not authorized, click to request permission in one click.
- Price banner: When no price is available for the current model, click to open the price editing dialog directly; clicking “Save and Confirm” applies the change immediately.
- Save mechanism optimization: The settings page uses draft mode. Changes are first written to a local draft, and the interface updates immediately. Changes are automatically saved when you click the Save button, switch tabs, or leave the settings page. When leaving the settings page directly, you are asked whether to keep the changes; after a 10-second timeout, the changes are kept by default.
- Display name: Prioritizes the custom display name from global model settings (Provider display name + model display name).
Installation and Enablement¶
It is recommended to install using a tarball to avoid path resolution issues on Windows.
# 1. 在插件源码目录执行,生成 tarball
pnpm pack
# 2. 安装插件
dsh plugin add <tarball 路径>
After installation, restart DSH (e.g., dsh web) for dependencies to take effect.
Typical Usage¶
- Enable notifications: Go to the plugin settings page and click “Authorize and Enable” to enable system notifications.
- Set the price: If no price is specified for the current model, the top banner will prompt you; click it to open the price editing page.
- View statistics: On the settings page, use the top navigation to switch to “Consumption Statistics” or “Usage Analytics” to view token usage and cost distribution.
Notes¶
- Permission requirement: Requires the browser’s Web Notifications API permission.
- Data attribution: In statistics and analytics, “Key” refers to the Provider route in global model settings; the display name is taken from the Provider’s
displayName. - Price effectiveness: After clicking “Save Price”, summary cards, statistical amounts, and completion-notification amounts are immediately recalculated using the new price.
- Data migration: On the first startup after upgrading, a migration script for old price configurations runs automatically.