Free-interval session reports with AI-narrated daily/weekly digests over any date range, plus every-N-days scheduled reminders with system notifications (macOS / Linux).
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-period-report
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:zhengjy01/dsh-period-report
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
Free-interval session reports for DeepSeek Harness: generate AI-narrated work reports (daily / weekly / monthly / any custom date range) from your session corpus, and schedule periodic reminders ("every N days at HH:MM, starting from an anchor date") that generate the report and pop a system notification.
Features
Web UI (v0.2.0) — a Session Report settings page (report generator + reminder configuration) and bottom-right reminder toasts with a large full-report reading window.
Any date range — pick a start and end date; the report covers exactly that window (a single day, 2 days, 7 days, a whole month, whatever you need).
AI narrative digest — the deployment's default model writes a natural-language summary (
Today at a glance/Highlights/Review/Suggestions) that reads like a human-written daily report. Falls back to a template highlight list when AI is disabled or unavailable.Full statistics — active/new sessions, user & assistant messages, tool calls, turns, steps, token usage (input/output/cache read/write/reasoning), turn results, top tools.
Per-session details — title, id, working directory, active window, message/tool/turn counts, first request.
Periodic reminders — free period length:
intervalDays: 1= daily,7= weekly,2= every other day… anchored atanchorDate, fired athour:minute, once per period.range: previousreports the completed previous period (e.g. 09:00 digest of yesterday);range: currentreports the period in progress.System notifications — macOS Notification Center banner via
osascript, Linux vianotify-send. Full reports are also saved to~/.dsh/dsh-period-report/reports/so nothing is lost when the GUI is closed.Bilingual — reports in Chinese (
zh) or English (en).Persistent config —
~/.dsh/dsh-period-report.json(mode 0600).
Install
dsh plugin --profile web add github:zhengjy01/dsh-period-report
Local development:
dsh plugin --profile web add link:/path/to/dsh-period-report
Tools
report_generate
Generate a report for an arbitrary date range.
| Parameter | Type | Description |
|---|---|---|
startDate |
string (required) | Start date, YYYY-MM-DD (inclusive) |
endDate |
string (required) | End date, YYYY-MM-DD (inclusive) |
includeSubagents |
boolean | Include subagent sessions (default false) |
withUsage |
boolean | Include token usage stats (default true; disable for speed) |
language |
string | zh or en (default zh) |
narrate |
boolean | AI narrative digest (default true; disable for a fast template digest) |
Returns the full Markdown report.
report_config
View or update the reminder configuration (persisted in ~/.dsh/dsh-period-report.json).
| Parameter | Type | Description |
|---|---|---|
enabled |
boolean | Enable/disable the scheduled reminder |
anchorDate |
string | Anchor date YYYY-MM-DD; periods count from this day |
intervalDays |
number | Remind every N days (1–90; 7 = weekly) |
hour / minute |
number | Reminder time of day |
range |
string | previous (report the last period, default) or current |
language |
string | Report language zh / en |
narrate |
boolean | AI narrative toggle |
Calling it with no arguments returns the current configuration.
Example
“Set a reminder every 2 days at 09:00 starting from 2026-06-01, in Chinese.”
→
report_configwith{ "enabled": true, "anchorDate": "2026-06-01", "intervalDays": 2, "hour": 9, "minute": 0, "range": "previous" }Reminders fire on 06-01, 06-03, 06-05 … at 09:00, each reporting the previous 2-day period; a system notification shows the summary and the report file path.
License
MIT
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2121
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
liangmianya/dsh-synapse★ 447
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
ranxianglei/billion-context★ 361
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
Nwflower/dsh-chat-import★ 205
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 120
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.