Preface¶
When developing agents in DeepSeek Harness (DSH), it is often necessary to organize the results into daily reports, weekly reports, handover documents, or article drafts after a session ends. If relying solely on the model to re-describe within the dialogue, the output often lacks verifiable evidence.
ciceroyang/dsh-report-studio addresses this issue: it extracts session facts from persistent session event logs, generates reports, and attaches verifiable credential blocks upon saving. Below is an introduction to its positioning, installation, typical usage, and notes.
What is it¶
ciceroyang/dsh-report-studio is a DSH workflow plugin. It organizes a DeepSeek Harness session into a deliverable report and supports the following template types:
daily
weekly
handoff
article
The plugin is maintained by ciceroyang and is currently in the state of:
0.1.0, usable
The license is:
MIT
The plugin follows Harness developer preview, and interfaces may change.
It is pure ESM with no build steps and can be installed via dsh plugin, or loaded using --patch overlay.
Templates & Data Extraction¶
The plugin provides 4 built-in templates:
daily
weekly
handoff
article
Report data is not generated by the model recalling; instead, it is deterministically extracted from persistent session event logs. Extractable content includes:
User requests
todo snapshots
turn/step statistics
token ledger
Tool calls
Generated files
Shell commands
Errors and blocks
The plugin does not read model memory.
If you do not want to use the built-in templates, you can specify a custom template directory to override the built-in templates. The configuration item is:
templatesDirs
Credentials & Verification¶
When saving a report, the plugin appends a verifiable credential block. The credential block contains:
Session
Workspace
Generation time
Report SHA-256
Artifact SHA-256
After saving, you can use an independent verification tool:
report_verify
report_verify recalculates the report’s SHA-256 and artifact hashes, reporting matches and missing items item by item. It supports single-file verification as well as batch verification for directories.
Saving¶
Report saving uses:
report_save
It writes the report to a file and automatically appends the credential block.
When saving, you can choose the output format:
md
html
html output can be forwarded independently and will embed the original Markdown source block, allowing subsequent use of:
report_verify
to verify it.
The default save location is within the session workspace:
reports/<kind>-<date>.md
The target path is restricted to the session workspace, rejecting absolute path escapes and .. traversal.
Publishing¶
Report publishing uses:
report_publish
Publishing targets include:
feishu
notion
dry
Among them:
dry
is used to preview the payload without sending real messages.
Real publishing requires configuring Feishu or Notion credentials. Feishu can use the plugin configuration item:
publish.feishuWebhook
or the environment variable:
FEISHU_WEBHOOK
Notion can use the plugin configuration items:
publish.notionToken
publish.notionParentPageId
or the environment variables:
NOTION_TOKEN
NOTION_PARENT_PAGE_ID
It fails explicitly when real publishing credentials are missing; the dry mode is always available.
Weekly Report Aggregation¶
Weekly report aggregation uses:
report_week
It can aggregate historical persistent sessions and live sessions in the current workspace to generate a weekly report draft.
Reading historical session logs requires:
Node >= 22.15
The reason is that historical log reading relies on the built-in zstd. Older Node versions will degrade to only the current session.
Installation & Enabling¶
Before installing, confirm the environment meets:
Node.js >= 18
DeepSeek Harness
Using the plugin installation method requires pnpm. The installation command is:
dsh plugin --profile web add github:ciceroyang/dsh-report-studio
This command adds the plugin to the DSH plugin environment corresponding to the web profile.
If you do not want to introduce pnpm, you can load it using local source code --patch overlay. This method does not require pnpm.
Typical Usage¶
First, let the agent generate a daily report draft. You can speak directly to the agent:
Write today's work report.
Or let it generate a handover document:
Turn this session into a handover document for the next person.
If you only want a quick draft preview, you can use the slash command:
/report daily
Other types can also be used:
/report weekly
/report handoff
/report article
When generating and saving a report, usually first use:
report_generate
to generate the report draft, and then use:
report_save
to write to a file and automatically append the credential block.
When saving, you can use:
format=md
format=html
You can also specify a path. The default save location is:
reports/<kind>-<date>.md
After saving, you can use:
report_verify
to verify report credentials. Supports verification by file as well as batch verification by directory.
When publishing to external channels, use:
report_publish
and specify:
target=feishu
target=notion
target=dry
Scheduled Weekly Reports¶
Scheduled weekly reports have two paths.
The first is using Harness’s internal scheduling capabilities. After mounting dsh-schedule, you can use:
dsh-schedule/schedule_create
Then say to the agent:
generate my weekly report every Friday 18:00
The second is to run a script directly to generate a weekly report draft:
node scripts/auto-weekly.mjs <workspace> --out reports/weekly-auto.md
This script aggregates this week’s sessions and generates a weekly report draft with slots for pending writing.
Use Cases & Notes¶
This plugin is suitable for teams and individuals who need to organize DSH session results into daily reports, weekly reports, handover documents, or article drafts.
Before using, please note the following:
- The plugin runs with the current
dshprocess permissions; check the source code and license before installing. - Plugin persistence uses Node
fsto write directly, located outside Harnessfspolicy layer; path escape protection is inside the plugin. - Report tools require an agent-bound session;
webandheadlessboth work. report_weekreading historical session logs requiresNode >= 22.15; older Node versions degrade to only the current session.- Plugin status is
0.1.0, usable, following Harness developer preview, interfaces may change. - The target path is restricted to the session workspace, rejecting absolute path escapes and
..traversal.
Links¶
Directory page: ciceroyang/dsh-report-studio
GitHub: ciceroyang/dsh-report-studio