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 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. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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
- 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
Anionex/dsh-turn-rewind★ 52
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Nwflower/dsh-chat-import★ 35
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.
Chinesezjc/dsh-interconnect★ 27
Cross-instance message and event handoff between DSH instances via an interconnect server.
whyihaveyou/dsh-suite#plugin-session-export★ 27
Export the append-only session log as human-readable Markdown or HTML, grouped by trajectory source.
Moeblack/dsh-message-edit★ 22
Branch-based message editing, reroll, retry, and a version timeline.
hellodigua/dsh-share★ 19
Share your conversations with one click.