Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture, and adding extensions usually requires writing independent modules. In daily use, manually recording session content, task completion, and request errors is cumbersome and can easily lead to missing data. The dsh-daily-digest plugin solves this by using automatic logging and wrapped APIs.

Plugin Overview

The plugin is maintained by user zhaoxuejie and is released under the MIT License.

Core positioning:
A DSH plugin that automatically turns “what you did with the AI today” into daily/weekly reports.

Problems solved:
- Automatically records tasks (completed/failed), sessions (title, turns, tools, ending status), and request errors.
- Eliminates manual work-log organization and allows reports to be retrieved directly via APIs in Markdown or JSON format.

Core Features

  1. Automatic logging
    - Tasks: In the DSH background job system (jobs), one entry is recorded when a job ends (success or failure); ordinary conversational turns are not counted as tasks.
    - Sessions: startup is recorded for a new session, and resume is recorded (with a count) when an old session is resumed; session details are tracked by session.id.
    - Errors: Records request errors.

  2. Data persistence
    - Data is persisted daily and stored under the profile’s data directory (for example, ~/.dsh/profiles/web/data/daily-digest/digest.json), so it is not lost when the process restarts.

  3. Web floating card
    - After restarting the Web service, a “📋 Today’s Summary” floating card appears in the bottom-right corner.
    - The card provides real-time statistics, a 7-day trend bar, and one-click copying of daily/weekly reports.

  4. API support
    - All endpoints return JSON or Markdown, without depending on a front-end interface, making them easy to call from scripts.

Installation and Activation

Before using it, make sure DeepSeek Harness is installed (Node.js 18+).

  1. Run the installation command:
dsh plugin --profile web add dsh-daily-digest
  1. Start the Web service:
dsh web
  1. After restarting the service, refresh the browser page; the “📋 Today’s Summary” card should appear in the bottom-right corner.

Updating the plugin:
When a new version is released, run the add command again (or run remove first and then add), then restart Web.

Typical Usage

  1. View the real-time summary
    After restarting Web, directly view the floating card in the bottom-right corner of the page.

  2. Call an endpoint to retrieve a report
    The plugin provides multiple HTTP endpoints:
    - GET /daily-digest/today: Retrieve today’s summary JSON (including the session list sessions.list).
    - GET /daily-digest/report?date=YYYY-MM-DD: Retrieve the Markdown daily report for a specified date (defaults to today).
    - GET /daily-digest/weekly?from=&to=: Retrieve the Markdown weekly report (defaults to the last 7 days, including today).
    - GET /daily-digest/week: Retrieve the recent 7-day trend JSON (used by the card’s bar chart).
    - GET /daily-digest/range?from=&to=: Retrieve aggregated JSON for a date range.

  3. Configure parameters
    Configure it in ~/.dsh/settings.yaml; hot reloading is supported:

   dsh-daily-digest:
     enabled: true
     keepDays: 30        # 数据保留天数(1~365)
     recordTools: true   # 隐私开关:是否记录工具名
     recordLabels: true  # 隐私开关:是否记录任务名(计数仍保留)

Development and Maintenance

File structure:
- lib/index.mjs: Node side (logging, persistence, endpoints).
- lib/client.js: Web side (floating card).
- assets/: UI preview screenshot assets.

Development tips:
- After modifying Node-side code, restart Web.
- After modifying client-side code, refreshing the browser is sufficient.
- If the installation form involves copying (nodeLinker: hoisted), after modifying code, run remove + add to reinstall and then restart.

Conclusion

The plugin exposes data through endpoints, making it easy for developers to integrate it into more complex workflows. To view plugin details or submit feedback, please visit the GitHub repository or the community catalog.