前言¶
DeepSeek Harness(DSH)适合按需对话式完成任务,但「每周固定看几类信息」——本机资源、模型动态、已装插件是否有更新——往往还要自己记日程、手动开 agent。把同一套流程写成计划任务,又涉及 headless 调 DSH、Markdown 落盘、转 Word,以及失败时计划任务仍显示成功等细节。
dsh-scheduled-reports 由维护者 xiangshu2026 发布,在 SkillHub 插件目录 中归类为工作流。它本质上是「定时拉起 DSH,按 tasks/*.md 里的中文任务说明生成 Markdown,再转成 Word」的 Windows 调度壳;报告质量取决于任务说明怎么写,改 md 即可生效,不必改代码。默认不读聊天记录、不读浏览器、不上传内容;电脑状况报告默认对盘符与进程名脱敏。
这是什么¶
一句话:给 DeepSeek Harness 用的无人值守定时报告系统——每周(或可改频率)自动生成多份报告,输出为 .docx 存到指定目录,支持开机补跑与日志追溯。
技术栈为 Windows 批处理 + PowerShell + Python(python-docx 转 Word)。平台 badge 标明 Windows;Linux / macOS 不适用。许可证为 MIT(package.json 版本 1.0.0)。GitHub 仓库当前星标为 1。
四份报告分别做什么¶
| 报告 | 内容 | 需要联网 |
|---|---|---|
| 电脑状况报告 | 磁盘 / 内存 / CPU / 开机时长等运行时快照 | 否 |
| AI 大模型动态 | 最近 7 天 AI 领域新消息 | 是 |
| 插件更新检查 | 已装 DSH 插件在 npm 上是否有新版本 | 是 |
| DSH 插件周报 | 最近 7 天新出的 DSH 插件(GitHub + B站) | 是 |
联网类任务成本更高;可在配置里从任务列表中去掉不需要的报告,少跑一份少花一份模型与搜索开销。
核心机制(便于排查)¶
任务说明与采集分工¶
tasks/*.md:纯中文任务说明书,用大白话描述每份报告要什么;新建英文名.md并加入TASKLIST即可扩展自定义报告。collect-system-info.ps1:在 agent 沙盒外以完整权限采集 WMI/CIM 数据,写入system-info.txt;agent 只读该文件并写报告(沙盒内无法可靠查系统信息)。- 插件更新:
collect-plugin-updates.ps1读 DSH profile 的package.json,逐个查 npm registry。link:/file:/github:来源的本地插件在 npm 上查不到时会标为registry-error,属预期行为。 - 插件周报:独立子目录
plugin-weekly/,详见该目录下README.md。
隐私开关(电脑状况)¶
collect-system-info.ps1 的 -Redact 默认为 1:盘符映射为 disk-1/disk-2,进程名为 app-01/app-02,PID 为 hidden;容量、占用率、CPU 百分比仍保留。设为 0 则显示真实盘符与进程名,仅适合单人本地查看。
健康检查:sentinel 与 report_health¶
计划任务常见陷阱是退出码 0 但无产出。run-sentinel.cmd 不看任务返回值,而看副作用(报告目录是否新鲜、份数与类别是否齐全、审计与日志时间等),退出码分 0 全绿 / 1 告警 / 2 严重。
作为 DSH 插件装入 profile 后,仓库通过 Cordis patch 注册工具 report_health,供模型调用同一套检查逻辑,例如:
report_health()
report_health({ reportsDir: 'D:\\Reports', maxReportDays: 14 })
自测:node test/selftest.mjs。
安装与启用¶
环境要求¶
- Windows,且 DeepSeek Harness 桌面版已安装,
dsh命令可用。 - Python 3.9+,并安装转 Word 依赖:
pip install python-docx
- API Key:headless 模式只从进程环境变量读取。脚本会从
%USERPROFILE%\.dsh\.credentials.yaml的refs:段注入DEEPSEEK_API_KEY;也可直接设置环境变量DEEPSEEK_API_KEY。
按 README,先放到固定目录,例如 %USERPROFILE%\.dsh\scheduled:
git clone https://github.com/xiangshu2026/dsh-scheduled-reports.git "%USERPROFILE%\.dsh\scheduled"
SkillHub 目录页与 GitHub 为同一项目入口;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
手动试跑¶
确认目录与凭据后,在仓库根目录执行:
run-reports-now.cmd
会提示大致调用次数与耗时,按任意键开始。报告默认落在 %USERPROFILE%\Desktop\DSH-Reports\<YYYY-MM-DD>\,目录内只保留 .docx。
注册为每周自动任务¶
示例:每周一 9:00 执行:
$action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument '/c "%USERPROFILE%\.dsh\scheduled\run-daily-task.cmd"'
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 9am
Register-ScheduledTask -TaskName "DSH-Scheduled-Reports" -Action $action -Trigger $trigger
卸载:
Unregister-ScheduledTask -TaskName "DSH-Scheduled-Reports"
可选:每日 9:30 跑哨兵:
$action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument '/c "%USERPROFILE%\.dsh\scheduled\run-sentinel.cmd"'
$trigger = New-ScheduledTaskTrigger -Daily -At 9:30am
Register-ScheduledTask -TaskName "DSH-Sentinel" -Action $action -Trigger $trigger
配置要点¶
在 run-daily-task.cmd 顶部改三项(README 建议权限项勿随意放宽):
| 设置 | 默认 | 说明 |
|---|---|---|
WORKDIR |
%USERPROFILE%\Desktop\DSH-Reports |
报告输出根目录,也是 agent 可写范围 |
DSH_PERMISSION_MODE |
workspace-write |
不建议改为 danger-full-access(无人值守风险高) |
KEEPDAYS |
180 |
超期报告自动清理;不宜调太低 |
选择跑哪些报告,修改 TASKLIST,例如:
set "TASKLIST=1-computer.md 2-ai-models.md 5-plugin-updates.md"
从该行删除文件名即可跳过对应任务。插件周报是否在默认列表中,以你本地 run-daily-task.cmd 为准。
典型用法与排错¶
看本次是否全部成功¶
查看 logs\summary-<日期>.log 最后一行:RUN END: ALL OK 表示全部成功,SOME TASKS FAILED 表示有失败。单任务细节见 logs\<日期>-<任务名>.log,结尾 exit=0 为成功。
常见问题¶
MISSING_CREDENTIAL:检查凭据文件refs:或环境变量DEEPSEEK_API_KEY。- 批处理里为何几乎无中文:README 说明 cmd.exe 多字节会导致行错位;中文应写在
tasks/*.md。 - 耗时与费用:README 称三份报告约 4–5 分钟;联网与模型调用才有明显 API 成本。
适用场景与注意¶
适合:已在 Windows 上使用 DSH,希望无人值守、定期把几类信息落成 Word、并能在本机用日志与 sentinel 核对是否真的产出。
务必知晓:
- 插件与定时任务会以当前配置的 DSH 权限在本地执行;安装前应阅读源码与 MIT 许可证,确认
DSH_PERMISSION_MODE等设置符合你的安全预期。 - 报告内容由模型生成,联网类可能日期或链接不准,宜作参考而非唯一事实源。
- 断网时 AI 动态与插件周报会失败,电脑状况与 npm 插件检查仍可能部分可用(视网络子任务而定)。
- 已知边界:仅 Windows;依赖 DSH 本体;不做数据上传。
商业嵌入(付费服务、商业系统等)README 建议先联系维护者 whnbsnm@foxmail.com(MIT 仍允许使用,维护者希望了解用途并可提供定制支持)。
结尾¶
dsh-scheduled-reports 把「每周几类固定报告」收敛成可配置的 DSH 任务列表 + Windows 计划任务 + Word 落盘,并用 sentinel / report_health 针对「假成功」做副作用检查。目录与源码: